This commit is contained in:
Jack Robison 2022-01-17 19:55:20 -05:00
parent cd327c06d9
commit 868edf864d
No known key found for this signature in database
GPG key ID: DF25C68FE0239BB2
3 changed files with 60 additions and 44 deletions

View file

@ -6,7 +6,6 @@ on:
push: push:
branches: branches:
- master - master
- iterator-api
jobs: jobs:
manylinux: manylinux:
runs-on: ubuntu-latest runs-on: ubuntu-latest

0
docs/.nojekyll Normal file
View file

View file

@ -174,20 +174,24 @@ Database object
:rtype: :py:class:`rocksdb.BaseIterator` :rtype: :py:class:`rocksdb.BaseIterator`
.. py:method:: iterator(start=None, column_family=None, iterate_lower_bound=None, .. py:method:: iterator(start=None, column_family=None, iterate_lower_bound=None, iterate_upper_bound=None, reverse=False, include_key=True, include_value=True, fill_cache=True, prefix_same_as_start=False, auto_prefix_mode=False)
iterate_upper_bound=None, reverse=False, include_key=True,
include_value=True, fill_cache=True, prefix_same_as_start=False, :param start: prefix to seek to
auto_prefix_mode=False) :type start: bytes
:param `rocksdb.ColumnFamilyHandle` column_family: column family handle
:param bytes start: prefix to seek to :param column_family: column family handle
:param bytes iterate_lower_bound: :type column_family: :py:class:`rocksdb.ColumnFamilyHandle`
:param iterate_lower_bound:
defines the smallest key at which the backward iterator can return an entry. defines the smallest key at which the backward iterator can return an entry.
Once the bound is passed, Valid() will be false. `iterate_lower_bound` is Once the bound is passed, Valid() will be false. `iterate_lower_bound` is
inclusive ie the bound value is a valid entry. inclusive ie the bound value is a valid entry.
If prefix_extractor is not null, the Seek target and `iterate_lower_bound` If prefix_extractor is not null, the Seek target and `iterate_lower_bound`
need to have the same prefix. This is because ordering is not guaranteed need to have the same prefix. This is because ordering is not guaranteed
outside of prefix domain. outside of prefix domain.
:param bytes iterate_upper_bound: :type iterate_lower_bound: bytes
:param iterate_upper_bound:
defines the extent up to which the forward iterator defines the extent up to which the forward iterator
can returns entries. Once the bound is reached, Valid() will be false. can returns entries. Once the bound is reached, Valid() will be false.
"iterate_upper_bound" is exclusive ie the bound value is "iterate_upper_bound" is exclusive ie the bound value is
@ -203,24 +207,37 @@ Database object
iterate_upper_bound = null. iterate_upper_bound = null.
If iterate_upper_bound is not null, SeekToLast() will position the iterator If iterate_upper_bound is not null, SeekToLast() will position the iterator
at the first key smaller than iterate_upper_bound. at the first key smaller than iterate_upper_bound.
:param bool reverse: run the iteration in reverse - using `reversed` is also supported :type iterate_upper_bound: bytes
:param bool include_key: the iterator should include the key in each iteration
:param bool include_value: the iterator should include the value in each iteration :param reverse: run the iteration in reverse - using `reversed` is also supported
:param bool fill_cache: Should the "data block"/"index block" read for this iteration be placed in :type reverse: bool
:param include_key: the iterator should include the key in each iteration
:type include_key: bool
:param include_value: the iterator should include the value in each iteration
:type include_value: bool
:param fill_cache: Should the "data block"/"index block" read for this iteration be placed in
block cache? Callers may wish to set this field to false for bulk scans. block cache? Callers may wish to set this field to false for bulk scans.
This would help not to the change eviction order of existing items in the This would help not to the change eviction order of existing items in the
block cache. Default: true block cache. Default: true
:type fill_cache: bool
:param bool prefix_same_as_start: :param bool prefix_same_as_start:
Enforce that the iterator only iterates over the same prefix as the seek. Enforce that the iterator only iterates over the same prefix as the seek.
This option is effective only for prefix seeks, i.e. prefix_extractor is This option is effective only for prefix seeks, i.e. prefix_extractor is
non-null for the column family and total_order_seek is false. Unlike non-null for the column family and total_order_seek is false. Unlike
iterate_upper_bound, prefix_same_as_start only works within a prefix iterate_upper_bound, prefix_same_as_start only works within a prefix
but in both directions. Default: false but in both directions. Default: false
:type prefix_same_as_start: bool
:param bool auto_prefix_mode: When true, by default use total_order_seek = true, and RocksDB can :param bool auto_prefix_mode: When true, by default use total_order_seek = true, and RocksDB can
selectively enable prefix seek mode if won't generate a different result selectively enable prefix seek mode if won't generate a different result
from total_order_seek, based on seek key, and iterator upper bound. from total_order_seek, based on seek key, and iterator upper bound.
Not supported in ROCKSDB_LITE mode, in the way that even with value true Not supported in ROCKSDB_LITE mode, in the way that even with value true
prefix mode is not used. Default: false prefix mode is not used. Default: false
:type auto_prefix_mode: bool
:returns: :returns:
A iterator object which is valid and ready to begin using. It will be either a key, item or value A iterator object which is valid and ready to begin using. It will be either a key, item or value