C++ SDK Documentation  11.0.0
Vertica::VerticaValueRange Class Reference

This class represents value ranges used in analyzing the output of UDSFs. A range is expressed as a minimum/maximum value (inclusive) pair. More...

Collaboration diagram for Vertica::VerticaValueRange:
Collaboration graph

Classes

struct  ValueRange
 

Public Types

enum  BoundType { LO_BOUND, UP_BOUND }
 

Protected Member Functions

void addArg (char *loBound, char *upBound, const VerticaType &dt, EE::ValueSort sortedness, bool canHaveNulls)
 

Protected Attributes

std::string dbName
 
std::map< std::string, std::string > dependencies
 
Oid funcOid
 
Oid libOid
 
std::string locale
 
size_t narg
 
std::string nodeName
 
ParamReader paramReader
 
Oid publicOid
 
std::vector< ValueRangeranges
 
ParamReader sessionParamReader
 
std::string sqlName
 
std::vector< VStringsvWrappersLo
 
std::vector< VStringsvWrappersUp
 
SessionParamReaderMap udSessionParamReaderMap
 
std::string userName
 
std::vector< VUuiduuWrappersLo
 
std::vector< VUuiduuWrappersUp
 
LoggingFunc vlogPtr
 
std::vector< VNumeric > vnWrappersLo
 
std::vector< VNumeric > vnWrappersUp
 

Friends

class ::UdfSupport
 
class EE::UserDefinedAggregate
 
class EE::UserDefinedAnalytic
 
class EE::UserDefinedTransform
 

Detailed Description

This class represents value ranges used in analyzing the output of UDSFs. A range is expressed as a minimum/maximum value (inclusive) pair.

Instances of this class are used to allow UDSF developers to specify what the output range of of the function is. The UDSF developer is responsible to override ScalarFunction::getOutputRange() and set the function's output range using the knowledge of the input argument ranges passed as references to ScalarFunction::getOutputRange().

Member Function Documentation

void Vertica::VerticaValueRange::addArg ( char *  loBound,
char *  upBound,
const VerticaType dt,
EE::ValueSort  sortedness,
bool  canHaveNulls 
)
inlineprotected

Add a value range of a particular function argument

Parameters
loBoundBase location to find the lower bound data
upBoundBase location to find the upper bound data
sortednessSortedness of values in the range
dtThe data type of range bounds

Member Data Documentation

std::string Vertica::VerticaValueRange::dbName
protected

Store the name of the current database

std::map<std::string, std::string> Vertica::VerticaValueRange::dependencies
protected

The list of all dependencies

Oid Vertica::VerticaValueRange::funcOid
protected

The Oid of the function

Oid Vertica::VerticaValueRange::libOid
protected

The Oid of the library

std::string Vertica::VerticaValueRange::locale
protected

The locale of the current session

std::string Vertica::VerticaValueRange::nodeName
protected

Store the name of the current node

ParamReader Vertica::VerticaValueRange::paramReader
protected

A reader for paremeters that have been toknized using the following format: key1=val1,key2=val2,key3=val3. Has accessor methods like BlockReader to be able to access parameters of different data types

Oid Vertica::VerticaValueRange::publicOid
protected

The Oid for public user-defined session parameters and blobs

ParamReader Vertica::VerticaValueRange::sessionParamReader
protected

A map for session paremeters UDx might specify what session parameters it wants in its "manifest" Server will try to provide, if it agrees with that request

std::string Vertica::VerticaValueRange::sqlName
protected

Store the name for error logging

SessionParamReaderMap Vertica::VerticaValueRange::udSessionParamReaderMap
protected

A map for session UDParameters that were set in the session by a user or by a UDx

std::string Vertica::VerticaValueRange::userName
protected

The username of the current session

LoggingFunc Vertica::VerticaValueRange::vlogPtr
protected

Callback for logging, set by the server