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