Description
Relevant snipped of test case extracted below:
scoped_ptr<HarnessHelper> harnessHelper( newHarnessHelper() );
|
scoped_ptr<SortedDataInterface> sorted( harnessHelper->newSortedDataInterface() );
|
|
|
scoped_ptr<OperationContext> opCtx( harnessHelper->newOperationContext() );
|
|
|
WriteUnitOfWork uow( opCtx.get() );
|
ASSERT_OK( sorted->insert( opCtx.get(), key1, loc1, false ) );
|
ASSERT_OK( sorted->insert( opCtx.get(), key1, loc2, true /* allow duplicates */ ) );
|
ASSERT_OK( sorted->insert( opCtx.get(), key1, loc3, true /* allow duplicates */ ) );
|
uow.commit();
|
|
|
scoped_ptr<SortedDataInterface::Cursor> cursor( sorted->newCursor( opCtx.get(), 1 ) );
|
cursor->locate( key1, loc2 );
|
|
|
vector<const BSONElement*> keyEnd( 1 );
|
vector<bool> keyEndInclusive( 1 );
|
|
|
cursor->advanceTo( key1, 1, false, keyEnd, keyEndInclusive );
|
ASSERT_EQUALS( key1, cursor->getKey() );
|
ASSERT_EQUALS( loc3, cursor->getDiskLoc() );
|
Instead, the cursor is positioned at (key1, loc1), i.e. the first occurrence of the specified key in the index.
Attachments
Issue Links
- is related to
-
SERVER-17635 Improve SortedDataInterface::Cursor API
-
- Closed
-