C++ SDK Documentation  9.0
Vertica::TransformFunction Class Referenceabstract

Interface for User-Defined Transform Function (UDTF). A UDTF operates on a table segment and returns zero or more rows of data. More...

Inheritance diagram for Vertica::TransformFunction:
Inheritance graph
Collaboration diagram for Vertica::TransformFunction:
Collaboration graph

Public Member Functions

virtual void cancel (ServerInterface &srvInterface)
 
virtual void destroy (ServerInterface &srvInterface, const SizedColumnTypes &argTypes)
 
virtual void destroy (ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SessionParamWriterMap &udSessionParams)
 
bool isCanceled ()
 
virtual void processPartition (ServerInterface &srvInterface, PartitionReader &input_reader, PartitionWriter &output_writer)=0
 
virtual void setup (ServerInterface &srvInterface, const SizedColumnTypes &argTypes)
 

Protected Attributes

volatile bool canceled
 

Detailed Description

Interface for User-Defined Transform Function (UDTF). A UDTF operates on a table segment and returns zero or more rows of data.

UDTFs can only be used in the SELECT list of a query. UDTFs are cancelable.

A TransformFunction must have an associated TransformFunctionFactory.

Member Function Documentation

virtual void Vertica::UDXObjectCancelable::cancel ( ServerInterface srvInterface)
inlinevirtualinherited

This function is invoked from a different thread when the execution is canceled This baseclass cancel should be called in any override.

virtual void Vertica::UDXObject::destroy ( ServerInterface srvInterface,
const SizedColumnTypes argTypes 
)
inlinevirtualinherited

Perform per instance destruction. This function may throw errors

virtual void Vertica::UDXObject::destroy ( ServerInterface srvInterface,
const SizedColumnTypes argTypes,
SessionParamWriterMap udSessionParams 
)
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

bool Vertica::UDXObjectCancelable::isCanceled ( )
inlineinherited

Returns true if execution was canceled.

virtual void Vertica::TransformFunction::processPartition ( ServerInterface srvInterface,
PartitionReader input_reader,
PartitionWriter output_writer 
)
pure virtual

Invoke a user defined transform on a set of rows. As the name suggests, a batch of rows are passed in for every invocation to amortize performance.

Parameters
srvInterfacea ServerInterface object used to communicate with Vertica
input_readerinput rows
output_writeroutput location
virtual void Vertica::UDXObject::setup ( ServerInterface srvInterface,
const SizedColumnTypes argTypes 
)
inlinevirtualinherited

Perform per instance initialization. This function may throw errors.