diff options
author | Will Korteland <will.korteland@mongodb.com> | 2022-09-15 06:07:48 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-09-15 06:44:15 +0000 |
commit | 32cabedc3d83446279ef0e78ed7de81cc4b3fb81 (patch) | |
tree | 2028dd2de25cf86c1ee6d2a5aa92c8a4b0001a68 | |
parent | 771800634538752ddee777510bae894a50d3dbe2 (diff) | |
download | mongo-32cabedc3d83446279ef0e78ed7de81cc4b3fb81.tar.gz |
Import wiredtiger: b0d1b062b29133950081c5497a638ba8f574c988 from branch mongodb-master
ref: f2c48d93f0..b0d1b062b2
for: 6.2.0-rc0
WT-9577 Implement bounded cursor API for the Datastore cursor (#8264)
-rw-r--r-- | src/third_party/wiredtiger/examples/c/ex_data_source.c | 9 | ||||
-rw-r--r-- | src/third_party/wiredtiger/import.data | 2 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/cursor/cur_ds.c | 24 |
3 files changed, 32 insertions, 3 deletions
diff --git a/src/third_party/wiredtiger/examples/c/ex_data_source.c b/src/third_party/wiredtiger/examples/c/ex_data_source.c index 752e3fc95c9..c4bbf8ce793 100644 --- a/src/third_party/wiredtiger/examples/c/ex_data_source.c +++ b/src/third_party/wiredtiger/examples/c/ex_data_source.c @@ -234,6 +234,13 @@ my_cursor_remove(WT_CURSOR *wtcursor) return (0); } static int +my_cursor_bound(WT_CURSOR *wtcursor, const char *config) +{ + (void)wtcursor; + (void)config; + return (0); +} +static int my_cursor_close(WT_CURSOR *wtcursor) { (void)wtcursor; @@ -271,7 +278,7 @@ my_open_cursor(WT_DATA_SOURCE *dsrc, WT_SESSION *session, const char *uri, WT_CO cursor->wtcursor.update = my_cursor_update; cursor->wtcursor.remove = my_cursor_remove; cursor->wtcursor.close = my_cursor_close; - + cursor->wtcursor.bound = my_cursor_bound; /* * Configure local cursor information. */ diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data index 7c68ca84cfa..ffbed21d4a1 100644 --- a/src/third_party/wiredtiger/import.data +++ b/src/third_party/wiredtiger/import.data @@ -2,5 +2,5 @@ "vendor": "wiredtiger", "github": "wiredtiger/wiredtiger.git", "branch": "mongodb-master", - "commit": "f2c48d93f0e3dec7a5576f74d78f85aa3a336f2c" + "commit": "b0d1b062b29133950081c5497a638ba8f574c988" } diff --git a/src/third_party/wiredtiger/src/cursor/cur_ds.c b/src/third_party/wiredtiger/src/cursor/cur_ds.c index 0ab7395b8bc..9f1e01f14b5 100644 --- a/src/third_party/wiredtiger/src/cursor/cur_ds.c +++ b/src/third_party/wiredtiger/src/cursor/cur_ds.c @@ -95,6 +95,28 @@ __curds_cursor_resolve(WT_CURSOR *cursor, int ret) } /* + * __curds_bound -- + * WT_CURSOR.bound method for the data-source cursor type. + */ +static int +__curds_bound(WT_CURSOR *cursor, const char *config) +{ + WT_CURSOR *source; + WT_DECL_RET; + WT_SESSION_IMPL *session; + + source = ((WT_CURSOR_DATA_SOURCE *)cursor)->source; + + CURSOR_API_CALL(cursor, session, bound, NULL); + + WT_ERR(__curds_key_set(cursor)); + ret = __curds_cursor_resolve(cursor, source->bound(source, config)); + +err: + API_END_RET(session, ret); +} + +/* * __curds_compare -- * WT_CURSOR.compare method for the data-source cursor type. */ @@ -426,7 +448,7 @@ __wt_curds_open(WT_SESSION_IMPL *session, const char *uri, WT_CURSOR *owner, con __curds_reserve, /* reserve */ __wt_cursor_config_notsup, /* reconfigure */ __wt_cursor_notsup, /* largest_key */ - __wt_cursor_config_notsup, /* bound */ + __curds_bound, /* bound */ __wt_cursor_notsup, /* cache */ __wt_cursor_reopen_notsup, /* reopen */ __wt_cursor_checkpoint_id, /* checkpoint ID */ |