Vertica::UDXFactory Class Reference

Parent class for UDx factories; not intended for direct use by applications.

Inheritance diagram for Vertica::UDXFactory:

Collaboration diagram for Vertica::UDXFactory:

Public Types
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, KEYMANAGER = 12 }
Public Member Functions
virtual void getParameterType (ServerInterface &srvInterface, SizedColumnTypes meterTypes)
virtual void getPerInstanceResources (ServerInterface &srvInterface, VResources &res)
virtual void getPerInstanceResources (ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes)
virtual UDXType getUDXFactoryType ()=0
Protected Attributes
Oid libOid
std::string sqlName
Friends
class ::UdfSupport

Detailed Description

Parent class for UDx factories; not intended for direct use by applications.

Member Enumeration Documentation

UDXType

enum Vertica::UDXFactory::UDXType

The type of UDX instance this factory produces

Member Function Documentation

getParameterType()

virtual void Vertica::UDXFactory::getParameterType(ServerInterface & srvInterface, SizedColumnTypes & parameterTypes)

inlinevirtual

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.

Reimplemented in Vertica::ParserFactory.

getPerInstanceResources() [1/2]

virtual void Vertica::UDXFactory::getPerInstanceResources(ServerInterface & srvInterface, VResources & res)

inlinevirtual

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

Reimplemented in Vertica::UDLFactory.

Referenced by getPerInstanceResources().

getPerInstanceResources() [2/2]

virtual void Vertica::UDXFactory::getPerInstanceResources(ServerInterface & srvInterface, VResources & res, const SizedColumnTypes & inputTypes)

inlinevirtual

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

Reimplemented in Vertica::UDLFactory.

getUDXFactoryType()

virtual UDXType Vertica::UDXFactory::getUDXFactoryType()

pure virtual Returns the type of UDX Object instance this factory returns.

Note User subclasses should use the appropriate subclass of UDXFactory and not override this method on their own.

Implemented in Vertica::UDKeyManagerFactory, Vertica::MultiPhaseTransformFunctionFactory, Vertica::AggregateFunctionFactory, Vertica::AnalyticFunctionFactory, Vertica::TransformFunctionFactory, Vertica::ScalarFunctionFactory, Vertica::ParserFactory, Vertica::FilterFactory, Vertica::IterativeSourceFactory, and Vertica::UDFileSystemFactory.