Interface PhysicalSortedStorageAvailabilityAdapterMixin<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK,D>,F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK,D>,N extends SortedStorage.PhysicalSortedStorageNode<PK,D,F>>
- All Superinterfaces:
NodeOps<PK,,D> SortedStorage<PK,,D> SortedStorageReader<PK,,D> SortedStorageWriter<PK,D>
- All Known Implementing Classes:
PhysicalIndexedSortedMapStorageAvailabilityAdapterFactory.PhysicalIndexedSortedMapStorageAvailabilityAdapter,PhysicalSortedMapStorageAvailabilityAdapterFactory.PhysicalSortedMapStorageAvailabilityAdapter
public interface PhysicalSortedStorageAvailabilityAdapterMixin<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK,D>,F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK,D>,N extends SortedStorage.PhysicalSortedStorageNode<PK,D,F>>
extends SortedStorage<PK,D>
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.datarouter.storage.node.op.raw.SortedStorage
SortedStorage.PhysicalSortedStorageNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK, D>, F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK, D>>, SortedStorage.SortedStorageNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>, D extends io.datarouter.model.databean.Databean<PK, D>, F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK, D>> Nested classes/interfaces inherited from interface io.datarouter.storage.node.op.raw.read.SortedStorageReader
SortedStorageReader.PhysicalSortedStorageReaderNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK, D>, F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK, D>>, SortedStorageReader.SortedStorageReaderNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>, D extends io.datarouter.model.databean.Databean<PK, D>, F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK, D>> Nested classes/interfaces inherited from interface io.datarouter.storage.node.op.raw.write.SortedStorageWriter
SortedStorageWriter.PhysicalSortedStorageWriterNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK, D>, F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK, D>>, SortedStorageWriter.SortedStorageWriterNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>, D extends io.datarouter.model.databean.Databean<PK, D>, F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK, D>> -
Field Summary
Fields inherited from interface io.datarouter.storage.node.op.raw.read.SortedStorageReader
OP_getKeysInRange, OP_getPrefixedRange, OP_getRange, OP_scan, OP_scanKeys, OP_scanRanges, OP_scanRangesKeys -
Method Summary
Modifier and TypeMethodDescriptiondefault io.datarouter.scanner.Scanner<D>The scan method accepts a Range<PK> which identifies the startKey and endKey, and returns all contiguous rows between them, not skipping or filtering any.default io.datarouter.scanner.Scanner<PK>default io.datarouter.scanner.Scanner<D>scanRanges(Collection<io.datarouter.util.tuple.Range<PK>> ranges, Config config) default io.datarouter.scanner.Scanner<PK>scanRangesKeys(Collection<io.datarouter.util.tuple.Range<PK>> ranges, Config config) Methods inherited from interface io.datarouter.storage.node.op.raw.read.SortedStorageReader
count, scan, scan, scan, scanKeys, scanKeys, scanKeys, scanKeysWithPrefix, scanKeysWithPrefix, scanKeysWithPrefixes, scanKeysWithPrefixes, scanRanges, scanRangesKeys, scanWithPrefix, scanWithPrefix, scanWithPrefixes, scanWithPrefixes
-
Method Details
-
getBackingNode
N getBackingNode() -
getAvailability
DatarouterClientAvailabilitySettings.AvailabilitySettingNode getAvailability() -
scanRangesKeys
default io.datarouter.scanner.Scanner<PK> scanRangesKeys(Collection<io.datarouter.util.tuple.Range<PK>> ranges, Config config) - Specified by:
scanRangesKeysin interfaceSortedStorageReader<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK, D>>
-
scanKeys
-
scanRanges
default io.datarouter.scanner.Scanner<D> scanRanges(Collection<io.datarouter.util.tuple.Range<PK>> ranges, Config config) - Specified by:
scanRangesin interfaceSortedStorageReader<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK, D>>
-
scan
default io.datarouter.scanner.Scanner<D> scan(io.datarouter.util.tuple.Range<PK> range, Config config) Description copied from interface:SortedStorageReaderThe scan method accepts a Range<PK> which identifies the startKey and endKey, and returns all contiguous rows between them, not skipping or filtering any. Implementations will generally query the database in batches to avoid long transactions and huge result sets.
When providing startKey and endKey, implementations will ignore fields after the first null. For example, when scanning a phone book with startKey:
* (null, null) is valid and will start at the beginning of the book
* (Corgan, null) is valid and will start at the first Corgan
* (Corgan, Matt) is valid and will start at Corgan, Matt
* (null, Matt) is invalid. The Matt is ignored, so it is equivalent to (null, null)
Note that (null, Matt) will NOT do any filtering for rows with firstName=Matt. To avoid tablescans we are returning all rows in the range to the client where the client can then filter. A predicate push-down feature may be added, but it will likely use a separate interface method.
-