ScyllaDB University Live | Free Virtual Training Event
Learn more
ScyllaDB Documentation Logo Documentation
  • Deployments
    • Cloud
    • Server
  • Tools
    • ScyllaDB Manager
    • ScyllaDB Monitoring Stack
    • ScyllaDB Operator
  • Drivers
    • CQL Drivers
    • DynamoDB Drivers
    • Supported Driver Versions
  • Resources
    • ScyllaDB University
    • Community Forum
    • Tutorials
Install
Ask AI
ScyllaDB Docs ScyllaDB CPP RS Driver API Documentation CassBatch

Caution

You're viewing documentation for an unstable version of ScyllaDB CPP RS Driver. Switch to the latest stable version.

CassBatch¶

struct CassBatch¶

A group of statements that are executed as a single batch.

Note: Batches are not supported by the binary protocol version 1.

Public Types

enum CassBatchType¶

Values:

Public Functions

CassBatch *cass_batch_new(CassBatchType type)¶

Creates a new batch statement with batch type.

See also

cass_batch_free()

Parameters:

type – [in]

Returns:

Returns a batch statement that must be freed.

void cass_batch_free(CassBatch *batch)¶

Frees a batch instance. Batches can be immediately freed after being executed.

Parameters:

batch – [in]

CassError cass_batch_set_keyspace(CassBatch *batch, const char *keyspace)¶

Sets the batch’s keyspace. When using protocol v5 or greater it overrides the session’s keyspace for the batch.

Note: If not set explicitly then the batch will inherit the keyspace of the first child statement with a non-empty keyspace.

Warning: This function is not yet implemented.

Parameters:
  • batch – [in]

  • keyspace – [in]

Returns:

CASS_OK if successful, otherwise an error occurred.

CassError cass_batch_set_keyspace_n(CassBatch *batch, const char *keyspace, size_t keyspace_length)¶

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

Warning: This function is not yet implemented.

See also

cass_batch_set_keyspace()

Parameters:
  • batch – [in]

  • keyspace – [in]

  • keyspace_length – [in]

Returns:

same as cass_batch_set_keyspace()

CassError cass_batch_set_consistency(CassBatch *batch, CassConsistency consistency)¶

Sets the batch’s consistency level

Parameters:
  • batch – [in]

  • consistency – [in] The batch’s write consistency.

Returns:

CASS_OK if successful, otherwise an error occurred.

CassError cass_batch_set_serial_consistency(CassBatch *batch, CassConsistency serial_consistency)¶

Sets the batch’s serial consistency level.

Default: Not set

Parameters:
  • batch – [in]

  • serial_consistency – [in]

Returns:

CASS_OK if successful, otherwise an error occurred.

CassError cass_batch_set_timestamp(CassBatch *batch, cass_int64_t timestamp)¶

Sets the batch’s timestamp.

Parameters:
  • batch – [in]

  • timestamp – [in]

Returns:

CASS_OK if successful, otherwise an error occurred.

CassError cass_batch_set_request_timeout(CassBatch *batch, cass_uint64_t timeout_ms)¶

Sets the batch’s timeout for waiting for a response from a node.

Default: Disabled (use the cluster-level request timeout)

See also

cass_cluster_set_request_timeout()

Parameters:
  • batch – [in]

  • timeout_ms – [in] Request timeout in milliseconds. Use 0 for no timeout or CASS_UINT64_MAX to disable (to use the cluster-level request timeout).

Returns:

CASS_OK if successful, otherwise an error occurred.

CassError cass_batch_set_is_idempotent(CassBatch *batch, cass_bool_t is_idempotent)¶

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.

See also

cass_cluster_set_constant_speculative_execution_policy()

See also

cass_execution_profile_set_constant_speculative_execution_policy()

Parameters:
  • batch – [in]

  • is_idempotent – [in]

Returns:

CASS_OK if successful, otherwise an error occurred.

CassError cass_batch_set_retry_policy(CassBatch *batch, CassRetryPolicy *retry_policy)¶

Sets the batch’s retry policy.

Parameters:
  • batch – [in]

  • retry_policy – [in]

Returns:

CASS_OK if successful, otherwise an error occurred.

CassError cass_batch_set_custom_payload(CassBatch *batch, const CassCustomPayload *payload)¶

Sets the batch’s custom payload.

Warning: This function is not yet implemented.

Parameters:
  • batch – [in]

  • payload – [in]

Returns:

CASS_OK if successful, otherwise an error occurred.

CassError cass_batch_set_tracing(CassBatch *batch, cass_bool_t enabled)¶

Sets whether the batch should use tracing.

Parameters:
  • batch – [in]

  • enabled – [in]

Returns:

CASS_OK if successful, otherwise an error occurred.

CassError cass_batch_add_statement(CassBatch *batch, CassStatement *statement)¶

Adds a statement to a batch.

Parameters:
  • batch – [in]

  • statement – [in]

Returns:

CASS_OK if successful, otherwise an error occurred.

CassError cass_batch_set_execution_profile(CassBatch *batch, const char *name)¶

Sets the execution profile to execute the batch with.

Note: NULL or empty string will clear execution profile from batch

See also

cass_cluster_set_execution_profile()

Parameters:
  • batch – [in]

  • name – [in]

Returns:

CASS_OK if successful, otherwise an error occurred.

CassError cass_batch_set_execution_profile_n(CassBatch *batch, const char *name, size_t name_length)¶

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

See also

cass_batch_set_execution_profile()

Parameters:
  • batch – [in]

  • name – [in]

  • name_length – [in]

Returns:

CASS_OK if successful, otherwise an error occurred.

Was this page helpful?

PREVIOUS
CassAuthenticatorCallbacks
NEXT
CassCluster
  • Create an issue
  • Edit this page

On this page

  • CassBatch
    • CassBatch
      • CassBatchType
      • cass_batch_new()
      • cass_batch_free()
      • cass_batch_set_keyspace()
      • cass_batch_set_keyspace_n()
      • cass_batch_set_consistency()
      • cass_batch_set_serial_consistency()
      • cass_batch_set_timestamp()
      • cass_batch_set_request_timeout()
      • cass_batch_set_is_idempotent()
      • cass_batch_set_retry_policy()
      • cass_batch_set_custom_payload()
      • cass_batch_set_tracing()
      • cass_batch_add_statement()
      • cass_batch_set_execution_profile()
      • cass_batch_set_execution_profile_n()
ScyllaDB CPP RS Driver
  • master
    • master
    • v1.0.0
  • ScyllaDB CPP RS Driver
  • API Documentation
    • BasicTypes
    • CassConsistency
    • CassError
    • CassValueType
    • CustomAllocator
    • Logging
    • Miscellaneous
    • CassAggregateMeta
    • CassAuthenticator
    • CassAuthenticatorCallbacks
    • CassBatch
    • CassCluster
    • CassCollection
    • CassColumnMeta
    • CassCustomPayload
    • CassDataType
    • CassErrorResult
    • CassExecProfile
    • CassFunctionMeta
    • CassFuture
    • CassIndexMeta
    • CassInet
    • CassIterator
    • CassKeyspaceMeta
    • CassMaterializedViewMeta
    • CassMetrics
    • CassNode
    • CassPrepared
    • CassResult
    • CassRetryPolicy
    • CassRow
    • CassSchemaMeta
    • CassSession
    • CassSpeculativeExecutionMetrics
    • CassSsl
    • CassStatement
    • CassTableMeta
    • CassTimestampGen
    • CassTuple
    • CassUserType
    • CassUuid
    • CassUuidGen
    • CassValue
    • CassVersion
  • Getting Started
  • Architecture Overview
  • Installation
  • Building
  • Testing
  • Using the Driver
    • Batches
    • Binding Parameters
    • Client-side timestamps
    • Consistency
    • Data Types
      • The date and time Types
      • Tuples
      • User-Defined Types (UDTs)
      • UUIDs
    • Futures
    • Handling Results
    • Keyspaces
    • Prepared Statements
    • Schema Metadata
  • Configuration
    • Load balancing
    • Retry policies
    • Speculative Execution
    • Connection
    • Execution Profiles
    • Performance Tips
    • Client Configuration
  • Security
    • Authentication
    • TLS
  • Observability
    • Logging
    • Tracing
    • Metrics
Docs Tutorials University Contact Us About Us
© 2026, ScyllaDB. All rights reserved. | Terms of Service | Privacy Policy | ScyllaDB, and ScyllaDB Cloud, are registered trademarks of ScyllaDB, Inc.
Last updated on 17 Mar 2026.
Powered by Sphinx 9.1.0 & ScyllaDB Theme 1.9.1
Ask AI