See: Description
Interface | Description |
---|---|
ArgumentConverter |
An ArgumentConverter is used by the
DefaultFunctionInvoker to convert
ScalarValuedFunction arguments to the correct type. |
EvaluatorFactory |
A factory used to construct evaluators for
ScalarValuedFunction s. |
FunctionContext |
Information about the context in which a function is
evaluated.
|
FunctionEvaluator |
An executor of a function.
|
FunctionInvoker |
A FunctionInvoker is used by the FunctionRegistry to invoke a function method and by
the AggregationInvoker to invoke an aggregation method.
The implementing class essentially translates an array of ScalarValuedFunction arguments into the proper format for a given function method. A function method can specify its invoker using the Invoker annotation. |
FunctionProvider |
A provider of registered classes for the
FunctionRegistry . |
FunctionTyper |
Determines the upper bound and result type of a
ScalarValuedFunction . |
NondeterministicFunctionEvaluator |
An executor of a function which is non-deterministic.
|
ScalarValuedFunction |
The description of a function taking record data and producing a scalar result.
|
Class | Description |
---|---|
Actions |
Provides implementations of action functions.
|
Arithmetic |
Provides implementations of common arithmetic functions.
|
Conditionals |
Provides implementations of common conditional evaluation functions.
|
ConstantArgumentConverter |
An abstract argument converter for converting String constants to the
correct object type.
Child classes should implement the convert(String) object to produce an object. |
ConstantReference |
A reference to a known value.
|
Conversions |
Provides implementations of common type conversion functions.
|
CoreFunctionProvider |
Registers core classes containing ScalarValuedFunction methods.
|
DateFormatArgumentConverter | |
DateTime |
Provides implementations of common date/time functions.
|
DateTimeValueArgumentConverter |
Converts an argument to a DateTimeValue enum value.
|
DefaultArgumentConverter |
The default argument converter.
|
DefaultFunctionInvoker |
A default function invoker, which passes arguments directly to the method using
an
ArgumentConverter .Arguments may specify a converter using the FunctionArgument annotation. |
EvaluationContext |
An object describing the context in which a subexpression of a
larger expression is being evaluated.
|
FieldReference |
A reference to a field in a record schema.
|
FixedType |
A typer for functions which return a fixed, known type.
|
FormatFunctionInvoker |
A specialized function invoker for format.
|
Formatting |
Provides implementations of common formatting functions.
|
FunctionDescription |
A description of a function, including its name, description, and argument names.
|
FunctionRegistry |
Stores a list of functions registered by the FunctionTypeResoultionProvider, and
provides a method for calling those functions.
|
FunctionUtil |
A collection of useful utilities for implementing classes related
to functions.
|
GranularityArgumentConverter |
Converts an argument to a Granularity enum value.
|
InputMappedFactory |
A factory mapped by the widest type encompassing
one or more input values.
|
ListFunctionInvoker |
A function invoker which passes all of its arguments as a single list to the method.
|
MappedEvaluatorFactory |
A base class for factories which choose an evaluator based on a
token type.
|
MappedEvaluatorFactory.Mapping |
Defines a mapping between data type and an evaluator class.
|
Math |
Provides implementations of common math functions found in the
Math library. |
NumberFormatArgumentConverter |
Converts an argument to a NumberFormat object.
|
Predicates |
Provides implementations of common boolean and logical functions.
|
ReflectiveFactory |
A factory creating a fixed class of function evaluator.
|
ResultMappedFactory |
A factory mapped by the expected type of the result.
|
ScalarFunctionDescriptor |
Describes an implementation of a function.
|
ScalarFunctionDescriptor.SubexpressionBound |
Specifies a bound on subexpressions used as arguments to a function.
|
SimpleFunctionProvider |
Convenient base class for implementations of
FunctionProvider . |
Statistics |
Provides implementations of common statistical functions.
|
Strings |
Provides implementations of common string functions.
|
TimeZoneArgumentConverter |
Converts an argument to a TimeZone object.
|
WavgFunctionInvoker |
A specialized function invoker for wavg.
|
WidestInputTyper |
A typer determining the output type of a function based
on the types of one or more inputs.
|
Enum | Description |
---|---|
DateTime.DateTimeValue |
Definitions of date and time values that can be extracted from date and timestamp types.
|
DateTime.Granularity |
The desired granularity of the output.
|
Strings.NullConcatenation |
Specifies behavior of null values for string concatenation.
|
Exception | Description |
---|---|
InvalidFunctionArgumentException |
Exception thrown when an invalid argument is passed to a function
within an expression.
|
InvalidOperandTypeException |
An exception indicating the data type of a subexpression is not valid
for use in the containing expression.
|
Many operators on records can be expressed as functions. These take a record from the input, perform some computation on the records, and emit a new record on the output. This can further be broken down into a sequence of functions producing each output field. These take values from one or more (or even no) fields from the record, and compute a single value representing the field's value.
Because functions encompass a much smaller range of functionality than do operators, they can generally be implemented much more quickly and easily. Functions, like operators, are composable - multiple functions can be combined to build more complex processing. Additionally, multiple functions can be applied to a record, yielding multiple values which can be appended or overlaid on the original records.
Due to this composability, functions enjoy some performance advantages over operators as they can combine the effects of several simple operators into one, reducing the total overhead related to the execution of operators. It should be noted that not all operators can be expressed as functions; only operators which produce one record of output per each record of input can be expressed in this way.
DeriveFields
,
FilterRows
,
FieldCopier
Copyright © 2019 Actian Corporation. All rights reserved.