ScyllaDB University Live | Free Virtual Training Event
Learn more
ScyllaDB Documentation Logo Documentation
  • Server
  • Cloud
  • Tools
    • ScyllaDB Manager
    • ScyllaDB Monitoring Stack
    • ScyllaDB Operator
  • Drivers
    • CQL Drivers
    • DynamoDB Drivers
  • Resources
    • ScyllaDB University
    • Community Forum
    • Tutorials
Download
ScyllaDB Docs Scylla C/C++ Driver API Documentation CassUuid

CassUuid¶

struct CassUuid¶

Version 1 (time-based) or version 4 (random) UUID.

Public Functions

void cass_uuid_min_from_time(cass_uint64_t time, CassUuid *output)¶

Sets the UUID to the minimum V1 (time) value for the specified time.

Parameters:
  • time – [in]

  • output – [out] A minimum V1 UUID for the specified time.

void cass_uuid_max_from_time(cass_uint64_t time, CassUuid *output)¶

Sets the UUID to the maximum V1 (time) value for the specified time.

Parameters:
  • time – [in]

  • output – [out] A maximum V1 UUID for the specified time.

cass_uint64_t cass_uuid_timestamp(CassUuid uuid)¶

Gets the timestamp for a V1 UUID

Parameters:

uuid – [in]

Returns:

The timestamp in milliseconds since the Epoch (00:00:00 UTC on 1 January 1970). 0 returned if the UUID is not V1.

cass_uint8_t cass_uuid_version(CassUuid uuid)¶

Gets the version for a UUID

Parameters:

uuid – [in]

Returns:

The version of the UUID (1 or 4)

void cass_uuid_string(CassUuid uuid, char *output)¶

Returns a null-terminated string for the specified UUID.

Parameters:
  • uuid – [in]

  • output – [out] A null-terminated string of length CASS_UUID_STRING_LENGTH.

CassError cass_uuid_from_string(const char *str, CassUuid *output)¶

Returns a UUID for the specified string.

Example: “550e8400-e29b-41d4-a716-446655440000”

Parameters:
  • str – [in]

  • output – [out]

CassError cass_uuid_from_string_n(const char *str, size_t str_length, CassUuid *output)¶

Same as cass_uuid_from_string(), but with lengths for string parameters.

See also

cass_uuid_from_string()

Parameters:
  • str – [in]

  • str_length – [in]

  • output – [out]

Returns:

same as cass_uuid_from_string()

Public Members

cass_uint64_t time_and_version¶

Represents the time and version part of a UUID. The most significant 4 bits represent the version and the bottom 60 bits representing the time part. For version 1 the time part represents the number of 100 nanosecond periods since 00:00:00 UTC, January 1, 1970 (the Epoch). For version 4 the time part is randomly generated.

cass_uint64_t clock_seq_and_node¶

Represents the clock sequence and the node part of a UUID. The most significant 16 bits represent the clock sequence (except for the most significant bit which is always set) and the bottom 48 bits represent the node part. For version 1 (time-based) the clock sequence part is randomly generated and the node part can be explicitly set, otherwise, it’s generated from node unique information. For version 4 both the clock sequence and the node parts are randomly generated.

Was this page helpful?

PREVIOUS
CassUserType
NEXT
CassUuidGen
  • Create an issue
  • Edit this page

On this page

  • CassUuid
    • CassUuid
      • CassUuid::cass_uuid_min_from_time()
      • CassUuid::cass_uuid_max_from_time()
      • CassUuid::cass_uuid_timestamp()
      • CassUuid::cass_uuid_version()
      • CassUuid::cass_uuid_string()
      • CassUuid::cass_uuid_from_string()
      • CassUuid::cass_uuid_from_string_n()
      • CassUuid::time_and_version
      • CassUuid::clock_seq_and_node
Scylla C/C++ Driver
  • master
    • master
  • C/C++ Driver for ScyllaDB
  • API Documentation
    • CassAggregateMeta
    • CassAuthenticator
    • CassAuthenticatorCallbacks
    • CassBatch
    • CassCluster
    • CassCollection
    • CassColumnMeta
    • CassCustomPayload
    • CassDataType
    • CassErrorResult
    • CassExecProfile
    • CassFunctionMeta
    • CassFuture
    • CassIndexMeta
    • CassInet
    • CassIterator
    • CassKeyspaceMeta
    • CassLogMessage
    • CassMaterializedViewMeta
    • CassMetrics
    • CassNode
    • CassPrepared
    • CassResult
    • CassRetryPolicy
    • CassRow
    • CassSchemaMeta
    • CassSession
    • CassSpeculativeExecutionMetrics
    • CassSsl
    • CassStatement
    • CassTableMeta
    • CassTimestampGen
    • CassTuple
    • CassUserType
    • CassUuid
    • CassUuidGen
    • CassValue
    • CassVersion
    • DseDateRange
    • DseDateRangeBound
    • DseLineString
    • DseLineStringIterator
    • DsePolygon
    • DsePolygonIterator
  • Features
    • Basics
      • Batches
      • Binding Parameters
      • Client-side timestamps
      • Consistency
      • Data Types
      • The date and time Types
      • Futures
      • Handling Results
      • Keyspaces
      • Prepared Statements
      • Schema Metadata
      • Tuples
      • User-Defined Types (UDTs)
      • UUIDs
    • Building
    • Client Configuration
    • Cloud
    • Configuration
      • Retry policies
    • Execution Profiles
    • FAQ
    • Installation
    • Logging
    • Metrics
    • Scylla Specific Features
    • Security
      • SSL
    • Testing
      • Cassandra Cluster Manager (CCM)
    • Tracing
  • DSE Features
    • Authentication
    • Geospatial types
Docs Tutorials University Contact Us About Us
© 2025, ScyllaDB. All rights reserved. | Terms of Service | Privacy Policy | ScyllaDB, and ScyllaDB Cloud, are registered trademarks of ScyllaDB, Inc.
Last updated on 28 April 2025.
Powered by Sphinx 7.4.7 & ScyllaDB Theme 1.8.6