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.
Instances of the session object are thread-safe to execute queries.
Creates a new session.
cass_session_free( session )
Frees a session instance. If the session is still connected it will be syncronously closed before being deallocated.
Important: Do not free a session in a future callback. Freeing a session in a future callback will cause a deadlock.
cass_session_connect( session, cluster )
Connects a session.
cass_session_connect_keyspace( session, cluster, keyspace )
Connects a session and sets the keyspace.
cass_session_close( session )
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.
cass_session_prepare( session, query )
Create a prepared statement.
cass_session_execute( session, statement )
Execute a query or bound statement.
cass_session_execute_batch( session, batch )
Execute a batch statement.
const CassSchema *
cass_session_get_schema( session )
Gets a copy of this session’s schema metadata. The returned copy of the schema metadata is not updated. This function must be called again to retrieve any schema changes since the previous call.