您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CURSOR_API_CALL函数代码示例

51自学网 2021-06-01 20:07:16
  C++
这篇教程C++ CURSOR_API_CALL函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CURSOR_API_CALL函数的典型用法代码示例。如果您正苦于以下问题:C++ CURSOR_API_CALL函数的具体用法?C++ CURSOR_API_CALL怎么用?C++ CURSOR_API_CALL使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CURSOR_API_CALL函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: __curfile_search_near

/* * __curfile_search_near -- *	WT_CURSOR->search_near method for the btree cursor type. */static int__curfile_search_near(WT_CURSOR *cursor, int *exact){	WT_CURSOR_BTREE *cbt;	WT_DECL_RET;	WT_SESSION_IMPL *session;	cbt = (WT_CURSOR_BTREE *)cursor;	CURSOR_API_CALL(cursor, session, search_near, cbt->btree);	WT_CURSOR_NEEDKEY(cursor);	ret = __wt_btcur_search_near(cbt, exact);err:	API_END(session);	return (ret);}
开发者ID:niumowm,项目名称:wiredtiger,代码行数:19,


示例2: __curbackup_reset

/* * __curbackup_reset -- *	WT_CURSOR->reset method for the backup cursor type. */static int__curbackup_reset(WT_CURSOR *cursor){	WT_CURSOR_BACKUP *cb;	WT_DECL_RET;	WT_SESSION_IMPL *session;	cb = (WT_CURSOR_BACKUP *)cursor;	CURSOR_API_CALL(cursor, session, reset, NULL);	cb->next = 0;	F_CLR(cursor, WT_CURSTD_KEY_SET | WT_CURSTD_VALUE_SET);err:	API_END_RET(session, ret);}
开发者ID:Alessandra92,项目名称:mongo,代码行数:19,


示例3: __clsm_next

/* * __clsm_next -- *	WT_CURSOR->next method for the LSM cursor type. */static int__clsm_next(WT_CURSOR *cursor){	WT_CURSOR_LSM *clsm;	WT_CURSOR *c;	WT_DECL_RET;	WT_SESSION_IMPL *session;	u_int i;	int cmp;	bool check, deleted;	clsm = (WT_CURSOR_LSM *)cursor;	CURSOR_API_CALL(cursor, session, next, NULL);	WT_CURSOR_NOVALUE(cursor);	WT_ERR(__clsm_enter(clsm, false, false));	/* If we aren't positioned for a forward scan, get started. */	if (clsm->current == NULL || !F_ISSET(clsm, WT_CLSM_ITERATE_NEXT)) {		F_CLR(clsm, WT_CLSM_MULTIPLE);		WT_FORALL_CURSORS(clsm, c, i) {			if (!F_ISSET(cursor, WT_CURSTD_KEY_SET)) {				WT_ERR(c->reset(c));				ret = c->next(c);			} else if (c != clsm->current) {				c->set_key(c, &cursor->key);				if ((ret = c->search_near(c, &cmp)) == 0) {					if (cmp < 0)						ret = c->next(c);					else if (cmp == 0) {						if (clsm->current == NULL)							clsm->current = c;						else							F_SET(clsm,							    WT_CLSM_MULTIPLE);					}				} else					F_CLR(c, WT_CURSTD_KEY_SET);			}			WT_ERR_NOTFOUND_OK(ret);		}		F_SET(clsm, WT_CLSM_ITERATE_NEXT);		F_CLR(clsm, WT_CLSM_ITERATE_PREV);		/* We just positioned *at* the key, now move. */		if (clsm->current != NULL)			goto retry;	} else {
开发者ID:nicopoliakov,项目名称:mongo,代码行数:52,


示例4: __curfile_prev

/* * __curfile_prev -- *	WT_CURSOR->prev method for the btree cursor type. */static int__curfile_prev(WT_CURSOR *cursor){	WT_CURSOR_BTREE *cbt;	WT_DECL_RET;	WT_SESSION_IMPL *session;	cbt = (WT_CURSOR_BTREE *)cursor;	CURSOR_API_CALL(cursor, session, prev, cbt->btree);	F_CLR(cursor, WT_CURSTD_KEY_SET | WT_CURSTD_VALUE_SET);	if ((ret = __wt_btcur_prev(cbt, 0)) == 0)		F_SET(cursor, WT_CURSTD_KEY_INT | WT_CURSTD_VALUE_INT);err:	API_END_RET(session, ret);}
开发者ID:qihsh,项目名称:mongo,代码行数:20,


示例5: __curds_search_near

/* * __curds_search_near -- *	WT_CURSOR.search_near method for the data-source cursor type. */static int__curds_search_near(WT_CURSOR *cursor, int *exact){	WT_DECL_RET;	WT_SESSION_IMPL *session;	CURSOR_API_CALL(cursor, session, search_near, NULL);	WT_ERR(__curds_key_set(cursor));	WT_ERR(cursor->data_source->search_near(cursor->data_source, exact));	__curds_key_get(cursor);	__curds_value_get(cursor);err:	API_END(session);	return (ret);}
开发者ID:ckoolkarni,项目名称:wiredtiger,代码行数:20,


示例6: __curjoin_reset

/* * __curjoin_reset -- *	WT_CURSOR::reset for join cursors. */static int__curjoin_reset(WT_CURSOR *cursor){	WT_CURSOR_JOIN *cjoin;	WT_DECL_RET;	WT_SESSION_IMPL *session;	cjoin = (WT_CURSOR_JOIN *)cursor;	CURSOR_API_CALL(cursor, session, reset, NULL);	if (F_ISSET(cjoin, WT_CURJOIN_INITIALIZED))		WT_ERR(__curjoin_entry_iter_reset(cjoin->iter));err:	API_END_RET(session, ret);}
开发者ID:Zhangwusheng,项目名称:wiredtiger,代码行数:20,


示例7: __curfile_reset

/* * __curfile_reset -- *	WT_CURSOR->reset method for the btree cursor type. */static int__curfile_reset(WT_CURSOR *cursor){	WT_CURSOR_BTREE *cbt;	WT_DECL_RET;	WT_SESSION_IMPL *session;	cbt = (WT_CURSOR_BTREE *)cursor;	CURSOR_API_CALL(cursor, session, reset, cbt->btree);	ret = __wt_btcur_reset(cbt);	F_CLR(cursor, WT_CURSTD_KEY_SET | WT_CURSTD_VALUE_SET);err:	API_END_RET(session, ret);}
开发者ID:qihsh,项目名称:mongo,代码行数:20,


示例8: __curbulk_insert_fix

/* * __curbulk_insert_fix -- *	Fixed-length column-store bulk cursor insert. */static int__curbulk_insert_fix(WT_CURSOR *cursor){	WT_BTREE *btree;	WT_CURSOR_BULK *cbulk;	WT_DECL_RET;	WT_SESSION_IMPL *session;	uint64_t recno;	cbulk = (WT_CURSOR_BULK *)cursor;	btree = cbulk->cbt.btree;	/*	 * Bulk cursor inserts are updates, but don't need auto-commit	 * transactions because they are single-threaded and not visible	 * until the bulk cursor is closed.	 */	CURSOR_API_CALL(cursor, session, insert, btree);	WT_STAT_FAST_DATA_INCR(session, cursor_insert_bulk);	/*	 * If the "append" flag was configured, the application doesn't have to	 * supply a key, else require a key.	 */	if (F_ISSET(cursor, WT_CURSTD_APPEND))		recno = cbulk->recno + 1;	else {		WT_CURSOR_CHECKKEY(cursor);		if ((recno = cursor->recno) <= cbulk->recno)			WT_ERR(__bulk_col_keycmp_err(cbulk));	}	WT_CURSOR_CHECKVALUE(cursor);	/*	 * Insert any skipped records as deleted records, update the current	 * record count.	 */	for (; recno != cbulk->recno + 1; ++cbulk->recno)		WT_ERR(__wt_bulk_insert_fix(session, cbulk, true));	cbulk->recno = recno;	/* Insert the current record. */	ret = __wt_bulk_insert_fix(session, cbulk, false);err:	API_END_RET(session, ret);}
开发者ID:AshishSanju,项目名称:mongo,代码行数:50,


示例9: __curfile_search

/* * __curfile_search -- *	WT_CURSOR->search method for the btree cursor type. */static int__curfile_search(WT_CURSOR *cursor){	WT_CURSOR_BTREE *cbt;	WT_DECL_RET;	WT_SESSION_IMPL *session;	cbt = (WT_CURSOR_BTREE *)cursor;	CURSOR_API_CALL(cursor, session, search, cbt->btree);	WT_CURSOR_NEEDKEY(cursor);	WT_CURSOR_NOVALUE(cursor);	WT_BTREE_CURSOR_SAVE_AND_RESTORE(cursor, __wt_btcur_search(cbt), ret);err:	API_END_RET(session, ret);}
开发者ID:qihsh,项目名称:mongo,代码行数:21,


示例10: __curjoin_close

/* * __curjoin_close -- *	WT_CURSOR::close for join cursors. */static int__curjoin_close(WT_CURSOR *cursor){	WT_CURSOR_JOIN *cjoin;	WT_CURSOR_JOIN_ENDPOINT *end;	WT_CURSOR_JOIN_ENTRY *entry;	WT_DECL_RET;	WT_SESSION_IMPL *session;	u_int i;	cjoin = (WT_CURSOR_JOIN *)cursor;	CURSOR_API_CALL(cursor, session, close, NULL);	__wt_schema_release_table(session, cjoin->table);	/* These are owned by the table */	cursor->internal_uri = NULL;	cursor->key_format = NULL;	if (cjoin->projection != NULL) {		__wt_free(session, cjoin->projection);		__wt_free(session, cursor->value_format);	}	for (entry = cjoin->entries, i = 0; i < cjoin->entries_next;		entry++, i++) {		if (entry->main != NULL)			WT_TRET(entry->main->close(entry->main));		if (F_ISSET(entry, WT_CURJOIN_ENTRY_OWN_BLOOM))			WT_TRET(__wt_bloom_close(entry->bloom));		for (end = &entry->ends[0];		     end < &entry->ends[entry->ends_next]; end++) {			F_CLR(end->cursor, WT_CURSTD_JOINED);			if (F_ISSET(end, WT_CURJOIN_END_OWN_KEY))				__wt_free(session, end->key.data);		}		__wt_free(session, entry->ends);	}	if (cjoin->iter != NULL)		WT_TRET(__curjoin_entry_iter_close(cjoin->iter));	__wt_free(session, cjoin->entries);	WT_TRET(__wt_cursor_close(cursor));err:	API_END_RET(session, ret);}
开发者ID:Zhangwusheng,项目名称:wiredtiger,代码行数:49,


示例11: __curjoin_next

/* * __curjoin_next -- *	WT_CURSOR::next for join cursors. */static int__curjoin_next(WT_CURSOR *cursor){	WT_CURSOR_JOIN *cjoin;	WT_DECL_RET;	WT_SESSION_IMPL *session;	bool skip_left;	u_int i;	cjoin = (WT_CURSOR_JOIN *)cursor;	CURSOR_API_CALL(cursor, session, next, NULL);	if (F_ISSET(cjoin, WT_CURJOIN_ERROR))		WT_ERR_MSG(session, WT_ERROR,		    "join cursor encountered previous error");	if (!F_ISSET(cjoin, WT_CURJOIN_INITIALIZED))		WT_ERR(__curjoin_init_iter(session, cjoin));nextkey:	if ((ret = __curjoin_entry_iter_next(cjoin->iter, &cursor->key,	    &cursor->recno)) == 0) {		F_SET(cursor, WT_CURSTD_KEY_EXT);		/*		 * We may have already established membership for the		 * 'left' case for the first entry, since we're		 * using that in our iteration.		 */		skip_left = F_ISSET(cjoin, WT_CURJOIN_SKIP_FIRST_LEFT);		for (i = 0; i < cjoin->entries_next; i++) {			ret = __curjoin_entry_member(session, cjoin,			    &cjoin->entries[i], skip_left);			if (ret == WT_NOTFOUND)				goto nextkey;			skip_left = false;			WT_ERR(ret);		}	}	if (0) {err:		F_SET(cjoin, WT_CURJOIN_ERROR);	}	API_END_RET(session, ret);}
开发者ID:Zhangwusheng,项目名称:wiredtiger,代码行数:49,


示例12: __curmetadata_close

/* * __curmetadata_close -- *	WT_CURSOR->close method for the metadata cursor type. */static int__curmetadata_close(WT_CURSOR *cursor){	WT_CURSOR *file_cursor;	WT_CURSOR_METADATA *mdc;	WT_DECL_RET;	WT_SESSION_IMPL *session;	mdc = (WT_CURSOR_METADATA *)cursor;	file_cursor = mdc->file_cursor;	CURSOR_API_CALL(cursor, session,	    close, ((WT_CURSOR_BTREE *)file_cursor)->btree);	ret = file_cursor->close(file_cursor);	WT_TRET(__wt_cursor_close(cursor));err:	API_END_RET(session, ret);}
开发者ID:EaseTech,项目名称:wiredtiger,代码行数:22,


示例13: __curfile_next

/* * __curfile_next -- *	WT_CURSOR->next method for the btree cursor type. */static int__curfile_next(WT_CURSOR *cursor){	WT_CURSOR_BTREE *cbt;	WT_DECL_RET;	WT_SESSION_IMPL *session;	cbt = (WT_CURSOR_BTREE *)cursor;	CURSOR_API_CALL(cursor, session, next, cbt->btree);	WT_ERR(__wt_btcur_next(cbt, false));	/* Next maintains a position, key and value. */	WT_ASSERT(session,	    F_MASK(cursor, WT_CURSTD_KEY_SET) == WT_CURSTD_KEY_INT &&	    F_MASK(cursor, WT_CURSTD_VALUE_SET) == WT_CURSTD_VALUE_INT);err:	API_END_RET(session, ret);}
开发者ID:mpobrien,项目名称:mongo,代码行数:23,


示例14: __curfile_reset

/* * __curfile_reset -- *	WT_CURSOR->reset method for the btree cursor type. */static int__curfile_reset(WT_CURSOR *cursor){	WT_CURSOR_BTREE *cbt;	WT_DECL_RET;	WT_SESSION_IMPL *session;	cbt = (WT_CURSOR_BTREE *)cursor;	CURSOR_API_CALL(cursor, session, reset, cbt->btree);	ret = __wt_btcur_reset(cbt);	/* Reset maintains no position, key or value. */	WT_ASSERT(session,	    F_MASK(cursor, WT_CURSTD_KEY_SET) == 0 &&	    F_MASK(cursor, WT_CURSTD_VALUE_SET) == 0);err:	API_END_RET(session, ret);}
开发者ID:mpobrien,项目名称:mongo,代码行数:23,


示例15: __curdump_set_key

/* * __curdump_set_key -- *	WT_CURSOR->set_key for dump cursors. */static void__curdump_set_key(WT_CURSOR *cursor, ...){	WT_CURSOR_DUMP *cdump;	WT_CURSOR *child;	WT_DECL_RET;	WT_SESSION_IMPL *session;	uint64_t recno;	va_list ap;	const char *p;	cdump = (WT_CURSOR_DUMP *)cursor;	child = cdump->child;	CURSOR_API_CALL(cursor, session, set_key, NULL);	va_start(ap, cursor);	if (F_ISSET(cursor, WT_CURSTD_RAW))		p = va_arg(ap, WT_ITEM *)->data;	else
开发者ID:niumowm,项目名称:wiredtiger,代码行数:23,


示例16: __curfile_close

/* * __curfile_close -- *	WT_CURSOR->close method for the btree cursor type. */static int__curfile_close(WT_CURSOR *cursor){	WT_CURSOR_BTREE *cbt;	WT_DECL_RET;	WT_SESSION_IMPL *session;	cbt = (WT_CURSOR_BTREE *)cursor;	CURSOR_API_CALL(cursor, session, close, cbt->btree);	WT_TRET(__wt_btcur_close(cbt));	if (session->btree != NULL)		WT_TRET(__wt_session_release_btree(session));	/* The URI is owned by the btree handle. */	cursor->uri = NULL;	WT_TRET(__wt_cursor_close(cursor));	API_END(session);	return (ret);}
开发者ID:zhliu03,项目名称:wiredtiger,代码行数:23,


示例17: __curbulk_insert

/* * __curbulk_insert -- *	WT_CURSOR->insert for the bulk cursor type. */static int__curbulk_insert(WT_CURSOR *cursor){	WT_BTREE *btree;	WT_CURSOR_BULK *cbulk;	WT_SESSION_IMPL *session;	int ret;	cbulk = (WT_CURSOR_BULK *)cursor;	btree = cbulk->cbt.btree;	CURSOR_API_CALL(cursor, session, insert, btree);	if (btree->type == BTREE_ROW)		WT_CURSOR_NEEDKEY(cursor);	WT_CURSOR_NEEDVALUE(cursor);	WT_ERR(__wt_bulk_insert(cbulk));err:	API_END(session);	return (ret);}
开发者ID:zinuyasha,项目名称:wiredtiger,代码行数:23,


示例18: __curbulk_insert_row

/* * __curbulk_insert_row -- *	Row-store bulk cursor insert, with key-sort checks. */static int__curbulk_insert_row(WT_CURSOR *cursor){	WT_BTREE *btree;	WT_CURSOR_BULK *cbulk;	WT_DECL_RET;	WT_SESSION_IMPL *session;	int cmp;	cbulk = (WT_CURSOR_BULK *)cursor;	btree = cbulk->cbt.btree;	/*	 * Bulk cursor inserts are updates, but don't need auto-commit	 * transactions because they are single-threaded and not visible	 * until the bulk cursor is closed.	 */	CURSOR_API_CALL(cursor, session, insert, btree);	WT_STAT_FAST_DATA_INCR(session, cursor_insert_bulk);	WT_CURSOR_CHECKKEY(cursor);	WT_CURSOR_CHECKVALUE(cursor);	/*	 * If this isn't the first key inserted, compare it against the last key	 * to ensure the application doesn't accidentally corrupt the table.	 */	if (!cbulk->first_insert) {		WT_ERR(__wt_compare(session,		    btree->collator, &cursor->key, &cbulk->last, &cmp));		if (cmp <= 0)			WT_ERR(__bulk_row_keycmp_err(cbulk));	} else		cbulk->first_insert = false;	/* Save a copy of the key for the next comparison. */	WT_ERR(__wt_buf_set(session,	    &cbulk->last, cursor->key.data, cursor->key.size));	ret = __wt_bulk_insert_row(session, cbulk);err:	API_END_RET(session, ret);}
开发者ID:AshishSanju,项目名称:mongo,代码行数:47,


示例19: __curlog_close

/* * __curlog_close -- *	WT_CURSOR.close method for the log cursor type. */static int__curlog_close(WT_CURSOR *cursor){	WT_CURSOR_LOG *cl;	WT_DECL_RET;	WT_SESSION_IMPL *session;	CURSOR_API_CALL(cursor, session, close, NULL);	cl = (WT_CURSOR_LOG *)cursor;	WT_ERR(__curlog_reset(cursor));	__wt_free(session, cl->cur_lsn);	__wt_free(session, cl->next_lsn);	__wt_scr_free(&cl->logrec);	__wt_scr_free(&cl->opkey);	__wt_scr_free(&cl->opvalue);	WT_ERR(__wt_cursor_close(cursor));err:	API_END_RET(session, ret);}
开发者ID:EaseTech,项目名称:wiredtiger,代码行数:23,


示例20: __curds_reset

/* * __curds_reset -- *	WT_CURSOR.reset method for the data-source cursor type. */static int__curds_reset(WT_CURSOR *cursor){	WT_CURSOR *source;	WT_DECL_RET;	WT_SESSION_IMPL *session;	source = ((WT_CURSOR_DATA_SOURCE *)cursor)->source;	CURSOR_API_CALL(cursor, session, reset, NULL);	WT_STAT_CONN_INCR(session, cursor_reset);	WT_STAT_DATA_INCR(session, cursor_reset);	WT_ERR(source->reset(source));	F_CLR(cursor, WT_CURSTD_KEY_SET | WT_CURSTD_VALUE_SET);err:	API_END_RET(session, ret);}
开发者ID:adityavs,项目名称:wiredtiger,代码行数:24,


示例21: __curfile_search_near

/* * __curfile_search_near -- *	WT_CURSOR->search_near method for the btree cursor type. */static int__curfile_search_near(WT_CURSOR *cursor, int *exact){	WT_CURSOR_BTREE *cbt;	WT_DECL_RET;	WT_SESSION_IMPL *session;	cbt = (WT_CURSOR_BTREE *)cursor;	CURSOR_API_CALL(cursor, session, search_near, cbt->btree);	WT_ERR(__cursor_checkkey(cursor));	WT_ERR(__wt_btcur_search_near(cbt, exact));	/* Search-near maintains a position, key and value. */	WT_ASSERT(session,	    F_MASK(cursor, WT_CURSTD_KEY_SET) == WT_CURSTD_KEY_INT &&	    F_MASK(cursor, WT_CURSTD_VALUE_SET) == WT_CURSTD_VALUE_INT);err:	API_END_RET(session, ret);}
开发者ID:mpobrien,项目名称:mongo,代码行数:24,


示例22: __curmetadata_reset

/* * __curmetadata_reset -- *	WT_CURSOR->reset method for the metadata cursor type. */static int__curmetadata_reset(WT_CURSOR *cursor){	WT_CURSOR *file_cursor;	WT_CURSOR_METADATA *mdc;	WT_DECL_RET;	WT_SESSION_IMPL *session;	mdc = (WT_CURSOR_METADATA *)cursor;	file_cursor = mdc->file_cursor;	CURSOR_API_CALL(cursor, session,	    reset, ((WT_CURSOR_BTREE *)file_cursor)->btree);	if (F_ISSET(mdc, WT_MDC_POSITIONED) && !F_ISSET(mdc, WT_MDC_ONMETADATA))		ret = file_cursor->reset(file_cursor);	F_CLR(mdc, WT_MDC_POSITIONED | WT_MDC_ONMETADATA);	F_CLR(cursor, WT_CURSTD_KEY_SET | WT_CURSTD_VALUE_SET);err:	API_END_RET(session, ret);}
开发者ID:GYGit,项目名称:mongo,代码行数:24,


示例23: __curds_compare

/* * __curds_compare -- *	WT_CURSOR.compare method for the data-source cursor type. */static int__curds_compare(WT_CURSOR *a, WT_CURSOR *b, int *cmpp){	WT_COLLATOR *collator;	WT_DECL_RET;	WT_SESSION_IMPL *session;	CURSOR_API_CALL(a, session, compare, NULL);	/*	 * Confirm both cursors refer to the same source and have keys, then	 * compare them.	 */	if (strcmp(a->internal_uri, b->internal_uri) != 0)		WT_ERR_MSG(session, EINVAL,		    "Cursors must reference the same object");	WT_ERR(__cursor_needkey(a));	WT_ERR(__cursor_needkey(b));	if (WT_CURSOR_RECNO(a)) {		if (a->recno < b->recno)			*cmpp = -1;		else if (a->recno == b->recno)			*cmpp = 0;		else			*cmpp = 1;	} else {		/*		 * The assumption is data-sources don't provide WiredTiger with		 * WT_CURSOR.compare methods, instead, we'll copy the key/value		 * out of the underlying data-source cursor and any comparison		 * to be done can be done at this level.		 */		collator = ((WT_CURSOR_DATA_SOURCE *)a)->collator;		WT_ERR(__wt_compare(		    session, collator, &a->key, &b->key, cmpp));	}err:	API_END_RET(session, ret);}
开发者ID:adityavs,项目名称:wiredtiger,代码行数:45,


示例24: __curbackup_close

/* * __curbackup_close -- *	WT_CURSOR->close method for the backup cursor type. */static int__curbackup_close(WT_CURSOR *cursor){	WT_CURSOR_BACKUP *cb;	WT_DECL_RET;	WT_SESSION_IMPL *session;	int tret;	cb = (WT_CURSOR_BACKUP *)cursor;	CURSOR_API_CALL(cursor, session, close, NULL);	WT_TRET(__backup_cleanup_handles(session, cb));	WT_TRET(__wt_cursor_close(cursor));	session->bkp_cursor = NULL;	WT_WITH_SCHEMA_LOCK(session,	    tret = __backup_stop(session));		/* Stop the backup. */	WT_TRET(tret);err:	API_END_RET(session, ret);}
开发者ID:mdkhaled,项目名称:mongo,代码行数:25,


示例25: __curjoin_get_key

/* * __curjoin_get_key -- *	WT_CURSOR->get_key for join cursors. */static int__curjoin_get_key(WT_CURSOR *cursor, ...){	WT_CURSOR_JOIN *cjoin;	WT_DECL_RET;	WT_SESSION_IMPL *session;	va_list ap;	cjoin = (WT_CURSOR_JOIN *)cursor;	va_start(ap, cursor);	CURSOR_API_CALL(cursor, session, get_key, NULL);	if (!F_ISSET(cjoin, WT_CURJOIN_INITIALIZED) ||	    !__curjoin_entry_iter_ready(cjoin->iter))		WT_ERR_MSG(session, EINVAL,		    "join cursor must be advanced with next()");	WT_ERR(__wt_cursor_get_keyv(cursor, cursor->flags, ap));err:	va_end(ap);	API_END_RET(session, ret);}
开发者ID:Zhangwusheng,项目名称:wiredtiger,代码行数:26,


示例26: __curds_prev

/* * __curds_prev -- *	WT_CURSOR.prev method for the data-source cursor type. */static int__curds_prev(WT_CURSOR *cursor){	WT_CURSOR *source;	WT_DECL_RET;	WT_SESSION_IMPL *session;	source = ((WT_CURSOR_DATA_SOURCE *)cursor)->source;	CURSOR_API_CALL(cursor, session, prev, NULL);	WT_STAT_CONN_INCR(session, cursor_prev);	WT_STAT_DATA_INCR(session, cursor_prev);	WT_ERR(__curds_txn_enter(session, false));	F_CLR(cursor, WT_CURSTD_KEY_SET | WT_CURSTD_VALUE_SET);	ret = __curds_cursor_resolve(cursor, source->prev(source));err:	__curds_txn_leave(session);	API_END_RET(session, ret);}
开发者ID:adityavs,项目名称:wiredtiger,代码行数:26,


示例27: __curlog_compare

/* * __curlog_compare -- *	WT_CURSOR.compare method for the log cursor type. */static int__curlog_compare(WT_CURSOR *a, WT_CURSOR *b, int *cmpp){	WT_CURSOR_LOG *acl, *bcl;	WT_DECL_RET;	WT_SESSION_IMPL *session;	CURSOR_API_CALL(a, session, compare, NULL);	acl = (WT_CURSOR_LOG *)a;	bcl = (WT_CURSOR_LOG *)b;	WT_ASSERT(session, cmpp != NULL);	*cmpp = LOG_CMP(acl->cur_lsn, bcl->cur_lsn);	/*	 * If both are on the same LSN, compare step counter.	 */	if (*cmpp == 0)		*cmpp = (acl->step_count != bcl->step_count ?		    (acl->step_count < bcl->step_count ? -1 : 1) : 0);err:	API_END_RET(session, ret);}
开发者ID:EaseTech,项目名称:wiredtiger,代码行数:26,


示例28: __curbulk_close

/* * __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_SESSION_IMPL *session;	int ret;	cbulk = (WT_CURSOR_BULK *)cursor;	btree = cbulk->cbt.btree;	CURSOR_API_CALL(cursor, session, close, btree);	WT_TRET(__wt_bulk_end(cbulk));	if (session->btree != NULL)		WT_TRET(__wt_session_release_btree(session));	/* The URI is owned by the btree handle. */	cursor->uri = NULL;	WT_TRET(__wt_cursor_close(cursor));	API_END(session);	return (ret);}
开发者ID:zinuyasha,项目名称:wiredtiger,代码行数:26,


示例29: __curbackup_next

/* * __curbackup_next -- *	WT_CURSOR->next method for the backup cursor type. */static int__curbackup_next(WT_CURSOR *cursor){	WT_CURSOR_BACKUP *cb;	WT_DECL_RET;	WT_SESSION_IMPL *session;	cb = (WT_CURSOR_BACKUP *)cursor;	CURSOR_API_CALL(cursor, session, next, NULL);	if (cb->list == NULL || cb->list[cb->next].name == NULL) {		F_CLR(cursor, WT_CURSTD_KEY_SET);		WT_ERR(WT_NOTFOUND);	}	cb->iface.key.data = cb->list[cb->next].name;	cb->iface.key.size = strlen(cb->list[cb->next].name) + 1;	++cb->next;	F_SET(cursor, WT_CURSTD_KEY_INT);err:	API_END_RET(session, ret);}
开发者ID:mdkhaled,项目名称:mongo,代码行数:27,


示例30: __curds_search

/* * __curds_search -- *	WT_CURSOR.search method for the data-source cursor type. */static int__curds_search(WT_CURSOR *cursor){	WT_CURSOR *source;	WT_DECL_RET;	WT_SESSION_IMPL *session;	source = ((WT_CURSOR_DATA_SOURCE *)cursor)->source;	CURSOR_API_CALL(cursor, session, search, NULL);	WT_STAT_CONN_INCR(session, cursor_search);	WT_STAT_DATA_INCR(session, cursor_search);	WT_ERR(__curds_txn_enter(session, false));	WT_ERR(__curds_key_set(cursor));	ret = __curds_cursor_resolve(cursor, source->search(source));err:	__curds_txn_leave(session);	API_END_RET(session, ret);}
开发者ID:adityavs,项目名称:wiredtiger,代码行数:27,



注:本文中的CURSOR_API_CALL函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ CURVNET_RESTORE函数代码示例
C++ CURAND_CHECK函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。