Interface for declaring parameters and return types for, and instantiating, an associated ScalarFunction.
More...
|
| enum | UDXType {
SCALAR = 1,
TRANSFORM = 2,
ANALYTIC = 3,
MULTI_TRANSFORM = 4,
AGGREGATE = 5,
LOAD_SOURCE = 6,
LOAD_FILTER = 7,
LOAD_PARSER = 8,
FILESYSTEM = 9,
TYPE = 10,
CURSOR_TRANSFORM = 11
} |
| |
|
|
Oid | libOid |
| |
|
std::string | sqlName |
| |
Interface for declaring parameters and return types for, and instantiating, an associated ScalarFunction.
The type of UDX instance this factory produces
| virtual ScalarFunction* Vertica::ScalarFunctionFactory::createScalarFunction |
( |
ServerInterface & |
srvInterface | ) |
|
|
pure virtual |
- Returns
- an ScalarFunction object which implements the UDx API described by this metadata.
- Parameters
-
| srvInterface | a ServerInterface object used to communicate with Vertica |
- Note
- More than one object may be instantiated per query.
| virtual void Vertica::UDXFactory::getParameterType |
( |
ServerInterface & |
srvInterface, |
|
|
SizedColumnTypes & |
parameterTypes |
|
) |
| |
|
inlinevirtualinherited |
Function to tell Vertica the name and types of parameters that this function uses. Vertica will use this to warn function callers that certain parameters they provide are not affecting anything, or that certain parameters that are not being set are reverting to default values.
| virtual void Vertica::UDXFactory::getPerInstanceResources |
( |
ServerInterface & |
srvInterface, |
|
|
VResources & |
res |
|
) |
| |
|
inlinevirtualinherited |
Set the resource required for each instance of the UDX Object subclass. Users should override only one of the following methods.
- Parameters
-
| srvInterface | a ServerInterface object used to communicate with Vertica |
| res | a VResources object used to tell Vertica what resources are needed by the UDX |
| virtual void Vertica::UDXFactory::getPerInstanceResources |
( |
ServerInterface & |
srvInterface, |
|
|
VResources & |
res, |
|
|
const SizedColumnTypes & |
inputTypes |
|
) |
| |
|
inlinevirtualinherited |
Set the resource required for each instance of the UDX Object subclass. Users should override only one of the following methods.
- Parameters
-
| srvInterface | a ServerInterface object used to communicate with Vertica |
| res | a VResources object used to tell Vertica what resources are needed by the UDX |
| argTypes | Provides the data types of arguments that this UDT was called with |
| virtual void Vertica::FunctionFactory::getPrototype |
( |
ServerInterface & |
srvInterface, |
|
|
ColumnTypes & |
argTypes, |
|
|
ColumnTypes & |
returnType |
|
) |
| |
|
pure virtualinherited |
Provides the argument and return types of the UDX
For scalar functions, this function needs to be overridden only if the return type needs length/precision specification.
- Parameters
-
| srvInterface | a ServerInterface object used to communicate with Vertica |
| argTypes | The data type of the return value defined by processBlock() |
| returnType | The size of the data returned by processBlock() |
Implements Vertica::FunctionFactory.
| virtual UDXType Vertica::ScalarFunctionFactory::getUDXFactoryType |
( |
| ) |
|
|
inlineprotectedvirtual |
Strictness and Volatility settings that the UDSF programmer can set Defaults are VOLATILE and CALLED_ON_NULL_INPUT