Commit Graph

12 Commits

Author SHA1 Message Date
Avi Kivity
29ce425862 db: introduce negative_mutation_reader concept
Similar to a mutation_reader, but limited: it only returns whether a key
is sure not to exist in some mutation source.  Non-blocking and expected
to execute fast.  Corresponds to an sstable bloom filter.

To avoid ambiguity, it doesn't return a bool, instead a longer but less
ambiguous "definitely_doesnt_exists" or "maybe_exists".
2015-08-09 22:00:44 +03:00
Avi Kivity
951eef2945 mutation_reader: add make_lazy_reader
Construct the reader on first use.  Useful with make_joining_reader().
2015-08-04 16:55:31 +03:00
Avi Kivity
318cc489c8 mutation_reader: add make_joining_reader()
Reads from provided readers, in order (assumes provided readers are
disjoint and in required order).
2015-08-04 15:49:09 +03:00
Asias He
ee699eb0ac mutation_reader: Take vector instead of initializer_list 2015-07-08 17:07:48 +03:00
Tomasz Grabiec
ed463ac3a7 mutation_reader: Introduce make_filtering_reader() 2015-07-07 16:56:25 +02:00
Tomasz Grabiec
01c698def4 mutation_reader: Make consume() work with deferring callbacks too 2015-07-03 12:38:36 +02:00
Tomasz Grabiec
d4e0e5957b db: Integrate cache with the read path 2015-06-23 13:49:25 +02:00
Tomasz Grabiec
8fd466338d mutation_reader: Introduce helper for consuming all mutations 2015-06-23 13:49:23 +02:00
Tomasz Grabiec
df0243d90e mutation_reader: Introduce simple reader adaptors
Useful for testing.
2015-06-18 15:47:40 +02:00
Tomasz Grabiec
96ab69d39d mutation_reader: Introduce make_combined_reader()
Based on column_family::for_all_partitions().
2015-06-18 15:47:40 +02:00
Tomasz Grabiec
b35bc8e75a mutation_reader: State monotonicy requirement in the interafce contract
Currently column_family::for_all_partitions() relies on monotonicity
of keys. Adding strict monotonicity requirement doesn't hurt
implementaitons, but makes some consumers simpler.
2015-06-18 15:47:40 +02:00
Tomasz Grabiec
7f1ff0401e db: Move mutation_reader definition to separate header 2015-06-18 15:47:40 +02:00