|
void | getParameterType (ServerInterface srvInterface, SizedColumnTypes parameterTypes) |
|
void | getParserReturnType (ServerInterface srvInterface, PerColumnParamReader perColumnParamReader, PlanContext planCtxt, SizedColumnTypes argTypes, SizedColumnTypes returnType) throws UdfException |
|
void | getPerInstanceResources (ServerInterface srvInterface, VResources res) |
|
void | getPerInstanceResources (ServerInterface srvInterface, VResources res, SizedColumnTypes argTypes) |
|
void | getPrototype (ServerInterface srvInterface, ColumnTypes argTypes, ColumnTypes returnType) |
|
void | getReturnType (ServerInterface srvInterface, SizedColumnTypes argTypes, SizedColumnTypes returnType) |
|
UDXType | getUDXFactoryType () |
|
void | plan (ServerInterface srvInterface, PerColumnParamReader perColumnParamReader, PlanContext planCtxt) throws UdfException |
|
abstract UDParser | prepare (ServerInterface srvInterface, PerColumnParamReader perColumnParamReader, PlanContext planCtxt, SizedColumnTypes returnType) throws UdfException |
|
Produces and initializes UDParsers to parse input into tuples.
Note that ParserFactories are singletons. Subclasses should be stateless, with no fields containing data, just methods. plan() and prepare() methods must never modify any global variables or state; they may only modify the variables that they are given as arguments.
Function to tell Vertica what the return types (and length/precision if necessary) of this UDX are. Called, possibly multiple times, on each node executing the query.
The default provided implementation configures Vertica to use the same output column types as the destination table. This requires that the UDParser validate the expected output column types and emit appropriate tuples.
Note that the default provided implementation of this function should be sufficient for most Parsers, so this method should not be overridden by most Parser implementations.
If a COPY statement has a return type that doesn't match the destination table, Vertica will emit an appropriate error. Users can use COPY expressions to perform typecasting and conversion if necessary.
For CHAR/VARCHAR types, specify the max length,
For Time/Timestamp types (with or without time zone), specify the precision, -1 means unspecified/don't care
For all other types, no length/precision specification needed
- Parameters
-
srvInterface | Interface to server operations and functionality, including (not-per-column) parameter lookup |
perColumnParamReader | Per-column parameters passed into the query |
planCtxt | Context for storing and retrieving arbitrary data, for use just by this instance of this query. The same context is shared with plan(). |
argTypes | Provides the data types of arguments that this UDT was called with. This may be used to modify the return types accordingly. |
returnType | User code must fill in the names and data types returned by the UDT. |
- Exceptions
-
Execute any planning logic required at query plan time. This method is run once per query, during query initialization. Its job is to perform parameter validation, and to modify the set of nodes that the COPY statement will run on (through srvInterface).
plan() runs exactly once per query, on the initiator node. If it throws an exception, the query will not proceed; it will be aborted prior to distributing the query to the other nodes and running prepare().
- Parameters
-
srvInterface | Interface to server operations and functionality, including (not-per-column) parameter lookup |
perColumnParamReader | Per-column parameters passed into the query |
planCtxt | Context for storing and retrieving arbitrary data, for use just by this instance of this query. The same context is shared with plan(). |
- Exceptions
-