本文整理汇总了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 ) );
}
示例2:
static void *
compact_thread(void *args)
{
WT_SESSION *session;
session = (WT_SESSION *)args;
testutil_check(session->compact(session, name, NULL));
return (NULL);
}
示例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);
}
示例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();
}
示例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);
}