C++ SDK Documentation  24.2.0
Vertica::UDXFactory Class Referenceabstract

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

Inheritance diagram for Vertica::UDXFactory:
Inheritance graph
Collaboration diagram for Vertica::UDXFactory:
Collaboration graph

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 &parameterTypes)
 
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

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
srvInterfacea ServerInterface object used to communicate with Vertica
resa 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
srvInterfacea ServerInterface object used to communicate with Vertica
resa VResources object used to tell Vertica what resources are needed by the UDX
argTypesProvides the data types of arguments that this UDT was called with

Reimplemented in Vertica::UDLFactory.

◆ getUDXFactoryType()

virtual UDXType Vertica::UDXFactory::getUDXFactoryType ( )
pure virtual