diff options
Diffstat (limited to 'src/third_party/wiredtiger/src/cursor')
-rw-r--r-- | src/third_party/wiredtiger/src/cursor/cur_backup.c | 8 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/cursor/cur_bulk.c | 31 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/cursor/cur_dump.c | 2 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/cursor/cur_file.c | 13 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/cursor/cur_json.c | 4 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/cursor/cur_log.c | 6 |
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)); /* |