当前位置: 首页>>代码示例>>C++>>正文


C++ WT_SESSION::compact方法代码示例

本文整理汇总了C++中WT_SESSION::compact方法的典型用法代码示例。如果您正苦于以下问题:C++ WT_SESSION::compact方法的具体用法?C++ WT_SESSION::compact怎么用?C++ WT_SESSION::compact使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WT_SESSION的用法示例。


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

示例1: repairIdent

 Status WiredTigerKVEngine::repairIdent( OperationContext* opCtx,
                                         const StringData& ident ) {
     WiredTigerSession session( _conn, -1 );
     WT_SESSION* s = session.getSession();
     string uri = _uri(ident);
     return wtRCToStatus( s->compact(s, uri.c_str(), NULL ) );
 }
开发者ID:usharanin26,项目名称:mongo,代码行数:7,代码来源:wiredtiger_kv_engine.cpp

示例2:

static void *
compact_thread(void *args)
{
	WT_SESSION *session;

	session = (WT_SESSION *)args;
	testutil_check(session->compact(session, name, NULL));
	return (NULL);
}
开发者ID:ajdavis,项目名称:mongo,代码行数:9,代码来源:main.c

示例3: CompactRange

 void WiredTigerEngine::CompactRange(const Slice& begin, const Slice& end)
 {
     ContextHolder& holder = GetContextHolder();
     WT_SESSION* session = holder.session;
     if (NULL == session)
     {
         return;
     }
     session->compact(session, ARDB_TABLE, NULL);
 }
开发者ID:Abioy,项目名称:ardb,代码行数:10,代码来源:wiredtiger_engine.cpp

示例4: compact

Status WiredTigerRecordStore::compact(OperationContext* txn,
                                      RecordStoreCompactAdaptor* adaptor,
                                      const CompactOptions* options,
                                      CompactStats* stats) {
    WiredTigerSessionCache* cache = WiredTigerRecoveryUnit::get(txn)->getSessionCache();
    WiredTigerSession* session = cache->getSession();
    WT_SESSION* s = session->getSession();
    int ret = s->compact(s, getURI().c_str(), "timeout=0");
    invariantWTOK(ret);
    cache->releaseSession(session);
    return Status::OK();
}
开发者ID:MrChen2015,项目名称:mongo,代码行数:12,代码来源:wiredtiger_record_store.cpp

示例5:

/*
 * compaction --
 *	Periodically do a compaction operation.
 */
void *
compact(void *arg)
{
	WT_CONNECTION *conn;
	WT_SESSION *session;
	u_int period;
	int ret;

	(void)(arg);

	/* Compaction isn't supported for all data sources. */
	if (DATASOURCE("helium") || DATASOURCE("kvsbdb"))
		return (NULL);

	/* Open a session. */
	conn = g.wts_conn;
	testutil_check(conn->open_session(conn, NULL, NULL, &session));

	/*
	 * Perform compaction at somewhere under 15 seconds (so we get at
	 * least one done), and then at 23 second intervals.
	 */
	for (period = mmrand(NULL, 1, 15);; period = 23) {
		/* Sleep for short periods so we don't make the run wait. */
		while (period > 0 && !g.workers_finished) {
			--period;
			sleep(1);
		}
		if (g.workers_finished)
			break;

		if ((ret = session->compact(
		    session, g.uri, NULL)) != 0 && ret != WT_ROLLBACK)
			testutil_die(ret, "session.compact");
	}

	testutil_check(session->close(session, NULL));

	return (NULL);
}
开发者ID:Asamaha,项目名称:mongo,代码行数:44,代码来源:compact.c


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