Package com.pervasive.datarush.functions
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.
- See Also:
DeriveFields
,FilterRows
,FieldCopier
-
Interface Summary Interface Description ArgumentConverter An ArgumentConverter is used by theDefaultFunctionInvoker
to convert ScalarValuedFunction arguments to the correct type.EvaluatorFactory A factory used to construct evaluators forScalarValuedFunction
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 theFunctionRegistry
.FunctionTyper Determines the upper bound and result type of aScalarValuedFunction
.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 Summary 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 anArgumentConverter
.
Arguments may specify a converter using theFunctionArgument
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.GeneratorFunctions Provides implementations of Generator 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.ListFunctions Provides implementations of common List functions.MapFunctions Provides implementations of common Map functions.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 theMath
library.NumberFormatArgumentConverter Converts an argument to a NumberFormat object.ObjectInputTyper A typer determining the output type of a function based on the types of one or more Object inputs.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 ofFunctionProvider
.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 Summary 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 Summary 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.