All Classes and Interfaces
Class
Description
This represents a generic plan cache interface intended for streamlining interactions with the cache.
Abstract class to provide a common implementation for Statement.execute.
Skeleton implementation of a ConstantActionFactory.
Visitor of SQL query abstract syntax tree (AST) that does the following:
strip literals from the query and put them in a separate ordered list, to be used later during planning and execution
process prepared parameters and replace their values in the literals ordered list
generate canonical representation of the query syntax
generate a query hash
understand parameters necessary for execution: limit, offset, continuation, and explain flag.
A set of flags that determine how the query should interact with the plan cache.
This class is a composition of different, specialized AST visitors.
A local cache of RecordMetaData objects, intended to be held by a single Database at a time (and thus holding
only a small number of MetaData fields).
A
IntStream
stream, that enables allows a case-sensitive Lexer
to become case-insensitive by upper-casing the stream of symbols arriving to it.Represents a entry key in the
LogicalOperatorCatalog
that is used to lookup a LogicalOperator
.An implementation of
DatabaseMetaData
, that relies on the StoreCatalog
to supply metadata info.A RecordMetaDataStore that relies on the StoreCatalog to provide it with information.
A simple interface for representing a Clock logically.
Utility class for creating different clock instances.
Protobuf type
com.apple.foundationdb.relational.continuation.CompiledStatement
Protobuf type
com.apple.foundationdb.relational.continuation.CompiledStatement
Denotes that a class is scoped to a database Connection, and should be destroyed if/when that transaction is destroyed.
A Builder class for an implementation of a
Continuation
.This class represents the
DatabaseInfo
system table.Deprecated.
Interface for executing administrative metadata queries.
Placeholder factory for creating DdlQuery entities.
A sampler which tests individual elements according to a fixed-throughput adaptive strategy.
Implementation of
RelationalConnection
for connecting to a database in Relational when running as an embedded library.The Engine that drives and manages an Embedded Relational instance.
An expression that is used mainly for alias resolution and does not materialize into an operator output.
A Sampler which will aim for a long-term stable throughput at or less than a certain fraction of events
(instead of per unit time).
This represents a logical expression that has an optional name, a type, and an underlying representation used to
generate a logical plan.
This visits expression tree parse nodes and generates a corresponding
Expression
.Represents a connection to a single FDB cluster.
a
TrieNode
implementation having a FieldValue.ResolvedAccessor
as key.Converts hexadecimal Strings.
An implementation of
RelationalStruct
which is backed by a Row
object.Generates a
KeyExpression
from a given query plan.Placeholder result set until better generic abstractions come along.
Protobuf type
com.apple.foundationdb.relational.continuation.LiteralObject
Protobuf type
com.apple.foundationdb.relational.continuation.LiteralObject.Array
Protobuf type
com.apple.foundationdb.relational.continuation.LiteralObject.Array
Protobuf type
com.apple.foundationdb.relational.continuation.LiteralObject
A logical operator wraps an SQL operation that produces some output.
This represents an SQL fragment that comprises one or more
LogicalOperator
(s).An immutable representation of a Query.
A function that is able to memoize the codomain of its input.
MetricCollector provides a utility API to register events and counts while performing operations in the Relational
system.
An implementation of
FDBStoreTimer
that defers
actual metric collection to a MetricRegistry
.This is a simple generic cache of caches of caches that employs LRU and TTL expiration policies.
Context keeping state related to plan generation, it also captures execution-specific attributes that influences
how the physical plan is handled at runtime, such as continuation, limit, and offset.
Denotes that a class is not scoped to a transaction.
A utility for accessing a no-op
MetricRegistry
.Implementation of Schema template that holds (name, version) and no tables.
Implementation of Schema template catalog that ignores CRUD operations on templates.
A Utils class that holds logic related to nullable arrays.
Contains a set of utility methods that are relevant for parsing the AST.
this holds query parsing information.
Represents a key in the secondary cache with special logic for look up.
This contains a set of configurations given to the planner that fine-tunes its behavior.
Warn: this class is stateful.
Deprecated.
Contains a set of utility methods that are relevant for parsing the AST.
This is used to look up a plan in the primary cache (see
MultiStageCache
for more information).A query executor that executes a plan and returns its results.
This parses a given SQL statement and returns an abstract syntax tree.
This represents a logical query plan that can be executed to produce a
ResultSet
.This transaction object must be destroyed when it's creating connection is destroyed.
Holder object for RecordLayer-specific stuff that isn't directly tied to an actual FDB StorageCluster.
Will eventually remove CreateSchemaConstantAction and replace it with this.
The RecordLayerMetricCollector is an implementation of MetricCollector that is bound to a
FDBRecordContext
object and hence scoped to a single transaction.Represents a single FDBCluster, and all of it's associated logical components (Catalog, TransactionManager, etc).
Represents a
Table
that is backed by the Record Layer.A builder for
RecordLayerTable
.This transaction object must be destroyed when it's creating connection is destroyed.
A table implementation based on a specific record type.
There can only be 1 Database object per Connection instance, and its lifecycle is managed by the connection
itself.
The Relational Keyspace.
This class provides an empty implementation of
RelationalParserListener
,
which can be extended to create a listener which only needs to handle a subset
of the available methods.This class provides an empty implementation of
RelationalParserVisitor
,
which can be extended to create a visitor which only needs to handle a subset
of the available methods.This interface defines a complete listener for a parse tree produced by
RelationalParser
.This interface defines a complete generic visitor for a parse tree produced
by
RelationalParser
.This is just a specialization of
MultiStageCache
with concrete types specific to plan caching.An implementation of a RelationalArray that is materialized, that is, it holds all its elements in a
List
.Implementation of
RelationalStruct
that is backed by a Row
.A Logical structure for determining whether a given entry in a stream can be sampled.
Utility methods and classes to improve the construction of various different sampling methods.
This class represents the
Schema
system table.A Catalog for holding Schema Templates.
Performs basic semantic analysis and resolution legwork.
A registry for loading serializing based on a KeySpacePath.
This is a no-op
Visitor
added to make convenient to implement other visitors
targeting specific Metadata
artifacts.A catalog of built-in SQL functions.
This represents a SQL
*
expression, it is capable of understanding the expanded representation of the star
(in terms of other Expression
(s).A Representation of a cluster of storage servers (either FDB, or some theoretical alternative).
Relational Catalog.
StoreCatalog
supplier.This interface provides an abstraction for a database system table (view).
A static registry of all available
SystemTable
s, the purpose of this interface
is to provide a placeholder of these tables that could be consulted e.g.A sampling engine which will pass a sample test according to a TokenBucket algorithm.
There can only be 1 Database object per Connection instance, and its lifecycle is managed by the connection
itself.
A specialized derived class of
EmbeddedRelationalEngine
that creates a TransactionBoundDatabase
for every connection.A thin implementation of
StorageCluster
creates a new TransactionBoundDatabase
when TransactionBoundStorageCluster.loadDatabase(URI, Options)
is called.Denotes that a class is scoped to a transaction, and should be destroyed if/when that transaction is destroyed.
Protobuf type
com.apple.foundationdb.relational.continuation.TypedQueryArgument
Protobuf type
com.apple.foundationdb.relational.continuation.TypedQueryArgument
This interface specializes the signatures of the auto-generated
RelationalParserVisitor
to make
it type-safe and make it less error-prune.