Re-exports

pub use cassandra::cass_bool_t::cass_true;
pub use cassandra::cass_bool_t::cass_false;
pub use cassandra::CassLogLevel_::CASS_LOG_INFO;
pub use cassandra::CassCollectionType_::CASS_COLLECTION_TYPE_SET;
pub use cassandra::CassCollectionType_::CASS_COLLECTION_TYPE_LIST;
pub use cassandra::CassCollectionType_::CASS_COLLECTION_TYPE_MAP;
pub use ffi_util::*;
pub use cassandra::CassError_::*;
pub use cassandra::CassSslVerifyFlags::*;
pub use cassandra::CassBatchType_::*;
pub use cassandra::CassValueType_::*;

Modules

Structs

Enums

Constants

Functions

Gets the number of arguments this aggregate takes.
Gets the aggregate’s argument type for the provided index.
Gets a metadata field for the provided name. Metadata fields allow direct access to the column data found in the underlying “aggregates” metadata table.
Same as cass_aggregate_meta_field_by_name(), but with lengths for string parameters.
Gets the function metadata for the aggregates’s final function.
Gets the full name of the aggregate. The full name includes the aggregate’s name and the aggregate’s signature: “name(type1 type2.. typeN)”.
Gets the initial condition value for the aggregate.
Gets the name of the aggregate.
Gets the return type of the aggregate.
Gets the function metadata for the aggregate’s state function.
Gets the state type of the aggregate.
Set custom allocation functions.
Gets the IP address of the host being authenticated.
Gets the class name for the server-side IAuthentication implementation.
Gets the user data created during the authenticator exchange. This is set using cass_authenticator_set_exchange_data().
Gets the hostname of the host being authenticated.
Gets a response token buffer of the provided size.
Sets an error for the authenticator exchange.
Same as cass_authenticator_set_error(), but with lengths for string parameters.
Sets the user data to be used during the authenticator exchange.
Sets the response token.
Adds a statement to a batch.
Frees a batch instance. Batches can be immediately freed after being executed.
Creates a new batch statement with batch type.
Sets the batch’s consistency level
Sets the batch’s custom payload.
Sets the execution profile to execute the batch with.
Same as cass_batch_set_execution_profile(), but with lengths for string parameters.
Sets whether the statements in a batch are idempotent. Idempotent batches are able to be automatically retried after timeouts/errors and can be speculatively executed.
Sets the batch’s keyspace. When using protocol v5 or greater it overrides the session’s keyspace for the batch.
Same as cass_batch_set_keyspace(), but with lengths for string parameters.
Sets the batch’s timeout for waiting for a response from a node.
Sets the batch’s retry policy.
Sets the batch’s serial consistency level.
Sets the batch’s timestamp.
Frees a cluster instance.
Creates a new cluster.
Sets custom authenticator
Same as cass_cluster_set_blacklist_filtering(), but blacklist all hosts of a dc
Same as cass_cluster_set_blacklist_dc_filtering(), but with lengths for string parameters.
Sets/Appends blacklist hosts. The first call sets the blacklist hosts and any subsequent calls appends additional hosts. Passing an empty string will clear and disable the blacklist. White space is striped from the hosts.
Same as cass_cluster_set_blacklist_filtering_hosts(), but with lengths for string parameters.
Sets the amount of time, in microseconds, to wait for new requests to coalesce into a single system call. This should be set to a value around the latency SLA of your application’s requests while also considering the request’s roundtrip time. Larger values should be used for throughput bound workloads and lower values should be used for latency bound workloads.
Sets the timeout for connecting to a node.
Sets the amount of time between heartbeat messages and controls the amount of time the connection must be idle before sending heartbeat messages. This is useful for preventing intermediate network devices from dropping connections.
Sets the amount of time a connection is allowed to be without a successful heartbeat response before being terminated and scheduled for reconnection.
Sets default consistency level of statement.
Enable constant speculative executions with the supplied settings.
Sets/Appends contact points. This MUST be set. The first call sets the contact points and any subsequent calls appends additional contact points. Passing an empty string will clear the contact points. White space is striped from the contact points.
Same as cass_cluster_set_contact_points(), but with lengths for string parameters.
Sets the number of connections made to each server in each IO thread.
Sets credentials for plain text authentication.
Same as cass_cluster_set_credentials(), but with lengths for string parameters.
Associates a named execution profile which can be utilized during execution.
Same as cass_cluster_add_execution_profile(), but with lengths for string parameters.
Configures the cluster to use latency-aware request routing or not.
Configures the settings for latency-aware request routing.
Configures the cluster to use DC-aware load balancing. For each query, all live nodes in a primary ‘local’ DC are tried first, followed by any node from other DCs.
Same as cass_cluster_set_load_balance_dc_aware(), but with lengths for string parameters.
Configures the cluster to use round-robin load balancing.
Sets the local address to bind when connecting to the cluster, if desired.
Same as cass_cluster_set_local_address(), but with lengths for string parameters.
Sets the maximum number of “pending write” objects that will be saved for re-use for marshalling new requests. These objects may hold on to a significant amount of memory and reducing the number of these objects may reduce memory usage of the application.
Sets the maximum time to wait for schema agreement after a schema change is made (e.g. creating, altering, dropping a table/keyspace/view/index etc).
Sets the ratio of time spent processing new requests versus handling the I/O and processing of outstanding requests. The range of this setting is 1 to 100, where larger values allocate more time to processing new requests and smaller values allocate more time to processing outstanding requests.
Enable the NO_COMPACT startup option.
Disable speculative executions
Sets the number of IO threads. This is the number of threads that will handle query requests.
Sets the port.
Prepare statements on all available hosts.
Enable pre-preparing cached prepared statements when existing hosts become available again or when new hosts are added to the cluster.
Sets the protocol version. This will automatically downgrade to the lowest supported protocol version.
Sets the size of the fixed size queue that stores pending requests.
Sets the amount of time to wait before attempting to reconnect.
Sets the timeout for waiting for a response from a node.
Sets the timeout for waiting for DNS name resolution.
Sets the retry policy used for all requests unless overridden by setting a retry policy on a statement or a batch.
Sets default serial consistency level of statement.
Sets the SSL context and enables SSL.
Enable/Disable TCP keep-alive
Enable/Disable Nagle’s algorithm on connections.
Sets the timestamp generator used to assign timestamps to all requests unless overridden by setting the timestamp on a statement or a batch.
Configures the cluster to use token-aware request routing or not.
Configures token-aware routing to randomly shuffle replicas. This can reduce the effectiveness of server-side caching, but it can better distribute load over replicas for a given partition key.
Use the newest beta protocol version. This currently enables the use of protocol version v5 (CASS_PROTOCOL_VERSION_V5).
Enable/Disable retrieving hostnames for IP addresses using reverse IP lookup.
Enable/Disable the randomization of the contact points list.
Enable/Disable retrieving and updating schema metadata. If disabled this is allows the driver to skip over retrieving and updating schema metadata and cass_session_get_schema_meta() will always return an empty object. This can be useful for reducing the startup overhead of short-lived sessions.
Same as cass_cluster_set_whitelist_filtering(), but whitelist all hosts of a dc
Same as cass_cluster_set_whitelist_dc_filtering(), but with lengths for string parameters.
Sets/Appends whitelist hosts. The first call sets the whitelist hosts and any subsequent calls appends additional hosts. Passing an empty string will clear and disable the whitelist. White space is striped from the hosts.
Same as cass_cluster_set_whitelist_filtering(), but with lengths for string parameters.
Appends a “boolean” to the collection.
Appends a “blob”, “varint” or “custom” to the collection.
Appends a “list”, “map” or “set” to the collection.
Appends a “custom” to the collection.
Same as cass_collection_append_custom(), but with lengths for string parameters.
Appends a “decimal” to the collection.
Appends a “double” to the collection.
Appends a “duration” to the collection.
Appends a “float” to the collection.
Appends an “inet” to the collection.
Appends a “tinyint” to the collection.
Appends an “smallint” to the collection.
Appends an “int” to the collection.
Appends a “bigint”, “counter”, “timestamp” or “time” to the collection.
Appends an “ascii”, “text” or “varchar” to the collection.
Same as cass_collection_append_string(), but with lengths for string parameters.
Appends a “tuple” to the collection.
Appends a “date” to the collection.
Appends a “udt” to the collection.
Appends a “uuid” or “timeuuid” to the collection.
Gets the data type of a collection.
Frees a collection instance.
Creates a new collection.
Creates a new collection from an existing data type.
Gets the data type of the column.
Gets a metadata field for the provided name. Metadata fields allow direct access to the column data found in the underlying “columns” metadata table.
Same as cass_column_meta_field_by_name(), but with lengths for string parameters.
Gets the name of the column.
Gets the type of the column.
Gets the string for a consistency.
Frees a custom payload instance.
Creates a new custom payload.
Removes an item from the custom payload.
Same as cass_custom_payload_set(), but with lengths for string parameters.
Sets an item to the custom payload.
Same as cass_custom_payload_set(), but with lengths for string parameters.
Adds a sub-data type to a tuple or collection.
Adds a sub-data type to a UDT (user defined type).
Same as cass_data_type_add_sub_type_by_name(), but with lengths for string parameters.
Adds a sub-data type to a tuple or collection using a value type.
Adds a sub-data type to a UDT (user defined type) using a value type.
Same as cass_data_type_add_sub_value_type_by_name(), but with lengths for string parameters.
Gets the class name of a custom data type.
Frees a data type instance.
Gets whether a data type is frozen.
Gets the type name of a UDT data type.
Creates a new data type with value type.
Creates a new data type from an existing data type.
Creates a new tuple data type.
Creates a new UDT (user defined type) data type.
Sets the class name of a custom data type.
Same as cass_data_type_set_class_name(), but with lengths for string parameters.
Sets the keyspace of a UDT data type.
Same as cass_data_type_set_keyspace(), but with lengths for string parameters.
Sets the type name of a UDT data type.
Same as cass_data_type_set_type_name(), but with lengths for string parameters.
Gets the sub-data type of a UDT (user defined type), tuple or collection at the specified index.
Gets the sub-data type of a UDT (user defined type) at the specified index.
Same as cass_data_type_sub_data_type_by_name(), but with lengths for string parameters.
Gets the sub-data type count of a UDT (user defined type), tuple or collection.
Gets the sub-type name of a UDT (user defined type) at the specified index.
Gets the value type of the specified data type.
Gets the type name of a UDT data type.
Converts a unix timestamp (in seconds) to the Cassandra “date” type. The “date” type represents the number of days since the Epoch (1970-01-01) with the Epoch centered at the value 2^31.
Combines the Cassandra “date” and “time” types to Epoch time in seconds.
Gets a description for an error code.
Gets the number of argument types for the function failure error (CASS_ERROR_SERVER_FUNCTION_FAILURE) result type.
Gets the argument type at the specified index for the function failure error (CASS_ERROR_SERVER_FUNCTION_FAILURE) result type.
Gets error code for the error result. This error code will always have an server error source.
Gets consistency that triggered the error result of the following types:
Determines whether the actual data was present in the responses from the replicas for the following error result types:
Frees an error result instance.
Gets the affected function for the function failure error (CASS_ERROR_SERVER_FUNCTION_FAILURE) result type.
Gets the affected keyspace for the following error result types:
Gets the number of nodes that experienced failures for the following error types:
Gets the actual number of received responses, received acknowledgments or alive nodes for following error result types, respectively:
Gets required responses, required acknowledgments or required alive nodes needed to successfully complete the request for following error result types, respectively:
Gets the affected table for the already exists error (CASS_ERROR_SERVER_ALREADY_EXISTS) result type.
Gets the write type of a request for the following error result types:
Frees a execution profile instance.
Creates a new execution profile.
Same as cass_execution_profile_set_blacklist_filtering(), but blacklist all hosts of a dc.
Same as cass_execution_profile_set_blacklist_dc_filtering(), but with lengths for string parameters.
Sets/Appends blacklist hosts for the execution profile. The first call sets the blacklist hosts and any subsequent calls appends additional hosts. Passing an empty string will clear and disable the blacklist. White space is striped from the hosts.
Same as cass_execution_profile_set_blacklist_filtering(), but with lengths for string parameters.
Sets the consistency level.
Enable constant speculative executions with the supplied settings for the execution profile.
Configures the execution profile to use latency-aware request routing or not.
Configures the execution profile’s settings for latency-aware request routing.
Configures the execution profile to use DC-aware load balancing. For each query, all live nodes in a primary ‘local’ DC are tried first, followed by any node from other DCs.
Same as cass_execution_profile_set_load_balance_dc_aware(), but with lengths for string parameters.
Configures the execution profile to use round-robin load balancing.
Disable speculative executions for the execution profile.
Sets the timeout waiting for a response from a node.
Sets the execution profile’s retry policy.
Sets the serial consistency level.
Configures the execution profile to use token-aware request routing or not.
Configures the execution profile’s token-aware routing to randomly shuffle replicas. This can reduce the effectiveness of server-side caching, but it can better distribute load over replicas for a given partition key.
Same as cass_execution_profile_set_whitelist_filtering(), but whitelist all hosts of a dc.
Same as cass_execution_profile_set_whitelist_dc_filtering(), but with lengths for string parameters.
Sets/Appends whitelist hosts for the execution profile. The first call sets the whitelist hosts and any subsequent calls appends additional hosts. Passing an empty string will clear and disable the whitelist. White space is striped from the hosts.
Same as cass_execution_profile_set_whitelist_filtering(), but with lengths for string parameters.
Gets the function’s argument name and type for the provided index.
Gets the number of arguments this function takes.
Gets the function’s argument and type for the provided name.
Same as cass_function_meta_argument_type_by_name(), but with lengths for string parameters.
Gets the body of the function.
Gets whether a function is called on “null”.
Gets a metadata field for the provided name. Metadata fields allow direct access to the column data found in the underlying “functions” metadata table.
Same as cass_function_meta_field_by_name(), but with lengths for string parameters.
Gets the full name of the function. The full name includes the function’s name and the function’s signature: “name(type1 type2.. typeN)”.
Gets the language of the function.
Gets the name of the function.
Gets the return type of the function.
Gets a custom payload item from a response future at the specified index. If the future is not ready this method will wait for the future to be set.
Gets a the number of custom payload items from a response future. If the future is not ready this method will wait for the future to be set.
Gets the error code from future. If the future is not ready this method will wait for the future to be set.
Gets the error message from future. If the future is not ready this method will wait for the future to be set.
Frees a future instance. A future can be freed anytime.
Gets the error result from a future that failed as a result of a server error. If the future is not ready this method will wait for the future to be set.
Gets the result of a successful future. If the future is not ready this method will wait for the future to be set. The first successful call consumes the future, all subsequent calls will return NULL.
Gets the result of a successful future. If the future is not ready this method will wait for the future to be set.
Gets the set status of the future.
Sets a callback that is called when a future is set
Wait for the future to be set with either a result or error.
Wait for the future to be set or timeout.
Gets a metadata field for the provided name. Metadata fields allow direct access to the index data found in the underlying “indexes” metadata table.
Same as cass_index_meta_field_by_name(), but with lengths for string parameters.
Gets the name of the index.
Gets the options of the index.
Gets the target of the index.
Gets the type of the index.
Returns an inet for the specified string.
Same as cass_inet_from_string(), but with lengths for string parameters.
Constructs an inet v4 object.
Constructs an inet v6 object.
Returns a null-terminated string for the specified inet.
Creates a new iterator for the specified keyspace metadata. This can be used to iterate over aggregates.
Creates a new iterator for the specified materialized view metadata. This can be used to iterate over columns.
Creates a new iterator for the specified table metadata. This can be used to iterate over columns.
Creates a new fields iterator for the specified aggregate metadata. Metadata fields allow direct access to the column data found in the underlying “aggregates” metadata table. This can be used to iterate those metadata field entries.
Creates a new fields iterator for the specified column metadata. Metadata fields allow direct access to the column data found in the underlying “columns” metadata table. This can be used to iterate those metadata field entries.
Creates a new fields iterator for the specified function metadata. Metadata fields allow direct access to the column data found in the underlying “functions” metadata table. This can be used to iterate those metadata field entries.
Creates a new fields iterator for the specified index metadata. Metadata fields allow direct access to the index data found in the underlying “indexes” metadata table. This can be used to iterate those metadata field entries.
Creates a new fields iterator for the specified keyspace metadata. Metadata fields allow direct access to the column data found in the underlying “keyspaces” metadata table. This can be used to iterate those metadata field entries.
Creates a new fields iterator for the specified materialized view metadata. Metadata fields allow direct access to the column data found in the underlying “views” metadata view. This can be used to iterate those metadata field entries.
Creates a new fields iterator for the specified table metadata. Metadata fields allow direct access to the column data found in the underlying “tables” metadata table. This can be used to iterate those metadata field entries.
Creates a new iterator for the specified user defined type. This can be used to iterate over fields in a user defined type.
Frees an iterator instance.
Creates a new iterator for the specified collection. This can be used to iterate over values in a collection.
Creates a new iterator for the specified map. This can be used to iterate over key/value pairs in a map.
Creates a new iterator for the specified result. This can be used to iterate over rows in the result.
Creates a new iterator for the specified row. This can be used to iterate over columns in a row.
Creates a new iterator for the specified tuple. This can be used to iterate over values in a tuple.
Creates a new iterator for the specified keyspace metadata. This can be used to iterate over functions.
Gets the aggregate metadata entry at the iterator’s current position.
Gets the column value at the row iterator’s current position.
Gets the column metadata entry at the iterator’s current position.
Gets the function metadata entry at the iterator’s current position.
Gets the index metadata entry at the iterator’s current position.
Gets the keyspace metadata entry at the iterator’s current position.
Gets the key at the map iterator’s current position.
Gets the value at the map iterator’s current position.
Gets the materialized view metadata entry at the iterator’s current position.
Gets the metadata field name at the iterator’s current position.
Gets the metadata field value at the iterator’s current position.
Gets the row at the result iterator’s current position.
Gets the table metadata entry at the iterator’s current position.
Gets the type metadata entry at the iterator’s current position.
Gets the field name at the user type defined iterator’s current position.
Gets the field value at the user type defined iterator’s current position.
Gets the value at a collection or tuple iterator’s current position.
Creates a new iterator for the specified table metadata. This can be used to iterate over indexes.
Creates a new iterator for the specified schema metadata. This can be used to iterate over keyspace.
Creates a new iterator for the specified keyspace metadata. This can be used to iterate over views.
Creates a new iterator for the specified materialized view metadata. This can be used to iterate over columns.
Advance the iterator to the next row, column or collection item.
Creates a new iterator for the specified keyspace metadata. This can be used to iterate over tables.
Gets the type of the specified iterator.
Creates a new iterator for the specified keyspace metadata. This can be used to iterate over types.
Gets the aggregate metadata for the provided aggregate name.
Same as cass_keyspace_meta_aggregate_by_name(), but with lengths for string parameters.
Gets a metadata field for the provided name. Metadata fields allow direct access to the column data found in the underlying “keyspaces” metadata table.
Same as cass_keyspace_meta_field_by_name(), but with lengths for string parameters.
Gets the function metadata for the provided function name.
Same as cass_keyspace_meta_function_by_name(), but with lengths for string parameters.
Determine if the keyspace is a virtual keyspace.
Gets the materialized view metadata for the provided view name.
Same as cass_keyspace_meta_materialized_view_by_name(), but with lengths for string parameters.
Gets the name of the keyspace.
Gets the table metadata for the provided table name.
Same as cass_keyspace_meta_table_by_name(), but with lengths for string parameters.
Gets the data type for the provided type name.
Same as cass_keyspace_meta_type_by_name(), but with lengths for string parameters.
Gets the string for a log level.
Sets a callback for handling logging events.
Sets the log level.
Gets the base table of the view.
Gets the clustering key column metadata for the provided index.
Gets the number of columns for the view’s clustering key.
Gets the clustering order column metadata for the provided index.
Gets the column metadata for the provided index.
Gets the column metadata for the provided column name.
Same as cass_materialized_view_meta_column_by_name(), but with lengths for string parameters.
Gets the total number of columns for the view.
Gets a metadata field for the provided name. Metadata fields allow direct access to the column data found in the underlying “views” metadata view.
Same as cass_materialized_view_meta_field_by_name(), but with lengths for string parameters.
Gets the name of the view.
Gets the partition key column metadata for the provided index.
Gets the number of columns for the view’s partition key.
Creates a bound statement from a pre-prepared statement.
Frees a prepared instance.
Gets the data type of a parameter at the specified index.
Gets the data type of a parameter for the specified name.
Same as cass_prepared_parameter_data_type_by_name(), but with lengths for string parameters.
Gets the name of a parameter at the specified index.
Gets the number of columns per row for the specified result.
Gets the column data type at index for the specified result.
Gets the column name at index for the specified result.
Gets the column type at index for the specified result.
Gets the first row of the result.
Frees a result instance.
Returns true if there are more pages.
Gets the raw paging state from the result. The paging state is bound to the lifetime of the result object. If paging state needs to live beyond the lifetime of the result object it must be copied.
Gets the number of rows for the specified result.
Creates a new default retry policy.
Creates a new downgrading consistency retry policy.
Creates a new fallthrough retry policy.
Frees a retry policy instance.
Creates a new logging retry policy.
Get the column value at index for the specified row.
Get the column value by name for the specified row.
Same as cass_row_get_column_by_name(), but with lengths for string parameters.
Frees a schema metadata instance.
Gets the keyspace metadata for the provided keyspace name.
Same as cass_schema_meta_keyspace_by_name(), but with lengths for string parameters.
Gets the version of the schema metadata snapshot.
Gets the version of the connected Cassandra cluster.
Closes the session instance, outputs a close future which can be used to determine when the session has been terminated. This allows in-flight requests to finish.
Connects a session.
Connects a session and sets the keyspace.
Same as cass_session_connect_keyspace(), but with lengths for string parameters.
Execute a query or bound statement.
Execute a batch statement.
Frees a session instance. If the session is still connected it will be synchronously closed before being deallocated.
Gets a copy of this session’s performance/diagnostic metrics.
Gets a snapshot of this session’s schema metadata. The returned snapshot of the schema metadata is not updated. This function must be called again to retrieve any schema changes since the previous call.
Gets a copy of this session’s speculative execution metrics.
Creates a new session.
Create a prepared statement.
Create a prepared statement from an existing statement.
Same as cass_session_prepare(), but with lengths for string parameters.
Adds a trusted certificate. This is used to verify the peer’s certificate.
Same as cass_ssl_add_trusted_cert(), but with lengths for string parameters.
Frees a SSL context instance.
Creates a new SSL context.
Creates a new SSL context without initializing the underlying library implementation. The integrating application is responsible for initializing the underlying SSL implementation. The driver uses the SSL implmentation from several threads concurrently so it’s important that it’s properly setup for multithreaded use e.g. lock callbacks for OpenSSL.
Set client-side certificate chain. This is used to authenticate the client on the server-side. This should contain the entire Certificate chain starting with the certificate itself.
Same as cass_ssl_set_cert(), but with lengths for string parameters.
Set client-side private key. This is used to authenticate the client on the server-side.
Same as cass_ssl_set_private_key(), but with lengths for string parameters.
Sets verification performed on the peer’s certificate.
Adds a key index specifier to this a statement. When using token-aware routing, this can be used to tell the driver which parameters within a non-prepared, parameterized statement are part of the partition key.
Binds a “boolean” to a query or bound statement at the specified index.
Binds a “boolean” to all the values with the specified name.
Same as cass_statement_bind_bool_by_name(), but with lengths for string parameters.
Binds a “blob”, “varint” or “custom” to a query or bound statement at the specified index.
Binds a “blob”, “varint” or “custom” to all the values with the specified name.
Same as cass_statement_bind_bytes_by_name(), but with lengths for string parameters.
Bind a “list”, “map” or “set” to a query or bound statement at the specified index.
Bind a “list”, “map” or “set” to all the values with the specified name.
Same as cass_statement_bind_collection_by_name(), but with lengths for string parameters.
Binds a “custom” to a query or bound statement at the specified index.
Binds a “custom” to all the values with the specified name.
Same as cass_statement_bind_custom_by_name(), but with lengths for string parameters.
Same as cass_statement_bind_custom(), but with lengths for string parameters.
Bind a “decimal” to a query or bound statement at the specified index.
Binds a “decimal” to all the values with the specified name.
Same as cass_statement_bind_decimal_by_name(), but with lengths for string parameters.
Binds a “double” to a query or bound statement at the specified index.
Binds a “double” to all the values with the specified name.
Same as cass_statement_bind_double_by_name(), but with lengths for string parameters.
Binds a “duration” to a query or bound statement at the specified index.
Binds a “duration” to all the values with the specified name.
Same as cass_statement_bind_duration_by_name(), but with lengths for string parameters.
Binds a “float” to a query or bound statement at the specified index.
Binds a “float” to all the values with the specified name.
Same as cass_statement_bind_float_by_name(), but with lengths for string parameters.
Binds an “inet” to a query or bound statement at the specified index.
Binds an “inet” to all the values with the specified name.
Same as cass_statement_bind_inet_by_name(), but with lengths for string parameters.
Binds a “tinyint” to a query or bound statement at the specified index.
Binds a “tinyint” to all the values with the specified name.
Same as cass_statement_bind_int8_by_name(), but with lengths for string parameters.
Binds an “smallint” to a query or bound statement at the specified index.
Binds an “smallint” to all the values with the specified name.
Same as cass_statement_bind_int16_by_name(), but with lengths for string parameters.
Binds an “int” to a query or bound statement at the specified index.
Binds an “int” to all the values with the specified name.
Same as cass_statement_bind_int32_by_name(), but with lengths for string parameters.
Binds a “bigint”, “counter”, “timestamp” or “time” to a query or bound statement at the specified index.
Binds a “bigint”, “counter”, “timestamp” or “time” to all values with the specified name.
Same as cass_statement_bind_int64_by_name(), but with lengths for string parameters.
Binds null to a query or bound statement at the specified index.
Binds a null to all the values with the specified name.
Same as cass_statement_bind_null_by_name(), but with lengths for string parameters.
Binds an “ascii”, “text” or “varchar” to a query or bound statement at the specified index.
Binds an “ascii”, “text” or “varchar” to all the values with the specified name.
Same as cass_statement_bind_string_by_name(), but with lengths for string parameters.
Same as cass_statement_bind_string(), but with lengths for string parameters.
Bind a “tuple” to a query or bound statement at the specified index.
Bind a “tuple” to all the values with the specified name.
Same as cass_statement_bind_tuple_by_name(), but with lengths for string parameters.
Binds a “date” to a query or bound statement at the specified index.
Binds a “date” to all the values with the specified name.
Same as cass_statement_bind_uint32_by_name(), but with lengths for string parameters.
Bind a user defined type to a query or bound statement at the specified index.
Bind a user defined type to a query or bound statement with the specified name.
Same as cass_statement_bind_user_type_by_name(), but with lengths for string parameters.
Binds a “uuid” or “timeuuid” to a query or bound statement at the specified index.
Binds a “uuid” or “timeuuid” to all the values with the specified name.
Same as cass_statement_bind_uuid_by_name(), but with lengths for string parameters.
Frees a statement instance. Statements can be immediately freed after being prepared, executed or added to a batch.
Creates a new query statement.
Same as cass_statement_new(), but with lengths for string parameters.
Clear and/or resize the statement’s parameters.
Sets the statement’s consistency level.
Sets the statement’s custom payload.
Sets the execution profile to execute the statement with.
Same as cass_statement_set_execution_profile(), but with lengths for string parameters.
Sets whether the statement is idempotent. Idempotent statements are able to be automatically retried after timeouts/errors and can be speculatively executed.
Sets the statement’s keyspace. This is used for token-aware routing and when using protocol v5 or greater it also overrides the session’s current keyspace for the statement.
Same as cass_statement_set_keyspace(), but with lengths for string parameters.
Sets the statement’s page size.
Sets the statement’s paging state. This can be used to get the next page of data in a multi-page query.
Sets the statement’s paging state. This can be used to get the next page of data in a multi-page query.
Sets the statement’s timeout for waiting for a response from a node.
Sets the statement’s retry policy.
Sets the statement’s serial consistency level.
Sets the statement’s timestamp.
Gets the clustering key column metadata for the provided index.
Gets the number of columns for the table’s clustering key.
Gets the clustering order column metadata for the provided index.
Gets the column metadata for the provided index.
Gets the column metadata for the provided column name.
Same as cass_table_meta_column_by_name(), but with lengths for string parameters.
Gets the total number of columns for the table.
Gets a metadata field for the provided name. Metadata fields allow direct access to the column data found in the underlying “tables” metadata table.
Same as cass_table_meta_field_by_name(), but with lengths for string parameters.
Gets the index metadata for the provided index.
Gets the index metadata for the provided index name.
Same as cass_table_meta_index_by_name(), but with lengths for string parameters.
Gets the total number of indexes for the table.
Determine if the table is a virtual table.
Gets the materialized view metadata for the provided index.
Gets the materialized view metadata for the provided view name.
Same as cass_table_meta_materialized_view_by_name(), but with lengths for string parameters.
Gets the total number of views for the table.
Gets the name of the table.
Gets the partition key column metadata for the provided index.
Gets the number of columns for the table’s partition key.
Converts a unix timestamp (in seconds) to the Cassandra “time” type. The “time” type represents the number of nanoseconds since midnight (range 0 to 86399999999999).
Frees a timestamp generator instance.
Creates a new monotonically increasing timestamp generator with microsecond precision.
Same as cass_timestamp_gen_monotonic_new(), but with settings for controlling warnings about clock skew.
Creates a new server-side timestamp generator. This generator allows Cassandra to assign timestamps server-side.
Gets the data type of a tuple.
Frees a tuple instance.
Creates a new tuple.
Creates a new tuple from an existing data type.
Sets a “boolean” in a tuple at the specified index.
Sets a “blob”, “varint” or “custom” in a tuple at the specified index.
Sets a “list”, “map” or “set” in a tuple at the specified index.
Sets a “custom” in a tuple at the specified index.
Same as cass_tuple_set_custom(), but with lengths for string parameters.
Sets a “decimal” in a tuple at the specified index.
Sets a “double” in a tuple at the specified index.
Sets a “duration” in a tuple at the specified index.
Sets a “float” in a tuple at the specified index.
Sets an “inet” in a tuple at the specified index.
Sets a “tinyint” in a tuple at the specified index.
Sets an “smallint” in a tuple at the specified index.
Sets an “int” in a tuple at the specified index.
Sets a “bigint”, “counter”, “timestamp” or “time” in a tuple at the specified index.
Sets an null in a tuple at the specified index.
Sets an “ascii”, “text” or “varchar” in a tuple at the specified index.
Same as cass_tuple_set_string(), but with lengths for string parameters.
Sets a “tuple” in a tuple at the specified index.
Sets a “date” in a tuple at the specified index.
Sets a “udt” in a tuple at the specified index.
Sets a “uuid” or “timeuuid” in a tuple at the specified index.
Gets the data type of a user defined type.
Frees a user defined type instance.
Creates a new user defined type from existing data type;
Sets a “boolean” in a user defined type at the specified index.
Sets a “boolean” in a user defined type at the specified name.
Same as cass_user_type_set_double_by_name(), but with lengths for string parameters.
Sets a “blob” “varint” or “custom” in a user defined type at the specified index.
Sets a “blob”, “varint” or “custom” in a user defined type at the specified name.
Same as cass_user_type_set_bytes_by_name(), but with lengths for string parameters.
Sets a “list”, “map” or “set” in a user defined type at the specified index.
Sets a “list”, “map” or “set” in a user defined type at the specified name.
Same as cass_user_type_set_collection_by_name(), but with lengths for string parameters.
Sets a “custom” in a user defined type at the specified index.
Sets a “custom” in a user defined type at the specified name.
Same as cass_user_type_set_custom_by_name(), but with lengths for string parameters.
Same as cass_user_type_set_custom(), but with lengths for string parameters.
Sets an “decimal” in a user defined type at the specified index.
Sets “decimal” in a user defined type at the specified name.
Same as cass_user_type_set_decimal_by_name(), but with lengths for string parameters.
Sets an “double” in a user defined type at the specified index.
Sets an “double” in a user defined type at the specified name.
Same as cass_user_type_set_double_by_name(), but with lengths for string parameters.
Sets a “duration” in a user defined type at the specified index.
Sets “duration” in a user defined type at the specified name.
Same as cass_user_type_set_duration_by_name(), but with lengths for string parameters.
Sets a “float” in a user defined type at the specified index.
Sets a “float” in a user defined type at the specified name.
Same as cass_user_type_set_float_by_name(), but with lengths for string parameters.
Sets a “inet” in a user defined type at the specified index.
Sets a “inet” in a user defined type at the specified name.
Same as cass_user_type_set_inet_by_name(), but with lengths for string parameters.
Sets a “tinyint” in a user defined type at the specified index.
Sets a “tinyint” in a user defined type at the specified name.
Same as cass_user_type_set_int8_by_name(), but with lengths for string parameters.
Sets an “smallint” in a user defined type at the specified index.
Sets an “smallint” in a user defined type at the specified name.
Same as cass_user_type_set_int16_by_name(), but with lengths for string parameters.
Sets an “int” in a user defined type at the specified index.
Sets an “int” in a user defined type at the specified name.
Same as cass_user_type_set_int32_by_name(), but with lengths for string parameters.
Sets an “bigint”, “counter”, “timestamp” or “time” in a user defined type at the specified index.
Sets an “bigint”, “counter”, “timestamp” or “time” in a user defined type at the specified name.
Same as cass_user_type_set_int64_by_name(), but with lengths for string parameters.
Sets a null in a user defined type at the specified index.
Sets a null in a user defined type at the specified name.
Same as cass_user_type_set_null_by_name(), but with lengths for string parameters.
Sets an “ascii”, “text” or “varchar” in a user defined type at the specified index.
Sets an “ascii”, “text” or “varchar” in a user defined type at the specified name.
Same as cass_user_type_set_string_by_name(), but with lengths for string parameters.
Same as cass_user_type_set_string(), but with lengths for string parameters.
Sets a “tuple” in a user defined type at the specified index.
Sets a “tuple” in a user defined type at the specified name.
Same as cass_user_type_set_tuple_by_name(), but with lengths for string parameters.
Sets a “date” in a user defined type at the specified index.
Sets a “date” in a user defined type at the specified name.
Same as cass_user_type_set_uint32_by_name(), but with lengths for string parameters.
Sets a user defined type in a user defined type at the specified index.
Sets a user defined type in a user defined type at the specified name.
Same as cass_user_type_set_user_type_by_name(), but with lengths for string parameters.
Sets a “uuid” or “timeuuid” in a user defined type at the specified index.
Sets a “uuid” or “timeuuid” in a user defined type at the specified name.
Same as cass_user_type_set_uuid_by_name(), but with lengths for string parameters.
Returns a UUID for the specified string.
Same as cass_uuid_from_string(), but with lengths for string parameters.
Frees a UUID generator instance.
Generates a V1 (time) UUID for the specified time.
Creates a new UUID generator.
Creates a new UUID generator with custom node information.
Generates a new V4 (random) UUID
Generates a V1 (time) UUID.
Sets the UUID to the maximum V1 (time) value for the specified time.
Sets the UUID to the minimum V1 (time) value for the specified time.
Returns a null-terminated string for the specified UUID.
Gets the timestamp for a V1 UUID
Gets the version for a UUID
Gets the data type of a value.
Gets a bool for the specified value.
Gets the bytes of the specified value.
Gets a decimal for the specified value.
Gets a double for the specified value.
Gets a duration for the specified value.
Gets a float for the specified value.
Gets an INET for the specified value.
Gets an int8 for the specified value.
Gets an int16 for the specified value.
Gets an int32 for the specified value.
Gets an int64 for the specified value.
Gets a string for the specified value.
Gets an uint32 for the specified value.
Gets a UUID for the specified value.
Returns true if a specified value is a collection.
Returns true if a specified value is a duration.
Returns true if a specified value is null.
Get the number of items in a collection. Works for all collection types.
Get the primary sub-type for a collection. This returns the sub-type for a list or set and the key type for a map.
Get the secondary sub-type for a collection. This returns the value type for a map.
Gets the type of the specified value.

Type Definitions

@struct CassAggregateMeta
An authenticator.
A callback used when an authentication challenge initiated by the server.
A callback used to cleanup resources that were acquired during the process of the authentication exchange. This is called after the termination of the exchange regardless of the outcome.
A callback used to cleanup resources.
A callback used to initiate an authentication exchange.
A callback used to indicate the success of the authentication exchange.
A group of statements that are executed as a single batch.
A cluster object describes the configuration of the Cassandra cluster and is used to construct a session instance. Unlike other DataStax drivers the cluster object does not maintain the control connection.
A collection of values.
Column metadata
@struct CassCustomPayload
A data type used to describe a value, collection or user defined type.
A error result of a request
An execution profile object provides a mechanism to group together a set of configuration options and reuse them across different statement executions. This feature is useful when dealing with different query workloads.
A custom free function. This function deallocates the memory pointed to by “ptr” that was previously allocated by a “CassMallocFunction” or “CassReallocFunction” function.
@struct CassFunctionMeta
The future result of an operation.
A callback that’s notified when the future is set.
Index metadata
An object used to iterate over a group of rows, columns or collection values.
Keyspace metadata
A callback that’s used to handle logging.
A custom malloc function. This function should allocate “size” bytes and return a pointer to that memory
MaterializedView metadata
A statement that has been prepared cluster-side (It has been pre-parsed and cached).
A custom realloc function. This function attempts to change the size of the memory pointed to by “ptr”. If the memory cannot be resized then new memory should be allocated and contain the contents of the original memory at “ptr”.
The result of a query.
@struct CassRetryPolicy
A collection of column values.
A snapshot of the schema’s metadata.
A session object is used to execute queries and maintains cluster state through the control connection. The control connection is used to auto-discover nodes and monitor cluster changes (topology and schema). Each session also maintains multiple pools of connections to cluster nodes which are used to query the cluster.
Describes the SSL configuration of a cluster.
A statement object is an executable query. It represents either a regular (adhoc) statement or a prepared statement. It maintains the queries’ parameter values along with query options (consistency level, paging state, etc.)
Table metadata
Policies that defined the behavior of a request when a server-side read/write timeout or unavailable error occurs.
A tuple of values.
A user defined type.
A UUID generator object.
A single primitive value or a collection of values.