@ -253,7 +253,8 @@ TEST_F(DBIteratorTest, DBIteratorPrevNext) {
ReadOptions ro ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 10 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
@ -286,7 +287,8 @@ TEST_F(DBIteratorTest, DBIteratorPrevNext) {
ReadOptions ro ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 10 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
@ -313,7 +315,8 @@ TEST_F(DBIteratorTest, DBIteratorPrevNext) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 10 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
@ -346,7 +349,8 @@ TEST_F(DBIteratorTest, DBIteratorPrevNext) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 10 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
@ -382,7 +386,8 @@ TEST_F(DBIteratorTest, DBIteratorPrevNext) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 10 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
@ -412,7 +417,8 @@ TEST_F(DBIteratorTest, DBIteratorPrevNext) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 7 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 7 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
SetPerfLevel ( kEnableCount ) ;
@ -450,7 +456,8 @@ TEST_F(DBIteratorTest, DBIteratorPrevNext) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 4 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 4 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
@ -476,7 +483,8 @@ TEST_F(DBIteratorTest, DBIteratorPrevNext) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 10 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
@ -499,7 +507,8 @@ TEST_F(DBIteratorTest, DBIteratorPrevNext) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 10 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
@ -535,7 +544,8 @@ TEST_F(DBIteratorTest, DBIteratorPrevNext) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 7 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 7 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
SetPerfLevel ( kEnableCount ) ;
@ -565,7 +575,8 @@ TEST_F(DBIteratorTest, DBIteratorPrevNext) {
ReadOptions ro ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 10 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToFirst ( ) ;
@ -608,7 +619,8 @@ TEST_F(DBIteratorTest, DBIteratorPrevNext) {
ReadOptions ro ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 2 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 2 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -640,7 +652,8 @@ TEST_F(DBIteratorTest, DBIteratorPrevNext) {
ReadOptions ro ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 10 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -671,7 +684,8 @@ TEST_F(DBIteratorTest, DBIteratorEmpty) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 0 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 0 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( ! db_iter - > Valid ( ) ) ;
@ -683,7 +697,8 @@ TEST_F(DBIteratorTest, DBIteratorEmpty) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 0 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 0 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToFirst ( ) ;
ASSERT_TRUE ( ! db_iter - > Valid ( ) ) ;
@ -706,8 +721,9 @@ TEST_F(DBIteratorTest, DBIteratorUseSkipCountSkips) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 2 ,
options . max_sequential_skip_in_iterations , nullptr /*read_callback*/ ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */ ,
2 /* sequence */ , options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
ASSERT_EQ ( db_iter - > key ( ) . ToString ( ) , " c " ) ;
@ -751,7 +767,8 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
options . statistics = ROCKSDB_NAMESPACE : : CreateDBStatistics ( ) ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , i + 2 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , i + 2 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -787,7 +804,8 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , i + 2 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , i + 2 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -816,7 +834,8 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 202 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 202 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -849,7 +868,8 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
internal_iter - > Finish ( ) ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , i , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , i /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( ! db_iter - > Valid ( ) ) ;
@ -866,7 +886,8 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
internal_iter - > Finish ( ) ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 200 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 200 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -901,7 +922,8 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , i + 2 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , i + 2 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -936,7 +958,8 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , i + 2 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , i + 2 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -986,7 +1009,8 @@ TEST_F(DBIteratorTest, DBIteratorSkipInternalKeys) {
ro . max_skippable_internal_keys = 0 ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 10 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToFirst ( ) ;
@ -1033,7 +1057,8 @@ TEST_F(DBIteratorTest, DBIteratorSkipInternalKeys) {
ro . max_skippable_internal_keys = 2 ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 10 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToFirst ( ) ;
@ -1078,7 +1103,8 @@ TEST_F(DBIteratorTest, DBIteratorSkipInternalKeys) {
ro . max_skippable_internal_keys = 2 ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 10 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToFirst ( ) ;
@ -1117,7 +1143,8 @@ TEST_F(DBIteratorTest, DBIteratorSkipInternalKeys) {
ro . max_skippable_internal_keys = 2 ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 10 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToFirst ( ) ;
@ -1153,7 +1180,8 @@ TEST_F(DBIteratorTest, DBIteratorSkipInternalKeys) {
ro . max_skippable_internal_keys = 2 ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 10 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
@ -1184,7 +1212,8 @@ TEST_F(DBIteratorTest, DBIteratorSkipInternalKeys) {
ro . max_skippable_internal_keys = 2 ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 10 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToFirst ( ) ;
@ -1222,7 +1251,8 @@ TEST_F(DBIteratorTest, DBIteratorSkipInternalKeys) {
ro . max_skippable_internal_keys = 2 ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 10 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToFirst ( ) ;
@ -1260,7 +1290,8 @@ TEST_F(DBIteratorTest, DBIteratorSkipInternalKeys) {
ro . max_skippable_internal_keys = i ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 2 * i + 1 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 2 * i + 1 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToFirst ( ) ;
@ -1314,7 +1345,8 @@ TEST_F(DBIteratorTest, DBIteratorSkipInternalKeys) {
ro . max_skippable_internal_keys = i ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 2 * i + 1 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 2 * i + 1 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToFirst ( ) ;
@ -1353,8 +1385,9 @@ TEST_F(DBIteratorTest, DBIterator1) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 1 ,
options . max_sequential_skip_in_iterations , nullptr /*read_callback*/ ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */ ,
1 /* sequence */ , options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToFirst ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
ASSERT_EQ ( db_iter - > key ( ) . ToString ( ) , " a " ) ;
@ -1381,8 +1414,9 @@ TEST_F(DBIteratorTest, DBIterator2) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 0 ,
options . max_sequential_skip_in_iterations , nullptr /*read_callback*/ ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */ ,
0 /* sequence */ , options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToFirst ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
ASSERT_EQ ( db_iter - > key ( ) . ToString ( ) , " a " ) ;
@ -1406,8 +1440,9 @@ TEST_F(DBIteratorTest, DBIterator3) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 2 ,
options . max_sequential_skip_in_iterations , nullptr /*read_callback*/ ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */ ,
2 /* sequence */ , options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToFirst ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
ASSERT_EQ ( db_iter - > key ( ) . ToString ( ) , " a " ) ;
@ -1431,8 +1466,9 @@ TEST_F(DBIteratorTest, DBIterator4) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 4 ,
options . max_sequential_skip_in_iterations , nullptr /*read_callback*/ ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */ ,
4 /* sequence */ , options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToFirst ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
ASSERT_EQ ( db_iter - > key ( ) . ToString ( ) , " a " ) ;
@ -1465,7 +1501,8 @@ TEST_F(DBIteratorTest, DBIterator5) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 0 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 0 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1488,7 +1525,8 @@ TEST_F(DBIteratorTest, DBIterator5) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 1 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 1 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1511,7 +1549,8 @@ TEST_F(DBIteratorTest, DBIterator5) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 2 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 2 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1534,7 +1573,8 @@ TEST_F(DBIteratorTest, DBIterator5) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 3 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 3 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1557,7 +1597,8 @@ TEST_F(DBIteratorTest, DBIterator5) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 4 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 4 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1580,7 +1621,8 @@ TEST_F(DBIteratorTest, DBIterator5) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 5 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 5 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1603,7 +1645,8 @@ TEST_F(DBIteratorTest, DBIterator5) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 6 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 6 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1624,7 +1667,8 @@ TEST_F(DBIteratorTest, DBIterator5) {
internal_iter - > Finish ( ) ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 10 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > Seek ( " b " ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1655,7 +1699,8 @@ TEST_F(DBIteratorTest, DBIterator6) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 0 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 0 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1678,7 +1723,8 @@ TEST_F(DBIteratorTest, DBIterator6) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 1 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 1 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1701,7 +1747,8 @@ TEST_F(DBIteratorTest, DBIterator6) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 2 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 2 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1724,7 +1771,8 @@ TEST_F(DBIteratorTest, DBIterator6) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 3 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 3 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( ! db_iter - > Valid ( ) ) ;
@ -1743,7 +1791,8 @@ TEST_F(DBIteratorTest, DBIterator6) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 4 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 4 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1766,7 +1815,8 @@ TEST_F(DBIteratorTest, DBIterator6) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 5 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 5 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1789,7 +1839,8 @@ TEST_F(DBIteratorTest, DBIterator6) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 6 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 6 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1832,7 +1883,8 @@ TEST_F(DBIteratorTest, DBIterator7) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 0 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 0 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1867,7 +1919,8 @@ TEST_F(DBIteratorTest, DBIterator7) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 2 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 2 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1908,7 +1961,8 @@ TEST_F(DBIteratorTest, DBIterator7) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 4 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 4 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1949,7 +2003,8 @@ TEST_F(DBIteratorTest, DBIterator7) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 5 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 5 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -1995,7 +2050,8 @@ TEST_F(DBIteratorTest, DBIterator7) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 6 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 6 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -2042,7 +2098,8 @@ TEST_F(DBIteratorTest, DBIterator7) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 7 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 7 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -2083,7 +2140,8 @@ TEST_F(DBIteratorTest, DBIterator7) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 9 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 9 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -2130,7 +2188,8 @@ TEST_F(DBIteratorTest, DBIterator7) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 13 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 13 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -2178,7 +2237,8 @@ TEST_F(DBIteratorTest, DBIterator7) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , cf_options , mutable_cf_options , BytewiseComparator ( ) ,
internal_iter , 14 , options . max_sequential_skip_in_iterations ,
internal_iter , nullptr /* version */ , 14 /* sequence */ ,
options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -2209,8 +2269,9 @@ TEST_F(DBIteratorTest, DBIterator8) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 10 ,
options . max_sequential_skip_in_iterations , nullptr /*read_callback*/ ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */ ,
10 /* sequence */ , options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
ASSERT_EQ ( db_iter - > key ( ) . ToString ( ) , " b " ) ;
@ -2240,8 +2301,9 @@ TEST_F(DBIteratorTest, DBIterator9) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 10 ,
options . max_sequential_skip_in_iterations , nullptr /*read_callback*/ ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */ ,
10 /* sequence */ , options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -2307,8 +2369,9 @@ TEST_F(DBIteratorTest, DBIterator10) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 10 ,
options . max_sequential_skip_in_iterations , nullptr /*read_callback*/ ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */ ,
10 /* sequence */ , options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > Seek ( " c " ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
@ -2347,8 +2410,8 @@ TEST_F(DBIteratorTest, SeekToLastOccurrenceSeq0) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 10 , 0 /* force seek */,
nullptr /*read_callback*/ ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */,
10 /* sequence */ , 0 /* force seek */ , nullptr /* read_callback */ ) ) ;
db_iter - > SeekToFirst ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
ASSERT_EQ ( db_iter - > key ( ) . ToString ( ) , " a " ) ;
@ -2376,8 +2439,9 @@ TEST_F(DBIteratorTest, DBIterator11) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 1 ,
options . max_sequential_skip_in_iterations , nullptr /*read_callback*/ ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */ ,
1 /* sequence */ , options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToFirst ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
ASSERT_EQ ( db_iter - > key ( ) . ToString ( ) , " a " ) ;
@ -2403,7 +2467,8 @@ TEST_F(DBIteratorTest, DBIterator12) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 10 , 0 , nullptr /*read_callback*/ ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */ ,
10 /* sequence */ , 0 /* force seek */ , nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
ASSERT_EQ ( db_iter - > key ( ) . ToString ( ) , " c " ) ;
@ -2440,7 +2505,9 @@ TEST_F(DBIteratorTest, DBIterator13) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 2 , 3 , nullptr /*read_callback*/ ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */ ,
2 /* sequence */ , 3 /* max_sequential_skip_in_iterations */ ,
nullptr /* read_callback */ ) ) ;
db_iter - > Seek ( " b " ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
ASSERT_EQ ( db_iter - > key ( ) . ToString ( ) , key ) ;
@ -2468,7 +2535,9 @@ TEST_F(DBIteratorTest, DBIterator14) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 4 , 1 , nullptr /*read_callback*/ ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */ ,
4 /* sequence */ , 1 /* max_sequential_skip_in_iterations */ ,
nullptr /* read_callback */ ) ) ;
db_iter - > Seek ( " b " ) ;
ASSERT_TRUE ( db_iter - > Valid ( ) ) ;
ASSERT_EQ ( db_iter - > key ( ) . ToString ( ) , " b " ) ;
@ -2495,8 +2564,9 @@ TEST_F(DBIteratorTest, DBIteratorTestDifferentialSnapshots) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 13 ,
options . max_sequential_skip_in_iterations , nullptr ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */ ,
13 /* sequence */ , options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
// Expecting InternalKeys in [5,8] range with correct type
int seqnums [ 4 ] = { 5 , 8 , 11 , 13 } ;
std : : string user_keys [ 4 ] = { " 1 " , " 2 " , " 3 " , " 4 " } ;
@ -2530,8 +2600,9 @@ TEST_F(DBIteratorTest, DBIteratorTestDifferentialSnapshots) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 13 ,
options . max_sequential_skip_in_iterations , nullptr ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */ ,
13 /* sequence */ , options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
// Expecting InternalKeys in [5,8] range with correct type
int seqnums [ 4 ] = { 5 , 8 , 11 , 13 } ;
EntryType key_types [ 4 ] = { EntryType : : kEntryDelete , EntryType : : kEntryDelete ,
@ -2580,7 +2651,7 @@ class DBIterWithMergeIterTest : public testing::Test {
db_iter_ . reset ( NewDBIterator (
env_ , ro_ , ImmutableCFOptions ( options_ ) , MutableCFOptions ( options_ ) ,
BytewiseComparator ( ) , merge_iter ,
BytewiseComparator ( ) , merge_iter , nullptr /* version */ ,
8 /* read data earlier than seqId 8 */ ,
3 /* max iterators before reseek */ , nullptr /* read_callback */ ) ) ;
}
@ -3020,8 +3091,9 @@ TEST_F(DBIteratorTest, SeekPrefixTombstones) {
ro . prefix_same_as_start = true ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 10 ,
options . max_sequential_skip_in_iterations , nullptr /*read_callback*/ ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */ ,
10 /* sequence */ , options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
int skipped_keys = 0 ;
@ -3056,8 +3128,8 @@ TEST_F(DBIteratorTest, SeekToFirstLowerBound) {
Options options ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 10 /* sequence */,
options . max_sequential_skip_in_iterations ,
BytewiseComparator ( ) , internal_iter , nullptr /* version */,
10 /* sequence */ , options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToFirst ( ) ;
@ -3095,8 +3167,9 @@ TEST_F(DBIteratorTest, PrevLowerBound) {
Options options ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations , nullptr /* read_callback */ ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */ ,
10 /* sequence */ , options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
db_iter - > SeekToLast ( ) ;
for ( int i = kNumKeys ; i > = kLowerBound ; - - i ) {
@ -3123,8 +3196,9 @@ TEST_F(DBIteratorTest, SeekLessLowerBound) {
Options options ;
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ro , ImmutableCFOptions ( options ) , MutableCFOptions ( options ) ,
BytewiseComparator ( ) , internal_iter , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations , nullptr /* read_callback */ ) ) ;
BytewiseComparator ( ) , internal_iter , nullptr /* version */ ,
10 /* sequence */ , options . max_sequential_skip_in_iterations ,
nullptr /* read_callback */ ) ) ;
auto before_lower_bound_str = std : : to_string ( kLowerBound - 1 ) ;
Slice before_lower_bound ( lower_bound_str ) ;
@ -3148,7 +3222,8 @@ TEST_F(DBIteratorTest, ReverseToForwardWithDisappearingKeys) {
std : : unique_ptr < Iterator > db_iter ( NewDBIterator (
env_ , ReadOptions ( ) , ImmutableCFOptions ( options ) ,
MutableCFOptions ( options ) , BytewiseComparator ( ) , internal_iter , 10 ,
MutableCFOptions ( options ) , BytewiseComparator ( ) , internal_iter ,
nullptr /* version */ , 10 /* sequence */ ,
options . max_sequential_skip_in_iterations , nullptr /* read_callback */ ) ) ;
db_iter - > SeekForPrev ( " a " ) ;