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.

Functions

CassSession *

cass_session_new

( )

Creates a new session.

Returns:
Type Details
CassSession *

Returns a session that must be freed.

See Also:
void

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.

Parameters:
Name Type Details
in session
CassFuture *

cass_session_connect

( session, cluster )

Connects a session.

Parameters:
Name Type Details
in session
in cluster
Returns:
Type Details
CassFuture *

A future that must be freed.

See Also:
CassFuture *

cass_session_connect_keyspace

( session, cluster, keyspace )

Connects a session and sets the keyspace.

Parameters:
Name Type Details
in session
in cluster
in keyspace
Returns:
Type Details
CassFuture *

A future that must be freed.

See Also:
CassFuture *

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.

Parameters:
Name Type Details
in session
Returns:
Type Details
CassFuture *

A future that must be freed.

CassFuture *

cass_session_prepare

( session, query )

Create a prepared statement.

Parameters:
Name Type Details
in session
in query

The query is copied into the statement object; the memory pointed to by this parameter can be freed after this call.

Returns:
Type Details
CassFuture *

A future that must be freed.

See Also:
CassFuture *

cass_session_execute

( session, statement )

Execute a query or bound statement.

Parameters:
Name Type Details
in session
in statement
Returns:
Type Details
CassFuture *

A future that must be freed.

See Also:
CassFuture *

cass_session_execute_batch

( session, batch )

Execute a batch statement.

Parameters:
Name Type Details
in session
in batch
Returns:
Type Details
CassFuture *

A future that must be freed.

See Also:
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.

Parameters:
Name Type Details
in session
Returns:
Type Details
const CassSchema *

A schema instance that must be freed.

See Also: