@@ -100,15 +100,29 @@ func (opts *ReadOptions) SetTailing(value bool) {
100100// not a valid entry. If iterator_extractor is not null, the Seek target
101101// and iterator_upper_bound need to have the same prefix.
102102// This is because ordering is not guaranteed outside of prefix domain.
103- // There is no lower bound on the iterator. If needed, that can be easily
104- // implemented.
105103// Default: nullptr
106104func (opts * ReadOptions ) SetIterateUpperBound (key []byte ) {
107105 cKey := byteToChar (key )
108106 cKeyLen := C .size_t (len (key ))
109107 C .rocksdb_readoptions_set_iterate_upper_bound (opts .c , cKey , cKeyLen )
110108}
111109
110+ // SetIterateLowerBound specifies "iterate_lower_bound", which defines
111+ // the smallest key at which the backward iterator can return an entry.
112+ // Once the bound is passed, Valid() will be false.
113+ // `iterate_lower_bound` is inclusive ie the bound value is a valid
114+ // entry.
115+ //
116+ // If prefix_extractor is not null, the Seek target and `iterate_lower_bound`
117+ // need to have the same prefix. This is because ordering is not guaranteed
118+ // outside of prefix domain.
119+ // Default: nullptr
120+ func (opts * ReadOptions ) SetIterateLowerBound (key []byte ) {
121+ cKey := byteToChar (key )
122+ cKeyLen := C .size_t (len (key ))
123+ C .rocksdb_readoptions_set_iterate_lower_bound (opts .c , cKey , cKeyLen )
124+ }
125+
112126// SetPinData specifies the value of "pin_data". If true, it keeps the blocks
113127// loaded by the iterator pinned in memory as long as the iterator is not deleted,
114128// If used when reading from tables created with
0 commit comments