@@ -3966,8 +3966,12 @@ uint64_t BlockBasedTable::ApproximateOffsetOf(const Slice& key,
39663966 TableReaderCaller caller) {
39673967 BlockCacheLookupContext context (caller);
39683968 IndexBlockIter iiter_on_stack;
3969+
3970+ ReadOptions ro;
3971+ ro.total_order_seek = true ;
3972+
39693973 auto index_iter =
3970- NewIndexIterator (ReadOptions () , /* disable_prefix_seek=*/ false ,
3974+ NewIndexIterator (ro , /* disable_prefix_seek=*/ false ,
39713975 /* input_iter=*/ &iiter_on_stack, /* get_context=*/ nullptr ,
39723976 /* lookup_context=*/ &context);
39733977 std::unique_ptr<InternalIteratorBase<IndexValue>> iiter_unique_ptr;
@@ -3985,8 +3989,12 @@ uint64_t BlockBasedTable::ApproximateSize(const Slice& start, const Slice& end,
39853989
39863990 BlockCacheLookupContext context (caller);
39873991 IndexBlockIter iiter_on_stack;
3992+
3993+ ReadOptions ro;
3994+ ro.total_order_seek = true ;
3995+
39883996 auto index_iter =
3989- NewIndexIterator (ReadOptions () , /* disable_prefix_seek=*/ false ,
3997+ NewIndexIterator (ro , /* disable_prefix_seek=*/ false ,
39903998 /* input_iter=*/ &iiter_on_stack, /* get_context=*/ nullptr ,
39913999 /* lookup_context=*/ &context);
39924000 std::unique_ptr<InternalIteratorBase<IndexValue>> iiter_unique_ptr;
0 commit comments