C++ SDK Documentation
23.4.0
|
Interface for User-Defined Scalar Function (UDSF). A UDSF produces a single value from a row of data. More...
Public Member Functions | |
void | cancelUDX (ServerInterface &srvInterface) |
virtual void | destroy (ServerInterface &srvInterface, const SizedColumnTypes &argTypes) |
virtual void | destroy (ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SessionParamWriterMap &udSessionParams) |
virtual void | getOutputRange (ServerInterface &srvInterface, ValueRangeReader &inRange, ValueRangeWriter &outRange) |
bool | isCanceled () const |
virtual void | processBlock (ServerInterface &srvInterface, BlockReader &arg_reader, BlockWriter &res_writer)=0 |
virtual void | setup (ServerInterface &srvInterface, const SizedColumnTypes &argTypes) |
Protected Member Functions | |
virtual void | cancel (ServerInterface &srvInterface) |
Friends | |
struct | ::CPPExecContext |
class | ::EE::VEval |
class | ::UdfSupport |
Interface for User-Defined Scalar Function (UDSF). A UDSF produces a single value from a row of data.
A UDSF can be used anywhere a native function can be used, except CREATE TABLE BY PARTITION and SEGMENTED BY expressions.
A ScalarFunction must have an associated ScalarFunctionFactory.
|
inlineprotectedvirtualinherited |
Cancel callback to be overridden by the UDX. Called when the query running the UDX has been canceled.
Referenced by Vertica::UDXObject::cancelUDX().
|
inlineinherited |
Cancel callback invoked when the query running the UDX has been canceled. See cancel().
|
inlinevirtualinherited |
Perform per instance destruction. This function may throw errors
Referenced by Vertica::UDXFunction::destroy().
|
inlinevirtualinherited |
Perform per instance destruction and write session parameters to be used by UDxs that are invoked after this one returns. This function may throw errors
|
inlinevirtual |
Invoke a user defined function to determine the output value range of this function. Ranges are represented by a minimum/maximum pair of values (inclusive). The developer is responsible to provide an output value range on the basis of the input argument ranges. Minimum/maximum values of ranges are of the same type as defined in the metadata class getPrototype() function.
srvInterface | a ServerInterface object used to communicate with Vertica |
inRange | input value range |
outRange | output value range |
|
inlineinherited |
|
pure virtual |
Invoke a user defined function on a set of rows. As the name suggests, a batch of rows are passed in for every invocation to amortize performance.
srvInterface | a ServerInterface object used to communicate with Vertica |
arg_reader | input rows |
res_writer | output location |
|
inlinevirtualinherited |
Perform per instance initialization. This function may throw errors.