See: Description
Interface | Description |
---|---|
PlanHashable |
A more stable version of
Object.hashCode() . |
RecordCursor<T> |
An asynchronous extension of
Iterator . |
RecordCursorVisitor |
A hierarchical visitor for record cursor trees designed mostly to allow tests to gather information without adding
invasive query methods to the
RecordCursor interface. |
RecordMetaDataProvider |
A source of
RecordMetaData . |
Class | Description |
---|---|
AsyncLoadingCache<K,V> |
A cache for retaining the result of some asynchronous operation up until some expiration time.
|
Bindings |
A map of bound parameter values passed to query evaluation.
|
Bindings.Builder |
A builder for
Bindings . |
EvaluationContext |
A context for query evaluation.
|
EvaluationContextBuilder |
A builder for
EvaluationContext . |
ExecuteProperties |
Limits on the execution of a query.
|
ExecuteProperties.Builder |
A builder for
ExecuteProperties . |
ExecuteState |
An encapsulation of the mutable state of query or scan execution.
|
FunctionNames |
Names of core-supported query functions.
|
IndexEntry |
An
IndexEntry carries around the key and value read from an index (as the name would imply). |
IndexScanType |
The way in which an index should be scanned.
|
MutableRecordStoreState |
A record store that can be modified to reflect changes made to the database.
|
PipelineOperation |
Kind of asynchronous pipelined operation being performed.
|
RecordFunction<T> |
A function to be applied to a record as part of query execution.
|
RecordMetaData |
Meta-data for Record Layer record stores.
|
RecordMetaDataBuilder |
A builder for
RecordMetaData . |
RecordScanLimiter |
Track number of records scanned up to some limit, after which record scans should not be allowed.
|
RecordStoreState |
The
RecordStoreState interface handles information
that might differ between otherwise identical record stores. |
ScanProperties |
A group of properties that pertain to a single scan.
|
TimeScanLimiter |
Track time remaining until a given time limit, after which record scans should not be allowed.
|
TupleRange |
A range within a subspace specified by two
Tuple endpoints. |
Enum | Description |
---|---|
Bindings.Internal |
Bindings slots used internally by plan operators.
|
CursorStreamingMode |
The streaming mode to use when opening
RecordCursor s. |
EndpointType |
The type of one of the endpoints of a
TupleRange . |
IndexState |
Different states an index might be in within a given store.
|
IsolationLevel |
The isolation level for reads from the database.
|
RecordCursor.NoNextReason |
The reason that
RecordCursor.hasNext() returned false . |
Exception | Description |
---|---|
RecordCoreArgumentException |
Functional equivalent of
IllegalArgumentException . |
RecordCoreException |
An exception thrown by the core of the Record Layer.
|
RecordCoreInterruptedException |
Functional equivalent of
InterruptedException . |
RecordCoreRetriableTransactionException |
An exception from transaction processing that ought to be retried.
|
RecordCoreStorageException |
Exceptions due to problems with the state of or connection to a particular record store.
|
RecordIndexUniquenessViolation |
An exception thrown when there is an attempt to store a duplicate value in a unique index.
|
RecordMetaDataBuilder.MetaDataProtoDeserializationException |
Exception thrown when meta-data cannot be loaded from serialized form.
|
ScanLimitReachedException |
Exception thrown when a transaction tries to scan more than the allowed number of key-value pairs.
|
TupleRange.ByteStringBoundException |
Exception thrown when range endpoint is not consistent with
CONTINUATION endpoint type. |
Annotation Type | Description |
---|---|
SpotBugsSuppressWarnings |
Suppress warnings from FindBugs / SpotBugs tools.
|
This layer is a record-oriented database based on Protocol Buffers.
Record instances are Protobuf Message
s stored in the FoundationDB key-value store.
Record data is mediated by a RecordMetaData
, which defines RecordType
s and their transactionally-consistent secondary Index
es.
All interaction with the database is performed inside a transaction, represented by an FDBRecordContext
.
An FDBRecordStore
represents a specific contiguous Subspace
of the key-value store used to store records for a specific meta-data.
Records can be retrieved directly from the record store by primary key. Or they can be gotten as the result of queries.
A RecordQuery
represents a logical query.
A RecordQueryPlanner
transforms a logical query into an executable RecordQueryPlan
, which can be run against a record store
to give a RecordCursor
of records.
The same meta-data can be used to describe multiple record stores.
To organize the placement of these record stores in separate key-value ranges according to hierarchical parameters, a KeySpace
is used.
All database operations are instrumented by a StoreTimer
, which can be hooked up to whatever logging and monitoring system a client uses.