summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mongo/db/storage/kv/kv_engine_test_harness.cpp42
1 files changed, 23 insertions, 19 deletions
diff --git a/src/mongo/db/storage/kv/kv_engine_test_harness.cpp b/src/mongo/db/storage/kv/kv_engine_test_harness.cpp
index e1b24ed718d..b2773caec19 100644
--- a/src/mongo/db/storage/kv/kv_engine_test_harness.cpp
+++ b/src/mongo/db/storage/kv/kv_engine_test_harness.cpp
@@ -87,33 +87,37 @@ namespace mongo {
ASSERT( engine );
string ns = "a.b";
- scoped_ptr<RecordStore> rs;
- {
- MyOperationContext opCtx( engine );
- ASSERT_OK( engine->createRecordStore( &opCtx, ns, CollectionOptions() ) );
- rs.reset( engine->getRecordStore( &opCtx, ns, ns, CollectionOptions() ) );
- ASSERT( rs );
- }
-
+ // 'loc' holds location of "abc" and is referenced after restarting engine.
DiskLoc loc;
{
- MyOperationContext opCtx( engine );
- WriteUnitOfWork uow( &opCtx );
- StatusWith<DiskLoc> res = rs->insertRecord( &opCtx, "abc", 4, false );
- ASSERT_OK( res.getStatus() );
- loc = res.getValue();
- uow.commit();
- }
-
- {
- MyOperationContext opCtx( engine );
- ASSERT_EQUALS( string("abc"), rs->dataFor( &opCtx, loc ).data() );
+ scoped_ptr<RecordStore> rs;
+ {
+ MyOperationContext opCtx( engine );
+ ASSERT_OK( engine->createRecordStore( &opCtx, ns, CollectionOptions() ) );
+ rs.reset( engine->getRecordStore( &opCtx, ns, ns, CollectionOptions() ) );
+ ASSERT( rs );
+ }
+
+ {
+ MyOperationContext opCtx( engine );
+ WriteUnitOfWork uow( &opCtx );
+ StatusWith<DiskLoc> res = rs->insertRecord( &opCtx, "abc", 4, false );
+ ASSERT_OK( res.getStatus() );
+ loc = res.getValue();
+ uow.commit();
+ }
+
+ {
+ MyOperationContext opCtx( engine );
+ ASSERT_EQUALS( string("abc"), rs->dataFor( &opCtx, loc ).data() );
+ }
}
engine = helper->restartEngine();
{
+ scoped_ptr<RecordStore> rs;
MyOperationContext opCtx( engine );
rs.reset( engine->getRecordStore( &opCtx, ns, ns, CollectionOptions() ) );
ASSERT_EQUALS( string("abc"), rs->dataFor( &opCtx, loc ).data() );