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

Interface for User-Defined Analytic Function (UDAnF). A UDAnF operates on rows of data and returns rows of data, not necessarily 1:1. More...

Inheritance diagram for Vertica::AnalyticFunction:
Inheritance graph
Collaboration diagram for Vertica::AnalyticFunction:
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, AnalyticPartitionReader &input_reader, AnalyticPartitionWriter &output_writer)=0
 
virtual void setup (ServerInterface &srvInterface, const SizedColumnTypes &argTypes)
 

Protected Attributes

volatile bool canceled
 

Detailed Description

Interface for User-Defined Analytic Function (UDAnF). A UDAnF operates on rows of data and returns rows of data, not necessarily 1:1.

An AnalyticFunction must have an associated AnalyticFunctionFactory.

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::AnalyticFunction::processPartition ( ServerInterface srvInterface,
AnalyticPartitionReader input_reader,
AnalyticPartitionWriter output_writer 
)
pure virtual

Invoke a user defined analytic 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.