# mongoc_session_opts_set_default_transaction_opts()

## Synopsis

    void
    mongoc_session_opts_set_default_transaction_opts (
       mongoc_session_opt_t *opts, const mongoc_transaction_opt_t *txn_opts);

Set the default options for transactions started with this session. The `txn_opts` argument is copied and can be freed after calling this function.

When a session is first created with mongoc_client_start_session(), it inherits from the client the read concern, write concern, and read preference with which to start transactions. Each of these fields can be overridden independently. Create a mongoc_transaction_opt_t with mongoc_transaction_opts_new(), and pass a non-NULL option to any of the mongoc_transaction_opt_t setter functions:

- mongoc_transaction_opts_set_read_concern()

- mongoc_transaction_opts_set_write_concern()

- mongoc_transaction_opts_set_read_prefs()

Pass the resulting transaction options to mongoc_session_opts_set_default_transaction_opts(). Each field set in the transaction options overrides the inherited client configuration. There is an opportunity to override each one of these fields again by passing a mongoc_transaction_opt_t to mongoc_client_session_start_transaction().

## Parameters

- `opts`: A mongoc_session_opt_t.

- `txn_opts`: A mongoc_transaction_opt_t.

See also

mongoc_client_session_abort_transaction()
mongoc_client_session_advance_cluster_time()
mongoc_client_session_advance_operation_time()
mongoc_client_session_commit_transaction()
mongoc_client_session_destroy()
mongoc_client_session_get_client()
mongoc_client_session_get_cluster_time()
mongoc_client_session_get_lsid()
mongoc_client_session_get_operation_time()
mongoc_client_session_get_opts()
mongoc_client_session_get_server_id()
mongoc_client_session_start_transaction()
mongoc_client_session_t
mongoc_client_start_session()
mongoc_session_opts_clone()
mongoc_session_opts_destroy()
mongoc_session_opts_get_causal_consistency()
mongoc_session_opts_get_default_transaction_opts()
mongoc_session_opts_get_transaction_opts()
mongoc_session_opts_new()
mongoc_session_opts_set_causal_consistency()
mongoc_session_opts_set_default_transaction_opts()
mongoc_transaction_opts_clone()
mongoc_transaction_opts_destroy()
mongoc_transaction_opts_get_max_commit_time_ms()
mongoc_transaction_opts_get_read_concern()
mongoc_transaction_opts_get_read_prefs()
mongoc_transaction_opts_get_write_concern()
mongoc_transaction_opts_new()
mongoc_transaction_opts_set_max_commit_time_ms()
mongoc_transaction_opts_set_read_concern()
mongoc_transaction_opts_set_read_prefs()
mongoc_transaction_opts_set_write_concern()