|  | C++ SDK Documentation
    24.2.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.