summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/cursor/cur_table.c
diff options
context:
space:
mode:
authorEtienne Petrel <etienne.petrel@mongodb.com>2022-05-02 22:57:00 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-05-03 00:19:52 +0000
commitbd073fd759459fd7eba6610bfba68308598c9953 (patch)
treeb559b1c6312ca34a99d4654b7e8462cf2474b93d /src/third_party/wiredtiger/src/cursor/cur_table.c
parent7eced17c3b5e1cf85284cf0f18bdc53d4bc97263 (diff)
downloadmongo-bd073fd759459fd7eba6610bfba68308598c9953.tar.gz
Import wiredtiger: f73ace80077f974162340b762cc6f2a92c31bcf4 from branch mongodb-master
ref: 90a43c0b68..f73ace8007 for: 6.1.0-rc0 WT-8707 Mongod reader yielding with WT::commit_transaction instead of rollback pins WT pages such that pages cannot be split/evicted by writer threads
Diffstat (limited to 'src/third_party/wiredtiger/src/cursor/cur_table.c')
-rw-r--r--src/third_party/wiredtiger/src/cursor/cur_table.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/third_party/wiredtiger/src/cursor/cur_table.c b/src/third_party/wiredtiger/src/cursor/cur_table.c
index 0fe18bdfd3c..0f2e290938a 100644
--- a/src/third_party/wiredtiger/src/cursor/cur_table.c
+++ b/src/third_party/wiredtiger/src/cursor/cur_table.c
@@ -362,9 +362,11 @@ __curtable_next(WT_CURSOR *cursor)
ctable = (WT_CURSOR_TABLE *)cursor;
JOINABLE_CURSOR_API_CALL(cursor, session, next, NULL);
+ CURSOR_REPOSITION_ENTER(cursor, session);
APPLY_CG(ctable, next);
err:
+ CURSOR_REPOSITION_END(cursor, session);
API_END_RET(session, ret);
}
@@ -415,9 +417,11 @@ __curtable_prev(WT_CURSOR *cursor)
ctable = (WT_CURSOR_TABLE *)cursor;
JOINABLE_CURSOR_API_CALL(cursor, session, prev, NULL);
+ CURSOR_REPOSITION_ENTER(cursor, session);
APPLY_CG(ctable, prev);
err:
+ CURSOR_REPOSITION_END(cursor, session);
API_END_RET(session, ret);
}
@@ -453,9 +457,11 @@ __curtable_search(WT_CURSOR *cursor)
ctable = (WT_CURSOR_TABLE *)cursor;
JOINABLE_CURSOR_API_CALL(cursor, session, search, NULL);
+ CURSOR_REPOSITION_ENTER(cursor, session);
APPLY_CG(ctable, search);
err:
+ CURSOR_REPOSITION_END(cursor, session);
API_END_RET(session, ret);
}
@@ -474,6 +480,8 @@ __curtable_search_near(WT_CURSOR *cursor, int *exact)
ctable = (WT_CURSOR_TABLE *)cursor;
JOINABLE_CURSOR_API_CALL(cursor, session, search_near, NULL);
+ CURSOR_REPOSITION_ENTER(cursor, session);
+
cp = ctable->cg_cursors;
primary = *cp;
WT_ERR(primary->search_near(primary, exact));
@@ -487,6 +495,7 @@ __curtable_search_near(WT_CURSOR *cursor, int *exact)
}
err:
+ CURSOR_REPOSITION_END(cursor, session);
API_END_RET(session, ret);
}