C++ SDK Documentation
12.0.3
|
Interface to provide compile-time information for a single phase of a multi-phase user-defined transform function. More...
Public Member Functions | |
virtual TransformFunction * | createTransformFunction (ServerInterface &srvInterface)=0 |
virtual void | getReturnType (ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnTypes)=0 |
bool | isPrepass () |
void | setPrepass () |
Indicates that this phase is a pre-pass (i.e., runs before any data movement) | |
Interface to provide compile-time information for a single phase of a multi-phase user-defined transform function.
Note that even though this class shares some methods with TransformFunctionFactory, it is explicitly not a subclass (because it is incorrect to implement a getPrototype() method for this class).
|
pure virtual |
Called when Vertica needs a new TransformFunction object to process this phase of a multi-phase UDT.
srvInterface | a ServerInterface object used to communicate with Vertica |
|
pure virtual |
Function to tell Vertica what the return types (and length/precision if necessary) and partition-by, order-by of this phase are.
For CHAR/VARCHAR types, specify the max length,
For NUMERIC types, specify the precision and scale.
For Time/Timestamp types (with or without time zone), specify the precision, -1 means unspecified/don't care
For IntervalYM/IntervalDS types, specify the precision and range
For all other types, no length/precision specification needed
argTypes | Provides the data types of arguments that this phase was called with, along with partition and order information. This may be used to modify the return types accordingly. |
returnTypes | User code must fill in the names and data types returned by this phase, along with the partition-by and order-by column information (if any). |