summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/session/session_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/session/session_api.c')
-rw-r--r--src/third_party/wiredtiger/src/session/session_api.c29
1 files changed, 25 insertions, 4 deletions
diff --git a/src/third_party/wiredtiger/src/session/session_api.c b/src/third_party/wiredtiger/src/session/session_api.c
index 03827e3e76d..871b3945ec9 100644
--- a/src/third_party/wiredtiger/src/session/session_api.c
+++ b/src/third_party/wiredtiger/src/session/session_api.c
@@ -1748,7 +1748,8 @@ err:
/*
* __session_timestamp_transaction --
- * WT_SESSION->timestamp_transaction method.
+ * WT_SESSION->timestamp_transaction method. Also see __session_timestamp_transaction_uint if
+ * config parsing is a performance issue.
*/
static int
__session_timestamp_transaction(WT_SESSION *wt_session, const char *config)
@@ -1770,6 +1771,24 @@ err:
}
/*
+ * __session_timestamp_transaction_uint --
+ * WT_SESSION->timestamp_transaction_uint method.
+ */
+static int
+__session_timestamp_transaction_uint(WT_SESSION *wt_session, WT_TS_TXN_TYPE which, uint64_t ts)
+{
+ WT_DECL_RET;
+ WT_SESSION_IMPL *session;
+
+ session = (WT_SESSION_IMPL *)wt_session;
+ SESSION_API_CALL_PREPARE_ALLOWED_NOCONF(session, timestamp_transaction_uint);
+
+ ret = __wt_txn_set_timestamp_uint(session, which, (wt_timestamp_t)ts);
+err:
+ API_END_RET(session, ret);
+}
+
+/*
* __session_query_timestamp --
* WT_SESSION->query_timestamp method.
*/
@@ -1962,8 +1981,9 @@ __open_session(WT_CONNECTION_IMPL *conn, WT_EVENT_HANDLER *event_handler, const
__session_log_printf, __session_rename, __session_reset, __session_salvage,
__session_truncate, __session_upgrade, __session_verify, __session_begin_transaction,
__session_commit_transaction, __session_prepare_transaction, __session_reset_snapshot,
- __session_rollback_transaction, __session_timestamp_transaction, __session_query_timestamp,
- __session_checkpoint, __session_transaction_pinned_range, __wt_session_breakpoint},
+ __session_rollback_transaction, __session_timestamp_transaction,
+ __session_timestamp_transaction_uint, __session_query_timestamp, __session_checkpoint,
+ __session_transaction_pinned_range, __wt_session_breakpoint},
stds_readonly = {NULL, NULL, __session_close, __session_reconfigure, __session_flush_tier,
__wt_session_strerror, __session_open_cursor, __session_alter_readonly,
__session_create_readonly, __wt_session_compact_readonly, __session_drop_readonly,
@@ -1972,7 +1992,8 @@ __open_session(WT_CONNECTION_IMPL *conn, WT_EVENT_HANDLER *event_handler, const
__session_truncate_readonly, __session_upgrade_readonly, __session_verify,
__session_begin_transaction, __session_commit_transaction,
__session_prepare_transaction_readonly, __session_reset_snapshot,
- __session_rollback_transaction, __session_timestamp_transaction, __session_query_timestamp,
+ __session_rollback_transaction, __session_timestamp_transaction,
+ __session_timestamp_transaction_uint, __session_query_timestamp,
__session_checkpoint_readonly, __session_transaction_pinned_range, __wt_session_breakpoint};
WT_DECL_RET;
WT_SESSION_IMPL *session, *session_ret;