Package com.apple.foundationdb.record.metadata.expressions
Record keys used in indexes and the primary storage.
When used for primary keys, This should only produce a single index entry for each record.
-
Interface Summary Interface Description AtomKeyExpression An "atom expression" is one that has semantic meaning; that is, it presence is significant to the meaning of the expression.FunctionKeyExpression.Factory Implementations ofFunctionKeyExpression.Factory
are dynamically located by theFunctionKeyExpression.Registry
and are polled once to request a list of builders for functions that the factory is capable of producing.KeyExpression Interface for expressions that evaluate to keys.KeyExpressionWithChild AKeyExpression
with exactly one child expression.KeyExpressionWithChildren AKeyExpression
with child expressions.KeyExpressionWithoutChildren AKeyExpression
with no children.QueryableKeyExpression AKeyExpression
that can be used with aQueryKeyExpressionWithComparison
. -
Class Summary Class Description BaseKeyExpression Base class to provide some common logic shared between most expression implementations.CollateFunctionKeyExpression COLLATE
function.CollateFunctionKeyExpressionFactoryJRE Implemention ofCollateFunctionKeyExpression
usingTextCollatorRegistryJRE
.CollateFunctionKeyExpressionFactoryJRE.CollateFunctionKeyExpressionJRE ElementKeyExpression A key expression that derives its values from anElement
.EmptyKeyExpression A single empty key.FieldKeyExpression Take keys from a record field.FunctionKeyExpression AFunctionKeyExpression
is aKeyExpression
that is dynamically loaded and defined by aString
name and aKey.Expression
that produces sets of arguments to which the function is to be evaluated.FunctionKeyExpression.BiFunctionBuilder An implementation of aBuilder
that can construct aKeyExpressionFunction
via a provided generator.FunctionKeyExpression.Builder A builder is capable of producing an instance of aFunctionKeyExpression
given the arguments to the function.FunctionKeyExpression.Registry TheRegistry
maintains a mapping from a function name to aBuilder
capable of producing an instance of the function.GroupingKeyExpression A key expression that divides into two parts for the sake of aggregate or rank indexing.KeyWithValueExpression AKeyWithValue
expression is a top level expression that takes as input an expression that produces more than one column, and indicates that all columns before the specifiedsplitPoint
should be used in the key of a covering index and all of the values starting at thesplitPoint
are to be used as the value of a covering index.ListKeyExpression Combine keys from zero or more child keys.LiteralKeyExpression<T> Expression to allow a static value to be utilized in a key expression.NestingKeyExpression A key expression within a nested subrecord.RecordTypeKeyExpression A key expression that indicates that a unique record type identifier should be contained within the key.SplitKeyExpression Turn a key with repeated single values into multipleKey.Evaluated
containing several of the values.ThenKeyExpression Combine keys from two or more child keys.TupleFieldsHelper Static methods for dealing with special field types that are messages in protobuf but single items inTuple
s.VersionKeyExpression A key expression that indicates that a serializedFDBRecordVersion
should be contained within the key. -
Enum Summary Enum Description KeyExpression.FanType How should repeated fields be handled. -
Exception Summary Exception Description BaseKeyExpression.IllegalSubKeyException An exception that is thrown whenBaseKeyExpression.getSubKey(int, int)
is used incorrectly.BaseKeyExpression.UnsplittableKeyExpressionException An exception indicating that the key expression is not splittable.KeyExpression.DeserializationException Exception thrown when there is a problem deserializing a key expression.KeyExpression.InvalidExpressionException Exception thrown when there is a problem with using a key expression in a certain context.KeyExpression.InvalidResultException This is a runtime exception (i.e.KeyExpression.NoSuchArgumentException Exception thrown when a function key expression does not have an argument.KeyExpression.SerializationException Exception thrown when there is a problem serializing a key expression.