logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mongoc_client_session_t *

Author

       MongoDB, Inc

Errors

       This function can fail if the driver is not built with crypto support, if opts is  misconfigured,  or  if
       the session is configured with options that the server does not support.

Parameters

client: A mongoc_client_t.

       • opts: An optional mongoc_session_opt_t.

       • error: A bson_error_t.

Returns

       If  successful, this function returns a newly allocated mongoc_client_session_t that should be freed with
       mongoc_client_session_destroy() when no longer in use. On error, returns NULL and sets error.

Synopsis

          mongoc_client_session_t *
          mongoc_client_start_session (mongoc_client_t *client,
                                       mongoc_session_opt_t *opts,
                                       bson_error_t *error)

       Create a session for a sequence of operations.

       Start  a  session  with  mongoc_client_start_session(),  use the session for a sequence of operations and
       multi-document transactions, then free it with mongoc_client_session_destroy().  Any  mongoc_cursor_t  or
       mongoc_change_stream_t  using  a  session  must  be  destroyed  before the session, and a session must be
       destroyed before the mongoc_client_t it came from.

       By default, sessions are causallyconsistent. To disable causal consistency, before  starting  a  session
       create       a       mongoc_session_opt_t       with       mongoc_session_opts_new()       and       call
       mongoc_session_opts_set_causal_consistency(), then free the struct with mongoc_session_opts_destroy().

       Unacknowledged writes are prohibited with sessions.

       A mongoc_client_session_t must  be  used  by  only  one  thread  at  a  time.  Due  to  session  pooling,
       mongoc_client_start_session()  may  return  a session that has been idle for some time and is about to be
       closed after its idle timeout. Use the session within one minute of acquiring it to refresh  the  session
       and avoid a timeout.

See Also