---
name: "mongoc_session_opts_set_causal_consistency"
section: "3"
platform: "linux"
package: "libmongoc-doc"
version: "1.30.4-1+deb13u3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mongoc_session_opts_set_causal_consistency"
---

# mongoc\_session\_opts\_set\_causal\_consistency(3)

## 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 *the MongoDB Manual Entry for Causal Consistency*.

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.

## PARAMETERS

- •

  **opts**: A *mongoc\_session\_opt\_t*.

- •

  **causal\_consistency**: True or false.

## 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 ();
}
```

## AUTHOR

MongoDB, Inc

## COPYRIGHT

2009-present, MongoDB, Inc.
