summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/cursor
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/cursor')
-rw-r--r--src/third_party/wiredtiger/src/cursor/cur_backup.c8
-rw-r--r--src/third_party/wiredtiger/src/cursor/cur_bulk.c31
-rw-r--r--src/third_party/wiredtiger/src/cursor/cur_dump.c2
-rw-r--r--src/third_party/wiredtiger/src/cursor/cur_file.c13
-rw-r--r--src/third_party/wiredtiger/src/cursor/cur_json.c4
-rw-r--r--src/third_party/wiredtiger/src/cursor/cur_log.c6
6 files changed, 22 insertions, 42 deletions
diff --git a/src/third_party/wiredtiger/src/cursor/cur_backup.c b/src/third_party/wiredtiger/src/cursor/cur_backup.c
index 5b47c2c1a73..a201477abe3 100644
--- a/src/third_party/wiredtiger/src/cursor/cur_backup.c
+++ b/src/third_party/wiredtiger/src/cursor/cur_backup.c
@@ -248,7 +248,7 @@ __backup_start(
* Close any hot backup file.
* We're about to open the incremental backup file.
*/
- WT_TRET(__wt_fclose(session, &cb->bfp, WT_FHANDLE_WRITE));
+ WT_TRET(__wt_fclose(&cb->bfp, WT_FHANDLE_WRITE));
WT_ERR(__backup_file_create(session, cb, log_only));
WT_ERR(__backup_list_append(
session, cb, WT_INCREMENTAL_BACKUP));
@@ -266,7 +266,7 @@ __backup_start(
}
err: /* Close the hot backup file. */
- WT_TRET(__wt_fclose(session, &cb->bfp, WT_FHANDLE_WRITE));
+ WT_TRET(__wt_fclose(&cb->bfp, WT_FHANDLE_WRITE));
if (ret != 0) {
WT_TRET(__backup_cleanup_handles(session, cb));
WT_TRET(__backup_stop(session));
@@ -347,7 +347,7 @@ __backup_all(WT_SESSION_IMPL *session, WT_CURSOR_BACKUP *cb)
while ((ret = cursor->next(cursor)) == 0) {
WT_ERR(cursor->get_key(cursor, &key));
WT_ERR(cursor->get_value(cursor, &value));
- WT_ERR(__wt_fprintf(session, cb->bfp, "%s\n%s\n", key, value));
+ WT_ERR(__wt_fprintf(cb->bfp, "%s\n%s\n", key, value));
/*
* While reading the metadata file, check there are no "sources"
@@ -495,7 +495,7 @@ __wt_backup_list_uri_append(
/* Add the metadata entry to the backup file. */
WT_RET(__wt_metadata_search(session, name, &value));
- WT_RET(__wt_fprintf(session, cb->bfp, "%s\n%s\n", name, value));
+ WT_RET(__wt_fprintf(cb->bfp, "%s\n%s\n", name, value));
__wt_free(session, value);
/* Add file type objects to the list of files to be copied. */
diff --git a/src/third_party/wiredtiger/src/cursor/cur_bulk.c b/src/third_party/wiredtiger/src/cursor/cur_bulk.c
index b38821f99ff..df7048d4b82 100644
--- a/src/third_party/wiredtiger/src/cursor/cur_bulk.c
+++ b/src/third_party/wiredtiger/src/cursor/cur_bulk.c
@@ -220,36 +220,6 @@ err: API_END_RET(session, ret);
}
/*
- * __curbulk_close --
- * WT_CURSOR->close for the bulk cursor type.
- */
-static int
-__curbulk_close(WT_CURSOR *cursor)
-{
- WT_BTREE *btree;
- WT_CURSOR_BULK *cbulk;
- WT_DECL_RET;
- WT_SESSION_IMPL *session;
-
- cbulk = (WT_CURSOR_BULK *)cursor;
- btree = cbulk->cbt.btree;
-
- CURSOR_API_CALL(cursor, session, close, btree);
-
- WT_TRET(__wt_bulk_wrapup(session, cbulk));
- __wt_buf_free(session, &cbulk->last);
-
- WT_TRET(__wt_session_release_btree(session));
-
- /* The URI is owned by the btree handle. */
- cursor->internal_uri = NULL;
-
- WT_TRET(__wt_cursor_close(cursor));
-
-err: API_END_RET(session, ret);
-}
-
-/*
* __wt_curbulk_init --
* Initialize a bulk cursor.
*/
@@ -278,7 +248,6 @@ __wt_curbulk_init(WT_SESSION_IMPL *session,
break;
WT_ILLEGAL_VALUE(session);
}
- c->close = __curbulk_close;
cbulk->bitmap = bitmap;
if (bitmap)
diff --git a/src/third_party/wiredtiger/src/cursor/cur_dump.c b/src/third_party/wiredtiger/src/cursor/cur_dump.c
index 00281054d22..ae608959f15 100644
--- a/src/third_party/wiredtiger/src/cursor/cur_dump.c
+++ b/src/third_party/wiredtiger/src/cursor/cur_dump.c
@@ -392,7 +392,7 @@ __wt_curdump_create(WT_CURSOR *child, WT_CURSOR *owner, WT_CURSOR **cursorp)
}
/* __wt_cursor_init is last so we don't have to clean up on error. */
- cfg[0] = WT_CONFIG_BASE(session, session_open_cursor);
+ cfg[0] = WT_CONFIG_BASE(session, WT_SESSION_open_cursor);
cfg[1] = NULL;
WT_ERR(__wt_cursor_init(cursor, NULL, owner, cfg, cursorp));
diff --git a/src/third_party/wiredtiger/src/cursor/cur_file.c b/src/third_party/wiredtiger/src/cursor/cur_file.c
index 2f24d8ed59a..44a00d4d192 100644
--- a/src/third_party/wiredtiger/src/cursor/cur_file.c
+++ b/src/third_party/wiredtiger/src/cursor/cur_file.c
@@ -356,11 +356,19 @@ static int
__curfile_close(WT_CURSOR *cursor)
{
WT_CURSOR_BTREE *cbt;
+ WT_CURSOR_BULK *cbulk;
WT_DECL_RET;
WT_SESSION_IMPL *session;
cbt = (WT_CURSOR_BTREE *)cursor;
CURSOR_API_CALL(cursor, session, close, cbt->btree);
+ if (F_ISSET(cursor, WT_CURSTD_BULK)) {
+ /* Free the bulk-specific resources. */
+ cbulk = (WT_CURSOR_BULK *)cbt;
+ WT_TRET(__wt_bulk_wrapup(session, cbulk));
+ __wt_buf_free(session, &cbulk->last);
+ }
+
WT_TRET(__wt_btcur_close(cbt));
if (cbt->btree != NULL) {
/* Increment the data-source's in-use counter. */
@@ -424,8 +432,8 @@ __wt_curfile_create(WT_SESSION_IMPL *session,
cursor->internal_uri = btree->dhandle->name;
cursor->key_format = btree->key_format;
cursor->value_format = btree->value_format;
-
cbt->btree = btree;
+
if (bulk) {
F_SET(cursor, WT_CURSTD_BULK);
@@ -449,6 +457,9 @@ __wt_curfile_create(WT_SESSION_IMPL *session,
cursor->reset = __curfile_reset;
}
+ /* Underlying btree initialization. */
+ __wt_btcur_open(cbt);
+
/* __wt_cursor_init is last so we don't have to clean up on error. */
WT_ERR(__wt_cursor_init(
cursor, cursor->internal_uri, owner, cfg, cursorp));
diff --git a/src/third_party/wiredtiger/src/cursor/cur_json.c b/src/third_party/wiredtiger/src/cursor/cur_json.c
index 67daf377f88..d793db778c6 100644
--- a/src/third_party/wiredtiger/src/cursor/cur_json.c
+++ b/src/third_party/wiredtiger/src/cursor/cur_json.c
@@ -577,9 +577,9 @@ __wt_json_token(WT_SESSION *wt_session, const char *src, int *toktype,
}
/*
- * __wt_json_tokname
+ * __wt_json_tokname --
* Return a descriptive name from the token type returned by
- * __wt_json_token
+ * __wt_json_token.
*/
const char *
__wt_json_tokname(int toktype)
diff --git a/src/third_party/wiredtiger/src/cursor/cur_log.c b/src/third_party/wiredtiger/src/cursor/cur_log.c
index 5de3762217f..b7f11576425 100644
--- a/src/third_party/wiredtiger/src/cursor/cur_log.c
+++ b/src/third_party/wiredtiger/src/cursor/cur_log.c
@@ -14,7 +14,8 @@
*/
static int
__curlog_logrec(WT_SESSION_IMPL *session,
- WT_ITEM *logrec, WT_LSN *lsnp, void *cookie, int firstrecord)
+ WT_ITEM *logrec, WT_LSN *lsnp, WT_LSN *next_lsnp,
+ void *cookie, int firstrecord)
{
WT_CURSOR_LOG *cl;
@@ -23,8 +24,7 @@ __curlog_logrec(WT_SESSION_IMPL *session,
/* Set up the LSNs and take a copy of the log record for the cursor. */
*cl->cur_lsn = *lsnp;
- *cl->next_lsn = *lsnp;
- cl->next_lsn->offset += (wt_off_t)logrec->size;
+ *cl->next_lsn = *next_lsnp;
WT_RET(__wt_buf_set(session, cl->logrec, logrec->data, logrec->size));
/*