|
MongoDB C++ Driver
mongocxx-3.4.0
|
Use a session for a sequence of operations, optionally with causal consistency. More...
#include <client_session.hpp>
Public Member Functions | |
| client_session (client_session &&) noexcept | |
| Move constructs a session. | |
| client_session & | operator= (client_session &&) noexcept |
| Move assigns a session. | |
| ~client_session () noexcept | |
| Ends and destroys the session. | |
| const class client & | client () const noexcept |
| Gets the client that started this session. | |
| const options::client_session & | options () const noexcept |
| Gets the options this session was created with. | |
| bsoncxx::document::view | id () const noexcept |
| Get the server-side "logical session ID" associated with this session, as a BSON document. More... | |
| bsoncxx::document::view | cluster_time () const noexcept |
| Get the session's clusterTime, as a BSON document. More... | |
| bsoncxx::types::b_timestamp | operation_time () const noexcept |
| Get the session's operationTime, as a BSON timestamp. More... | |
| void | advance_cluster_time (const bsoncxx::document::view &cluster_time) |
| Advance the cluster time for a session. More... | |
| void | advance_operation_time (const bsoncxx::types::b_timestamp &operation_time) |
| Advance the session's operation time, expressed as a BSON timestamp. More... | |
| void | start_transaction (const stdx::optional< options::transaction > &transaction_opts={}) |
| Starts a transaction on the current client session. More... | |
| void | commit_transaction () |
| Commits a transaction on the current client session. More... | |
| void | abort_transaction () |
| Aborts a transaction on the current client session. More... | |
Use a session for a sequence of operations, optionally with causal consistency.
Note that client_session is not thread-safe. See https://mongodb.github.io/mongo-cxx-driver/mongocxx-v3/thread-safety/ for more details.
| void mongocxx::client_session::abort_transaction | ( | ) |
Aborts a transaction on the current client session.
| mongocxx::operation_exception | if the options are misconfigured or if there are other errors such as a session with no transaction in progress. |
| void mongocxx::client_session::advance_cluster_time | ( | const bsoncxx::document::view & | cluster_time | ) |
Advance the cluster time for a session.
Has an effect only if the new cluster time is greater than the session's current cluster time.
Use advance_operation_time() and advance_cluster_time() to copy the operationTime and clusterTime from another session, ensuring subsequent operations in this session are causally consistent with the last operation in the other session.
| void mongocxx::client_session::advance_operation_time | ( | const bsoncxx::types::b_timestamp & | operation_time | ) |
Advance the session's operation time, expressed as a BSON timestamp.
Has an effect only if the new operation time is greater than the session's current operation time.
Use advance_operation_time() and advance_cluster_time() to copy the operationTime and clusterTime from another session, ensuring subsequent operations in this session are causally consistent with the last operation in the other session.
|
noexcept |
Get the session's clusterTime, as a BSON document.
This is an opaque value suitable for passing to advance_cluster_time(). The document is empty if the session has not been used for any operation and you have not called advance_cluster_time(). This view is invalid after the session is destroyed.
| void mongocxx::client_session::commit_transaction | ( | ) |
Commits a transaction on the current client session.
| mongocxx::operation_exception | if the options are misconfigured, if there are network or other transient failures, or if there are other errors such as a session with no transaction in progress. |
|
noexcept |
Get the server-side "logical session ID" associated with this session, as a BSON document.
This view is invalid after the session is destroyed.
|
noexcept |
Get the session's operationTime, as a BSON timestamp.
This is an opaque value suitable for passing to advance_operation_time(). The timestamp is zero if the session has not been used for any operation and you have not called advance_operation_time().
| void mongocxx::client_session::start_transaction | ( | const stdx::optional< options::transaction > & | transaction_opts = {} | ) |
Starts a transaction on the current client session.
| transaction_opts | (optional) The options to use in the transaction. |
| mongocxx::operation_exception | if the options are misconfigured, if there are network or other transient failures, or if there are other errors such as a session with a transaction already in progress. |
1.8.13