com.vertica.sdk.AnalyticFunction Class Reference

Inheritance diagram for com.vertica.sdk.AnalyticFunction:

Collaboration diagram for com.vertica.sdk.AnalyticFunction:

Public Member Functions
final void cancelUDX (ServerInterface srvInterface)
void destroy (ServerInterface srvInterface, SizedColumnTypes argTypes)
void destroy (ServerInterface srvInterface, SizedColumnTypes argTypes, SessionParamWriterMap udSessionParams)
boolean isCanceled ()
abstract void processPartition (ServerInterface srvInterface, AnalyticPartitionReader input_reader, AnalyticPartitionWriter output_writer) throws UdfException, DestroyInvocation
void setup (ServerInterface srvInterface, SizedColumnTypes argTypes)
Protected Member Functions
void cancel (ServerInterface srvInterface)

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

void com.vertica.sdk.UDXObject.cancel(ServerInterface srvInterface)

protected inherited Cancel callback to be overridden by the UDX implementation. Called when the query running the UDX has been canceled.

  • This method will be invoked at most once per UDX object. Once a UDX object has been canceled, it will never be un-canceled.

  • This method may be called from a separate thread, concurrently with other methods of this UDX object (but never the constructor). Implementations must be thread-safe with all methods of this UDX.

  • This method will be invoked for either an explicit user cancel, or in the event of an error during query execution.

Parameters

  • srvInterface: a ServerInterface object used to communicate with Vertica

Referenced by com.vertica.sdk.UDXObject.cancelUDX().

final void com.vertica.sdk.UDXObject.cancelUDX(ServerInterface srvInterface)

inherited Cancel callback invoked when the query running the UDX has been canceled.

See cancel().

Parameters

  • srvInterface: a ServerInterface object used to communicate with Vertica
void com.vertica.sdk.UDXFunction.destroy(ServerInterface srvInterface, SizedColumnTypes argTypes)

inherited Perform per instance destruction. This function may throw errors

Parameters

  • srvInterface: a ServerInterface object used to communicate with Vertica
  • argTypes: the types of the arguments (as SizedColumnTypes)

Referenced by com.vertica.sdk.UDXFunction.destroy().

void com.vertica.sdk.UDXFunction.destroy(ServerInterface srvInterface, SizedColumnTypes argTypes, SessionParamWriterMap udSessionParams)

inherited 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

Parameters

  • srvInterface: a ServerInterface object used to communicate with Vertica
  • argTypes: the types of the arguments (as SizedColumnTypes)
  • udSessionParams: a SessionParamWriterMap
boolean com.vertica.sdk.UDXObject.isCanceled()

inherited Returns true if execution was canceled.

Referenced by com.vertica.sdk.UDXObject.cancelUDX().

abstract void com.vertica.sdk.AnalyticFunction.processPartition(ServerInterface srvInterface, AnalyticPartitionReader input_reader, AnalyticPartitionWriter output_writer) throws UdfException, DestroyInvocation

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

  • srvInterface: a ServerInterface object used to communicate with Vertica
  • input_reader: input rows
  • output_writer: output location

Exceptions

  • UdfException: UDF problem
  • DestroyInvocation: vertica canceling – do not catch or handle
void com.vertica.sdk.UDXFunction.setup(ServerInterface srvInterface, SizedColumnTypes argTypes)

inherited Perform per instance initialization. This function may throw errors.

Parameters

  • srvInterface: a ServerInterface object used to communicate with Vertica
  • argTypes: the types of the arguments (as SizedColumnTypes)