void
Contents
Copyright
2009-present, MongoDB, Inc.
1.30.4 Jun 08, 2025 MONGOC_SESSION_OPTS_SET_CAUSAL_CONSISTENCY(3)
Example
mongoc_client_t *client;
mongoc_session_opt_t *session_opts;
mongoc_client_session_t *client_session;
mongoc_collection_t *collection;
bson_t insert_opts = BSON_INITIALIZER;
bson_t *doc;
bson_error_t error;
bool r;
client = mongoc_client_new ("mongodb://example/?appname=session-opts-example");
mongoc_client_set_error_api (client, 2);
session_opts = mongoc_session_opts_new ();
mongoc_session_opts_set_causal_consistency (session_opts, false);
client_session = mongoc_client_start_session (client, session_opts, &error);
mongoc_session_opts_destroy (session_opts);
if (!client_session) {
fprintf (stderr, "Failed to start session: %s\n", error.message);
abort ();
}
collection = mongoc_client_get_collection (client, "test", "collection");
doc = BCON_NEW ("_id", BCON_INT32 (1));
r = mongoc_client_session_append (client_session, &insert_opts, NULL);
if (!r) {
fprintf (stderr, "mongoc_client_session_append failed: %s\n", error.message);
abort ();
}
r = mongoc_collection_insert_one (
collection, doc, &insert_opts, NULL /* reply */, &error);
if (!r) {
fprintf (stderr, "Insert failed: %s\n", error.message);
abort ();
}
Parameters
• opts: A mongoc_session_opt_t.
• causal_consistency: True or false.
Synopsis
void
mongoc_session_opts_set_causal_consistency (mongoc_session_opt_t *opts,
bool causal_consistency);
Configure causal consistency in a session. If true (the default), each operation in the session will be
causally ordered after the previous read or write operation. Set to false to disable causal consistency.
See theMongoDBManualEntryforCausalConsistency.
Causal consistency and snapshot reads are mutually exclusive. Attempting to set both to true will result
in an error. See mongoc_session_opts_set_snapshot().
Unacknowledged writes are not causally consistent. If you execute a write operation with a
mongoc_write_concern_t on which you have called mongoc_write_concern_set_w() with a value of 0, the write
does not participate in causal consistency.
