summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/include/api.h
diff options
context:
space:
mode:
authorMichael Cahill <michael.cahill@mongodb.com>2017-10-25 00:22:03 +1100
committerMichael Cahill <michael.cahill@mongodb.com>2017-10-25 00:22:03 +1100
commit2ff0f268538b713b457a16eb3e8f731bd2e63028 (patch)
tree2b05affc9567a0889c09b9b9b2d76d44b62a808c /src/third_party/wiredtiger/src/include/api.h
parent979ee612682b77d9cabaafae10787fbb578cd32a (diff)
downloadmongo-2ff0f268538b713b457a16eb3e8f731bd2e63028.tar.gz
Import wiredtiger: a31e9d415a25561bd36b001f3a6e9b0a6a115236 from branch mongodb-3.6
ref: 4ecdb8f1a3..a31e9d415a for: 3.6.0 WT-3235 Fix typo in test case to cover more LSM use cases WT-3257 Need unit test for log recover setting WT-3585 Add an API to allow read timestamp to round up to oldest WT-3596 Timestamp documentation incomplete WT-3598 Open cursor should not to set transaction error on failure WT-3616 format failed to report a stuck cache WT-3629 Cache accounting underflow checks and logging WT-3640 Change bytes-read statistic WT-3643 Recovery does not run after database opened with recover=error WT-3667 Timestamp tests that take backups should pass log=(archive=false) WT-3669 Check for aborted updates during reconciliation WT-3672 Test format failure with commit timestamp older than oldest WT-3673 Opening the lookaside table can race with the statistics server WT-3674 Snapshot isolation failure after update/restore eviction
Diffstat (limited to 'src/third_party/wiredtiger/src/include/api.h')
-rw-r--r--src/third_party/wiredtiger/src/include/api.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/third_party/wiredtiger/src/include/api.h b/src/third_party/wiredtiger/src/include/api.h
index 3eb951f81ac..e1c3ba9ff3c 100644
--- a/src/third_party/wiredtiger/src/include/api.h
+++ b/src/third_party/wiredtiger/src/include/api.h
@@ -101,6 +101,15 @@
API_END(s, ret); \
return ((ret) == WT_NOTFOUND ? ENOENT : (ret))
+/*
+ * Used in cases where transaction error should not be set, but the error is
+ * returned from the API. Success is passed to the API_END macro. If the
+ * method is about to return WT_NOTFOUND map it to ENOENT.
+ */
+#define API_END_RET_NO_TXN_ERROR(s, ret) \
+ API_END(s, 0); \
+ return ((ret) == WT_NOTFOUND ? ENOENT : (ret))
+
#define CONNECTION_API_CALL(conn, s, n, config, cfg) \
s = (conn)->default_session; \
API_CALL(s, WT_CONNECTION, n, NULL, config, cfg)