Lines Matching refs:iter

73     std::unique_ptr<Iterator> iter(NewIterator(ropt, handles_[1]));  in TEST_P()  local
74 iter->SeekToFirst(); in TEST_P()
76 ASSERT_NOK(iter->GetProperty("non_existing.value", &prop_value)); in TEST_P()
77 ASSERT_OK(iter->GetProperty("rocksdb.iterator.is-key-pinned", &prop_value)); in TEST_P()
79 ASSERT_OK(iter->GetProperty("rocksdb.iterator.internal-key", &prop_value)); in TEST_P()
81 iter->Next(); in TEST_P()
82 ASSERT_OK(iter->GetProperty("rocksdb.iterator.is-key-pinned", &prop_value)); in TEST_P()
86 ASSERT_OK(iter->GetProperty("rocksdb.iterator.internal-key", &prop_value)); in TEST_P()
99 auto* iter = db_->NewIterator(ropt, handles_[1]); in TEST_P() local
100 ASSERT_TRUE(iter->status().IsNotSupported()); in TEST_P()
101 delete iter; in TEST_P()
120 Iterator* iter = NewIterator(non_blocking_opts, handles_[1]); in TEST_P() local
122 for (iter->SeekToFirst(); iter->Valid(); iter->Next()) { in TEST_P()
123 ASSERT_OK(iter->status()); in TEST_P()
127 delete iter; in TEST_P()
137 iter = NewIterator(non_blocking_opts, handles_[1]); in TEST_P()
139 for (iter->SeekToFirst(); iter->Valid(); iter->Next()) { in TEST_P()
143 ASSERT_TRUE(iter->status().IsIncomplete()); in TEST_P()
146 delete iter; in TEST_P()
154 iter = NewIterator(non_blocking_opts, handles_[1]); in TEST_P()
156 for (iter->SeekToFirst(); iter->Valid(); iter->Next()) { in TEST_P()
157 ASSERT_OK(iter->status()); in TEST_P()
163 delete iter; in TEST_P()
178 auto iter = NewIterator(ReadOptions()); in TEST_P() local
179 iter->Seek(Slice("c")); in TEST_P()
180 iter->Prev(); in TEST_P()
181 iter->Seek(Slice("a")); in TEST_P()
182 iter->Prev(); in TEST_P()
183 delete iter; in TEST_P()
204 auto iter = NewIterator(opts); in TEST_P() local
205 iter->Seek(Slice("a")); in TEST_P()
207 iter->Seek(Slice("aabc")); in TEST_P()
208 ASSERT_TRUE(iter->Valid()); in TEST_P()
209 ASSERT_EQ(iter->key().ToString(), "aaef"); in TEST_P()
210 delete iter; in TEST_P()
221 auto iter = NewIterator(ReadOptions()); in TEST_P() local
222 iter->SeekForPrev(Slice("0")); in TEST_P()
223 iter->Next(); in TEST_P()
224 iter->SeekForPrev(Slice("1")); in TEST_P()
225 iter->Next(); in TEST_P()
226 delete iter; in TEST_P()
243 auto iter = NewIterator(ReadOptions()); in TEST_P() local
246 iter->Seek(MakeLongKey(20, 0)); in TEST_P()
247 ASSERT_EQ(IterStatus(iter), MakeLongKey(20, 0) + "->0"); in TEST_P()
248 iter->Next(); in TEST_P()
249 ASSERT_EQ(IterStatus(iter), MakeLongKey(50, 1) + "->1"); in TEST_P()
250 iter->Next(); in TEST_P()
251 ASSERT_EQ(IterStatus(iter), MakeLongKey(32, 2) + "->2"); in TEST_P()
252 iter->Next(); in TEST_P()
253 ASSERT_EQ(IterStatus(iter), MakeLongKey(127, 3) + "->3"); in TEST_P()
254 iter->Next(); in TEST_P()
255 ASSERT_EQ(IterStatus(iter), MakeLongKey(64, 4) + "->4"); in TEST_P()
257 iter->SeekForPrev(MakeLongKey(127, 3)); in TEST_P()
258 ASSERT_EQ(IterStatus(iter), MakeLongKey(127, 3) + "->3"); in TEST_P()
259 iter->Prev(); in TEST_P()
260 ASSERT_EQ(IterStatus(iter), MakeLongKey(32, 2) + "->2"); in TEST_P()
261 iter->Prev(); in TEST_P()
262 ASSERT_EQ(IterStatus(iter), MakeLongKey(50, 1) + "->1"); in TEST_P()
263 delete iter; in TEST_P()
265 iter = NewIterator(ReadOptions()); in TEST_P()
266 iter->Seek(MakeLongKey(50, 1)); in TEST_P()
267 ASSERT_EQ(IterStatus(iter), MakeLongKey(50, 1) + "->1"); in TEST_P()
268 iter->Next(); in TEST_P()
269 ASSERT_EQ(IterStatus(iter), MakeLongKey(32, 2) + "->2"); in TEST_P()
270 iter->Next(); in TEST_P()
271 ASSERT_EQ(IterStatus(iter), MakeLongKey(127, 3) + "->3"); in TEST_P()
272 delete iter; in TEST_P()
281 auto iter = NewIterator(ReadOptions()); in TEST_P() local
289 iter->Seek(Slice("a")); in TEST_P()
290 ASSERT_EQ(IterStatus(iter), "a->b"); in TEST_P()
291 iter->Next(); in TEST_P()
292 ASSERT_EQ(IterStatus(iter), "c->d"); in TEST_P()
293 iter->SeekForPrev(Slice("b")); in TEST_P()
294 ASSERT_EQ(IterStatus(iter), "a->b"); in TEST_P()
295 iter->Next(); in TEST_P()
296 ASSERT_EQ(IterStatus(iter), "c->d"); in TEST_P()
298 delete iter; in TEST_P()
307 auto iter = NewIterator(ReadOptions()); in TEST_P() local
315 iter->Seek(Slice("d")); in TEST_P()
316 ASSERT_EQ(IterStatus(iter), "d->e"); in TEST_P()
317 iter->Prev(); in TEST_P()
318 ASSERT_EQ(IterStatus(iter), "c->d"); in TEST_P()
319 iter->Prev(); in TEST_P()
320 ASSERT_EQ(IterStatus(iter), "a->b"); in TEST_P()
321 iter->Prev(); in TEST_P()
322 iter->SeekForPrev(Slice("d")); in TEST_P()
323 ASSERT_EQ(IterStatus(iter), "d->e"); in TEST_P()
324 iter->Prev(); in TEST_P()
325 ASSERT_EQ(IterStatus(iter), "c->d"); in TEST_P()
326 iter->Prev(); in TEST_P()
327 ASSERT_EQ(IterStatus(iter), "a->b"); in TEST_P()
328 iter->Prev(); in TEST_P()
329 delete iter; in TEST_P()
338 auto iter = NewIterator(ReadOptions()); in TEST_P() local
340 iter->Seek(Slice("c")); in TEST_P()
342 ASSERT_EQ(IterStatus(iter), "c->d"); in TEST_P()
351 iter->Prev(); in TEST_P()
352 ASSERT_EQ(IterStatus(iter), "a->b"); in TEST_P()
353 iter->Prev(); in TEST_P()
357 delete iter; in TEST_P()
364 Iterator* iter = NewIterator(ReadOptions(), handles_[1]); in TEST_P() local
366 iter->SeekToFirst(); in TEST_P()
367 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
369 iter->SeekToLast(); in TEST_P()
370 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
372 iter->Seek("foo"); in TEST_P()
373 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
375 iter->SeekForPrev("foo"); in TEST_P()
376 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
378 delete iter; in TEST_P()
386 Iterator* iter = NewIterator(ReadOptions(), handles_[1]); in TEST_P() local
388 iter->SeekToFirst(); in TEST_P()
389 ASSERT_EQ(IterStatus(iter), "a->va"); in TEST_P()
390 iter->Next(); in TEST_P()
391 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
392 iter->SeekToFirst(); in TEST_P()
393 ASSERT_EQ(IterStatus(iter), "a->va"); in TEST_P()
394 iter->Prev(); in TEST_P()
395 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
397 iter->SeekToLast(); in TEST_P()
398 ASSERT_EQ(IterStatus(iter), "a->va"); in TEST_P()
399 iter->Next(); in TEST_P()
400 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
401 iter->SeekToLast(); in TEST_P()
402 ASSERT_EQ(IterStatus(iter), "a->va"); in TEST_P()
403 iter->Prev(); in TEST_P()
404 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
406 iter->Seek(""); in TEST_P()
407 ASSERT_EQ(IterStatus(iter), "a->va"); in TEST_P()
408 iter->Next(); in TEST_P()
409 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
410 iter->SeekForPrev(""); in TEST_P()
411 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
413 iter->Seek("a"); in TEST_P()
414 ASSERT_EQ(IterStatus(iter), "a->va"); in TEST_P()
415 iter->Next(); in TEST_P()
416 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
417 iter->SeekForPrev("a"); in TEST_P()
418 ASSERT_EQ(IterStatus(iter), "a->va"); in TEST_P()
419 iter->Prev(); in TEST_P()
420 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
422 iter->Seek("b"); in TEST_P()
423 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
424 iter->SeekForPrev("b"); in TEST_P()
425 ASSERT_EQ(IterStatus(iter), "a->va"); in TEST_P()
426 iter->Prev(); in TEST_P()
427 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
429 delete iter; in TEST_P()
439 Iterator* iter = NewIterator(ReadOptions(), handles_[1]); in TEST_P() local
441 iter->SeekToFirst(); in TEST_P()
442 ASSERT_EQ(IterStatus(iter), "a->va"); in TEST_P()
443 iter->Next(); in TEST_P()
444 ASSERT_EQ(IterStatus(iter), "b->vb"); in TEST_P()
445 iter->Next(); in TEST_P()
446 ASSERT_EQ(IterStatus(iter), "c->vc"); in TEST_P()
447 iter->Next(); in TEST_P()
448 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
449 iter->SeekToFirst(); in TEST_P()
450 ASSERT_EQ(IterStatus(iter), "a->va"); in TEST_P()
451 iter->Prev(); in TEST_P()
452 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
454 iter->SeekToLast(); in TEST_P()
455 ASSERT_EQ(IterStatus(iter), "c->vc"); in TEST_P()
456 iter->Prev(); in TEST_P()
457 ASSERT_EQ(IterStatus(iter), "b->vb"); in TEST_P()
458 iter->Prev(); in TEST_P()
459 ASSERT_EQ(IterStatus(iter), "a->va"); in TEST_P()
460 iter->Prev(); in TEST_P()
461 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
462 iter->SeekToLast(); in TEST_P()
463 ASSERT_EQ(IterStatus(iter), "c->vc"); in TEST_P()
464 iter->Next(); in TEST_P()
465 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
467 iter->Seek(""); in TEST_P()
468 ASSERT_EQ(IterStatus(iter), "a->va"); in TEST_P()
469 iter->Seek("a"); in TEST_P()
470 ASSERT_EQ(IterStatus(iter), "a->va"); in TEST_P()
471 iter->Seek("ax"); in TEST_P()
472 ASSERT_EQ(IterStatus(iter), "b->vb"); in TEST_P()
473 iter->SeekForPrev("d"); in TEST_P()
474 ASSERT_EQ(IterStatus(iter), "c->vc"); in TEST_P()
475 iter->SeekForPrev("c"); in TEST_P()
476 ASSERT_EQ(IterStatus(iter), "c->vc"); in TEST_P()
477 iter->SeekForPrev("bx"); in TEST_P()
478 ASSERT_EQ(IterStatus(iter), "b->vb"); in TEST_P()
480 iter->Seek("b"); in TEST_P()
481 ASSERT_EQ(IterStatus(iter), "b->vb"); in TEST_P()
482 iter->Seek("z"); in TEST_P()
483 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
484 iter->SeekForPrev("b"); in TEST_P()
485 ASSERT_EQ(IterStatus(iter), "b->vb"); in TEST_P()
486 iter->SeekForPrev(""); in TEST_P()
487 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
490 iter->SeekToLast(); in TEST_P()
491 iter->Prev(); in TEST_P()
492 iter->Prev(); in TEST_P()
493 iter->Next(); in TEST_P()
494 ASSERT_EQ(IterStatus(iter), "b->vb"); in TEST_P()
497 iter->SeekToFirst(); in TEST_P()
498 iter->Next(); in TEST_P()
499 iter->Next(); in TEST_P()
500 iter->Prev(); in TEST_P()
501 ASSERT_EQ(IterStatus(iter), "b->vb"); in TEST_P()
509 iter->SeekToFirst(); in TEST_P()
510 ASSERT_EQ(IterStatus(iter), "a->va"); in TEST_P()
511 iter->Next(); in TEST_P()
512 ASSERT_EQ(IterStatus(iter), "b->vb"); in TEST_P()
513 iter->Next(); in TEST_P()
514 ASSERT_EQ(IterStatus(iter), "c->vc"); in TEST_P()
515 iter->Next(); in TEST_P()
516 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
517 iter->SeekToLast(); in TEST_P()
518 ASSERT_EQ(IterStatus(iter), "c->vc"); in TEST_P()
519 iter->Prev(); in TEST_P()
520 ASSERT_EQ(IterStatus(iter), "b->vb"); in TEST_P()
521 iter->Prev(); in TEST_P()
522 ASSERT_EQ(IterStatus(iter), "a->va"); in TEST_P()
523 iter->Prev(); in TEST_P()
524 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
526 delete iter; in TEST_P()
549 Iterator* iter = NewIterator(ReadOptions(), handles_[1]); in TEST_P() local
550 iter->SeekToFirst(); in TEST_P()
552 ASSERT_EQ(IterStatus(iter), "a->two"); in TEST_P()
553 iter->Next(); in TEST_P()
555 ASSERT_EQ(IterStatus(iter), "b->bone"); in TEST_P()
556 delete iter; in TEST_P()
561 iter = NewIterator(ReadOptions(), handles_[1]); in TEST_P()
562 iter->SeekToFirst(); in TEST_P()
563 ASSERT_EQ(IterStatus(iter), "a->three"); in TEST_P()
564 iter->Next(); in TEST_P()
566 ASSERT_EQ(IterStatus(iter), "b->bone"); in TEST_P()
567 delete iter; in TEST_P()
572 iter = NewIterator(ReadOptions(), handles_[1]); in TEST_P()
573 iter->SeekToFirst(); in TEST_P()
574 ASSERT_EQ(IterStatus(iter), "a->four"); in TEST_P()
576 iter->Next(); in TEST_P()
578 ASSERT_EQ(IterStatus(iter), "b->bone"); in TEST_P()
579 delete iter; in TEST_P()
589 iter = NewIterator(ReadOptions(), handles_[1]); in TEST_P()
590 iter->SeekToLast(); in TEST_P()
591 ASSERT_EQ(IterStatus(iter), "b->btwo"); in TEST_P()
594 iter->Prev(); in TEST_P()
597 ASSERT_EQ(IterStatus(iter), "a->four"); in TEST_P()
598 delete iter; in TEST_P()
604 iter = NewIterator(ReadOptions(), handles_[1]); in TEST_P()
605 iter->SeekToLast(); in TEST_P()
606 ASSERT_EQ(IterStatus(iter), "b->bfour"); in TEST_P()
609 iter->Prev(); in TEST_P()
614 ASSERT_EQ(IterStatus(iter), "a->four"); in TEST_P()
615 delete iter; in TEST_P()
627 Iterator* iter = NewIterator(ReadOptions(), handles_[1]); in TEST_P() local
629 iter->SeekToFirst(); in TEST_P()
630 ASSERT_EQ(IterStatus(iter), "a->va"); in TEST_P()
631 iter->Next(); in TEST_P()
632 ASSERT_EQ(IterStatus(iter), "b->" + std::string(100000, 'b')); in TEST_P()
633 iter->Next(); in TEST_P()
634 ASSERT_EQ(IterStatus(iter), "c->vc"); in TEST_P()
635 iter->Next(); in TEST_P()
636 ASSERT_EQ(IterStatus(iter), "d->" + std::string(100000, 'd')); in TEST_P()
637 iter->Next(); in TEST_P()
638 ASSERT_EQ(IterStatus(iter), "e->" + std::string(100000, 'e')); in TEST_P()
639 iter->Next(); in TEST_P()
640 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
642 iter->SeekToLast(); in TEST_P()
643 ASSERT_EQ(IterStatus(iter), "e->" + std::string(100000, 'e')); in TEST_P()
644 iter->Prev(); in TEST_P()
645 ASSERT_EQ(IterStatus(iter), "d->" + std::string(100000, 'd')); in TEST_P()
646 iter->Prev(); in TEST_P()
647 ASSERT_EQ(IterStatus(iter), "c->vc"); in TEST_P()
648 iter->Prev(); in TEST_P()
649 ASSERT_EQ(IterStatus(iter), "b->" + std::string(100000, 'b')); in TEST_P()
650 iter->Prev(); in TEST_P()
651 ASSERT_EQ(IterStatus(iter), "a->va"); in TEST_P()
652 iter->Prev(); in TEST_P()
653 ASSERT_EQ(IterStatus(iter), "(invalid)"); in TEST_P()
655 delete iter; in TEST_P()
668 Iterator* iter = NewIterator(ReadOptions(), handles_[1]); in TEST_P() local
669 iter->Seek("kc"); in TEST_P()
670 ASSERT_EQ(IterStatus(iter), "kc->vc"); in TEST_P()
677 iter->Prev(); in TEST_P()
678 ASSERT_EQ(IterStatus(iter), "ka->va"); in TEST_P()
681 delete iter; in TEST_P()
729 Iterator* iter = NewIterator(options, handles_[1]); in TEST_P() local
736 iter->Seek("key5"); in TEST_P()
737 ASSERT_EQ(IterStatus(iter), "key5->val5"); in TEST_P()
743 iter->Prev(); in TEST_P()
744 ASSERT_EQ(IterStatus(iter), "key4->val4"); in TEST_P()
745 iter->Prev(); in TEST_P()
746 ASSERT_EQ(IterStatus(iter), "key3->val3"); in TEST_P()
748 iter->Next(); in TEST_P()
749 ASSERT_EQ(IterStatus(iter), "key4->val4"); in TEST_P()
750 iter->Next(); in TEST_P()
751 ASSERT_EQ(IterStatus(iter), "key5->val5"); in TEST_P()
753 iter->Next(); in TEST_P()
754 ASSERT_TRUE(!iter->Valid()); in TEST_P()
762 iter->SeekForPrev("key1"); in TEST_P()
763 ASSERT_EQ(IterStatus(iter), "key1->val1"); in TEST_P()
764 iter->Next(); in TEST_P()
765 ASSERT_EQ(IterStatus(iter), "key2->val2"); in TEST_P()
766 iter->Next(); in TEST_P()
767 ASSERT_EQ(IterStatus(iter), "key3->val3"); in TEST_P()
768 iter->Prev(); in TEST_P()
769 ASSERT_EQ(IterStatus(iter), "key2->val2"); in TEST_P()
770 iter->Prev(); in TEST_P()
771 ASSERT_EQ(IterStatus(iter), "key1->val1"); in TEST_P()
772 iter->Prev(); in TEST_P()
773 ASSERT_TRUE(!iter->Valid()); in TEST_P()
777 delete iter; in TEST_P()
787 Iterator* iter = NewIterator(ReadOptions(), handles_[1]); in TEST_P() local
797 iter->SeekToFirst(); in TEST_P()
798 ASSERT_TRUE(iter->Valid()); in TEST_P()
799 ASSERT_EQ("foo", iter->key().ToString()); in TEST_P()
800 ASSERT_EQ("hello", iter->value().ToString()); in TEST_P()
801 iter->Next(); in TEST_P()
802 ASSERT_TRUE(!iter->Valid()); in TEST_P()
803 delete iter; in TEST_P()
816 auto* iter = db_->NewIterator(ro, cf); in TEST_P() local
817 iter->SeekToFirst(); in TEST_P()
818 ASSERT_EQ(IterStatus(iter), "foo->delete-cf-then-delete-iter"); in TEST_P()
825 iter->Next(); in TEST_P()
826 ASSERT_EQ(IterStatus(iter), "hello->value2"); in TEST_P()
827 delete iter; in TEST_P()
838 auto* iter = db_->NewIterator(ro, cf); in TEST_P() local
839 iter->SeekToFirst(); in TEST_P()
840 ASSERT_EQ(IterStatus(iter), "foo->drop-cf-then-delete-iter"); in TEST_P()
848 delete iter; in TEST_P()
870 std::unique_ptr<Iterator> iter(NewIterator(ro)); in TEST_P() local
872 iter->Seek("foo"); in TEST_P()
874 ASSERT_TRUE(iter->Valid()); in TEST_P()
875 ASSERT_EQ(iter->key().compare(Slice("foo")), 0); in TEST_P()
877 iter->Next(); in TEST_P()
878 ASSERT_TRUE(iter->Valid()); in TEST_P()
879 ASSERT_EQ(iter->key().compare(Slice("foo1")), 0); in TEST_P()
881 iter->Next(); in TEST_P()
882 ASSERT_TRUE(iter->Valid()); in TEST_P()
883 ASSERT_EQ(iter->key().compare(Slice("g1")), 0); in TEST_P()
885 iter->SeekForPrev("g1"); in TEST_P()
887 ASSERT_TRUE(iter->Valid()); in TEST_P()
888 ASSERT_EQ(iter->key().compare(Slice("g1")), 0); in TEST_P()
890 iter->Prev(); in TEST_P()
891 ASSERT_TRUE(iter->Valid()); in TEST_P()
892 ASSERT_EQ(iter->key().compare(Slice("foo1")), 0); in TEST_P()
894 iter->Prev(); in TEST_P()
895 ASSERT_TRUE(iter->Valid()); in TEST_P()
896 ASSERT_EQ(iter->key().compare(Slice("foo")), 0); in TEST_P()
907 std::unique_ptr<Iterator> iter(NewIterator(ro)); in TEST_P() local
909 iter->Seek("foo"); in TEST_P()
911 ASSERT_TRUE(iter->Valid()); in TEST_P()
912 ASSERT_EQ(iter->key().compare(Slice("foo")), 0); in TEST_P()
914 iter->Next(); in TEST_P()
915 ASSERT_TRUE(iter->Valid()); in TEST_P()
916 ASSERT_EQ(iter->key().compare(("foo1")), 0); in TEST_P()
918 iter->Next(); in TEST_P()
920 ASSERT_TRUE(!iter->Valid()); in TEST_P()
929 std::unique_ptr<Iterator> iter(NewIterator(ro)); in TEST_P() local
931 iter->SeekToLast(); in TEST_P()
932 ASSERT_TRUE(iter->Valid()); in TEST_P()
933 ASSERT_EQ(iter->key().compare(Slice("a")), 0); in TEST_P()
951 std::unique_ptr<Iterator> iter(NewIterator(ro)); in TEST_P() local
953 iter->Seek("foo"); in TEST_P()
955 ASSERT_TRUE(iter->Valid()); in TEST_P()
956 ASSERT_EQ("foo", iter->key().ToString()); in TEST_P()
958 iter->Next(); in TEST_P()
959 ASSERT_TRUE(iter->Valid()); in TEST_P()
960 ASSERT_EQ("foo1", iter->key().ToString()); in TEST_P()
962 iter->Next(); in TEST_P()
963 ASSERT_TRUE(!iter->Valid()); in TEST_P()
984 std::unique_ptr<Iterator> iter(NewIterator(ro)); in TEST_P() local
986 iter->Seek("b"); in TEST_P()
987 ASSERT_TRUE(iter->Valid()); in TEST_P()
988 ASSERT_EQ(iter->key().compare(Slice("b")), 0); in TEST_P()
990 iter->Next(); in TEST_P()
991 ASSERT_TRUE(iter->Valid()); in TEST_P()
992 ASSERT_EQ(iter->key().compare(("b1")), 0); in TEST_P()
995 iter->Next(); in TEST_P()
997 ASSERT_TRUE(iter->Valid()); in TEST_P()
1004 iter.reset(NewIterator(ro)); in TEST_P()
1008 iter->Seek("b"); in TEST_P()
1009 ASSERT_TRUE(iter->Valid()); in TEST_P()
1010 ASSERT_EQ(iter->key().compare(Slice("b")), 0); in TEST_P()
1012 iter->Next(); in TEST_P()
1013 ASSERT_TRUE(iter->Valid()); in TEST_P()
1014 ASSERT_EQ(iter->key().compare(("b1")), 0); in TEST_P()
1016 iter->Next(); in TEST_P()
1020 ASSERT_TRUE(!iter->Valid()); in TEST_P()
1045 std::unique_ptr<Iterator> iter(NewIterator(ro)); in TEST_P() local
1047 iter->Seek("foo1"); in TEST_P()
1048 ASSERT_TRUE(iter->Valid()); in TEST_P()
1049 ASSERT_EQ(iter->key().compare(Slice("foo1")), 0); in TEST_P()
1058 iter->Seek("foo4"); in TEST_P()
1059 ASSERT_TRUE(iter->Valid()); in TEST_P()
1060 ASSERT_EQ(iter->key().compare(Slice("foo4")), 0); in TEST_P()
1066 iter->Seek("foo2"); in TEST_P()
1067 ASSERT_TRUE(iter->Valid()); in TEST_P()
1068 ASSERT_EQ(iter->key().compare(Slice("foo2")), 0); in TEST_P()
1069 iter->Next(); in TEST_P()
1070 ASSERT_TRUE(iter->Valid()); in TEST_P()
1071 ASSERT_EQ(iter->key().compare(Slice("foo3")), 0); in TEST_P()
1107 std::unique_ptr<Iterator> iter(NewIterator(ro)); in TEST_P() local
1109 iter->Seek("foo"); in TEST_P()
1110 ASSERT_TRUE(iter->Valid()); in TEST_P()
1111 ASSERT_EQ(iter->key().compare(Slice("foo1")), 0); in TEST_P()
1114 iter->Next(); in TEST_P()
1115 ASSERT_TRUE(iter->Valid()); in TEST_P()
1116 ASSERT_EQ(iter->key().compare(Slice("foo2")), 0); in TEST_P()
1119 iter->Next(); in TEST_P()
1120 ASSERT_FALSE(iter->Valid()); in TEST_P()
1168 std::unique_ptr<Iterator> iter(NewIterator(ropt)); in TEST_P() local
1170 iter->Seek("b10"); in TEST_P()
1171 ASSERT_TRUE(iter->Valid()); in TEST_P()
1172 EXPECT_EQ("b2", iter->key().ToString()); in TEST_P()
1173 EXPECT_EQ("y2", iter->value().ToString()); in TEST_P()
1176 iter->Next(); in TEST_P()
1177 ASSERT_TRUE(iter->Valid()); in TEST_P()
1178 EXPECT_EQ("b3", iter->key().ToString()); in TEST_P()
1179 EXPECT_EQ("y3", iter->value().ToString()); in TEST_P()
1183 iter->Seek("c0"); in TEST_P()
1184 ASSERT_TRUE(iter->Valid()); in TEST_P()
1185 EXPECT_EQ("c0", iter->key().ToString()); in TEST_P()
1186 EXPECT_EQ("z1,z2", iter->value().ToString()); in TEST_P()
1190 iter->Next(); in TEST_P()
1191 ASSERT_TRUE(iter->Valid()); in TEST_P()
1192 EXPECT_EQ("c3", iter->key().ToString()); in TEST_P()
1193 EXPECT_EQ("z3", iter->value().ToString()); in TEST_P()
1197 iter.reset(); in TEST_P()
1204 iter.reset(NewIterator(ropt)); in TEST_P()
1206 iter->Seek("b2"); in TEST_P()
1207 ASSERT_TRUE(iter->Valid()); in TEST_P()
1208 EXPECT_EQ("b2", iter->key().ToString()); in TEST_P()
1209 EXPECT_EQ("y2", iter->value().ToString()); in TEST_P()
1213 iter->Next(); in TEST_P()
1214 ASSERT_FALSE(iter->Valid()); in TEST_P()
1378 auto iter = NewIterator(ro); in PinnedDataIteratorRandomized() local
1385 iter->Seek(k); in PinnedDataIteratorRandomized()
1386 if (!iter->Valid()) { in PinnedDataIteratorRandomized()
1392 iter->GetProperty("rocksdb.iterator.is-key-pinned", &prop_value)); in PinnedDataIteratorRandomized()
1394 keys_slices.push_back(iter->key()); in PinnedDataIteratorRandomized()
1408 iter->SeekForPrev(k); in PinnedDataIteratorRandomized()
1409 if (!iter->Valid()) { in PinnedDataIteratorRandomized()
1415 iter->GetProperty("rocksdb.iterator.is-key-pinned", &prop_value)); in PinnedDataIteratorRandomized()
1417 keys_slices.push_back(iter->key()); in PinnedDataIteratorRandomized()
1429 for (iter->SeekToFirst(); iter->Valid(); iter->Next()) { in PinnedDataIteratorRandomized()
1432 iter->GetProperty("rocksdb.iterator.is-key-pinned", &prop_value)); in PinnedDataIteratorRandomized()
1434 all_keys.push_back(iter->key()); in PinnedDataIteratorRandomized()
1449 for (iter->SeekToLast(); iter->Valid(); iter->Prev()) { in PinnedDataIteratorRandomized()
1452 iter->GetProperty("rocksdb.iterator.is-key-pinned", &prop_value)); in PinnedDataIteratorRandomized()
1454 all_keys.push_back(iter->key()); in PinnedDataIteratorRandomized()
1466 delete iter; in PinnedDataIteratorRandomized()
1537 auto iter = NewIterator(ro); in TEST_P() local
1540 for (iter->SeekToFirst(); iter->Valid(); iter->Next()) { in TEST_P()
1542 ASSERT_OK(iter->GetProperty("rocksdb.iterator.is-key-pinned", &prop_value)); in TEST_P()
1544 results.emplace_back(iter->key(), iter->value().ToString()); in TEST_P()
1555 delete iter; in TEST_P()
1592 auto iter = NewIterator(ro); in TEST_P() local
1595 for (iter->SeekToFirst(); iter->Valid(); iter->Next()) { in TEST_P()
1597 ASSERT_OK(iter->GetProperty("rocksdb.iterator.is-key-pinned", &prop_value)); in TEST_P()
1599 results.emplace_back(iter->key(), iter->value().ToString()); in TEST_P()
1616 delete iter; in TEST_P()
1639 auto iter = NewIterator(ro); in TEST_P() local
1652 for (iter->SeekToFirst(); iter->Valid(); iter->Next()) { in TEST_P()
1654 ASSERT_OK(iter->GetProperty("rocksdb.iterator.is-key-pinned", &prop_value)); in TEST_P()
1656 results.emplace_back(iter->key(), iter->value().ToString()); in TEST_P()
1666 delete iter; in TEST_P()
1718 Iterator* iter = NewIterator(ro); in TEST_P() local
1720 iter->SeekForPrev("a4"); in TEST_P()
1721 ASSERT_EQ(iter->key().ToString(), "a3"); in TEST_P()
1722 ASSERT_EQ(iter->value().ToString(), "va3"); in TEST_P()
1724 iter->SeekForPrev("c2"); in TEST_P()
1725 ASSERT_EQ(iter->key().ToString(), "b3"); in TEST_P()
1726 iter->SeekForPrev("d3"); in TEST_P()
1727 ASSERT_EQ(iter->key().ToString(), "d2"); in TEST_P()
1728 iter->SeekForPrev("b5"); in TEST_P()
1729 ASSERT_EQ(iter->key().ToString(), "b4"); in TEST_P()
1730 delete iter; in TEST_P()
1736 Iterator* iter = NewIterator(ro); in TEST_P() local
1737 iter->SeekForPrev("c2"); in TEST_P()
1738 ASSERT_TRUE(!iter->Valid()); in TEST_P()
1739 delete iter; in TEST_P()
1773 Iterator* iter = NewIterator(ro); in TEST_P() local
1775 iter->SeekForPrev("a4"); in TEST_P()
1776 ASSERT_EQ(iter->key().ToString(), "a3"); in TEST_P()
1777 ASSERT_EQ(iter->value().ToString(), "va3"); in TEST_P()
1779 iter->SeekForPrev("c2"); in TEST_P()
1780 ASSERT_EQ(iter->key().ToString(), "b3"); in TEST_P()
1781 iter->SeekForPrev("d3"); in TEST_P()
1782 ASSERT_EQ(iter->key().ToString(), "d2"); in TEST_P()
1783 iter->SeekForPrev("b5"); in TEST_P()
1784 ASSERT_EQ(iter->key().ToString(), "b4"); in TEST_P()
1785 delete iter; in TEST_P()
1791 Iterator* iter = NewIterator(ro); in TEST_P() local
1792 iter->SeekForPrev("c2"); in TEST_P()
1793 ASSERT_TRUE(!iter->Valid()); in TEST_P()
1794 delete iter; in TEST_P()
1840 Iterator* iter = NewIterator(ro); in TEST_P() local
1842 iter->SeekToLast(); in TEST_P()
1843 ASSERT_EQ(iter->key().ToString(), "key5"); in TEST_P()
1844 ASSERT_EQ(iter->value().ToString(), "val5.0"); in TEST_P()
1846 iter->Prev(); in TEST_P()
1847 ASSERT_EQ(iter->key().ToString(), "key4"); in TEST_P()
1848 ASSERT_EQ(iter->value().ToString(), "val4.0"); in TEST_P()
1850 iter->Prev(); in TEST_P()
1851 ASSERT_EQ(iter->key().ToString(), "key3"); in TEST_P()
1852 ASSERT_EQ(iter->value().ToString(), "val3.0,val3.1,val3.2,val3.3,val3.4"); in TEST_P()
1854 iter->Prev(); in TEST_P()
1855 ASSERT_EQ(iter->key().ToString(), "key2"); in TEST_P()
1856 ASSERT_EQ(iter->value().ToString(), "val2.0,val2.1,val2.2,val2.3"); in TEST_P()
1858 iter->Prev(); in TEST_P()
1859 ASSERT_EQ(iter->key().ToString(), "key1"); in TEST_P()
1860 ASSERT_EQ(iter->value().ToString(), "val1.0,val1.1,val1.2"); in TEST_P()
1862 delete iter; in TEST_P()
1942 Iterator* iter = NewIterator(ro); in TEST_P() local
1945 for (iter->SeekToLast(); iter->Valid(); iter->Prev()) { in TEST_P()
1946 ASSERT_EQ(iter->key().ToString(), data_iter->first); in TEST_P()
1947 ASSERT_EQ(iter->value().ToString(), data_iter->second); in TEST_P()
1952 delete iter; in TEST_P()
1958 Iterator* iter = NewIterator(ro); in TEST_P() local
1963 for (iter->SeekToLast(); iter->Valid(); iter->Prev()) { in TEST_P()
1965 ASSERT_EQ(iter->key().ToString(), data_iter->first); in TEST_P()
1966 ASSERT_EQ(iter->value().ToString(), data_iter->second); in TEST_P()
1970 seek_key = iter->key().ToString(); in TEST_P()
1977 iter->Next(); in TEST_P()
1980 ASSERT_EQ(iter->key().ToString(), data_iter->first); in TEST_P()
1981 ASSERT_EQ(iter->value().ToString(), data_iter->second); in TEST_P()
1986 iter->Seek(seek_key); in TEST_P()
1991 ASSERT_EQ(iter->key().ToString(), data_iter->first); in TEST_P()
1992 ASSERT_EQ(iter->value().ToString(), data_iter->second); in TEST_P()
1996 iter->Prev(); in TEST_P()
1999 ASSERT_EQ(iter->key().ToString(), data_iter->first); in TEST_P()
2000 ASSERT_EQ(iter->value().ToString(), data_iter->second); in TEST_P()
2009 delete iter; in TEST_P()
2034 Iterator* iter = NewIterator(ReadOptions()); in TEST_P() local
2036 iter->SeekToFirst(); in TEST_P()
2039 bytes += iter->key().size(); in TEST_P()
2040 bytes += iter->value().size(); in TEST_P()
2042 iter->Next(); in TEST_P()
2045 if (!iter->Valid()) { in TEST_P()
2049 bytes += iter->key().size(); in TEST_P()
2050 bytes += iter->value().size(); in TEST_P()
2053 delete iter; in TEST_P()
2061 Iterator* iter = NewIterator(ReadOptions()); in TEST_P() local
2063 iter->SeekToLast(); in TEST_P()
2066 bytes += iter->key().size(); in TEST_P()
2067 bytes += iter->value().size(); in TEST_P()
2069 iter->Prev(); in TEST_P()
2072 if (!iter->Valid()) { in TEST_P()
2076 bytes += iter->key().size(); in TEST_P()
2077 bytes += iter->value().size(); in TEST_P()
2080 delete iter; in TEST_P()
2144 auto* iter = NewIterator(read_options); in TEST_P() local
2145 iter->SeekToFirst(); in TEST_P()
2148 delete iter; in TEST_P()
2154 iter = NewIterator(read_options); in TEST_P()
2155 iter->SeekToFirst(); in TEST_P()
2158 delete iter; in TEST_P()
2167 iter = NewIterator(read_options); in TEST_P()
2169 for (iter->SeekToFirst(); iter->Valid(); iter->Next()) { in TEST_P()
2170 ASSERT_EQ(value, iter->value()); in TEST_P()
2175 iter->Seek(Key(i)); in TEST_P()
2176 ASSERT_EQ(value, iter->value()); in TEST_P()
2178 delete iter; in TEST_P()
2199 std::unique_ptr<Iterator> iter(NewIterator(ro)); in TEST_P() local
2215 iter->Seek("a"); in TEST_P()
2216 ASSERT_TRUE(iter->Valid()); in TEST_P()
2217 EXPECT_EQ("b", iter->key().ToString()); in TEST_P()
2218 EXPECT_EQ("0", iter->value().ToString()); in TEST_P()
2240 std::unique_ptr<Iterator> iter(NewIterator(ReadOptions())); in TEST_P() local
2241 iter->Seek(Slice("a")); in TEST_P()
2242 ASSERT_TRUE(iter->Valid()); in TEST_P()
2243 ASSERT_EQ(iter->key().compare(Slice("x")), 0); in TEST_P()
2244 iter->Next(); in TEST_P()
2245 ASSERT_FALSE(iter->Valid()); in TEST_P()
2249 iter->Seek(Slice("a")); in TEST_P()
2250 ASSERT_TRUE(iter->Valid()); in TEST_P()
2251 ASSERT_EQ(iter->key().compare(Slice("x")), 0); in TEST_P()
2252 iter->Next(); in TEST_P()
2253 ASSERT_FALSE(iter->Valid()); in TEST_P()
2255 iter->Refresh(); in TEST_P()
2257 iter->Seek(Slice("a")); in TEST_P()
2258 ASSERT_TRUE(iter->Valid()); in TEST_P()
2259 ASSERT_EQ(iter->key().compare(Slice("c")), 0); in TEST_P()
2260 iter->Next(); in TEST_P()
2261 ASSERT_TRUE(iter->Valid()); in TEST_P()
2262 ASSERT_EQ(iter->key().compare(Slice("x")), 0); in TEST_P()
2263 iter->Next(); in TEST_P()
2264 ASSERT_FALSE(iter->Valid()); in TEST_P()
2270 iter->Seek(Slice("a")); in TEST_P()
2271 ASSERT_TRUE(iter->Valid()); in TEST_P()
2272 ASSERT_EQ(iter->key().compare(Slice("c")), 0); in TEST_P()
2273 iter->Next(); in TEST_P()
2274 ASSERT_TRUE(iter->Valid()); in TEST_P()
2275 ASSERT_EQ(iter->key().compare(Slice("x")), 0); in TEST_P()
2276 iter->Next(); in TEST_P()
2277 ASSERT_FALSE(iter->Valid()); in TEST_P()
2279 iter->Refresh(); in TEST_P()
2281 iter->Seek(Slice("a")); in TEST_P()
2282 ASSERT_TRUE(iter->Valid()); in TEST_P()
2283 ASSERT_EQ(iter->key().compare(Slice("c")), 0); in TEST_P()
2284 iter->Next(); in TEST_P()
2285 ASSERT_TRUE(iter->Valid()); in TEST_P()
2286 ASSERT_EQ(iter->key().compare(Slice("m")), 0); in TEST_P()
2287 iter->Next(); in TEST_P()
2288 ASSERT_TRUE(iter->Valid()); in TEST_P()
2289 ASSERT_EQ(iter->key().compare(Slice("x")), 0); in TEST_P()
2290 iter->Next(); in TEST_P()
2291 ASSERT_FALSE(iter->Valid()); in TEST_P()
2293 iter.reset(); in TEST_P()
2301 Iterator* iter = NewIterator(options); in TEST_P() local
2303 iter->Seek(Slice("a")); in TEST_P()
2304 ASSERT_TRUE(iter->Valid()); in TEST_P()
2305 ASSERT_EQ(iter->key().compare(Slice("x")), 0); in TEST_P()
2306 iter->Next(); in TEST_P()
2307 ASSERT_FALSE(iter->Valid()); in TEST_P()
2311 iter->Seek(Slice("a")); in TEST_P()
2312 ASSERT_TRUE(iter->Valid()); in TEST_P()
2313 ASSERT_EQ(iter->key().compare(Slice("x")), 0); in TEST_P()
2314 iter->Next(); in TEST_P()
2315 ASSERT_FALSE(iter->Valid()); in TEST_P()
2318 s = iter->Refresh(); in TEST_P()
2321 delete iter; in TEST_P()
2331 Iterator* iter = NewIterator(ReadOptions()); in TEST_P() local
2332 ASSERT_FALSE(iter->Valid()); in TEST_P()
2333 ASSERT_TRUE(iter->status().IsCorruption()); in TEST_P()
2334 delete iter; in TEST_P()
2361 Iterator* iter = NewIterator(ro); in TEST_P() local
2362 iter->Seek("foo"); in TEST_P()
2363 ASSERT_TRUE(iter->Valid()); in TEST_P()
2364 ASSERT_EQ("foo", iter->key().ToString()); in TEST_P()
2366 iter->Prev(); in TEST_P()
2367 ASSERT_TRUE(iter->Valid()); in TEST_P()
2368 ASSERT_OK(iter->status()); in TEST_P()
2369 ASSERT_EQ("bar", iter->key().ToString()); in TEST_P()
2371 delete iter; in TEST_P()
2399 auto iter = NewIterator(opts); in TEST_P() local
2400 iter->SeekToFirst(); in TEST_P()
2401 ASSERT_EQ(IterStatus(iter), "a->1"); in TEST_P()
2402 iter->Next(); in TEST_P()
2403 ASSERT_EQ(IterStatus(iter), "b->2"); in TEST_P()
2404 iter->Next(); in TEST_P()
2405 ASSERT_EQ(IterStatus(iter), "c->3"); in TEST_P()
2406 iter->Next(); in TEST_P()
2407 ASSERT_EQ(IterStatus(iter), "d->4"); in TEST_P()
2408 iter->Next(); in TEST_P()
2409 ASSERT_EQ(IterStatus(iter), "e->5"); in TEST_P()
2410 iter->Next(); in TEST_P()
2411 ASSERT_EQ(IterStatus(iter), "f->6"); in TEST_P()
2412 iter->Next(); in TEST_P()
2413 ASSERT_FALSE(iter->Valid()); in TEST_P()
2415 delete iter; in TEST_P()
2425 auto iter = NewIterator(opts); in TEST_P() local
2426 iter->SeekToFirst(); in TEST_P()
2427 ASSERT_EQ(IterStatus(iter), "a->1"); in TEST_P()
2428 iter->Next(); in TEST_P()
2429 ASSERT_EQ(IterStatus(iter), "d->4"); in TEST_P()
2430 iter->Next(); in TEST_P()
2431 ASSERT_EQ(IterStatus(iter), "e->5"); in TEST_P()
2432 iter->Next(); in TEST_P()
2433 ASSERT_EQ(IterStatus(iter), "f->6"); in TEST_P()
2434 iter->Next(); in TEST_P()
2435 ASSERT_FALSE(iter->Valid()); in TEST_P()
2436 delete iter; in TEST_P()
2468 Iterator* iter = NewIterator(ro); in TEST_P() local
2469 iter->SeekForPrev("goo"); in TEST_P()
2470 ASSERT_TRUE(iter->Valid()); in TEST_P()
2471 ASSERT_EQ("foo", iter->key().ToString()); in TEST_P()
2472 iter->Prev(); in TEST_P()
2474 ASSERT_TRUE(iter->Valid()); in TEST_P()
2475 ASSERT_EQ("bar", iter->key().ToString()); in TEST_P()
2477 delete iter; in TEST_P()
2503 Iterator* iter = NewIterator(ReadOptions()); in TEST_P() local
2505 for (iter->SeekToFirst(); iter->Valid(); iter->Next()) { in TEST_P()
2506 ASSERT_OK(iter->status()); in TEST_P()
2510 delete iter; in TEST_P()
2514 iter = NewIterator(ReadOptions()); in TEST_P()
2516 for (iter->SeekToLast(); iter->Valid(); iter->Prev()) { in TEST_P()
2517 ASSERT_OK(iter->status()); in TEST_P()
2521 delete iter; in TEST_P()
2538 iter = NewIterator(ro); in TEST_P()
2540 for(iter->Seek("aa"); iter->Valid(); iter->Next()) { in TEST_P()
2541 ASSERT_OK(iter->status()); in TEST_P()
2545 delete iter; in TEST_P()
2549 iter = NewIterator(ro); in TEST_P()
2551 for(iter->SeekToLast(); iter->Valid(); iter->Prev()) { in TEST_P()
2552 ASSERT_OK(iter->status()); in TEST_P()
2556 delete iter; in TEST_P()
2576 std::unique_ptr<Iterator> iter(NewIterator(ropts)); in TEST_P() local
2577 iter->SeekToFirst(); in TEST_P()
2579 ASSERT_TRUE(iter->Valid()); in TEST_P()
2580 ASSERT_EQ(iter->key().ToString(), "1"); in TEST_P()
2581 ASSERT_EQ(iter->value().ToString(), "val_1"); in TEST_P()
2585 iter->Next(); in TEST_P()
2586 ASSERT_TRUE(!iter->Valid()); in TEST_P()
2587 ASSERT_TRUE(iter->status().IsIncomplete()); in TEST_P()
2591 ASSERT_OK(iter->GetProperty("rocksdb.iterator.internal-key", &prop_value)); in TEST_P()
2623 std::unique_ptr<Iterator> iter(NewIterator(ropt)); in TEST_P() local
2638 iter->Seek("a"); in TEST_P()
2641 EXPECT_TRUE(iter->status().IsIncomplete()); in TEST_P()
2703 std::unique_ptr<Iterator> iter(NewIterator(ReadOptions())); in TEST_P() local
2704 iter->Seek("1"); in TEST_P()
2705 ASSERT_TRUE(iter->Valid()); in TEST_P()
2709 iter->Seek("2"); in TEST_P()
2710 ASSERT_TRUE(iter->Valid()); in TEST_P()
2714 iter->Seek("3"); in TEST_P()
2715 ASSERT_TRUE(iter->Valid()); in TEST_P()
2719 iter->Next(); in TEST_P()
2720 ASSERT_TRUE(iter->Valid()); in TEST_P()
2724 iter->Seek("5"); in TEST_P()
2725 ASSERT_TRUE(iter->Valid()); in TEST_P()
2729 iter->Seek("6"); in TEST_P()
2730 ASSERT_TRUE(iter->Valid()); in TEST_P()
2734 iter->Seek("7"); in TEST_P()
2735 ASSERT_TRUE(iter->Valid()); in TEST_P()
2739 iter->Seek("8"); in TEST_P()
2740 ASSERT_TRUE(iter->Valid()); in TEST_P()
2746 iter->Seek("5"); in TEST_P()
2747 ASSERT_TRUE(iter->Valid()); in TEST_P()
2751 iter->Next(); in TEST_P()
2752 ASSERT_TRUE(iter->Valid()); in TEST_P()
2757 iter->Seek("5"); in TEST_P()
2758 ASSERT_TRUE(iter->Valid()); in TEST_P()
2791 Iterator* iter = NewIterator(read_opts1); in TEST_P() local
2793 iter->Seek("b"); in TEST_P()
2794 ASSERT_TRUE(iter->Valid()); in TEST_P()
2795 ASSERT_OK(iter->status()); in TEST_P()
2796 ASSERT_EQ("bbb", iter->key()); in TEST_P()
2798 iter->Seek("b"); in TEST_P()
2799 ASSERT_TRUE(iter->Valid()); in TEST_P()
2800 ASSERT_OK(iter->status()); in TEST_P()
2801 ASSERT_EQ("bbb", iter->key()); in TEST_P()
2802 iter->Next(); in TEST_P()
2803 ASSERT_FALSE(iter->Valid()); in TEST_P()
2804 ASSERT_OK(iter->status()); in TEST_P()
2805 delete iter; in TEST_P()
2812 iter = NewIterator(read_opts2); in TEST_P()
2813 iter->SeekForPrev("d"); in TEST_P()
2814 ASSERT_TRUE(iter->Valid()); in TEST_P()
2815 ASSERT_OK(iter->status()); in TEST_P()
2816 ASSERT_EQ("ccc", iter->key()); in TEST_P()
2818 iter->SeekForPrev("d"); in TEST_P()
2819 ASSERT_TRUE(iter->Valid()); in TEST_P()
2820 ASSERT_OK(iter->status()); in TEST_P()
2821 ASSERT_EQ("ccc", iter->key()); in TEST_P()
2822 iter->Prev(); in TEST_P()
2823 ASSERT_FALSE(iter->Valid()); in TEST_P()
2824 ASSERT_OK(iter->status()); in TEST_P()
2825 delete iter; in TEST_P()
2840 std::unique_ptr<Iterator> iter(NewIterator(read_opts)); in TEST_P() local
2841 iter->SeekForPrev("d"); in TEST_P()
2842 ASSERT_TRUE(iter->Valid()); in TEST_P()
2843 ASSERT_OK(iter->status()); in TEST_P()
2844 ASSERT_EQ("ccc", iter->key()); in TEST_P()
2845 iter->Prev(); in TEST_P()
2846 ASSERT_TRUE(iter->Valid()); in TEST_P()
2847 ASSERT_OK(iter->status()); in TEST_P()
2848 ASSERT_EQ("bbb", iter->key()); in TEST_P()
2849 iter->Prev(); in TEST_P()
2850 ASSERT_FALSE(iter->Valid()); in TEST_P()
2851 ASSERT_OK(iter->status()); in TEST_P()
2887 Iterator* iter = in TEST_F() local
2892 iter->Seek("foo"); in TEST_F()
2893 ASSERT_TRUE(iter->Valid()); in TEST_F()
2894 ASSERT_OK(iter->status()); in TEST_F()
2895 ASSERT_EQ("foo", iter->key()); in TEST_F()
2896 ASSERT_EQ("v3", iter->value()); in TEST_F()
2899 iter->Seek("bar"); in TEST_F()
2900 ASSERT_TRUE(iter->Valid()); in TEST_F()
2901 ASSERT_OK(iter->status()); in TEST_F()
2902 ASSERT_EQ("foo", iter->key()); in TEST_F()
2903 ASSERT_EQ("v3", iter->value()); in TEST_F()
2907 iter->Seek("a"); in TEST_F()
2908 ASSERT_TRUE(iter->Valid()); in TEST_F()
2909 ASSERT_OK(iter->status()); in TEST_F()
2910 ASSERT_EQ("va", iter->value()); in TEST_F()
2913 iter->Next(); in TEST_F()
2914 ASSERT_TRUE(iter->Valid()); in TEST_F()
2915 ASSERT_OK(iter->status()); in TEST_F()
2916 ASSERT_EQ("foo", iter->key()); in TEST_F()
2917 ASSERT_EQ("v3", iter->value()); in TEST_F()
2921 iter->Seek("z"); in TEST_F()
2922 ASSERT_TRUE(iter->Valid()); in TEST_F()
2923 ASSERT_OK(iter->status()); in TEST_F()
2924 ASSERT_EQ("vz", iter->value()); in TEST_F()
2926 iter->Prev(); in TEST_F()
2927 ASSERT_TRUE(iter->Valid()); in TEST_F()
2928 ASSERT_OK(iter->status()); in TEST_F()
2929 ASSERT_EQ("foo", iter->key()); in TEST_F()
2930 ASSERT_EQ("v3", iter->value()); in TEST_F()
2932 iter->Prev(); // skipping "bar" in TEST_F()
2933 ASSERT_TRUE(iter->Valid()); in TEST_F()
2934 ASSERT_OK(iter->status()); in TEST_F()
2935 ASSERT_EQ("a", iter->key()); in TEST_F()
2936 ASSERT_EQ("va", iter->value()); in TEST_F()
2940 iter->SeekForPrev("y"); in TEST_F()
2941 ASSERT_TRUE(iter->Valid()); in TEST_F()
2942 ASSERT_OK(iter->status()); in TEST_F()
2943 ASSERT_EQ("foo", iter->key()); in TEST_F()
2944 ASSERT_EQ("v3", iter->value()); in TEST_F()
2946 iter->SeekForPrev("bar"); in TEST_F()
2947 ASSERT_TRUE(iter->Valid()); in TEST_F()
2948 ASSERT_OK(iter->status()); in TEST_F()
2949 ASSERT_EQ("a", iter->key()); in TEST_F()
2950 ASSERT_EQ("va", iter->value()); in TEST_F()
2952 delete iter; in TEST_F()
2966 iter = dbfull()->NewIteratorImpl(ReadOptions(), cfd, seq4, &callback2); in TEST_F()
2968 iter->Seek("z"); in TEST_F()
2969 ASSERT_TRUE(iter->Valid()); in TEST_F()
2970 ASSERT_OK(iter->status()); in TEST_F()
2971 ASSERT_EQ("vz", iter->value()); in TEST_F()
2973 iter->Prev(); in TEST_F()
2974 ASSERT_TRUE(iter->Valid()); in TEST_F()
2975 ASSERT_OK(iter->status()); in TEST_F()
2976 ASSERT_EQ("foo", iter->key()); in TEST_F()
2977 ASSERT_EQ("v5", iter->value()); in TEST_F()
2983 iter->Prev(); in TEST_F()
2984 ASSERT_TRUE(iter->Valid()); in TEST_F()
2985 ASSERT_OK(iter->status()); in TEST_F()
2986 ASSERT_EQ("bar", iter->key()); in TEST_F()
2987 ASSERT_EQ(ToString(num_versions - 1), iter->value()); in TEST_F()
2989 delete iter; in TEST_F()