# ScyllaDB CPP RS Driver
> API-compatible rewrite of scylladb/cpp-driver as a wrapper over ScyllaDB Rust driver.
2026, ScyllaDB. All rights reserved.
## Pages
- [ScyllaDB CPP RS Driver](https://cpp-rs-driver.docs.scylladb.com/stable/index.md): This book contains documentation for [cpp-rs-driver](https://github.com/scylladb/cpp-rs-driver) - an...
- [API Documentation](https://cpp-rs-driver.docs.scylladb.com/stable/api/index.md): Classes manifested in the C API of the ScyllaDB CPP RS Driver.
- [Observability](https://cpp-rs-driver.docs.scylladb.com/stable/topics/observability/index.md): Various techniques and tools to monitor and understand the behavior of the driver and the ScyllaDB c...
- [Security](https://cpp-rs-driver.docs.scylladb.com/stable/topics/security/index.md): The driver currently supports:
- [Using the Driver](https://cpp-rs-driver.docs.scylladb.com/stable/topics/using/index.md): Basic concepts and features of the driver are described in the following sections.
- [Configuration](https://cpp-rs-driver.docs.scylladb.com/stable/topics/configuration/index.md): The following sections describe various configuration options and performance tips for the driver.
- [Data Types](https://cpp-rs-driver.docs.scylladb.com/stable/topics/using/data-types/index.md):
- [Architecture Overview](https://cpp-rs-driver.docs.scylladb.com/stable/topics/architecture-overview.md): The [`CassCluster`](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassCluster) object de...
- [Authentication](https://cpp-rs-driver.docs.scylladb.com/stable/topics/security/authentication.md): Credentials are provided using the [`cass_cluster_set_credentials()`](https://cpp-rs-driver.docs.scy...
- [Batches](https://cpp-rs-driver.docs.scylladb.com/stable/topics/using/batches.md): Batches can be used to group multiple mutations (`UPDATE`, `INSERT`, `DELETE`) together into a singl...
- [Binding Parameters](https://cpp-rs-driver.docs.scylladb.com/stable/topics/using/binding-parameters.md): The ‘?’ marker is used to denote the bind variables in a query string. This can be used for both reg...
- [Building](https://cpp-rs-driver.docs.scylladb.com/stable/topics/building.md): The ScyllaDB C/C++ Driver will build on most standard Unix-like platforms.
- [Client Configuration](https://cpp-rs-driver.docs.scylladb.com/stable/topics/configuration/client-identity.md): Client configuration allows an application to provide additional metadata to
- [Client-side timestamps](https://cpp-rs-driver.docs.scylladb.com/stable/topics/using/client-side-timestamps.md): ScyllaDB/Cassandra uses timestamps to serialize write operations. That is, values with a
- [Connection](https://cpp-rs-driver.docs.scylladb.com/stable/topics/configuration/connection.md): To prevent intermediate network devices (routers, switches, etc.) from
- [Consistency](https://cpp-rs-driver.docs.scylladb.com/stable/topics/using/consistency.md): A setting that defines a successful write or read by the number of cluster
- [ScyllaDB CPP RS Driver](https://cpp-rs-driver.docs.scylladb.com/stable/contents.md): Page content
- [The `date` and `time` Types](https://cpp-rs-driver.docs.scylladb.com/stable/topics/using/data-types/date-and-time.md): The driver currently uses raw types to handle `date` and `time` because date
- [Execution Profiles](https://cpp-rs-driver.docs.scylladb.com/stable/topics/configuration/execution-profiles.md): Execution profiles provide a mechanism to group together a set of configuration
- [Futures](https://cpp-rs-driver.docs.scylladb.com/stable/topics/using/futures.md): Futures are returned from any driver call that would result in blocking the client application/threa...
- [Getting Started](https://cpp-rs-driver.docs.scylladb.com/stable/topics/getting-started.md): Packages for the dependencies: libuv (1.x), OpenSSL can be installed
- [BasicTypes](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md): Page content
- [CassConsistency](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassConsistency.md): Gets the string for a consistency.
- [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md): Gets the string for a write type.
- [CassValueType](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassValueType.md): Page content
- [CustomAllocator](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CustomAllocator.md): A custom malloc function. This function should allocate “size” bytes and return a pointer to that me...
- [Logging](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.Logging.md): A callback that’s used to handle logging.
- [Miscellaneous](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.Miscellaneous.md): Only supported when using the DSE driver with DataStax Enterprise
- [Handling Results](https://cpp-rs-driver.docs.scylladb.com/stable/topics/using/handling-results.md): The [`CassResult`](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassResult) object
- [Installation](https://cpp-rs-driver.docs.scylladb.com/stable/topics/installation.md): Pre-built packages are available for:
- [Keyspaces](https://cpp-rs-driver.docs.scylladb.com/stable/topics/using/keyspaces.md): A session can be initially connected using a supplied keyspace. This is the recommended way to set t...
- [Load balancing](https://cpp-rs-driver.docs.scylladb.com/stable/topics/configuration/load-balancing.md): Load balancing controls how queries are distributed to nodes in a ScyllaDB/Cassandra
- [Logging](https://cpp-rs-driver.docs.scylladb.com/stable/topics/observability/logging.md): The driver’s logging system uses `stderr` by default and the log level `CASS_LOG_WARN`. Both of thes...
- [Metrics](https://cpp-rs-driver.docs.scylladb.com/stable/topics/observability/metrics.md): Performance metrics and diagnostic information can be obtained from the C/C++
- [Nonsupported security features](https://cpp-rs-driver.docs.scylladb.com/stable/topics/security/nonsupported.md): This file is purposely not part of the documentation tree,
- [Nonsupported configuration features](https://cpp-rs-driver.docs.scylladb.com/stable/topics/configuration/nonsupported.md): This file is purposely not part of the documentation tree,
- [Performance Tips](https://cpp-rs-driver.docs.scylladb.com/stable/topics/configuration/performance-tips.md): Sessions are expensive objects to create in both time and resources because they
- [Prepared Statements](https://cpp-rs-driver.docs.scylladb.com/stable/topics/using/prepared-statements.md): Prepared statements can be used to improve the performance of frequently executed queries. Preparing...
- [Retry policies](https://cpp-rs-driver.docs.scylladb.com/stable/topics/configuration/retry-policies.md): Retry polices allow the driver to automatically handle server-side failures when
- [Schema Metadata](https://cpp-rs-driver.docs.scylladb.com/stable/topics/using/schema-metadata.md): The driver provides access to keyspace and table metadata. This schema metadata
- [Speculative Execution](https://cpp-rs-driver.docs.scylladb.com/stable/topics/configuration/speculative-execution.md): For certain applications it is of the utmost importance to minimize latency.
- [CassAggregateMeta](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassAggregateMeta.md): Gets the name of the aggregate.
- [CassAuthenticator](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassAuthenticator.md): An authenticator.
- [CassAuthenticatorCallbacks](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassAuthenticatorCallbacks.md): Authenticator callbacks
- [CassBatch](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassBatch.md): A group of statements that are executed as a single batch.
- [CassCluster](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassCluster.md): A cluster object describes the configuration of the Cassandra cluster and is used to construct a ses...
- [CassCollection](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassCollection.md): A collection of values.
- [CassColumnMeta](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassColumnMeta.md): Column metadata
- [CassCustomPayload](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassCustomPayload.md): Creates a new custom payload.
- [CassDataType](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassDataType.md): A data type used to describe a value, collection or user defined type.
- [CassErrorResult](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassErrorResult.md): A error result of a request
- [CassExecProfile](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassExecProfile.md): An execution profile object provides a mechanism to group together a set of configuration options an...
- [CassFunctionMeta](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassFunctionMeta.md): Gets the name of the function.
- [CassFuture](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassFuture.md): The future result of an operation.
- [CassIndexMeta](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassIndexMeta.md): Index metadata
- [CassInet](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassInet.md): IP address for either IPv4 or IPv6.
- [CassIterator](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassIterator.md): An object used to iterate over a group of rows, columns or collection values.
- [CassKeyspaceMeta](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassKeyspaceMeta.md): Keyspace metadata
- [CassMaterializedViewMeta](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassMaterializedViewMeta.md): MaterializedView metadata
- [CassMetrics](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassMetrics.md): A snapshot of the session’s performance/diagnostic metrics.
- [CassNode](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassNode.md): An object that represents a cluster node.
- [CassPrepared](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassPrepared.md): A statement that has been prepared cluster-side (It has been pre-parsed and cached).
- [CassResult](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassResult.md): The result of a query.
- [CassRetryPolicy](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassRetryPolicy.md): Creates a new default retry policy.
- [CassRow](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassRow.md): A collection of column values.
- [CassSchemaMeta](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassSchemaMeta.md): A snapshot of the schema’s metadata.
- [CassSession](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassSession.md): A session object is used to execute queries and maintains cluster state through the control connecti...
- [CassSpeculativeExecutionMetrics](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassSpeculativeExecutionMetrics.md): Minimum in microseconds
- [CassSsl](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassSsl.md): Describes the SSL configuration of a cluster.
- [CassStatement](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassStatement.md): A statement object is an executable query. It represents either a regular (adhoc) statement or a pre...
- [CassTableMeta](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassTableMeta.md): Table metadata
- [CassTimestampGen](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassTimestampGen.md): Policies that defined the behavior of a request when a server-side read/write timeout or unavailable...
- [CassTuple](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassTuple.md): A tuple of values.
- [CassUserType](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassUserType.md): A user defined type.
- [CassUuid](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassUuid.md): Version 1 (time-based) or version 4 (random) UUID.
- [CassUuidGen](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassUuidGen.md): A UUID generator object.
- [CassValue](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassValue.md): A single primitive value or a collection of values.
- [CassVersion](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassVersion.md): Describes the version of the connected Cassandra cluster.
- [Testing](https://cpp-rs-driver.docs.scylladb.com/stable/topics/testing.md): Before proceeding ensure the tests were built using the [build procedures](https://cpp-rs-driver.doc...
- [TLS](https://cpp-rs-driver.docs.scylladb.com/stable/topics/security/tls.md): This is a guide to setting up TLS using the C/C++ driver. This guide will use self-signed certificat...
- [Tracing](https://cpp-rs-driver.docs.scylladb.com/stable/topics/observability/tracing.md): Tracing can be used to troubleshoot query performance problems and can be
- [Tuples](https://cpp-rs-driver.docs.scylladb.com/stable/topics/using/data-types/tuples.md): Tuples are fixed-length sets of values. They are similar to UDTs in that they
- [User-Defined Types (UDTs)](https://cpp-rs-driver.docs.scylladb.com/stable/topics/using/data-types/user-defined-types.md): User-defined types (UDT) can be used to create arbitrary user types with fields
- [UUIDs](https://cpp-rs-driver.docs.scylladb.com/stable/topics/using/data-types/uuids.md): UUIDs are 128-bit identifiers that can be used to uniquely identify information
---
For more comprehensive documentation, see [llms-full.txt](https://cpp-rs-driver.docs.scylladb.com/stable/llms-full.txt)