This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Class Index

A | B | C | D | E | F | I | L | M | N | O | P | R | S | T | U | V

A

defserializer (Vertica)   

N

ScalarFunctionFactory (Vertica)   

UDFilter (Vertica)   

defserializer (Vertica)   

ScopedTimerCounter (Vertica)   

UDKeyManager (Vertica)   

AESKey (Vertica)   

defserializer (Vertica)   

VerticaBlock::NestedBlockPtr (Vertica)   

ServerInterface (Vertica)   

UDKeyManagerFactory (Vertica)   

AggregateFunction (Vertica)   

defserializer (Vertica)   

NodeSpecifyingPlanContext (Vertica)   

SessionParamReaderMap (Vertica)   

UDLFactory (Vertica)   

AggregateFunctionFactory (Vertica)   

E
O

SessionParamWriterMap (Vertica)   

UDParser (Vertica)   

AnalyticFunction (Vertica)   

SimpleArchiveIn (Vertica)   

UDSource (Vertica)   

AnalyticFunctionFactory (Vertica)   

ExecutorParamWriter (Vertica)   

OpenOptions (Vertica)   

SimpleArchiveOut (Vertica)   

UDxCounterRequest (Vertica)   

AnalyticPartitionReader (Vertica)   

ExecutorPlanContext (Vertica)   

P

SizedColumnTypes (Vertica)   

UDXFactory (Vertica)   

AnalyticPartitionWriter (Vertica)   

F

SourceFactory (Vertica)   

UDXFunction (Vertica)   

ArrayReader (Vertica::Array)   

ParallelismInfo (Vertica)   

SourceIterator (Vertica)   

UDXObject (Vertica)   

ArrayWriter (Vertica::Array)   

Field (Vertica)   

ParamReader (Vertica)   

SplitArchiver (Vertica)   

UDxRegistrar (Vertica)   

B

Fields (Vertica)   

ParamWriter (Vertica)   

SplitArchiver (Vertica)   

UnsizedUDSource (Vertica)   

FilterFactory (Vertica)   

ParserFactory (Vertica)   

SplitArchiver (Vertica)   

Uuid (Basics)   

BasePartitionWriterColumn (Vertica)   

FIunion (Vertica)   

PartitionOrderColumnInfo (Vertica)   

stack_array   

V

BigInt (Basics)   

FiveToScale (Basics)   

PartitionReader (Vertica)   

StreamWriter (Vertica)   

BlockFormatter (Vertica)   

ServerInterface::FunctionDescription (Vertica)   

PartitionWriter (Vertica)   

StringValue (EE)   

VerticaValueRange::ValueRange (Vertica)   

BlockFormatterCout (Vertica)   

FunctionFactory (Vertica)   

PartitionWriterColumn (Vertica)   

T

ValueRangeReader (Vertica)   

BlockReader (Vertica)   

I

PartitionWriterColumns (Vertica)   

ValueRangeWriter (Vertica)   

BlockWriter (Vertica)   

PartitionWriterNumericColumn (Vertica)   

TransformFunction (Vertica)   

VerticaBlock (Vertica)   

C

inlining_array   

PartitionWriterStringColumn (Vertica)   

TransformFunctionFactory (Vertica)   

VerticaBuildInfo (Vertica)   

IntermediateAggs (Vertica)   

PartitionWriterUuidColumn (Vertica)   

TransformFunctionPhase (Vertica)   

VerticaType (Vertica)   

ClientMessage (Vertica)   

IterativeSourceFactory (Vertica)   

PerColumnParamReader (Vertica)   

ServerInterface::TypeDescription (Vertica)   

VerticaValueRange (Vertica)   

ColumnTypes (Vertica)   

L

PlanContext (Vertica)   

Typemod   

VInterval (Vertica)   

ConcurrencyModel (Vertica)   

Portion (Vertica)   

TypemodFields   

VIntervalYM (Vertica)   

CounterController (Vertica)   

LengthBuffer (Vertica)   

Fields::Properties (Vertica)   

U

VNumeric (Vertica)   

D

LibraryRegistrar (Vertica)   

R

VNumericTemp (Vertica)   

M

UDChunker (Vertica)   

VResources (Vertica)   

DAAllocation (EE)   

RejectedRecord (Vertica)   

UDFileOperator (Vertica)   

VString (Vertica)   

DataArea (EE)   

Model (Vertica)   

ServerInterface::RelationDescription (Vertica)   

UDFileSystem (Vertica)   

VTAllocator (Vertica)   

DataBuffer (Vertica)   

MultiPhaseTransformFunctionFactory (Vertica)   

S

UDFileSystemFactory (Vertica)   

VUuid (Vertica)   

DefaultSourceIterator (Vertica)   

MultipleIntermediateAggs (Vertica)   

UDFileSystemStats (Vertica)   

ScalarFunction (Vertica)   

A | B | C | D | E | F | I | L | M | N | O | P | R | S | T | U | V

1 - Basics::BigInt Member List

This is the complete list of members for Basics::BigInt, including all inherited members.

accumulateNN(void *outBuf, const void *buf1, int nWords) Basics::BigInt static
addNN(void *outBuf, const void *buf1, const void *buf2, int nWords) Basics::BigInt static
castNumeric(uint64 *wordso, int nwdso, Typemod typmodo, uint64 *wordsi, int nwdsi, Typemod typmodi) (defined in Basics::BigInt) Basics::BigInt static
castNumeric(uint64 *wordso, int nwdso, int32 numericattro, uint64 *wordsi, int nwdsi, int32 numericattri) (defined in Basics::BigInt) Basics::BigInt static
checkOverflowNN(const void *po, int nwdso, Typemod typmodo) (defined in Basics::BigInt) Basics::BigInt static
checkOverflowNN(const void *po, int nwo, int nwdso, Typemod typmodo) (defined in Basics::BigInt) Basics::BigInt static
checkOverflowNN(const void *po, int nwdso, int32 numericattro) (defined in Basics::BigInt) Basics::BigInt static
checkOverflowNN(const void *po, int nwo, int nwdso, int32 numericattro) (defined in Basics::BigInt) Basics::BigInt static
compareNN(const void *buf1, const void *buf2, int nWords) Basics::BigInt static
convertPosToFloatNN(const void *bbuf, int bwords) Basics::BigInt static
copy(void *buf, const void *src, int nWords) Basics::BigInt inlinestatic
divUnsignedN1(void *qbuf, int qw, int round, const void *ubuf, int uw, uint64 v) (defined in Basics::BigInt) Basics::BigInt static
divUnsignedNN(void *qbuf, int qw, int round, uint64 *rbuf, int rw, const void *ubuf, int uw, const void *vbuf, int vw) (defined in Basics::BigInt) Basics::BigInt static
fromIntNN(void *buf, int nWords, int64 val) Basics::BigInt static
incrementNN(void *buf, int nWords) Basics::BigInt static
invertSign(void *buf, int nWords) Basics::BigInt static
isEqualNN(const void *buf1, const void *buf2, int nWords) Basics::BigInt static
isNeg(const void *buf, int nWords) Basics::BigInt inlinestatic
isNull(const void *buf, int nWords) Basics::BigInt static
isZero(const void *buf, int nWords) Basics::BigInt static
mulUnsignedN1(void *obuf, const void *ubuf, int uw, uint64 v) Basics::BigInt static
mulUnsignedNN(void *obuf, const void *buf1, int nw1, const void *buf2, int nw2) Basics::BigInt static
numericDivide(const uint64 *pa, int nwdsa, Typemod typmoda, const uint64 *pb, int nwdsb, Typemod typmodb, uint64 *outNum, int nwdso, Typemod typmodo) Basics::BigInt static
numericDivide(const uint64 *pa, int nwdsa, int32 numericattra, const uint64 *pb, int nwdsb, int32 numericattrb, uint64 *outNum, int nwdso, int32 numericattro) (defined in Basics::BigInt) Basics::BigInt static
numericMultiply(const uint64 *pa, int nwdsa, const uint64 *pb, int nwdsb, uint64 *outNum, int nwdso) Basics::BigInt static
NumericRescaleDown(uint64 *wordso, int nwdso, Typemod typmodo, uint64 *wordsi, int nwdsi, Typemod typmodi) (defined in Basics::BigInt) Basics::BigInt static
NumericRescaleDown(uint64 *wordso, int nwdso, int32 numericattro, uint64 *wordsi, int nwdsi, int32 numericattri) (defined in Basics::BigInt) Basics::BigInt static
NumericRescaleSameScaleSmallerPrec(uint64 *wordso, int nwdso, Typemod typmodo, uint64 *wordsi, int nwdsi, Typemod typmodi) (defined in Basics::BigInt) Basics::BigInt static
NumericRescaleSameScaleSmallerPrec(uint64 *wordso, int nwdso, int32 numericattro, uint64 *wordsi, int nwdsi, int32 numericattri) (defined in Basics::BigInt) Basics::BigInt static
NumericRescaleUp(uint64 *wordso, int nwdso, Typemod typmodo, uint64 *wordsi, int nwdsi, Typemod typmodi) (defined in Basics::BigInt) Basics::BigInt static
NumericRescaleUp(uint64 *wordso, int nwdso, int32 numericattro, uint64 *wordsi, int nwdsi, int32 numericattri) (defined in Basics::BigInt) Basics::BigInt static
numericToFloat(const void *buf, int nwds, ifloat tenthtoscale) Basics::BigInt static
rescaleNumeric(void *out, int ow, int pout, int sout, void *in, int iw, int pin, int sin) Basics::BigInt static
setFromFloat(void *bbuf, int bwords, Typemod typmod, long double value, bool round) Basics::BigInt static
setFromFloat(void *bbuf, int bwords, int32 numericattr, long double value, bool round) (defined in Basics::BigInt) Basics::BigInt static
setNull(void *buf, int nWords) Basics::BigInt static
setNumericBoundsFromType(uint64 *numUpperBound, uint64 *numLowerBound, int nwdso, Typemod typmod) (defined in Basics::BigInt) Basics::BigInt static
setNumericBoundsFromType(uint64 *numUpperBound, uint64 *numLowerBound, int nwdso, int32 numericattr) (defined in Basics::BigInt) Basics::BigInt static
setZero(void *buf, int nWords) Basics::BigInt static
shiftLeftNN(void *buf, unsigned nw, unsigned bitsToShift) Basics::BigInt static
shiftRightNN(void *buf, unsigned nw, unsigned bitsToShift) Basics::BigInt static
subNN(void *outBuf, const void *buf1, const void *buf2, int nWords) Basics::BigInt static
toIntNN(int64 &out, const void *buf, int nWords) Basics::BigInt static
ucompareNN(const void *buf1, const void *buf2, int nWords) Basics::BigInt inlinestatic
usedWordsUnsigned(const void *buf, int nWords) Basics::BigInt static

2 - Basics::BigInt Struct Reference

Collaboration diagram for Basics::BigInt:

Static Public Member Functions
static uint64 accumulateNN (void *outBuf, const void *buf1, int nWords)
Add number on to a temporary No null handling Returns carry.
static uint64 addNN (void *outBuf, const void *buf1, const void *buf2, int nWords)
Add together 2 numbers w/ same number of digits No null handling Returns carry.
static void castNumeric (uint64 *wordso, int nwdso, Typemod typmodo, uint64 *wordsi, int nwdsi, Typemod typmodi)
static void castNumeric (uint64 *wordso, int nwdso, int32 numericattro, uint64 *wordsi, int nwdsi, int32 numericattri)
static bool checkOverflowNN (const void *po, int nwdso, Typemod typmodo)
static bool checkOverflowNN (const void *po, int nwo, int nwdso, Typemod typmodo)
static bool checkOverflowNN (const void *po, int nwdso, int32 numericattro)
static bool checkOverflowNN (const void *po, int nwo, int nwdso, int32 numericattro)
static int compareNN (const void *buf1, const void *buf2, int nWords)
Compare integers, return -1, 0, 1.
static long double convertPosToFloatNN (const void *bbuf, int bwords)
Convert Numeric to a float helper function Input should not be negative / null.
static void copy (void *buf, const void *src, int nWords)
cpoy nWords from src to buf
static uint64 divUnsignedN1 (void *qbuf, int qw, int round, const void *ubuf, int uw, uint64 v)
static void divUnsignedNN (void *qbuf, int qw, int round, uint64 *rbuf, int rw, const void *ubuf, int uw, const void *vbuf, int vw)
static void fromIntNN (void *buf, int nWords, int64 val)
Load from 64-bit signed int (does not handle NULL inside)
static void incrementNN (void *buf, int nWords)
Increment by 1.
static void invertSign (void *buf, int nWords)
Invert the sign of a number, performed in place, using the invert and +1 method, turns out NULLs are OK in this sense.
static bool isEqualNN (const void *buf1, const void *buf2, int nWords)
Check integers for equality.
static bool isNeg (const void *buf, int nWords)
Check if integer is less than zero.
static bool isNull (const void *buf, int nWords)
Check an integer for NULL.
static bool isZero (const void *buf, int nWords)
Check an integer for 0.
static void mulUnsignedN1 (void *obuf, const void *ubuf, int uw, uint64 v)
Multiply, unsigned only. uw words by 1 word -> uw+1 words Output array must be uw+1 words long; may not overlap inputs.
static void mulUnsignedNN (void *obuf, const void *buf1, int nw1, const void *buf2, int nw2)
Multiply, unsigned only. Output array must be nw1+nw2 long; may not overlap inputs PERF NOTE: Operates like a school boy, could do Karatsuba (or better)
static void numericDivide (const uint64 *pa, int nwdsa, Typemod typmoda, const uint64 *pb, int nwdsb, Typemod typmodb, uint64 *outNum, int nwdso, Typemod typmodo)
Divide Numerics Handles negative / null input.
static void numericDivide (const uint64 *pa, int nwdsa, int32 numericattra, const uint64 *pb, int nwdsb, int32 numericattrb, uint64 *outNum, int nwdso, int32 numericattro)
static void numericMultiply (const uint64 *pa, int nwdsa, const uint64 *pb, int nwdsb, uint64 *outNum, int nwdso)
Multiply Numerics , result in outNum Handles negative / null input.
static void NumericRescaleDown (uint64 *wordso, int nwdso, Typemod typmodo, uint64 *wordsi, int nwdsi, Typemod typmodi)
static void NumericRescaleDown (uint64 *wordso, int nwdso, int32 numericattro, uint64 *wordsi, int nwdsi, int32 numericattri)
static void NumericRescaleSameScaleSmallerPrec (uint64 *wordso, int nwdso, Typemod typmodo, uint64 *wordsi, int nwdsi, Typemod typmodi)
static void NumericRescaleSameScaleSmallerPrec (uint64 *wordso, int nwdso, int32 numericattro, uint64 *wordsi, int nwdsi, int32 numericattri)
static void NumericRescaleUp (uint64 *wordso, int nwdso, Typemod typmodo, uint64 *wordsi, int nwdsi, Typemod typmodi)
static void NumericRescaleUp (uint64 *wordso, int nwdso, int32 numericattro, uint64 *wordsi, int nwdsi, int32 numericattri)
static ifloat numericToFloat (const void *buf, int nwds, ifloat tenthtoscale)
Convert Numeric to a float Handles negative / null input.
static bool rescaleNumeric (void *out, int ow, int pout, int sout, void *in, int iw, int pin, int sin)
Rescale a given numeric to a specific prec/scale/nwds The input should have minimal precision to avoid unnecessary overflow; for example, "0" should have precision 0 (as generated by charToNumeric). Accepts signed numerics. Will set its "in" argument to abs(in).
static bool setFromFloat (void *bbuf, int bwords, Typemod typmod, long double value, bool round)
Convert floating point multiplied by 10^scale to an integer This truncates if round is false; otherwise the numeric result is rounded.
static bool setFromFloat (void *bbuf, int bwords, int32 numericattr, long double value, bool round)
static void setNull (void *buf, int nWords)
Set an integer to NULL.
static void setNumericBoundsFromType (uint64 *numUpperBound, uint64 *numLowerBound, int nwdso, Typemod typmod)
static void setNumericBoundsFromType (uint64 *numUpperBound, uint64 *numLowerBound, int nwdso, int32 numericattr)
static void setZero (void *buf, int nWords)
Set an integer to 0.
static void shiftLeftNN (void *buf, unsigned nw, unsigned bitsToShift)
Shift a BigInt to the left (>) by the given number of bits. The given BigInt must be positive and non-null.
static void subNN (void *outBuf, const void *buf1, const void *buf2, int nWords)
Subtract 2 numbers w/ same number of digits No null handling.
static bool toIntNN (int64 &out, const void *buf, int nWords)
Convert to int (return false if there was an overflow)
static int ucompareNN (const void *buf1, const void *buf2, int nWords)
static int usedWordsUnsigned (const void *buf, int nWords)
Calculate number of words that are actually used to represent the value (amount left after stripping leading 0's)

Detailed Description

Holds integer utilities A few are inlined for performance reasons. Most are in vertica.cpp.

Member Function Documentation

static bool Basics::BigInt::isEqualNN(const void * buf1, const void * buf2, int nWords)

static

Check integers for equality.

Note Optimized for small nWords; scan from end and break out of loop

Referenced by Vertica::VNumeric::equal().

static bool Basics::BigInt::isZero(const void * buf, int nWords)

static

Check an integer for 0.

Note Optimized for small nWords; scan from end and break out of loop

Referenced by Vertica::VNumeric::isZero().

static ifloat Basics::BigInt::numericToFloat(const void * buf, int nwds, ifloat tenthtoscale)

static

Convert Numeric to a float Handles negative / null input.

Parameters

  • tenthtoscale: 10^-scale of the Numeric

Referenced by Vertica::VNumeric::toFloat().

bool Basics::BigInt::setFromFloat(void * bbuf, int bwords, Typemod typmod, long double value, bool round)

static

Convert floating point multiplied by 10^scale to an integer This truncates if round is false; otherwise the numeric result is rounded.

Returns false if high bits were lost, true if reasonable fidelity was achieved

Referenced by Vertica::VNumeric::copy().

static int Basics::BigInt::ucompareNN(const void * buf1, const void * buf2, int nWords)

inlinestatic

Compare integers, return -1, 0, 1

Referenced by Vertica::VNumeric::compareUnsigned().

3 - Basics::FiveToScale Member List

This is the complete list of members for Basics::FiveToScale, including all inherited members.

scale (defined in Basics::FiveToScale) Basics::FiveToScale
value (defined in Basics::FiveToScale) Basics::FiveToScale
wordCount (defined in Basics::FiveToScale) Basics::FiveToScale

4 - Basics::FiveToScale Struct Reference

Collaboration diagram for Basics::FiveToScale:

Public Attributes
unsigned scale
const uint64 * value
unsigned wordCount

5 - Basics::Uuid Member List

This is the complete list of members for Basics::Uuid, including all inherited members.

StringToUuid(const char *source, vuuid_t uuid) (defined in Basics::Uuid) Basics::Uuid static
UuidToString(const vuuid_t uuid, char *outbuf) (defined in Basics::Uuid) Basics::Uuid static

6 - Basics::Uuid Struct Reference

Collaboration diagram for Basics::Uuid:

Static Public Member Functions
static bool StringToUuid (const char *source, vuuid_t uuid)
static void UuidToString (const vuuid_t uuid, char *outbuf)

7 - Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:

[detail level 1234]

Basics::BigInt
Basics::FiveToScale
Basics::Uuid
EE::DAAllocation
EE::DataArea
EE::StringValue
inlining_array
stack_array
unique_ptr
Vertica::VerticaBlock::NestedBlockPtr
vector
Vertica::Fields
Vertica::SizedColumnTypes Represents types and information to determine the size of the columns as input/output of a User Defined Function/Transform
Typemod
TypemodFields
Vertica::AESKey
Vertica::Array::ArrayReader Interface for reading array data. This class wraps a BlockReader which reads the elements of an array datum
Vertica::Array::ArrayWriter Interface for writing elements into an array datum
Vertica::BasePartitionWriterColumn Base class for vectorized writing to columns. Efficiently writes each element in a single column
Vertica::PartitionWriterColumn
Vertica::PartitionWriterNumericColumn
Vertica::PartitionWriterStringColumn
Vertica::PartitionWriterUuidColumn
Vertica::BlockFormatter
Vertica::BlockFormatterCout
Vertica::ClientMessage Holds the contents of a user-defined message to be reported by a UDx
Vertica::ColumnTypes Represents (unsized) types of the columns used as input/output of a User Defined Function/Transform Function
Vertica::ConcurrencyModel
Vertica::CounterController Class to interact with counters
Vertica::DataBuffer
Vertica::defserializer
Vertica::defserializer
Vertica::defserializer
Vertica::defserializer
Vertica::Field
Vertica::Fields::Properties
Vertica::FIunion
Vertica::LengthBuffer
Vertica::LibraryRegistrar
Vertica::Model
Vertica::OpenOptions
Vertica::ParallelismInfo
Vertica::PartitionOrderColumnInfo Represents the partition by and order by column information for each phase in a multi-phase transform function
Vertica::PartitionWriterColumns PartitionWriterColumns allow column-by-column access to PartitionWriter data
Vertica::PerColumnParamReader A wrapper around a map from column to ParamReader
Vertica::PlanContext Shared query-plan state, used when different parts of query planning take place on different nodes. For example, if some work is done on the query initiator node and some is done on each node executing the query, this class stores shared state
Vertica::NodeSpecifyingPlanContext Interface that allows storage of query-plan state, when different parts of query planning take place on different computers
Vertica::ExecutorPlanContext An ExecutorPlanContext is a PlanContext object whose scope is limited to a single executor node: it and its parameters will never be serialized. In addition to providing information about nodes involved in a query, it indicates how many threads are available and allocated for a load
Vertica::Portion
Vertica::RejectedRecord
Vertica::ScopedTimerCounter Class to start an execution timer on construction and to automatically stop the timer on deconstruction or when manually called with stop()
Vertica::ServerInterface Provides UDxs with access to the Vertica server
Vertica::ServerInterface::FunctionDescription
Vertica::ServerInterface::RelationDescription
Vertica::ServerInterface::TypeDescription
Vertica::SessionParamReaderMap This class provides an interface for reading the Used defined session parameters
Vertica::SessionParamWriterMap This class provides an interface for writing the Used defined session parameters
Vertica::SimpleArchiveIn
Vertica::SimpleArchiveOut
Vertica::SplitArchiver
Vertica::SplitArchiver
Vertica::SplitArchiver
Vertica::TransformFunctionPhase Interface to provide compile-time information for a single phase of a multi-phase user-defined transform function
Vertica::UDFileOperator
Vertica::UDFileSystem
Vertica::UDFileSystemStats
Vertica::UDKeyManager
Vertica::UDxCounterRequest
Vertica::UDXFactory Parent class for UDx factories; not intended for direct use by applications
Vertica::FunctionFactory
Vertica::AggregateFunctionFactory Interface for declaring parameters and return types for, and instantiating, an associated AggregateFunction
Vertica::AnalyticFunctionFactory Interface for declaring parameters and return types for, and instantiating, an associated AnalyticFunction
Vertica::MultiPhaseTransformFunctionFactory Interface for declaring parameters and return types for, and instantiating, an associated multi-phase transform function. This class is similar to, but not a subclass of, TransformFunctionFactory
Vertica::ScalarFunctionFactory Interface for declaring parameters and return types for, and instantiating, an associated ScalarFunction
Vertica::TransformFunctionFactory Interface for declaring parameters and return types for, and instantiating, an associated TransformFunction
Vertica::UDFileSystemFactory
Vertica::UDKeyManagerFactory
Vertica::UDLFactory
Vertica::FilterFactory Produces and initializes UDFilters to transform input data before parsing
Vertica::IterativeSourceFactory Source factory that works with a SourceIterator to produce UDSources
Vertica::SourceFactory Produces and initializes UDSources to process input data sources
Vertica::ParserFactory Produces and initializes UDParsers to parse input into tuples
Vertica::UDXObject Base class for Vertica User-Defined extensions (the function classes themselves). Not intended for direct use by applications
Vertica::SourceIterator Constructs a set of Sources to be used by an IterativeSourceFactory
Vertica::DefaultSourceIterator
Vertica::UDChunker Separates parser input into chunks at record boundaries, allowing parsing to proceed in parallel
Vertica::UDFilter Reads input data from a UDSource or another UDFilter and transforms it
Vertica::UDParser Parses an input stream into Vertica tuples (rows to be inserted into a table)
Vertica::UDXFunction
Vertica::AggregateFunction Interface for User-Defined Aggregate Function (UDAF). A UDAF operates on one column of data and returns one column of data
Vertica::AnalyticFunction Interface for User-Defined Analytic Function (UDAnF). A UDAnF operates on rows of data and returns rows of data, not necessarily 1:1
Vertica::ScalarFunction Interface for User-Defined Scalar Function (UDSF). A UDSF produces a single value from a row of data
Vertica::TransformFunction Interface for User-Defined Transform Function (UDTF). A UDTF operates on a table segment and returns zero or more rows of data
Vertica::UnsizedUDSource Base class for UDSource. Use, with IterativeSourceFactory, if computing the size of a source up front would be prohibitively expensive, or if the number of distinct sources would be prohibitively large to use the standard API. Typically you should use UDSource instead
Vertica::UDSource Acquires data from an external source (such as a file or URL) and produces that data in a streaming manner
Vertica::UDxRegistrar
Vertica::VerticaBlock : Represents an in-memory block of tuples
Vertica::BlockReader Iterator interface for reading rows in a Vertica block
Vertica::MultipleIntermediateAggs A wrapper around multiple intermediate aggregates
Vertica::PartitionReader Iterator-based read interface over all input data in a single partition. Automatically fetches data a block-at-a-time, as needed
Vertica::AnalyticPartitionReader Provides an iterator-based read interface over all the partition_by keys, order_by keys, and function arguments in a partition
Vertica::BlockWriter Iterator interface for writing rows to a Vertica block
Vertica::IntermediateAggs A wrapper around a single intermediate aggregate value
Vertica::ParamReader Provides read access to a set of named parameters. This class provides type-specific methods to retrieve values
Vertica::ParamWriter Provides write access to a set of named parameters. This class extends ParamReader to add type-specific methods to write values
Vertica::ExecutorParamWriter An ExecutorParamWriter is a ParamWriter whose scope is limited to a single executor node - it will never be serialized for transfer to a different node. As a result, any object which is allocated from a Vertica memory pool (i.e. a ServerInterface's allocator object) can have its address saved in the ExecutorParamWriter (see setPointer()), and be safely retrieved later on (see getPointer()) from a different API call in the same query
Vertica::PartitionWriter Provides an iterator-based write interface over output data for a single partition. Automatically makes space a block-at-a-time, as needed
Vertica::AnalyticPartitionWriter Partition writer for all input data in a single partition. It automatically makes space as needed
Vertica::StreamWriter Provides an iterator-based write interface over output data for a stream of blocks. Automatically makes space a block-at-a-time, as needed
Vertica::VerticaBuildInfo
Vertica::VerticaType Represents types of data that are passed into and returned back from user's code
Vertica::VerticaValueRange This class represents value ranges used in analyzing the output of UDSFs. A range is expressed as a minimum/maximum value (inclusive) pair
Vertica::ValueRangeReader This class represents the value ranges of the arguments of a UDSF, one range per argument
Vertica::ValueRangeWriter This class represents the output value range of a UDSF
Vertica::VerticaValueRange::ValueRange
Vertica::VInterval Representation of an Interval in Vertica
Vertica::VIntervalYM Representation of an IntervalYM in Vertica. An Interval can be broken up into years and months
Vertica::VNumeric Representation of NUMERIC, fixed point data types in Vertica
Vertica::VNumericTemp
Vertica::VResources
Vertica::VString Representation of a String in Vertica. All character data is internally encoded as UTF-8 characters and is not NULL terminated
Vertica::VTAllocator A pool-based allocator that is provided to simplify memory management for UDF implementors
Vertica::VUuid Representation of Universally Unique Identifier (UUID) data type in Vertica

8 - Class List

Here are the classes, structs, unions and interfaces with brief descriptions:

[detail level 123]

Basics Basic utilities mainly for data types
BigInt
FiveToScale
Uuid
EE
DAAllocation
DataArea
StringValue
Vertica
Array
ArrayReader Interface for reading array data. This class wraps a BlockReader which reads the elements of an array datum
ArrayWriter Interface for writing elements into an array datum
AESKey
AggregateFunction Interface for User-Defined Aggregate Function (UDAF). A UDAF operates on one column of data and returns one column of data
AggregateFunctionFactory Interface for declaring parameters and return types for, and instantiating, an associated AggregateFunction
AnalyticFunction Interface for User-Defined Analytic Function (UDAnF). A UDAnF operates on rows of data and returns rows of data, not necessarily 1:1
AnalyticFunctionFactory Interface for declaring parameters and return types for, and instantiating, an associated AnalyticFunction
AnalyticPartitionReader Provides an iterator-based read interface over all the partition_by keys, order_by keys, and function arguments in a partition
AnalyticPartitionWriter Partition writer for all input data in a single partition. It automatically makes space as needed
BasePartitionWriterColumn Base class for vectorized writing to columns. Efficiently writes each element in a single column
BlockFormatter
BlockFormatterCout
BlockReader Iterator interface for reading rows in a Vertica block
BlockWriter Iterator interface for writing rows to a Vertica block
ClientMessage Holds the contents of a user-defined message to be reported by a UDx
ColumnTypes Represents (unsized) types of the columns used as input/output of a User Defined Function/Transform Function
ConcurrencyModel
CounterController Class to interact with counters
DataBuffer
DefaultSourceIterator
defserializer
defserializer
defserializer
defserializer
ExecutorParamWriter An ExecutorParamWriter is a ParamWriter whose scope is limited to a single executor node - it will never be serialized for transfer to a different node. As a result, any object which is allocated from a Vertica memory pool (i.e. a ServerInterface's allocator object) can have its address saved in the ExecutorParamWriter (see setPointer()), and be safely retrieved later on (see getPointer()) from a different API call in the same query
ExecutorPlanContext An ExecutorPlanContext is a PlanContext object whose scope is limited to a single executor node: it and its parameters will never be serialized. In addition to providing information about nodes involved in a query, it indicates how many threads are available and allocated for a load
Field
Fields
Properties
FilterFactory Produces and initializes UDFilters to transform input data before parsing
FIunion
FunctionFactory
IntermediateAggs A wrapper around a single intermediate aggregate value
IterativeSourceFactory Source factory that works with a SourceIterator to produce UDSources
LengthBuffer
LibraryRegistrar
Model
MultiPhaseTransformFunctionFactory Interface for declaring parameters and return types for, and instantiating, an associated multi-phase transform function. This class is similar to, but not a subclass of, TransformFunctionFactory
MultipleIntermediateAggs A wrapper around multiple intermediate aggregates
NodeSpecifyingPlanContext Interface that allows storage of query-plan state, when different parts of query planning take place on different computers
OpenOptions
ParallelismInfo
ParamReader Provides read access to a set of named parameters. This class provides type-specific methods to retrieve values
ParamWriter Provides write access to a set of named parameters. This class extends ParamReader to add type-specific methods to write values
ParserFactory Produces and initializes UDParsers to parse input into tuples
PartitionOrderColumnInfo Represents the partition by and order by column information for each phase in a multi-phase transform function
PartitionReader Iterator-based read interface over all input data in a single partition. Automatically fetches data a block-at-a-time, as needed
PartitionWriter Provides an iterator-based write interface over output data for a single partition. Automatically makes space a block-at-a-time, as needed
PartitionWriterColumn
PartitionWriterColumns PartitionWriterColumns allow column-by-column access to PartitionWriter data
PartitionWriterNumericColumn
PartitionWriterStringColumn
PartitionWriterUuidColumn
PerColumnParamReader A wrapper around a map from column to ParamReader
PlanContext Shared query-plan state, used when different parts of query planning take place on different nodes. For example, if some work is done on the query initiator node and some is done on each node executing the query, this class stores shared state
Portion
RejectedRecord
ScalarFunction Interface for User-Defined Scalar Function (UDSF). A UDSF produces a single value from a row of data
ScalarFunctionFactory Interface for declaring parameters and return types for, and instantiating, an associated ScalarFunction
ScopedTimerCounter Class to start an execution timer on construction and to automatically stop the timer on deconstruction or when manually called with stop()
ServerInterface Provides UDxs with access to the Vertica server
FunctionDescription
RelationDescription
TypeDescription
SessionParamReaderMap This class provides an interface for reading the Used defined session parameters
SessionParamWriterMap This class provides an interface for writing the Used defined session parameters
SimpleArchiveIn
SimpleArchiveOut
SizedColumnTypes Represents types and information to determine the size of the columns as input/output of a User Defined Function/Transform
SourceFactory Produces and initializes UDSources to process input data sources
SourceIterator Constructs a set of Sources to be used by an IterativeSourceFactory
SplitArchiver
SplitArchiver
SplitArchiver
StreamWriter Provides an iterator-based write interface over output data for a stream of blocks. Automatically makes space a block-at-a-time, as needed
TransformFunction Interface for User-Defined Transform Function (UDTF). A UDTF operates on a table segment and returns zero or more rows of data
TransformFunctionFactory Interface for declaring parameters and return types for, and instantiating, an associated TransformFunction
TransformFunctionPhase Interface to provide compile-time information for a single phase of a multi-phase user-defined transform function
UDChunker Separates parser input into chunks at record boundaries, allowing parsing to proceed in parallel
UDFileOperator
UDFileSystem
UDFileSystemFactory
UDFileSystemStats
UDFilter Reads input data from a UDSource or another UDFilter and transforms it
UDKeyManager
UDKeyManagerFactory
UDLFactory
UDParser Parses an input stream into Vertica tuples (rows to be inserted into a table)
UDSource Acquires data from an external source (such as a file or URL) and produces that data in a streaming manner
UDxCounterRequest
UDXFactory Parent class for UDx factories; not intended for direct use by applications
UDXFunction
UDXObject Base class for Vertica User-Defined extensions (the function classes themselves). Not intended for direct use by applications
UDxRegistrar
UnsizedUDSource Base class for UDSource. Use, with IterativeSourceFactory, if computing the size of a source up front would be prohibitively expensive, or if the number of distinct sources would be prohibitively large to use the standard API. Typically you should use UDSource instead
ValueRangeReader This class represents the value ranges of the arguments of a UDSF, one range per argument
ValueRangeWriter This class represents the output value range of a UDSF
VerticaBlock : Represents an in-memory block of tuples
NestedBlockPtr
VerticaBuildInfo
VerticaType Represents types of data that are passed into and returned back from user's code
VerticaValueRange This class represents value ranges used in analyzing the output of UDSFs. A range is expressed as a minimum/maximum value (inclusive) pair
ValueRange
VInterval Representation of an Interval in Vertica
VIntervalYM Representation of an IntervalYM in Vertica. An Interval can be broken up into years and months
VNumeric Representation of NUMERIC, fixed point data types in Vertica
VNumericTemp
VResources
VString Representation of a String in Vertica. All character data is internally encoded as UTF-8 characters and is not NULL terminated
VTAllocator A pool-based allocator that is provided to simplify memory management for UDF implementors
VUuid Representation of Universally Unique Identifier (UUID) data type in Vertica
inlining_array
stack_array
Typemod
TypemodFields

9 - EE::DAAllocation Member List

This is the complete list of members for EE::DAAllocation, including all inherited members.

alen (defined in EE::DAAllocation) EE::DAAllocation
data (defined in EE::DAAllocation) EE::DAAllocation

10 - EE::DAAllocation Struct Reference

Collaboration diagram for EE::DAAllocation:

Public Attributes
vsize alen
uint8 data []

Detailed Description

Some data areas are never updated and therefore use a packed allocation scheme (only data in the DA, no other accounting(StringValue has it)) However, if the contents may be updated/expanded, the following struct is generally employed. The StringValue is still interpreted as usual, but its target is prefixed with the size of the allocation:

alen

StringValue[sloc+slen]+DA -> -------— data... (alen bytes reserved)

Thus as long as alen >= the size needed for a new value, no reallocation is needed.

11 - EE::DataArea Class Reference

Collaboration diagram for EE::DataArea:

Public Member Functions
const char * centry (size_t e) const
void clearDA ()
char * entry (size_t e)
void initializeDA (size_t sz)
Public Attributes
size_t freeDA
size_t sizeDA

Detailed Description

This class holds the strings used by a TupleBlock, VLHash, etc. It is fixed length, applications either use a conservative max or go until it is full.

12 - EE::DataArea Member List

This is the complete list of members for EE::DataArea, including all inherited members.

centry(size_t e) const (defined in EE::DataArea) EE::DataArea inline
clearDA() (defined in EE::DataArea) EE::DataArea inline
entry(size_t e) (defined in EE::DataArea) EE::DataArea inline
freeDA (defined in EE::DataArea) EE::DataArea
initializeDA(size_t sz) (defined in EE::DataArea) EE::DataArea inline
sizeDA (defined in EE::DataArea) EE::DataArea

13 - EE::StringValue Member List

This is the complete list of members for EE::StringValue, including all inherited members.

base (defined in EE::StringValue) EE::StringValue
inlinePtr() const (defined in EE::StringValue) EE::StringValue inline
inlinePtr() (defined in EE::StringValue) EE::StringValue inline
slen (defined in EE::StringValue) EE::StringValue
sloc (defined in EE::StringValue) EE::StringValue

14 - EE::StringValue Struct Reference

Collaboration diagram for EE::StringValue:

Public Member Functions
const char * inlinePtr () const
char * inlinePtr ()
Public Attributes
char base [0]
vsize slen
uint32 sloc

15 - functions

Here is a list of all documented class members with links to the class documentation for each member:

- a -

16 - functions 0x62

Here is a list of all documented class members with links to the class documentation for each member:

- b -

17 - functions 0x63

Here is a list of all documented class members with links to the class documentation for each member:

- c -

18 - functions 0x64

Here is a list of all documented class members with links to the class documentation for each member:

- d -

19 - functions 0x65

Here is a list of all documented class members with links to the class documentation for each member:

- e -

20 - functions 0x66

Here is a list of all documented class members with links to the class documentation for each member:

- f -

21 - functions 0x67

Here is a list of all documented class members with links to the class documentation for each member:

- g -

22 - functions 0x68

Here is a list of all documented class members with links to the class documentation for each member:

- h -

23 - functions 0x69

Here is a list of all documented class members with links to the class documentation for each member:

- i -

24 - functions 0x6b

Here is a list of all documented class members with links to the class documentation for each member:

- k -

25 - functions 0x6c

Here is a list of all documented class members with links to the class documentation for each member:

- l -

26 - functions 0x6d

Here is a list of all documented class members with links to the class documentation for each member:

- m -

27 - functions 0x6e

Here is a list of all documented class members with links to the class documentation for each member:

- n -

28 - functions 0x6f

Here is a list of all documented class members with links to the class documentation for each member:

- o -

29 - functions 0x70

Here is a list of all documented class members with links to the class documentation for each member:

- p -

30 - functions 0x72

Here is a list of all documented class members with links to the class documentation for each member:

- r -

31 - functions 0x73

Here is a list of all documented class members with links to the class documentation for each member:

- s -

32 - functions 0x74

Here is a list of all documented class members with links to the class documentation for each member:

- t -

33 - functions 0x75

Here is a list of all documented class members with links to the class documentation for each member:

- u -

34 - functions 0x76

Here is a list of all documented class members with links to the class documentation for each member:

- v -

35 - functions 0x77

Here is a list of all documented class members with links to the class documentation for each member:

- w -

36 - functions 0x7e

Here is a list of all documented class members with links to the class documentation for each member:

- ~ -

37 - functions enum

38 - functions func

- a -

39 - functions func 0x62

- b -

42 - functions func 0x65

- e -

43 - functions func 0x66

- f -

44 - functions func 0x67

- g -

45 - functions func 0x68

- h -

46 - functions func 0x69

- i -

47 - functions func 0x6c

- l -

48 - functions func 0x6d

- m -

49 - functions func 0x6e

- n -

52 - functions func 0x72

- r -

53 - functions func 0x73

- s -

54 - functions func 0x74

- t -

55 - functions func 0x75

- u -

56 - functions func 0x76

- v -

57 - functions func 0x7e

- ~ -

58 - functions vars

- a -

- b -

- c -

- d -

- f -

- i -

- k -

- l -

- m -

- n -

- o -

- p -

- r -

- s -

- t -

- u -

- v -

- w -

59 - inlining_array< T, MAX_STACK_ELEMS > Member List

This is the complete list of members for inlining_array, including all inherited members.

at(size_t idx) (defined in inlining_array) inlining_array inline
begin() (defined in inlining_array) inlining_array inline
end() (defined in inlining_array) inlining_array inline
getNumElements() const (defined in inlining_array) inlining_array inline
getPtr() (defined in inlining_array) inlining_array inline
getSize() const (defined in inlining_array) inlining_array inline
inlining_array(size_t n_elements, Args &&...args) (defined in inlining_array) inlining_array inline
inlining_array(const inlining_array &)=delete (defined in inlining_array) inlining_array
inlining_array(inlining_array &&)=delete (defined in inlining_array) inlining_array
operator T *() (defined in inlining_array) inlining_array inline
operator&() const =delete (defined in inlining_array) inlining_array
operator()() (defined in inlining_array) inlining_array inline
operator+(size_t i) (defined in inlining_array) inlining_array inline
operator->() (defined in inlining_array) inlining_array inline
operator=(const inlining_array &)=delete (defined in inlining_array) inlining_array
operator=(inlining_array &&)=delete (defined in inlining_array) inlining_array
operator[](size_t idx) (defined in inlining_array) inlining_array inline
~inlining_array() (defined in inlining_array) inlining_array inline

60 - inlining_array< T, MAX_STACK_ELEMS > Struct Template Reference

Collaboration diagram for inlining_array< T, MAX_STACK_ELEMS >:

Public Member Functions
template
inlining_array (size_t n_elements, Args &&...args)
inlining_array (const inlining_array &)=delete
inlining_array (inlining_array &&)=delete
T & at (size_t idx)
T * begin ()
T * end ()
size_t getNumElements () const
T * getPtr ()
size_t getSize () const
operator T * ()
T * operator& () const =delete
T * operator() ()
T * operator+ (size_t i)
T * operator-> ()
inlining_array & operator= (const inlining_array &)=delete
inlining_array & operator= (inlining_array &&)=delete
T & operator[] (size_t idx)

Detailed Description

template

struct inlining_array

Heap-allocated array that optimizes for small sizes by storing locally, such as on the stack. Replacement for variable-length stack arrays, but with bounded stack usage, and larger items allocated on the heap. If element count is less than template parameter, use internal buffer, otherwise use malloc/free

61 - stack_array< T, MAX_STACK_ELEMS > Member List

This is the complete list of members for stack_array, including all inherited members.

at(size_t idx) (defined in stack_array) stack_array inline
begin() (defined in stack_array) stack_array inline
end() (defined in stack_array) stack_array inline
getNumElements() (defined in stack_array) stack_array inline
getPtr() (defined in stack_array) stack_array inline
getSize() (defined in stack_array) stack_array inline
operator T *() (defined in stack_array) stack_array inline
operator&() const =delete (defined in stack_array) stack_array
operator()() (defined in stack_array) stack_array inline
operator+(size_t i) (defined in stack_array) stack_array inline
operator->() (defined in stack_array) stack_array inline
operator=(const stack_array &)=delete (defined in stack_array) stack_array
operator=(stack_array &&)=delete (defined in stack_array) stack_array
operator[](size_t idx) (defined in stack_array) stack_array inline
stack_array(size_t n_elements) (defined in stack_array) stack_array inline
stack_array(const stack_array &)=delete (defined in stack_array) stack_array
stack_array(stack_array &&)=delete (defined in stack_array) stack_array
~stack_array() (defined in stack_array) stack_array inline

62 - stack_array< T, MAX_STACK_ELEMS > Struct Template Reference

Collaboration diagram for stack_array< T, MAX_STACK_ELEMS >:

Public Member Functions
stack_array (size_t n_elements)
stack_array (const stack_array &)=delete
stack_array (stack_array &&)=delete
T & at (size_t idx)
T * begin ()
T * end ()
size_t getNumElements ()
T * getPtr ()
size_t getSize ()
operator T * ()
T * operator& () const =delete
T * operator() ()
T * operator+ (size_t i)
T * operator-> ()
stack_array & operator= (const stack_array &)=delete
stack_array & operator= (stack_array &&)=delete
T & operator[] (size_t idx)

Detailed Description

template

struct stack_array

Replacement for variable-length stack arrays, but with bounded stack usage. If there is more usage than expected, it will error.

63 - Typemod Member List

This is the complete list of members for Typemod, including all inherited members.

bits (defined in Typemod) Typemod
fields (defined in Typemod) Typemod

64 - Typemod Union Reference

Collaboration diagram for Typemod:

Public Attributes
signed long long int bits
TypemodFields fields

65 - TypemodFields Member List

This is the complete list of members for TypemodFields, including all inherited members.

arrayBound (defined in TypemodFields) TypemodFields
attribute (defined in TypemodFields) TypemodFields

66 - TypemodFields Struct Reference

Collaboration diagram for TypemodFields:

Public Attributes
TypemodArrayBound arrayBound
TypemodAttribute attribute

67 - Vertica::AESKey Member List

This is the complete list of members for Vertica::AESKey, including all inherited members.

iv Vertica::AESKey
IV_LENGTH (defined in Vertica::AESKey) Vertica::AESKey static
key Vertica::AESKey
KEY_LENGTH Vertica::AESKey static
length Vertica::AESKey

68 - Vertica::AESKey Struct Reference

Collaboration diagram for Vertica::AESKey:

Public Attributes
unsigned char iv [IV_LENGTH] = {0}
initialization vector to use for AES encryption
unsigned char key [KEY_LENGTH] = {0}
key to use for AES encryption
size_t length
number of bytes of key filled
Static Public Attributes
static constexpr size_t IV_LENGTH = 12
static constexpr size_t KEY_LENGTH = 32
256 bits (max) for key, 96 (always) for IV

69 - Vertica::AggregateFunction Class Reference

Interface for User-Defined Aggregate Function (UDAF). A UDAF operates on one column of data and returns one column of data.

Inheritance diagram for Vertica::AggregateFunction:

Collaboration diagram for Vertica::AggregateFunction:

Public Member Functions
virtual void aggregateArrs (ServerInterface &srvInterface, void **dstTuples, int doff, const void *arr, int stride, const void *rcounts, int rcstride, int count, IntermediateAggs &intAggs, std::vector &intOffsets, BlockReader &arg_reader)=0
void cancelUDX (ServerInterface &srvInterface)
virtual void combine (ServerInterface &srvInterface, IntermediateAggs &aggs_output, MultipleIntermediateAggs &aggs_other)=0
virtual void destroy (ServerInterface &srvInterface, const SizedColumnTypes &argTypes)
virtual void destroy (ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SessionParamWriterMap &udSessionParams)
virtual void initAggregate (ServerInterface &srvInterface, IntermediateAggs &aggs)=0
bool isCanceled () const
virtual void setup (ServerInterface &srvInterface, const SizedColumnTypes &argTypes)
virtual void terminate (ServerInterface &srvInterface, BlockWriter &res_writer, IntermediateAggs &aggs)
virtual void terminate (ServerInterface &srvInterface, BlockWriter &res_writer, IntermediateAggs &aggs, SessionParamWriterMap &udSessionParams)
Static Public Member Functions
static void updateCols (BlockReader &arg_reader, char *arg, int count, IntermediateAggs &intAggs, char *aggPtr, std::vector &intOffsets)
Protected Member Functions
virtual void cancel (ServerInterface &srvInterface)

Detailed Description

Interface for User-Defined Aggregate Function (UDAF). A UDAF operates on one column of data and returns one column of data.

An AggregateFunction must have an associated AggregateFunctionFactory.

Member Function Documentation

virtual void Vertica::AggregateFunction::aggregateArrs(ServerInterface & srvInterface, void ** dstTuples, int doff, const void * arr, int stride, const void * rcounts, int rcstride, int count, IntermediateAggs & intAggs, std::vector & intOffsets, BlockReader & arg_reader)

pure virtual Called by the server to perform aggregation on multiple blocks of data

Note User should not explicity implement this function. It is implemented by calling the InlineAggregate() macro. User should follow the convention of implementing void aggregate(ServerInterface &srvInterface, BlockReader &arg_reader, IntermediateAggs &aggs) along with initAggregate, combine, and terminate. For references on what a fully implemented Aggregate Function looks like, check the examples in the example folder.

which the inlined aggregateArrs implemention will invoke

virtual void Vertica::UDXObject::cancel(ServerInterface & srvInterface)

inlineprotectedvirtualinherited

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

Note

  • 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 or destructor). 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.

Referenced by Vertica::UDXObject::cancelUDX().

void Vertica::UDXObject::cancelUDX(ServerInterface & srvInterface)

inline inherited Cancel callback invoked when the query running the UDX has been canceled. See cancel().

virtual void Vertica::AggregateFunction::combine(ServerInterface & srvInterface, IntermediateAggs & aggs_output, MultipleIntermediateAggs & aggs_other)

pure virtual Called when intermediate aggregates need to be combined with each other

virtual void Vertica::UDXFunction::destroy(ServerInterface & srvInterface, const SizedColumnTypes & argTypes)

inlinevirtualinherited

Perform per instance destruction. This function may throw errors

Referenced by Vertica::UDXFunction::destroy().

virtual void Vertica::UDXFunction::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

virtual void Vertica::AggregateFunction::initAggregate(ServerInterface & srvInterface, IntermediateAggs & aggs)

pure virtual Called by the server to set the starting values of the Intermediate aggregates.

Note This can be called multiple times on multiple machines, so starting values should be idempotent.

bool Vertica::UDXObject::isCanceled() const

inline inherited Returns true iff this UDX has been canceled

virtual void Vertica::UDXFunction::setup(ServerInterface & srvInterface, const SizedColumnTypes & argTypes)

inlinevirtualinherited

Perform per instance initialization. This function may throw errors.

virtual void Vertica::AggregateFunction::terminate(ServerInterface & srvInterface, BlockWriter & res_writer, IntermediateAggs & aggs)

inlinevirtual

Called by the server to get the output to the aggregate function

Referenced by terminate().

virtual void Vertica::AggregateFunction::terminate(ServerInterface & srvInterface, BlockWriter & res_writer, IntermediateAggs & aggs, SessionParamWriterMap & udSessionParams)

inlinevirtual

Called by the server to get the output to the aggregate function

void Vertica::AggregateFunction::updateCols(BlockReader & arg_reader, char * arg, int count, IntermediateAggs & intAggs, char * aggPtr, std::vector & intOffsets)

static

Helper function for aggregateArrs.

Note User should not call this function.

70 - Vertica::AggregateFunction Member List

This is the complete list of members for Vertica::AggregateFunction, including all inherited members.

aggregateArrs(ServerInterface &srvInterface, void **dstTuples, int doff, const void *arr, int stride, const void *rcounts, int rcstride, int count, IntermediateAggs &intAggs, std::vector &intOffsets, BlockReader &arg_reader)=0 Vertica::AggregateFunction pure virtual
cancel(ServerInterface &srvInterface) Vertica::UDXObject inlineprotectedvirtual
cancelUDX(ServerInterface &srvInterface) Vertica::UDXObject inline
combine(ServerInterface &srvInterface, IntermediateAggs &aggs_output, MultipleIntermediateAggs &aggs_other)=0 Vertica::AggregateFunction pure virtual
destroy(ServerInterface &srvInterface, const SizedColumnTypes &argTypes) Vertica::UDXFunction inlinevirtual
destroy(ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SessionParamWriterMap &udSessionParams) Vertica::UDXFunction inlinevirtual
initAggregate(ServerInterface &srvInterface, IntermediateAggs &aggs)=0 Vertica::AggregateFunction pure virtual
isCanceled() const Vertica::UDXObject inline
setup(ServerInterface &srvInterface, const SizedColumnTypes &argTypes) Vertica::UDXFunction inlinevirtual
terminate(ServerInterface &srvInterface, BlockWriter &res_writer, IntermediateAggs &aggs) Vertica::AggregateFunction inlinevirtual
terminate(ServerInterface &srvInterface, BlockWriter &res_writer, IntermediateAggs &aggs, SessionParamWriterMap &udSessionParams) Vertica::AggregateFunction inlinevirtual
UDXObject() (defined in Vertica::UDXObject) Vertica::UDXObject inline
updateCols(BlockReader &arg_reader, char *arg, int count, IntermediateAggs &intAggs, char *aggPtr, std::vector &intOffsets) Vertica::AggregateFunction static
~UDXObject() Vertica::UDXObject inlinevirtual

71 - Vertica::AggregateFunctionFactory Class Reference

Interface for declaring parameters and return types for, and instantiating, an associated AggregateFunction.

Inheritance diagram for Vertica::AggregateFunctionFactory:

Collaboration diagram for Vertica::AggregateFunctionFactory:

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 AggregateFunction * createAggregateFunction (ServerInterface &srvInterface)
virtual AggregateFunction * createAggregateFunction (ServerInterface &srvInterface, const SizedColumnTypes &inputType)
virtual void getIntermediateTypes (ServerInterface &srvInterface, const SizedColumnTypes &inputTypes, SizedColumnTypes &intermediateTypeMetaData)=0
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 void getPrototype (ServerInterface &srvInterface, ColumnTypes &argTypes, ColumnTypes &returnType)=0
virtual void getReturnType (ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType)=0
Protected Member Functions
virtual UDXType getUDXFactoryType () override
Protected Attributes
Oid libOid
std::string sqlName

Detailed Description

Interface for declaring parameters and return types for, and instantiating, an associated AggregateFunction.

Member Enumeration Documentation

enum Vertica::UDXFactory::UDXType

inherited The type of UDX instance this factory produces

Member Function Documentation

virtual AggregateFunction* Vertica::AggregateFunctionFactory::createAggregateFunction(ServerInterface & srvInterface)

inlinevirtual

Called when Vertica needs a new AggregateFunction object to process a function call. Users should override only one of the following methods.

Returns an AggregateFunction object which implements the UDx API described by this metadata.

Parameters

  • srvInterface: a ServerInterface object used to communicate with Vertica

Note More than one object may be instantiated per query.

Referenced by createAggregateFunction().

virtual AggregateFunction* Vertica::AggregateFunctionFactory::createAggregateFunction(ServerInterface & srvInterface, const SizedColumnTypes & inputType)

inlinevirtual

Called when Vertica needs a new AggregateFunction object to process a function call. Users should override only one of the following methods.

Returns an AggregateFunction object which implements the UDx API described by this metadata.

Parameters

  • srvInterface: a ServerInterface object used to communicate with Vertica
  • inputType: data type of the input argument

Note More than one object may be instantiated per query.

virtual void Vertica::AggregateFunctionFactory::getIntermediateTypes(ServerInterface & srvInterface, const SizedColumnTypes & inputTypes, SizedColumnTypes & intermediateTypeMetaData)

pure virtual Returns the intermediate types used for this aggregate. Called by the server to set the types of the Intermediate aggregates.

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

inlinevirtualinherited

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.

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

inlinevirtualinherited

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 Vertica::UDXFactory::getPerInstanceResources().

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

inlinevirtualinherited

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.

virtual void Vertica::FunctionFactory::getPrototype(ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes & returnType)

pure virtual inherited Provides the argument and return types of the UDX

Implemented in Vertica::MultiPhaseTransformFunctionFactory.

Referenced by Vertica::ScalarFunctionFactory::getReturnType().

virtual void Vertica::FunctionFactory::getReturnType(ServerInterface & srvInterface, const SizedColumnTypes & argTypes, SizedColumnTypes & returnType)

pure virtual inherited Function to tell Vertica what the return types (and length/precision if necessary) of this UDX are.

For CHAR/VARCHAR types, specify the max length,

For NUMERIC types, specify the precision and scale.

For Time/Timestamp types (with or without time zone), specify the precision, -1 means unspecified/don't care

For IntervalYM/IntervalDS types, specify the precision and range

For all other types, no length/precision specification needed

Parameters

  • argTypes: Provides the data types of arguments that this UDT was called with. This may be used to modify the return types accordingly.
  • returnType: User code must fill in the names and data types returned by the UDT.

Implemented in Vertica::MultiPhaseTransformFunctionFactory, and Vertica::ScalarFunctionFactory.

virtual UDXType Vertica::AggregateFunctionFactory::getUDXFactoryType()

inlineprotectedvirtual

Returns the object type internally used by Vertica

Implements Vertica::UDXFactory.

72 - Vertica::AggregateFunctionFactory Member List

This is the complete list of members for Vertica::AggregateFunctionFactory, including all inherited members.

AGGREGATE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
ANALYTIC enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
createAggregateFunction(ServerInterface &srvInterface) Vertica::AggregateFunctionFactory inlinevirtual
createAggregateFunction(ServerInterface &srvInterface, const SizedColumnTypes &inputType) Vertica::AggregateFunctionFactory inlinevirtual
CURSOR_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
FILESYSTEM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
getIntermediateTypes(ServerInterface &srvInterface, const SizedColumnTypes &inputTypes, SizedColumnTypes &intermediateTypeMetaData)=0 Vertica::AggregateFunctionFactory pure virtual
getParameterType(ServerInterface &srvInterface, SizedColumnTypes meterTypes) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) Vertica::UDXFactory inlinevirtual
getPrototype(ServerInterface &srvInterface, ColumnTypes &argTypes, ColumnTypes &returnType)=0 Vertica::FunctionFactory pure virtual
getReturnType(ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType)=0 Vertica::FunctionFactory pure virtual
getUDXFactoryType() override Vertica::AggregateFunctionFactory inlineprotectedvirtual
KEYMANAGER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
libOid (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
LOAD_FILTER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_PARSER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_SOURCE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
MULTI_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
SCALAR enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
sqlName (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
TYPE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
UDXType enum name Vertica::UDXFactory
~AggregateFunctionFactory() (defined in Vertica::AggregateFunctionFactory) Vertica::AggregateFunctionFactory inlinevirtual
~FunctionFactory() (defined in Vertica::FunctionFactory) Vertica::FunctionFactory inlinevirtual
~UDXFactory() (defined in Vertica::UDXFactory) Vertica::UDXFactory inlinevirtual

73 - Vertica::AnalyticFunction Class Reference

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

Inheritance diagram for Vertica::AnalyticFunction:

Collaboration diagram for Vertica::AnalyticFunction:

Public Member Functions
void cancelUDX (ServerInterface &srvInterface)
virtual void destroy (ServerInterface &srvInterface, const SizedColumnTypes &argTypes)
virtual void destroy (ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SessionParamWriterMap &udSessionParams)
bool isCanceled () const
virtual void processPartition (ServerInterface &srvInterface, AnalyticPartitionReader &input_reader, AnalyticPartitionWriter &output_writer)=0
virtual void setup (ServerInterface &srvInterface, const SizedColumnTypes &argTypes)
Protected Member Functions
virtual 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

virtual void Vertica::UDXObject::cancel(ServerInterface & srvInterface)

inlineprotectedvirtualinherited

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

Note

  • 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 or destructor). 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.

Referenced by Vertica::UDXObject::cancelUDX().

void Vertica::UDXObject::cancelUDX(ServerInterface & srvInterface)

inline inherited Cancel callback invoked when the query running the UDX has been canceled. See cancel().

virtual void Vertica::UDXFunction::destroy(ServerInterface & srvInterface, const SizedColumnTypes & argTypes)

inlinevirtualinherited

Perform per instance destruction. This function may throw errors

Referenced by Vertica::UDXFunction::destroy().

virtual void Vertica::UDXFunction::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::UDXObject::isCanceled() const

inline inherited Returns true iff this UDX has been 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

  • srvInterface: a ServerInterface object used to communicate with Vertica
  • input_reader: input rows
  • output_writer: output location
virtual void Vertica::UDXFunction::setup(ServerInterface & srvInterface, const SizedColumnTypes & argTypes)

inlinevirtualinherited

Perform per instance initialization. This function may throw errors.

74 - Vertica::AnalyticFunction Member List

This is the complete list of members for Vertica::AnalyticFunction, including all inherited members.

cancel(ServerInterface &srvInterface) Vertica::UDXObject inlineprotectedvirtual
cancelUDX(ServerInterface &srvInterface) Vertica::UDXObject inline
destroy(ServerInterface &srvInterface, const SizedColumnTypes &argTypes) Vertica::UDXFunction inlinevirtual
destroy(ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SessionParamWriterMap &udSessionParams) Vertica::UDXFunction inlinevirtual
isCanceled() const Vertica::UDXObject inline
processPartition(ServerInterface &srvInterface, AnalyticPartitionReader &input_reader, AnalyticPartitionWriter &output_writer)=0 Vertica::AnalyticFunction pure virtual
setup(ServerInterface &srvInterface, const SizedColumnTypes &argTypes) Vertica::UDXFunction inlinevirtual
UDXObject() (defined in Vertica::UDXObject) Vertica::UDXObject inline
~UDXObject() Vertica::UDXObject inlinevirtual

75 - Vertica::AnalyticFunctionFactory Class Reference

Interface for declaring parameters and return types for, and instantiating, an associated AnalyticFunction.

Inheritance diagram for Vertica::AnalyticFunctionFactory:

Collaboration diagram for Vertica::AnalyticFunctionFactory:

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 AnalyticFunction * createAnalyticFunction (ServerInterface &srvInterface)=0
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 void getPrototype (ServerInterface &srvInterface, ColumnTypes &argTypes, ColumnTypes &returnType)=0
virtual void getReturnType (ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType)=0
Protected Member Functions
virtual UDXType getUDXFactoryType () override
Protected Attributes
Oid libOid
std::string sqlName

Detailed Description

Interface for declaring parameters and return types for, and instantiating, an associated AnalyticFunction.

Member Enumeration Documentation

enum Vertica::UDXFactory::UDXType

inherited The type of UDX instance this factory produces

Member Function Documentation

virtual AnalyticFunction* Vertica::AnalyticFunctionFactory::createAnalyticFunction(ServerInterface & srvInterface)

pure virtual Called when Vertica needs a new AnalyticFunction object to process a function call.

Returns an AnalyticFunction object which implements the UDx API described by this metadata.

Parameters

  • srvInterface: a ServerInterface object used to communicate with Vertica

Note More than one object may be instantiated per query.

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

inlinevirtualinherited

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.

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

inlinevirtualinherited

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 Vertica::UDXFactory::getPerInstanceResources().

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

inlinevirtualinherited

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.

virtual void Vertica::FunctionFactory::getPrototype(ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes & returnType)

pure virtual inherited Provides the argument and return types of the UDX

Implemented in Vertica::MultiPhaseTransformFunctionFactory.

Referenced by Vertica::ScalarFunctionFactory::getReturnType().

virtual void Vertica::FunctionFactory::getReturnType(ServerInterface & srvInterface, const SizedColumnTypes & argTypes, SizedColumnTypes & returnType)

pure virtual inherited Function to tell Vertica what the return types (and length/precision if necessary) of this UDX are.

For CHAR/VARCHAR types, specify the max length,

For NUMERIC types, specify the precision and scale.

For Time/Timestamp types (with or without time zone), specify the precision, -1 means unspecified/don't care

For IntervalYM/IntervalDS types, specify the precision and range

For all other types, no length/precision specification needed

Parameters

  • argTypes: Provides the data types of arguments that this UDT was called with. This may be used to modify the return types accordingly.
  • returnType: User code must fill in the names and data types returned by the UDT.

Implemented in Vertica::MultiPhaseTransformFunctionFactory, and Vertica::ScalarFunctionFactory.

virtual UDXType Vertica::AnalyticFunctionFactory::getUDXFactoryType()

inlineprotectedvirtual

Returns the object type internally used by Vertica

Implements Vertica::UDXFactory.

76 - Vertica::AnalyticFunctionFactory Member List

This is the complete list of members for Vertica::AnalyticFunctionFactory, including all inherited members.

AGGREGATE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
ANALYTIC enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
createAnalyticFunction(ServerInterface &srvInterface)=0 Vertica::AnalyticFunctionFactory pure virtual
CURSOR_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
FILESYSTEM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
getParameterType(ServerInterface &srvInterface, SizedColumnTypes meterTypes) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) Vertica::UDXFactory inlinevirtual
getPrototype(ServerInterface &srvInterface, ColumnTypes &argTypes, ColumnTypes &returnType)=0 Vertica::FunctionFactory pure virtual
getReturnType(ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType)=0 Vertica::FunctionFactory pure virtual
getUDXFactoryType() override Vertica::AnalyticFunctionFactory inlineprotectedvirtual
KEYMANAGER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
libOid (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
LOAD_FILTER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_PARSER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_SOURCE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
MULTI_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
SCALAR enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
sqlName (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
TYPE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
UDXType enum name Vertica::UDXFactory
~AnalyticFunctionFactory() (defined in Vertica::AnalyticFunctionFactory) Vertica::AnalyticFunctionFactory inlinevirtual
~FunctionFactory() (defined in Vertica::FunctionFactory) Vertica::FunctionFactory inlinevirtual
~UDXFactory() (defined in Vertica::UDXFactory) Vertica::UDXFactory inlinevirtual

77 - Vertica::AnalyticPartitionReader Class Reference

Provides an iterator-based read interface over all the partition_by keys, order_by keys, and function arguments in a partition.

Inheritance diagram for Vertica::AnalyticPartitionReader:

Collaboration diagram for Vertica::AnalyticPartitionReader:

Public Member Functions
AnalyticPartitionReader (size_t narg, EE::UserDefinedProcess *udx_object)
void copy (const VerticaBlock &other)
Array::ArrayReader getArrayRef (size_t idx) const
Get a reference to an Array value from the input row.
const vbool * getBoolPtr (size_t idx) const
Get a pointer to a BOOLEAN value from the input row.
const vbool & getBoolRef (size_t idx) const
Get a reference to a BOOLEAN value from the input row.
template
const T * getColPtr (size_t idx) const
template<>
const VString * getColPtr (size_t idx) const
template<>
const VNumeric * getColPtr (size_t idx) const
template<>
const VUuid * getColPtr (size_t idx) const
template<>
const BlockReader * getColPtr (size_t idx) const
template
T * getColPtrForWrite (size_t idx)
template<>
VString * getColPtrForWrite (size_t idx)
template<>
VNumeric * getColPtrForWrite (size_t idx)
template<>
VUuid * getColPtrForWrite (size_t idx)
template<>
BlockWriter * getColPtrForWrite (size_t idx)
template
const T & getColRef (size_t idx) const
template
T & getColRefForWrite (size_t idx)
int getColStride (size_t idx) const
const EE::DataArea * getDataArea (size_t idx) const
const DateADT * getDatePtr (size_t idx) const
Get a pointer to a DATE value from the input row.
const DateADT & getDateRef (size_t idx) const
Get a reference to a DATE value from the input row.
const vfloat * getFloatPtr (size_t idx) const
Get a pointer to a FLOAT value from the input row.
const vfloat & getFloatRef (size_t idx) const
Get a reference to a FLOAT value from the input row.
const Interval * getIntervalPtr (size_t idx) const
Get a pointer to an INTERVAL value from the input row.
const Interval & getIntervalRef (size_t idx) const
Get a reference to an INTERVAL value from the input row.
const IntervalYM * getIntervalYMPtr (size_t idx) const
Get a pointer to a INTERVAL YEAR TO MONTH value from the input row.
const IntervalYM & getIntervalYMRef (size_t idx) const
Get a reference to an INTERVAL YEAR TO MONTH value from the input row.
const vint * getIntPtr (size_t idx) const
Get a pointer to an INTEGER value from the input row.
const vint & getIntRef (size_t idx) const
Get a reference to an INTEGER value from the input row.
size_t getNumCols () const
const VNumeric * getNumericPtr (size_t idx) const
Get a pointer to a VNumeric value from the input row.
const VNumeric & getNumericRef (size_t idx) const
Get a reference to a VNumeric value from the input row.
int getNumRows () const
int getPosition () const
const BlockReader * getRowPtr (size_t idx) const
Get a reference to a Row value from the input row.
const BlockReader & getRowRef (size_t idx) const
Get a reference to a Row value from the input row.
const VString * getStringPtr (size_t idx) const
Get a pointer to a VString value from the input row.
const VString & getStringRef (size_t idx) const
Get a reference to an VString value from the input row.
const TimeADT * getTimePtr (size_t idx) const
Get a pointer to a TIME value from the input row.
const TimeADT & getTimeRef (size_t idx) const
Get a reference to a TIME value from the input row.
const Timestamp * getTimestampPtr (size_t idx) const
Get a pointer to a TIMESTAMP value from the input row.
const Timestamp & getTimestampRef (size_t idx) const
Get a reference to a TIMESTAMP value from the input row.
const TimestampTz * getTimestampTzPtr (size_t idx) const
Get a pointer to a TIMESTAMP WITH TIMEZONE value from the input row.
const TimestampTz & getTimestampTzRef (size_t idx) const
Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.
const TimeTzADT * getTimeTzPtr (size_t idx) const
Get a pointer to a TIME WITH TIMEZONE value from the input row.
const TimeTzADT & getTimeTzRef (size_t idx) const
Get a reference to a TIME WITH TIMEZONE value from the input row.
const SizedColumnTypes & getTypeMetaData () const
SizedColumnTypes & getTypeMetaData ()
const VUuid * getUuidPtr (size_t idx) const
Get a pointer to a VUuid value from the input row.
const VUuid & getUuidRef (size_t idx) const
Get a reference to a VUuid value from the input row.
void * getVoidPtr (size_t idx=0)
const void * getVoidPtr (size_t idx=0) const
bool hasData () const
bool hasMoreData ()
bool isNewOrderByKey ()
bool isNull (int col) const
Check if the idx'th argument is null.
bool next ()
virtual bool readNextBlock () override
bool remaining () const
void setDataArea (size_t idx, void *dataarea)
bool willFetchBlockOnNext ()
Protected Member Functions
void addCol (char *arg, int colstride, const Field &field)
void addCol (const char *arg, int colstride, const Field &field)
bool advanceToNextRow (bool recurIntoArrays)
bool checkStringUserBlockInfo (size_t idx) const
bool checkTimeUserBlockInfo (size_t idx) const
EE::DataArea ** getArrayIntermediateDataArea (size_t c)
void resetIndex ()
void setRowCount (int rowCount)
virtual void setupColsAndStrides () override
void validateStringColumn (size_t idx, const VString &s, size_t colLength) const
Protected Attributes
union {
EE::UserDefinedAnalytic * udan
EE::UserDefinedTransform * udt
EE::UserDefinedProcess * udx_object
};
std::vector cols
std::vector colstrides
int count
std::vector ctWrappers
EE::DataHolder * dh
int index
const int * indices
size_t ncols
std::vector newOrderMarkers
int nrows
std::vector processBlockUserInfoVector
vpos pstart
std::vector svWrappers
SizedColumnTypes typeMetaData
std::vector uuWrappers
std::vector vnWrappers
Friends
class ::AnalyticPartitionReaderHelper
class EE::UserDefinedAnalytic
class EE::UserDefinedProcess

Detailed Description

Provides an iterator-based read interface over all the partition_by keys, order_by keys, and function arguments in a partition.

Member Function Documentation

void Vertica::VerticaBlock::addCol(char * arg, int colstride, const Field & field)

protected inherited Add the location for reading a particular argument.

Parameters

  • arg: The base location to find data.
  • colstride: The stride between data instances.
  • field: metadata for the added column
  • dt: The type of input.
  • fieldname: the name of the field

Referenced by Vertica::ParamReader::addParameter().

EE::DataArea** Vertica::VerticaBlock::getArrayIntermediateDataArea(size_t c)

inlineprotectedinherited

Returns a pointer to a DataArea for accumulating an intermediate result

Array::ArrayReader Vertica::BlockReader::getArrayRef(size_t idx) const

inherited Get a reference to an Array value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument: another BlockReader which reads elements of the array.

const vbool* Vertica::BlockReader::getBoolPtr(size_t idx) const

inline inherited Get a pointer to a BOOLEAN value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a BOOLEAN.

Referenced by Vertica::BlockReader::getBoolRef().

const vbool& Vertica::BlockReader::getBoolRef(size_t idx) const

inline inherited Get a reference to a BOOLEAN value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an BOOLEAN.

Referenced by Vertica::BlockReader::isNull().

template<class T >
const T* Vertica::VerticaBlock::getColPtr(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example:

const vint *a = arg_reader->getColPtr(0);
template<class T >
const T& Vertica::VerticaBlock::getColRef(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example

const vint a = arg_reader->getColRef<vint>(0);
const DateADT* Vertica::BlockReader::getDatePtr(size_t idx) const

inline inherited Get a pointer to a DATE value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a DATE.

Referenced by Vertica::BlockReader::getDateRef().

const DateADT& Vertica::BlockReader::getDateRef(size_t idx) const

inline inherited Get a reference to a DATE value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an DATE.

Referenced by Vertica::BlockReader::isNull().

const vfloat* Vertica::BlockReader::getFloatPtr(size_t idx) const

inline inherited Get a pointer to a FLOAT value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a FLOAT.

Referenced by Vertica::BlockReader::getFloatRef().

const vfloat& Vertica::BlockReader::getFloatRef(size_t idx) const

inline inherited Get a reference to a FLOAT value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns A reference to the idx'th argument, cast as an FLOAT.

Referenced by Vertica::BlockReader::isNull().

const Interval* Vertica::BlockReader::getIntervalPtr(size_t idx) const

inline inherited Get a pointer to an INTERVAL value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as an INTERVAL.

Referenced by Vertica::BlockReader::getIntervalRef().

const Interval& Vertica::BlockReader::getIntervalRef(size_t idx) const

inline inherited Get a reference to an INTERVAL value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an INTERVAL.

Referenced by Vertica::BlockReader::isNull().

const IntervalYM* Vertica::BlockReader::getIntervalYMPtr(size_t idx) const

inline inherited Get a pointer to a INTERVAL YEAR TO MONTH value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.

Referenced by Vertica::BlockReader::getIntervalYMRef().

const IntervalYM& Vertica::BlockReader::getIntervalYMRef(size_t idx) const

inline inherited Get a reference to an INTERVAL YEAR TO MONTH value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an INTERVAL YEAR TO MONTH.

Referenced by Vertica::BlockReader::isNull().

const vint* Vertica::BlockReader::getIntPtr(size_t idx) const

inline inherited Get a pointer to an INTEGER value from the input row.

Returns a pointer to the idx'th argument, cast appropriately.

Parameters

  • idx: The column number to retrieve from the input row.

Example:

const vint *a = arg_reader->getIntPtr(0);

Referenced by Vertica::BlockReader::getIntRef().

const vint& Vertica::BlockReader::getIntRef(size_t idx) const

inline inherited Get a reference to an INTEGER value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an INTEGER.

Example:

const vint a = arg_reader->getIntRef(0);

Referenced by Vertica::BlockReader::isNull().

size_t Vertica::VerticaBlock::getNumCols() const

inline inherited Returns the number of columns held by this block.

Referenced by

const VNumeric* Vertica::BlockReader::getNumericPtr(size_t idx) const

inline inherited Get a pointer to a VNumeric value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns A pointer to the retrieved value cast as a Numeric.

Referenced by Vertica::BlockReader::getNumericRef().

const VNumeric& Vertica::BlockReader::getNumericRef(size_t idx) const

inline inherited Get a reference to a VNumeric value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an VNumeric.

Referenced by Vertica::BlockReader::isNull().

int Vertica::VerticaBlock::getNumRows() const

inline inherited Returns the number of rows held by this block.

int Vertica::BlockReader::getPosition() const

inline inherited Returns the current row position or array index

const BlockReader* Vertica::BlockReader::getRowPtr(size_t idx) const

inline inherited Get a reference to a Row value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a pointer to a reader for the Row fields

Referenced by Vertica::BlockReader::getRowRef().

const BlockReader& Vertica::BlockReader::getRowRef(size_t idx) const

inline inherited Get a reference to a Row value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, as a Row value.

const VString* Vertica::BlockReader::getStringPtr(size_t idx) const

inline inherited Get a pointer to a VString value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns A pointer to the retrieved value cast as a VString.

Referenced by Vertica::BlockReader::getStringRef().

const VString& Vertica::BlockReader::getStringRef(size_t idx) const

inline inherited Get a reference to an VString value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an VString.

Referenced by Vertica::BlockReader::isNull().

const TimeADT* Vertica::BlockReader::getTimePtr(size_t idx) const

inline inherited Get a pointer to a TIME value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a TIME.

Referenced by Vertica::BlockReader::getTimeRef().

const TimeADT& Vertica::BlockReader::getTimeRef(size_t idx) const

inline inherited Get a reference to a TIME value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as a TIME.

Referenced by Vertica::BlockReader::isNull().

const Timestamp* Vertica::BlockReader::getTimestampPtr(size_t idx) const

inline inherited Get a pointer to a TIMESTAMP value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a TIMESTAMP.

Referenced by Vertica::BlockReader::getTimestampRef().

const Timestamp& Vertica::BlockReader::getTimestampRef(size_t idx) const

inline inherited Get a reference to a TIMESTAMP value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as a TIMESTAMP.

Referenced by Vertica::BlockReader::isNull().

const TimestampTz* Vertica::BlockReader::getTimestampTzPtr(size_t idx) const

inline inherited Get a pointer to a TIMESTAMP WITH TIMEZONE value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE .

Referenced by Vertica::BlockReader::getTimestampTzRef().

const TimestampTz& Vertica::BlockReader::getTimestampTzRef(size_t idx) const

inline inherited Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as a TIMESTAMP WITH TIMEZONE.

Referenced by Vertica::BlockReader::isNull().

const TimeTzADT* Vertica::BlockReader::getTimeTzPtr(size_t idx) const

inline inherited Get a pointer to a TIME WITH TIMEZONE value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a TIME WITH TIMEZONE.

Referenced by Vertica::BlockReader::getTimeTzRef().

const TimeTzADT& Vertica::BlockReader::getTimeTzRef(size_t idx) const

inline inherited Get a reference to a TIME WITH TIMEZONE value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as a TIME WITH TIMEZONE.

Referenced by Vertica::BlockReader::isNull().

const SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData() const

inline inherited Returns information about the types and numbers of arguments

Referenced by

SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData()

inline inherited Returns information about the types and numbers of arguments

const VUuid* Vertica::BlockReader::getUuidPtr(size_t idx) const

inline inherited Get a pointer to a VUuid value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns A pointer to the retrieved value cast as a VUuid.

Referenced by Vertica::BlockReader::getUuidRef().

const VUuid& Vertica::BlockReader::getUuidRef(size_t idx) const

inline inherited Get a reference to a VUuid value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an VUuid.

Referenced by Vertica::BlockReader::isNull().

bool Vertica::BlockReader::hasData() const

inline inherited Returns true if there is data available

Referenced by Vertica::copyBlockColumn().

bool Vertica::BlockReader::isNull(int col) const

inline inherited Check if the idx'th argument is null.

Parameters

  • col: The column number in the row to check for null

Returns true is the col value is null false otherwise

virtual bool Vertica::AnalyticPartitionReader::readNextBlock()

virtual

Reads in the next block of data and positions cursor at the beginning.

Returns false if there's no more input data

Reimplemented from Vertica::PartitionReader.

bool Vertica::VerticaBlock::remaining() const

inline inherited Returns the number of entries remaining in the block

78 - Vertica::AnalyticPartitionReader Member List

This is the complete list of members for Vertica::AnalyticPartitionReader, including all inherited members.

::AnalyticPartitionReaderHelper (defined in Vertica::AnalyticPartitionReader) Vertica::AnalyticPartitionReader friend
addCol(char *arg, int colstride, const Field &field) Vertica::VerticaBlock protected
addCol(const char *arg, int colstride, const Field &field) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
advanceToNextRow(bool recurIntoArrays) (defined in Vertica::BlockReader) Vertica::BlockReader inlineprotected
AnalyticPartitionReader(size_t narg, EE::UserDefinedProcess *udx_object) (defined in Vertica::AnalyticPartitionReader) Vertica::AnalyticPartitionReader inline
BlockReader(size_t narg, int rowcount, const int *indices) (defined in Vertica::BlockReader) Vertica::BlockReader inline
checkStringUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
checkTimeUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
cols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
colstrides (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
copy(const VerticaBlock &other) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
count (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
ctWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
dh (defined in Vertica::PartitionReader) Vertica::PartitionReader protected
EE::UserDefinedAnalytic (defined in Vertica::AnalyticPartitionReader) Vertica::AnalyticPartitionReader friend
EE::UserDefinedProcess (defined in Vertica::AnalyticPartitionReader) Vertica::AnalyticPartitionReader friend
getArrayIntermediateDataArea(size_t c) Vertica::VerticaBlock inlineprotected
getArrayRef(size_t idx) const Vertica::BlockReader
getBoolPtr(size_t idx) const Vertica::BlockReader inline
getBoolRef(size_t idx) const Vertica::BlockReader inline
getColPtr(size_t idx) const Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColRef(size_t idx) const Vertica::VerticaBlock inline
getColRefForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColStride(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDataArea(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDatePtr(size_t idx) const Vertica::BlockReader inline
getDateRef(size_t idx) const Vertica::BlockReader inline
getFloatPtr(size_t idx) const Vertica::BlockReader inline
getFloatRef(size_t idx) const Vertica::BlockReader inline
getIntervalPtr(size_t idx) const Vertica::BlockReader inline
getIntervalRef(size_t idx) const Vertica::BlockReader inline
getIntervalYMPtr(size_t idx) const Vertica::BlockReader inline
getIntervalYMRef(size_t idx) const Vertica::BlockReader inline
getIntPtr(size_t idx) const Vertica::BlockReader inline
getIntRef(size_t idx) const Vertica::BlockReader inline
getNumCols() const Vertica::VerticaBlock inline
getNumericPtr(size_t idx) const Vertica::BlockReader inline
getNumericRef(size_t idx) const Vertica::BlockReader inline
getNumRows() const Vertica::VerticaBlock inline
getPosition() const Vertica::BlockReader inline
getRowPtr(size_t idx) const Vertica::BlockReader inline
getRowRef(size_t idx) const Vertica::BlockReader inline
getStringPtr(size_t idx) const Vertica::BlockReader inline
getStringRef(size_t idx) const Vertica::BlockReader inline
getTimePtr(size_t idx) const Vertica::BlockReader inline
getTimeRef(size_t idx) const Vertica::BlockReader inline
getTimestampPtr(size_t idx) const Vertica::BlockReader inline
getTimestampRef(size_t idx) const Vertica::BlockReader inline
getTimestampTzPtr(size_t idx) const Vertica::BlockReader inline
getTimestampTzRef(size_t idx) const Vertica::BlockReader inline
getTimeTzPtr(size_t idx) const Vertica::BlockReader inline
getTimeTzRef(size_t idx) const Vertica::BlockReader inline
getTypeMetaData() const Vertica::VerticaBlock inline
getTypeMetaData() Vertica::VerticaBlock inline
getUuidPtr(size_t idx) const Vertica::BlockReader inline
getUuidRef(size_t idx) const Vertica::BlockReader inline
getVoidPtr(size_t idx=0) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getVoidPtr(size_t idx=0) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
hasData() const Vertica::BlockReader inline
hasMoreData() (defined in Vertica::PartitionReader) Vertica::PartitionReader inline
index (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
indices (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
isNewOrderByKey() (defined in Vertica::AnalyticPartitionReader) Vertica::AnalyticPartitionReader inline
isNull(int col) const Vertica::BlockReader inline
ncols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
newOrderMarkers (defined in Vertica::AnalyticPartitionReader) Vertica::AnalyticPartitionReader protected
next() (defined in Vertica::PartitionReader) Vertica::PartitionReader inline
nrows (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
PartitionReader(size_t narg) (defined in Vertica::PartitionReader) Vertica::PartitionReader inline
PartitionReader(size_t narg, EE::UserDefinedProcess *udx_object) (defined in Vertica::PartitionReader) Vertica::PartitionReader inline
processBlockUserInfoVector (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
pstart (defined in Vertica::PartitionReader) Vertica::PartitionReader protected
readNextBlock() override Vertica::AnalyticPartitionReader virtual
remaining() const Vertica::VerticaBlock inline
resetIndex() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setDataArea(size_t idx, void *dataarea) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
setRowCount(int rowCount) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setupColsAndStrides() override (defined in Vertica::AnalyticPartitionReader) Vertica::AnalyticPartitionReader protectedvirtual
svWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
typeMetaData (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
udan (defined in Vertica::PartitionReader) Vertica::PartitionReader
udt (defined in Vertica::PartitionReader) Vertica::PartitionReader
udx_object (defined in Vertica::PartitionReader) Vertica::PartitionReader
uuWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
validateStringColumn(size_t idx, const VString &s, size_t colLength) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
VerticaBlock(size_t ncols, int rowcount, const int *indices) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
vnWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
willFetchBlockOnNext() (defined in Vertica::PartitionReader) Vertica::PartitionReader inline
~PartitionReader() (defined in Vertica::PartitionReader) Vertica::PartitionReader inlinevirtual
~VerticaBlock() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlinevirtual

79 - Vertica::AnalyticPartitionWriter Class Reference

Partition writer for all input data in a single partition. It automatically makes space as needed.

Inheritance diagram for Vertica::AnalyticPartitionWriter:

Collaboration diagram for Vertica::AnalyticPartitionWriter:

Public Member Functions
AnalyticPartitionWriter (size_t narg, EE::UserDefinedProcess *udx_object)
void copy (const VerticaBlock &other)
void copyFromInput (size_t dstIdx, const BlockReader &input_reader, size_t srcIdx)
void copyFromInput (const BlockReader &input_reader)
Array::ArrayWriter getArrayRef (size_t idx)
template
const T * getColPtr (size_t idx) const
template<>
const VString * getColPtr (size_t idx) const
template<>
const VNumeric * getColPtr (size_t idx) const
template<>
const VUuid * getColPtr (size_t idx) const
template<>
const BlockReader * getColPtr (size_t idx) const
template
T * getColPtrForWrite (size_t idx)
template<>
VString * getColPtrForWrite (size_t idx)
template<>
VNumeric * getColPtrForWrite (size_t idx)
template<>
VUuid * getColPtrForWrite (size_t idx)
template<>
BlockWriter * getColPtrForWrite (size_t idx)
template
const T & getColRef (size_t idx) const
template
T & getColRefForWrite (size_t idx)
int getColStride (size_t idx) const
PartitionWriterColumns getColumns ()
const EE::DataArea * getDataArea (size_t idx) const
size_t getNumCols () const
VNumeric & getNumericRef (size_t idx)
int getNumRows () const
BlockWriter * getRowPtr (size_t idx)
BlockWriter & getRowRef (size_t idx)
Get a reference for writing an output Row value.
VString & getStringRef (size_t idx)
VString & getStringRefNoClear (size_t idx)
const SizedColumnTypes & getTypeMetaData () const
SizedColumnTypes & getTypeMetaData ()
VUuid & getUuidRef (size_t idx)
const void * getVoidPtr (size_t idx=0) const
void * getVoidPtr (size_t idx)
virtual bool getWriteableBlock () override
bool next ()
bool remaining () const
void setBool (size_t idx, vbool r)
void setDataArea (size_t idx, void *dataarea)
void setDate (size_t idx, DateADT r)
void setFloat (size_t idx, vfloat r)
void setInt (size_t idx, vint r)
void setInterval (size_t idx, Interval r)
void setIntervalYM (size_t idx, IntervalYM r)
void setNull (size_t idx)
Set the idx'th argument to null. If a column has the canBeNull attribute set to false, then this throws an exception.
void setNull (size_t idx, bool enforceNotNullProperty)
Set the idx'th argument to null.
void setTime (size_t idx, TimeADT r)
void setTimestamp (size_t idx, Timestamp r)
void setTimestampTz (size_t idx, TimestampTz r)
void setTimeTz (size_t idx, TimeTzADT r)
void throwIncorrectUsageError (size_t idx)
Protected Member Functions
void addCol (char *arg, int colstride, const Field &field)
void addCol (const char *arg, int colstride, const Field &field)
bool checkStringUserBlockInfo (size_t idx) const
bool checkTimeUserBlockInfo (size_t idx) const
bool commitPrefilledRows (int nRows)
EE::DataArea ** getArrayIntermediateDataArea (size_t c)
void reset ()
void resetIndex ()
void setRowCount (int rowCount)
void validateStringColumn (size_t idx, const VString &s, size_t colLength) const
Protected Attributes
union {
EE::UserDefinedAnalytic * udan
EE::UserDefinedTransform * udt
EE::UserDefinedProcess * udx_object
};
std::vector cols
std::vector colstrides
int count
std::vector ctWrappers
int index
const int * indices
size_t ncols
int nrows
std::vector processBlockUserInfoVector
int pstart
std::vector svWrappers
SizedColumnTypes typeMetaData
std::vector uuWrappers
std::vector vnWrappers

Detailed Description

Partition writer for all input data in a single partition. It automatically makes space as needed.

Member Function Documentation

void Vertica::VerticaBlock::addCol(char * arg, int colstride, const Field & field)

protected inherited Add the location for reading a particular argument.

Parameters

  • arg: The base location to find data.
  • colstride: The stride between data instances.
  • field: metadata for the added column
  • dt: The type of input.
  • fieldname: the name of the field

Referenced by Vertica::ParamReader::addParameter().

void Vertica::PartitionWriter::copyFromInput(size_t dstIdx, const BlockReader & input_reader, size_t srcIdx)

inherited Copies a column from the input reader to the output writer. Raises an error if the input and output data types are not compatible.

Parameters

  • dstIdx: The destination column index (in the output writer)
  • input_reader: The input reader from which to copy a column
  • srcIdx: The source column index (in the input reader)
EE::DataArea** Vertica::VerticaBlock::getArrayIntermediateDataArea(size_t c)

inlineprotectedinherited

Returns a pointer to a DataArea for accumulating an intermediate result

template<class T >
const T* Vertica::VerticaBlock::getColPtr(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example:

const vint *a = arg_reader->getColPtr(0);
template<class T >
const T& Vertica::VerticaBlock::getColRef(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example

const vint a = arg_reader->getColRef<vint>(0);
size_t Vertica::VerticaBlock::getNumCols() const

inline inherited Returns the number of columns held by this block.

Referenced by

int Vertica::VerticaBlock::getNumRows() const

inline inherited Returns the number of rows held by this block.

BlockWriter& Vertica::PartitionWriter::getRowRef(size_t idx)

inline inherited Get a reference for writing an output Row value.

Parameters

  • idx: the output column

Returns a reference to a BlockWriter which holds output data for the Row value's fields

const SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData() const

inline inherited Returns information about the types and numbers of arguments

Referenced by

SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData()

inline inherited Returns information about the types and numbers of arguments

virtual bool Vertica::AnalyticPartitionWriter::getWriteableBlock()

virtual

Gets a writeable block of data and positions cursor at the beginning.

Reimplemented from Vertica::PartitionWriter.

bool Vertica::VerticaBlock::remaining() const

inline inherited Returns the number of entries remaining in the block

void Vertica::PartitionWriter::setInt(size_t idx, vint r)

inline inherited Setter methods

void Vertica::PartitionWriter::setNull(size_t idx)

inline inherited Set the idx'th argument to null. If a column has the canBeNull attribute set to false, then this throws an exception.

Parameters

  • idx: The column number in the row to set to null
void Vertica::PartitionWriter::setNull(size_t idx, bool enforceNotNullProperty)

inline inherited Set the idx'th argument to null.

Parameters

  • idx: The column number in the row to set to null
  • enforceNotNullProperty: If false, do not throw an exception if canBeNull is false.

80 - Vertica::AnalyticPartitionWriter Member List

This is the complete list of members for Vertica::AnalyticPartitionWriter, including all inherited members.

addCol(char *arg, int colstride, const Field &field) Vertica::VerticaBlock protected
addCol(const char *arg, int colstride, const Field &field) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
AnalyticPartitionWriter(size_t narg, EE::UserDefinedProcess *udx_object) (defined in Vertica::AnalyticPartitionWriter) Vertica::AnalyticPartitionWriter inline
checkStringUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
checkTimeUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
cols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
colstrides (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
commitPrefilledRows(int nRows) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inlineprotected
copy(const VerticaBlock &other) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
copyFromInput(size_t dstIdx, const BlockReader &input_reader, size_t srcIdx) Vertica::PartitionWriter
copyFromInput(const BlockReader &input_reader) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
count (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
ctWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
getArrayIntermediateDataArea(size_t c) Vertica::VerticaBlock inlineprotected
getArrayRef(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter
getColPtr(size_t idx) const Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColRef(size_t idx) const Vertica::VerticaBlock inline
getColRefForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColStride(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColumns() (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getDataArea(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getNumCols() const Vertica::VerticaBlock inline
getNumericRef(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getNumRows() const Vertica::VerticaBlock inline
getRowPtr(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getRowRef(size_t idx) Vertica::PartitionWriter inline
getStringRef(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getStringRefNoClear(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getTypeMetaData() const Vertica::VerticaBlock inline
getTypeMetaData() Vertica::VerticaBlock inline
getUuidRef(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getVoidPtr(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getVoidPtr(size_t idx=0) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getWriteableBlock() override Vertica::AnalyticPartitionWriter virtual
index (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
indices (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
ncols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
next() (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
nrows (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
PartitionWriter(size_t narg) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
PartitionWriter(size_t narg, EE::UserDefinedProcess *udx_object) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
PartitionWriter(size_t narg, size_t nrows, EE::UserDefinedProcess *udx_object) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
processBlockUserInfoVector (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
pstart (defined in Vertica::PartitionWriter) Vertica::PartitionWriter protected
remaining() const Vertica::VerticaBlock inline
reset() (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inlineprotected
resetIndex() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setBool(size_t idx, vbool r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setDataArea(size_t idx, void *dataarea) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
setDate(size_t idx, DateADT r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setFloat(size_t idx, vfloat r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setInt(size_t idx, vint r) Vertica::PartitionWriter inline
setInterval(size_t idx, Interval r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setIntervalYM(size_t idx, IntervalYM r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setNull(size_t idx) Vertica::PartitionWriter inline
setNull(size_t idx, bool enforceNotNullProperty) Vertica::PartitionWriter inline
setRowCount(int rowCount) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setTime(size_t idx, TimeADT r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setTimestamp(size_t idx, Timestamp r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setTimestampTz(size_t idx, TimestampTz r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setTimeTz(size_t idx, TimeTzADT r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
svWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
throwIncorrectUsageError(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
typeMetaData (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
udan (defined in Vertica::PartitionWriter) Vertica::PartitionWriter
udt (defined in Vertica::PartitionWriter) Vertica::PartitionWriter
udx_object (defined in Vertica::PartitionWriter) Vertica::PartitionWriter
uuWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
validateStringColumn(size_t idx, const VString &s, size_t colLength) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
VerticaBlock(size_t ncols, int rowcount, const int *indices) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
vnWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
~AnalyticPartitionWriter() (defined in Vertica::AnalyticPartitionWriter) Vertica::AnalyticPartitionWriter inlinevirtual
~PartitionWriter() (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inlinevirtual
~VerticaBlock() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlinevirtual

81 - Vertica::Array::ArrayReader Class Reference

Interface for reading array data. This class wraps a BlockReader which reads the elements of an array datum.

Collaboration diagram for Vertica::Array::ArrayReader:

Public Member Functions
BlockReader * getElementBlock ()
const BlockReader * getElementBlock () const
BlockReader & operator* ()
const BlockReader & operator* () const
BlockReader * operator-> ()
const BlockReader * operator-> () const

Detailed Description

Interface for reading array data. This class wraps a BlockReader which reads the elements of an array datum.

Member Function Documentation

BlockReader& Vertica::Array::ArrayReader::operator*()

inline Returns a reference to the wrapped BlockReader

const BlockReader& Vertica::Array::ArrayReader::operator*() const

inline Returns a reference to the wrapped BlockReader

BlockReader* Vertica::Array::ArrayReader::operator->()

inline Returns a pointer to the wrapped BlockReader

const BlockReader* Vertica::Array::ArrayReader::operator->() const

inline Returns a pointer to the wrapped BlockReader

82 - Vertica::Array::ArrayReader Member List

This is the complete list of members for Vertica::Array::ArrayReader, including all inherited members.

getElementBlock() (defined in Vertica::Array::ArrayReader) Vertica::Array::ArrayReader inline
getElementBlock() const (defined in Vertica::Array::ArrayReader) Vertica::Array::ArrayReader inline
operator*() Vertica::Array::ArrayReader inline
operator*() const Vertica::Array::ArrayReader inline
operator->() Vertica::Array::ArrayReader inline
operator->() const Vertica::Array::ArrayReader inline

83 - Vertica::Array::ArrayWriter Class Reference

Interface for writing elements into an array datum.

Collaboration diagram for Vertica::Array::ArrayWriter:

Public Member Functions
void commit ()
BlockWriter * getElementBlock ()
const BlockWriter * getElementBlock () const
BlockWriter & operator* ()
const BlockWriter & operator* () const
BlockWriter * operator-> ()
BlockWriter * operator-> () const

Detailed Description

Interface for writing elements into an array datum.

This class wraps a BlockWriter which is a cursor onto elements of an array datum. Use the wrapped BlockWriter to write element data, and then finalize the array contents by calling ArrayWriter::commit. This does any necessary post-processing to convert the element data into a canonical array datum.

Member Function Documentation

void Vertica::Array::ArrayWriter::commit()

inline Finalize the array value. This sets the number of array elements and copies data from the temp scratch space into the target column.

Referenced by Vertica::copyBlockColumn().

BlockWriter& Vertica::Array::ArrayWriter::operator*()

inline Returns a reference to the wrapped BlockWriter

const BlockWriter& Vertica::Array::ArrayWriter::operator*() const

inline Returns a reference to the wrapped BlockWriter

BlockWriter* Vertica::Array::ArrayWriter::operator->()

inline Returns a pointer to the wrapped BlockWriter

BlockWriter* Vertica::Array::ArrayWriter::operator->() const

inline Returns a pointer to the wrapped BlockWriter

84 - Vertica::Array::ArrayWriter Member List

This is the complete list of members for Vertica::Array::ArrayWriter, including all inherited members.

commit() Vertica::Array::ArrayWriter inline
getElementBlock() (defined in Vertica::Array::ArrayWriter) Vertica::Array::ArrayWriter inline
getElementBlock() const (defined in Vertica::Array::ArrayWriter) Vertica::Array::ArrayWriter inline
operator*() Vertica::Array::ArrayWriter inline
operator*() const Vertica::Array::ArrayWriter inline
operator->() Vertica::Array::ArrayWriter inline
operator->() const Vertica::Array::ArrayWriter inline

85 - Vertica::BasePartitionWriterColumn Class Reference

Base class for vectorized writing to columns. Efficiently writes each element in a single column.

Inheritance diagram for Vertica::BasePartitionWriterColumn:

Collaboration diagram for Vertica::BasePartitionWriterColumn:

Public Member Functions
char * getAndAdvance ()
const char * getPtr (size_t offset_from_start)
int getStrideLength ()
size_t getWrittenElementCount ()
Protected Member Functions
BasePartitionWriterColumn (int _stridelength, char *_start, char *_end)
void rejectRows (std::set &rejectedRows)
Protected Attributes
char * curr
const char * end
const char * start
const int stridelength
Friends
class PartitionWriterColumns

Detailed Description

Base class for vectorized writing to columns. Efficiently writes each element in a single column.

Member Function Documentation

int Vertica::BasePartitionWriterColumn::getStrideLength()

inline Returns the size of each element in the column

86 - Vertica::BasePartitionWriterColumn Member List

This is the complete list of members for Vertica::BasePartitionWriterColumn, including all inherited members.

BasePartitionWriterColumn(int _stridelength, char *_start, char *_end) (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inlineprotected
curr (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
end (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
getAndAdvance() (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inline
getPtr(size_t offset_from_start) (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inline
getStrideLength() Vertica::BasePartitionWriterColumn inline
getWrittenElementCount() (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inline
PartitionWriterColumns (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn friend
rejectRows(std::set &rejectedRows) (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
start (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
stridelength (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
~BasePartitionWriterColumn() (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inlineprotectedvirtual

87 - Vertica::BlockFormatter Member List

This is the complete list of members for Vertica::BlockFormatter, including all inherited members.

BlockFormatter(const BlockReader &reader) (defined in Vertica::BlockFormatter) Vertica::BlockFormatter inline
format() (defined in Vertica::BlockFormatter) Vertica::BlockFormatter inline
writeRow(int rowNum, const std::string &row)=0 (defined in Vertica::BlockFormatter) Vertica::BlockFormatter pure virtual
~BlockFormatter() (defined in Vertica::BlockFormatter) Vertica::BlockFormatter inlinevirtual

88 - Vertica::BlockFormatter Struct Reference

Inheritance diagram for Vertica::BlockFormatter:

Collaboration diagram for Vertica::BlockFormatter:

Public Member Functions
BlockFormatter (const BlockReader &reader)
void format ()
virtual void writeRow (int rowNum, const std::string &row)=0

Detailed Description

Class to formatting the data from a UDF arg reader.

See BlockFormatterCout for example

89 - Vertica::BlockFormatterCout Member List

This is the complete list of members for Vertica::BlockFormatterCout, including all inherited members.

BlockFormatter(const BlockReader &reader) (defined in Vertica::BlockFormatter) Vertica::BlockFormatter inline
BlockFormatterCout(const BlockReader &reader) (defined in Vertica::BlockFormatterCout) Vertica::BlockFormatterCout inline
format() (defined in Vertica::BlockFormatter) Vertica::BlockFormatter inline
writeRow(int rowNum, const std::string &row) (defined in Vertica::BlockFormatterCout) Vertica::BlockFormatterCout inlinevirtual
~BlockFormatter() (defined in Vertica::BlockFormatter) Vertica::BlockFormatter inlinevirtual
~BlockFormatterCout() (defined in Vertica::BlockFormatterCout) Vertica::BlockFormatterCout inlinevirtual

90 - Vertica::BlockFormatterCout Struct Reference

Inheritance diagram for Vertica::BlockFormatterCout:

Collaboration diagram for Vertica::BlockFormatterCout:

Public Member Functions
BlockFormatterCout (const BlockReader &reader)
void format ()
void writeRow (int rowNum, const std::string &row)

Detailed Description

Formatting rows in a BlockReader to stdout

Example Usage with BlockReader *arg_reader

BlockFormatterCout(*arg_reader).format();

91 - Vertica::BlockReader Class Reference

Iterator interface for reading rows in a Vertica block.

Inheritance diagram for Vertica::BlockReader:

Collaboration diagram for Vertica::BlockReader:

Public Member Functions
BlockReader (size_t narg, int rowcount, const int *indices)
void copy (const VerticaBlock &other)
Array::ArrayReader getArrayRef (size_t idx) const
Get a reference to an Array value from the input row.
const vbool * getBoolPtr (size_t idx) const
Get a pointer to a BOOLEAN value from the input row.
const vbool & getBoolRef (size_t idx) const
Get a reference to a BOOLEAN value from the input row.
template
const T * getColPtr (size_t idx) const
template<>
const VString * getColPtr (size_t idx) const
template<>
const VNumeric * getColPtr (size_t idx) const
template<>
const VUuid * getColPtr (size_t idx) const
template<>
const BlockReader * getColPtr (size_t idx) const
template
T * getColPtrForWrite (size_t idx)
template<>
VString * getColPtrForWrite (size_t idx)
template<>
VNumeric * getColPtrForWrite (size_t idx)
template<>
VUuid * getColPtrForWrite (size_t idx)
template<>
BlockWriter * getColPtrForWrite (size_t idx)
template
const T & getColRef (size_t idx) const
template
T & getColRefForWrite (size_t idx)
int getColStride (size_t idx) const
const EE::DataArea * getDataArea (size_t idx) const
const DateADT * getDatePtr (size_t idx) const
Get a pointer to a DATE value from the input row.
const DateADT & getDateRef (size_t idx) const
Get a reference to a DATE value from the input row.
const vfloat * getFloatPtr (size_t idx) const
Get a pointer to a FLOAT value from the input row.
const vfloat & getFloatRef (size_t idx) const
Get a reference to a FLOAT value from the input row.
const Interval * getIntervalPtr (size_t idx) const
Get a pointer to an INTERVAL value from the input row.
const Interval & getIntervalRef (size_t idx) const
Get a reference to an INTERVAL value from the input row.
const IntervalYM * getIntervalYMPtr (size_t idx) const
Get a pointer to a INTERVAL YEAR TO MONTH value from the input row.
const IntervalYM & getIntervalYMRef (size_t idx) const
Get a reference to an INTERVAL YEAR TO MONTH value from the input row.
const vint * getIntPtr (size_t idx) const
Get a pointer to an INTEGER value from the input row.
const vint & getIntRef (size_t idx) const
Get a reference to an INTEGER value from the input row.
size_t getNumCols () const
const VNumeric * getNumericPtr (size_t idx) const
Get a pointer to a VNumeric value from the input row.
const VNumeric & getNumericRef (size_t idx) const
Get a reference to a VNumeric value from the input row.
int getNumRows () const
int getPosition () const
const BlockReader * getRowPtr (size_t idx) const
Get a reference to a Row value from the input row.
const BlockReader & getRowRef (size_t idx) const
Get a reference to a Row value from the input row.
const VString * getStringPtr (size_t idx) const
Get a pointer to a VString value from the input row.
const VString & getStringRef (size_t idx) const
Get a reference to an VString value from the input row.
const TimeADT * getTimePtr (size_t idx) const
Get a pointer to a TIME value from the input row.
const TimeADT & getTimeRef (size_t idx) const
Get a reference to a TIME value from the input row.
const Timestamp * getTimestampPtr (size_t idx) const
Get a pointer to a TIMESTAMP value from the input row.
const Timestamp & getTimestampRef (size_t idx) const
Get a reference to a TIMESTAMP value from the input row.
const TimestampTz * getTimestampTzPtr (size_t idx) const
Get a pointer to a TIMESTAMP WITH TIMEZONE value from the input row.
const TimestampTz & getTimestampTzRef (size_t idx) const
Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.
const TimeTzADT * getTimeTzPtr (size_t idx) const
Get a pointer to a TIME WITH TIMEZONE value from the input row.
const TimeTzADT & getTimeTzRef (size_t idx) const
Get a reference to a TIME WITH TIMEZONE value from the input row.
const SizedColumnTypes & getTypeMetaData () const
SizedColumnTypes & getTypeMetaData ()
const VUuid * getUuidPtr (size_t idx) const
Get a pointer to a VUuid value from the input row.
const VUuid & getUuidRef (size_t idx) const
Get a reference to a VUuid value from the input row.
void * getVoidPtr (size_t idx=0)
const void * getVoidPtr (size_t idx=0) const
bool hasData () const
bool isNull (int col) const
Check if the idx'th argument is null.
bool next ()
bool remaining () const
void setDataArea (size_t idx, void *dataarea)
Protected Member Functions
void addCol (char *arg, int colstride, const Field &field)
void addCol (const char *arg, int colstride, const Field &field)
bool advanceToNextRow (bool recurIntoArrays)
bool checkStringUserBlockInfo (size_t idx) const
bool checkTimeUserBlockInfo (size_t idx) const
EE::DataArea ** getArrayIntermediateDataArea (size_t c)
void reset ()
void resetIndex ()
void setRowCount (int rowCount)
void validateStringColumn (size_t idx, const VString &s, size_t colLength) const
Protected Attributes
std::vector cols
std::vector colstrides
int count
std::vector ctWrappers
int index
const int * indices
size_t ncols
int nrows
std::vector processBlockUserInfoVector
std::vector svWrappers
SizedColumnTypes typeMetaData
std::vector uuWrappers
std::vector vnWrappers
Friends
class Array::ArrayReader
class EE::VEval
class VerticaBlockSerializer
class VerticaRInterface

Detailed Description

Iterator interface for reading rows in a Vertica block.

This class provides the input to the ScalarFunction.processBlock() function. You extract values from the input row using data type specific functions to extract each column value. You can also determine the number of columns and their data types, if your processBlock function does not have hard-coded input expectations.

Member Function Documentation

void Vertica::VerticaBlock::addCol(char * arg, int colstride, const Field & field)

protected inherited Add the location for reading a particular argument.

Parameters

  • arg: The base location to find data.
  • colstride: The stride between data instances.
  • field: metadata for the added column
  • dt: The type of input.
  • fieldname: the name of the field

Referenced by Vertica::ParamReader::addParameter().

EE::DataArea** Vertica::VerticaBlock::getArrayIntermediateDataArea(size_t c)

inlineprotectedinherited

Returns a pointer to a DataArea for accumulating an intermediate result

Array::ArrayReader Vertica::BlockReader::getArrayRef(size_t idx) const

Get a reference to an Array value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument: another BlockReader which reads elements of the array.

const vbool* Vertica::BlockReader::getBoolPtr(size_t idx) const

inline Get a pointer to a BOOLEAN value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a BOOLEAN.

Referenced by getBoolRef().

const vbool& Vertica::BlockReader::getBoolRef(size_t idx) const

inline Get a reference to a BOOLEAN value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an BOOLEAN.

Referenced by isNull().

template<class T >
const T* Vertica::VerticaBlock::getColPtr(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example:

const vint *a = arg_reader->getColPtr(0);
template<class T >
const T& Vertica::VerticaBlock::getColRef(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example

const vint a = arg_reader->getColRef<vint>(0);
const DateADT* Vertica::BlockReader::getDatePtr(size_t idx) const

inline Get a pointer to a DATE value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a DATE.

Referenced by getDateRef().

const DateADT& Vertica::BlockReader::getDateRef(size_t idx) const

inline Get a reference to a DATE value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an DATE.

Referenced by isNull().

const vfloat* Vertica::BlockReader::getFloatPtr(size_t idx) const

inline Get a pointer to a FLOAT value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a FLOAT.

Referenced by getFloatRef().

const vfloat& Vertica::BlockReader::getFloatRef(size_t idx) const

inline Get a reference to a FLOAT value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns A reference to the idx'th argument, cast as an FLOAT.

Referenced by isNull().

const Interval* Vertica::BlockReader::getIntervalPtr(size_t idx) const

inline Get a pointer to an INTERVAL value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as an INTERVAL.

Referenced by getIntervalRef().

const Interval& Vertica::BlockReader::getIntervalRef(size_t idx) const

inline Get a reference to an INTERVAL value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an INTERVAL.

Referenced by isNull().

const IntervalYM* Vertica::BlockReader::getIntervalYMPtr(size_t idx) const

inline Get a pointer to a INTERVAL YEAR TO MONTH value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.

Referenced by getIntervalYMRef().

const IntervalYM& Vertica::BlockReader::getIntervalYMRef(size_t idx) const

inline Get a reference to an INTERVAL YEAR TO MONTH value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an INTERVAL YEAR TO MONTH.

Referenced by isNull().

const vint* Vertica::BlockReader::getIntPtr(size_t idx) const

inline Get a pointer to an INTEGER value from the input row.

Returns a pointer to the idx'th argument, cast appropriately.

Parameters

  • idx: The column number to retrieve from the input row.

Example:

const vint *a = arg_reader->getIntPtr(0);

Referenced by getIntRef().

const vint& Vertica::BlockReader::getIntRef(size_t idx) const

inline Get a reference to an INTEGER value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an INTEGER.

Example:

const vint a = arg_reader->getIntRef(0);

Referenced by isNull().

size_t Vertica::VerticaBlock::getNumCols() const

inline inherited Returns the number of columns held by this block.

Referenced by

const VNumeric* Vertica::BlockReader::getNumericPtr(size_t idx) const

inline Get a pointer to a VNumeric value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns A pointer to the retrieved value cast as a Numeric.

Referenced by getNumericRef().

const VNumeric& Vertica::BlockReader::getNumericRef(size_t idx) const

inline Get a reference to a VNumeric value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an VNumeric.

Referenced by isNull().

int Vertica::VerticaBlock::getNumRows() const

inline inherited Returns the number of rows held by this block.

int Vertica::BlockReader::getPosition() const

inline Returns the current row position or array index

const BlockReader* Vertica::BlockReader::getRowPtr(size_t idx) const

inline Get a reference to a Row value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a pointer to a reader for the Row fields

Referenced by getRowRef().

const BlockReader& Vertica::BlockReader::getRowRef(size_t idx) const

inline Get a reference to a Row value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, as a Row value.

const VString* Vertica::BlockReader::getStringPtr(size_t idx) const

inline Get a pointer to a VString value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns A pointer to the retrieved value cast as a VString.

Referenced by getStringRef().

const VString& Vertica::BlockReader::getStringRef(size_t idx) const

inline Get a reference to an VString value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an VString.

Referenced by isNull().

const TimeADT* Vertica::BlockReader::getTimePtr(size_t idx) const

inline Get a pointer to a TIME value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a TIME.

Referenced by getTimeRef().

const TimeADT& Vertica::BlockReader::getTimeRef(size_t idx) const

inline Get a reference to a TIME value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as a TIME.

Referenced by isNull().

const Timestamp* Vertica::BlockReader::getTimestampPtr(size_t idx) const

inline Get a pointer to a TIMESTAMP value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a TIMESTAMP.

Referenced by getTimestampRef().

const Timestamp& Vertica::BlockReader::getTimestampRef(size_t idx) const

inline Get a reference to a TIMESTAMP value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as a TIMESTAMP.

Referenced by isNull().

const TimestampTz* Vertica::BlockReader::getTimestampTzPtr(size_t idx) const

inline Get a pointer to a TIMESTAMP WITH TIMEZONE value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE .

Referenced by getTimestampTzRef().

const TimestampTz& Vertica::BlockReader::getTimestampTzRef(size_t idx) const

inline Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as a TIMESTAMP WITH TIMEZONE.

Referenced by isNull().

const TimeTzADT* Vertica::BlockReader::getTimeTzPtr(size_t idx) const

inline Get a pointer to a TIME WITH TIMEZONE value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a TIME WITH TIMEZONE.

Referenced by getTimeTzRef().

const TimeTzADT& Vertica::BlockReader::getTimeTzRef(size_t idx) const

inline Get a reference to a TIME WITH TIMEZONE value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as a TIME WITH TIMEZONE.

Referenced by isNull().

const SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData() const

inline inherited Returns information about the types and numbers of arguments

Referenced by

SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData()

inline inherited Returns information about the types and numbers of arguments

const VUuid* Vertica::BlockReader::getUuidPtr(size_t idx) const

inline Get a pointer to a VUuid value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns A pointer to the retrieved value cast as a VUuid.

Referenced by getUuidRef().

const VUuid& Vertica::BlockReader::getUuidRef(size_t idx) const

inline Get a reference to a VUuid value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an VUuid.

Referenced by isNull().

bool Vertica::BlockReader::hasData() const

inline Returns true if there is data available

Referenced by Vertica::copyBlockColumn().

bool Vertica::BlockReader::isNull(int col) const

inline Check if the idx'th argument is null.

Parameters

  • col: The column number in the row to check for null

Returns true is the col value is null false otherwise

bool Vertica::BlockReader::next()

inline Advance to the next record.

Returns true if there are more rows to read, false otherwise.

Referenced by Vertica::copyBlockColumn().

bool Vertica::VerticaBlock::remaining() const

inline inherited Returns the number of entries remaining in the block

92 - Vertica::BlockReader Member List

This is the complete list of members for Vertica::BlockReader, including all inherited members.

addCol(char *arg, int colstride, const Field &field) Vertica::VerticaBlock protected
addCol(const char *arg, int colstride, const Field &field) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
advanceToNextRow(bool recurIntoArrays) (defined in Vertica::BlockReader) Vertica::BlockReader inlineprotected
Array::ArrayReader (defined in Vertica::BlockReader) Vertica::BlockReader friend
BlockReader(size_t narg, int rowcount, const int *indices) (defined in Vertica::BlockReader) Vertica::BlockReader inline
checkStringUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
checkTimeUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
cols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
colstrides (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
copy(const VerticaBlock &other) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
count (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
ctWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
EE::VEval (defined in Vertica::BlockReader) Vertica::BlockReader friend
getArrayIntermediateDataArea(size_t c) Vertica::VerticaBlock inlineprotected
getArrayRef(size_t idx) const Vertica::BlockReader
getBoolPtr(size_t idx) const Vertica::BlockReader inline
getBoolRef(size_t idx) const Vertica::BlockReader inline
getColPtr(size_t idx) const Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColRef(size_t idx) const Vertica::VerticaBlock inline
getColRefForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColStride(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDataArea(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDatePtr(size_t idx) const Vertica::BlockReader inline
getDateRef(size_t idx) const Vertica::BlockReader inline
getFloatPtr(size_t idx) const Vertica::BlockReader inline
getFloatRef(size_t idx) const Vertica::BlockReader inline
getIntervalPtr(size_t idx) const Vertica::BlockReader inline
getIntervalRef(size_t idx) const Vertica::BlockReader inline
getIntervalYMPtr(size_t idx) const Vertica::BlockReader inline
getIntervalYMRef(size_t idx) const Vertica::BlockReader inline
getIntPtr(size_t idx) const Vertica::BlockReader inline
getIntRef(size_t idx) const Vertica::BlockReader inline
getNumCols() const Vertica::VerticaBlock inline
getNumericPtr(size_t idx) const Vertica::BlockReader inline
getNumericRef(size_t idx) const Vertica::BlockReader inline
getNumRows() const Vertica::VerticaBlock inline
getPosition() const Vertica::BlockReader inline
getRowPtr(size_t idx) const Vertica::BlockReader inline
getRowRef(size_t idx) const Vertica::BlockReader inline
getStringPtr(size_t idx) const Vertica::BlockReader inline
getStringRef(size_t idx) const Vertica::BlockReader inline
getTimePtr(size_t idx) const Vertica::BlockReader inline
getTimeRef(size_t idx) const Vertica::BlockReader inline
getTimestampPtr(size_t idx) const Vertica::BlockReader inline
getTimestampRef(size_t idx) const Vertica::BlockReader inline
getTimestampTzPtr(size_t idx) const Vertica::BlockReader inline
getTimestampTzRef(size_t idx) const Vertica::BlockReader inline
getTimeTzPtr(size_t idx) const Vertica::BlockReader inline
getTimeTzRef(size_t idx) const Vertica::BlockReader inline
getTypeMetaData() const Vertica::VerticaBlock inline
getTypeMetaData() Vertica::VerticaBlock inline
getUuidPtr(size_t idx) const Vertica::BlockReader inline
getUuidRef(size_t idx) const Vertica::BlockReader inline
getVoidPtr(size_t idx=0) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getVoidPtr(size_t idx=0) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
hasData() const Vertica::BlockReader inline
index (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
indices (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
isNull(int col) const Vertica::BlockReader inline
ncols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
next() Vertica::BlockReader inline
nrows (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
processBlockUserInfoVector (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
remaining() const Vertica::VerticaBlock inline
reset() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
resetIndex() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setDataArea(size_t idx, void *dataarea) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
setRowCount(int rowCount) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
svWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
typeMetaData (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
uuWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
validateStringColumn(size_t idx, const VString &s, size_t colLength) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
VerticaBlock(size_t ncols, int rowcount, const int *indices) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
VerticaBlockSerializer (defined in Vertica::BlockReader) Vertica::BlockReader friend
VerticaRInterface (defined in Vertica::BlockReader) Vertica::BlockReader friend
vnWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
~VerticaBlock() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlinevirtual

93 - Vertica::BlockWriter Class Reference

Iterator interface for writing rows to a Vertica block.

Inheritance diagram for Vertica::BlockWriter:

Collaboration diagram for Vertica::BlockWriter:

Public Member Functions
BlockWriter (int rowcount)
BlockWriter (char *outArr, int stride, int rowcount, const int *indices, const VerticaType &dt)
int capacity () const
void copy (const VerticaBlock &other)
void copyFromInput (size_t dstIdx, const BlockReader &vblock, size_t srcIdx)
void copyFromInput (const BlockReader &vblock)
Array::ArrayWriter getArrayRef (size_t idx=0)
Get a handle for writing an output array value.
template
const T * getColPtr (size_t idx) const
template<>
const VString * getColPtr (size_t idx) const
template<>
const VNumeric * getColPtr (size_t idx) const
template<>
const VUuid * getColPtr (size_t idx) const
template<>
const BlockReader * getColPtr (size_t idx) const
template
T * getColPtrForWrite (size_t idx)
template<>
VString * getColPtrForWrite (size_t idx)
template<>
VNumeric * getColPtrForWrite (size_t idx)
template<>
VUuid * getColPtrForWrite (size_t idx)
template<>
BlockWriter * getColPtrForWrite (size_t idx)
template
const T & getColRef (size_t idx) const
template
T & getColRefForWrite (size_t idx)
int getColStride (size_t idx) const
const EE::DataArea * getDataArea (size_t idx) const
size_t getNumCols () const
VNumeric & getNumericRef (size_t idx=0)
Allocates a new VNumeric object to use as output.
int getNumRows () const
BlockWriter * getRowPtr (size_t idx=0)
Get a pointer for writing an output Row value.
BlockWriter & getRowRef (size_t idx=0)
Get a reference for writing an output Row value.
int getRowsWritten () const
VString * getStringPtr (size_t idx=0)
Get a pointer for writing output.
VString & getStringRef (size_t idx=0)
Allocates a new VString object to use as output.
const SizedColumnTypes & getTypeMetaData () const
SizedColumnTypes & getTypeMetaData ()
VUuid & getUuidRef (size_t idx=0)
Allocates a new VUuid object to use as output.
void * getVoidPtr (size_t idx=0)
const void * getVoidPtr (size_t idx=0) const
bool hasMoreSpace () const
bool next ()
Complete writing this row of output and move to the next row.
bool remaining () const
void setBool (vbool r)
Adds a BOOLEAN value to the output row.
void setBool (size_t idx, vbool r)
Adds a BOOLEAN value to the indicated column of the output row.
void setDataArea (size_t idx, void *dataarea)
void setDate (DateADT r)
Adds a DATE value to the output row.
void setDate (size_t idx, DateADT r)
Adds a DATE value to the indicated column of the output row.
void setFloat (vfloat r)
Adds a FLOAT value to the output row.
void setFloat (size_t idx, vfloat r)
Adds a FLOAT value to the indicated column of the output row.
void setInt (vint r)
Adds an INTEGER value to the output row.
void setInt (size_t idx, vint r)
Adds an INTEGER value to the indicated column of the output row.
void setInterval (Interval r)
Adds an INTERVAL value to the output row.
void setInterval (size_t idx, Interval r)
Adds an INTERVAL value to the indicated column of the output row.
void setIntervalYM (IntervalYM r)
Adds an INTERVAL YEAR TO MONTH value to the output row.
void setIntervalYM (size_t idx, IntervalYM r)
Adds an INTERVAL YEAR TO MONTH value to the indicated column of the output row.
void setNull (size_t idx=0, bool enforceNotNullProperty=true)
Set the column to null.
void setTime (TimeADT r)
Adds a TIME value to the output row.
void setTime (size_t idx, TimeADT r)
Adds an TIME value to the indicated column of the output row.
void setTimestamp (Timestamp r)
Adds a TIMESTAMP value to the output row.
void setTimestamp (size_t idx, Timestamp r)
Adds an TIMESTAMP value to the indicated column of the output row.
void setTimestampTz (TimestampTz r)
Adds a TIMESTAMP WITH TIMEZONE value to the output row.
void setTimestampTz (size_t idx, TimestampTz r)
Adds an TIMESTAMP WITH TIMEZONE value to the indicated column of the output row.
void setTimeTz (TimeTzADT r)
Adds a TIME WITH TIMEZONE value to the output row.
void setTimeTz (size_t idx, TimeTzADT r)
Adds an TIME WITH TIMEZONE value to the indicated column of the output row.
void throwIncorrectUsageError ()
Protected Member Functions
void addCol (char *arg, int colstride, const Field &field)
void addCol (const char *arg, int colstride, const Field &field)
bool checkStringUserBlockInfo (size_t idx) const
bool checkTimeUserBlockInfo (size_t idx) const
EE::DataArea ** getArrayIntermediateDataArea (size_t c)
void reset ()
void resetIndex ()
void setRowCount (int rowCount)
void validateStringColumn (size_t idx, const VString &s, size_t colLength) const
Protected Attributes
std::vector cols
std::vector colstrides
int count
std::vector ctWrappers
int index
const int * indices
size_t ncols
int nrows
std::vector processBlockUserInfoVector
std::vector svWrappers
SizedColumnTypes typeMetaData
std::vector uuWrappers
std::vector vnWrappers
Friends
class Array::ArrayWriter
class EE::VEval
class PartitionWriter

Detailed Description

Iterator interface for writing rows to a Vertica block.

This class provides the output rows that ScalarFunction.processBlock() writes to.

Member Function Documentation

void Vertica::VerticaBlock::addCol(char * arg, int colstride, const Field & field)

protected inherited Add the location for reading a particular argument.

Parameters

  • arg: The base location to find data.
  • colstride: The stride between data instances.
  • field: metadata for the added column
  • dt: The type of input.
  • fieldname: the name of the field

Referenced by Vertica::ParamReader::addParameter().

void Vertica::BlockWriter::copyFromInput(size_t dstIdx, const BlockReader & vblock, size_t srcIdx)

Copies a column from the input reader to the output writer. Raises an error if the input and output data types are not compatible.

Parameters

  • dstIdx: The destination column index in the output writer (this)
  • vblock: The source data block
  • srcIdx: The source column index in the input reader

Referenced by

void Vertica::BlockWriter::copyFromInput(const BlockReader & vblock)

inline Copy all columns from the source block to this block

EE::DataArea** Vertica::VerticaBlock::getArrayIntermediateDataArea(size_t c)

inlineprotectedinherited

Returns a pointer to a DataArea for accumulating an intermediate result

Array::ArrayWriter Vertica::BlockWriter::getArrayRef(size_t idx = 0)

Get a handle for writing an output array value.

Parameters

  • idx: the output column

Returns a handle for writing array elements

template<class T >
const T* Vertica::VerticaBlock::getColPtr(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example:

const vint *a = arg_reader->getColPtr(0);
template<class T >
const T& Vertica::VerticaBlock::getColRef(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example

const vint a = arg_reader->getColRef<vint>(0);
size_t Vertica::VerticaBlock::getNumCols() const

inline inherited Returns the number of columns held by this block.

Referenced by

VNumeric& Vertica::BlockWriter::getNumericRef(size_t idx = 0)

inline Allocates a new VNumeric object to use as output.

Parameters

  • idx: the column to reference (default 0)

Returns A new VNumeric object to hold output. This object automatically added to the output row in the indicated column

Referenced by setNull().

int Vertica::VerticaBlock::getNumRows() const

inline inherited Returns the number of rows held by this block.

BlockWriter* Vertica::BlockWriter::getRowPtr(size_t idx = 0)

inline Get a pointer for writing an output Row value.

Parameters

  • idx: the output column

Returns a pointer to a BlockWriter which holds output data for the Row value's fields

BlockWriter& Vertica::BlockWriter::getRowRef(size_t idx = 0)

inline Get a reference for writing an output Row value.

Parameters

  • idx: the output column

Returns a reference to a BlockWriter which holds output data for the Row value's fields

Referenced by

VString* Vertica::BlockWriter::getStringPtr(size_t idx = 0)

inline Get a pointer for writing output.

Parameters

  • idx: the output column

Returns A new VString object to hold output. This object automatically added to the output row in the indicated column

VString& Vertica::BlockWriter::getStringRef(size_t idx = 0)

inline Allocates a new VString object to use as output.

Parameters

  • idx: the column to reference (default 0)

Returns A new VString object to hold output. This object is automatically added to the output row in the indicated column

Referenced by

const SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData() const

inline inherited Returns information about the types and numbers of arguments

Referenced by

SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData()

inline inherited Returns information about the types and numbers of arguments

VUuid& Vertica::BlockWriter::getUuidRef(size_t idx = 0)

inline Allocates a new VUuid object to use as output.

Parameters

  • idx: the column to reference (default 0)

Returns A new VUuid object to hold output. This object automatically added to the output row in the indicated column

Referenced by setNull().

bool Vertica::BlockWriter::next()

inline Complete writing this row of output and move to the next row.

Referenced by Vertica::copyBlockColumn().

bool Vertica::VerticaBlock::remaining() const

inline inherited Returns the number of entries remaining in the block

void Vertica::BlockWriter::setBool(vbool r)

inline Adds a BOOLEAN value to the output row.

Parameters

  • r: The BOOLEAN value to insert into the output row.

Referenced by setNull().

void Vertica::BlockWriter::setBool(size_t idx, vbool r)

inline Adds a BOOLEAN value to the indicated column of the output row.

Parameters

  • idx: the column index
  • r: the BOOLEAN value to insert
void Vertica::BlockWriter::setDate(DateADT r)

inline Adds a DATE value to the output row.

Parameters

  • r: The DATE value to insert into the output row.

Referenced by setNull().

void Vertica::BlockWriter::setDate(size_t idx, DateADT r)

inline Adds a DATE value to the indicated column of the output row.

Parameters

  • idx: the column index
  • r: the DATE value to insert
void Vertica::BlockWriter::setFloat(vfloat r)

inline Adds a FLOAT value to the output row.

Parameters

  • r: The FLOAT value to insert into the output row.

Referenced by setNull().

void Vertica::BlockWriter::setFloat(size_t idx, vfloat r)

inline Adds a FLOAT value to the indicated column of the output row.

Parameters

  • idx: the column index
  • r: the FLOAT value to insert
void Vertica::BlockWriter::setInt(vint r)

inline Adds an INTEGER value to the output row.

Setter methods

Parameters

  • r: The INTEGER value to insert into the output row.

Referenced by setNull().

void Vertica::BlockWriter::setInt(size_t idx, vint r)

inline Adds an INTEGER value to the indicated column of the output row.

Parameters

  • idx: the column index
  • r: the INTEGER value to insert
void Vertica::BlockWriter::setInterval(Interval r)

inline Adds an INTERVAL value to the output row.

Parameters

  • r: The INTERVAL value to insert into the output row.

Referenced by setNull().

void Vertica::BlockWriter::setInterval(size_t idx, Interval r)

inline Adds an INTERVAL value to the indicated column of the output row.

Parameters

  • idx: the column index
  • r: the INTERVAL value to insert
void Vertica::BlockWriter::setIntervalYM(IntervalYM r)

inline Adds an INTERVAL YEAR TO MONTH value to the output row.

Parameters

  • r: The INTERVAL YEAR TO MONTH value to insert into the output row.

Referenced by setNull().

void Vertica::BlockWriter::setIntervalYM(size_t idx, IntervalYM r)

inline Adds an INTERVAL YEAR TO MONTH value to the indicated column of the output row.

Parameters

  • idx: the column index
  • r: the INTERVAL YEAR TO MONTH value to insert
void Vertica::BlockWriter::setNull(size_t idx = 0, bool enforceNotNullProperty = true)

inline Set the column to null.

Parameters

  • idx: The column number in the row to set to null
  • enforceNotNullProperty: if true, raise an error if the target field has the canBeNull property set to false.

Referenced by Vertica::PartitionWriter::setNull().

void Vertica::BlockWriter::setTime(TimeADT r)

inline Adds a TIME value to the output row.

Parameters

  • r: The TIME value to insert into the output row.

Referenced by setNull().

void Vertica::BlockWriter::setTime(size_t idx, TimeADT r)

inline Adds an TIME value to the indicated column of the output row.

Parameters

  • idx: the column index
  • r: the TIME value to insert
void Vertica::BlockWriter::setTimestamp(Timestamp r)

inline Adds a TIMESTAMP value to the output row.

Parameters

  • r: The TIMESTAMP value to insert into the output row.

Referenced by setNull().

void Vertica::BlockWriter::setTimestamp(size_t idx, Timestamp r)

inline Adds an TIMESTAMP value to the indicated column of the output row.

Parameters

  • idx: the column index
  • r: the TIMESTAMP value to insert
void Vertica::BlockWriter::setTimestampTz(TimestampTz r)

inline Adds a TIMESTAMP WITH TIMEZONE value to the output row.

Parameters

  • r: The TIMESTAMP WITH TIMEZONE value to insert into the output row.

Referenced by setNull().

void Vertica::BlockWriter::setTimestampTz(size_t idx, TimestampTz r)

inline Adds an TIMESTAMP WITH TIMEZONE value to the indicated column of the output row.

Parameters

  • idx: the column index
  • r: the TIMESTAMP WITH TIMEZONE value to insert
void Vertica::BlockWriter::setTimeTz(TimeTzADT r)

inline Adds a TIME WITH TIMEZONE value to the output row.

Parameters

  • r: The TIME WITH TIMEZONE value to insert into the output row.

Referenced by setNull().

void Vertica::BlockWriter::setTimeTz(size_t idx, TimeTzADT r)

inline Adds an TIME WITH TIMEZONE value to the indicated column of the output row.

Parameters

  • idx: the column index
  • r: the TIME WITH TIMEZONE value to insert

94 - Vertica::BlockWriter Member List

This is the complete list of members for Vertica::BlockWriter, including all inherited members.

addCol(char *arg, int colstride, const Field &field) Vertica::VerticaBlock protected
addCol(const char *arg, int colstride, const Field &field) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
Array::ArrayWriter (defined in Vertica::BlockWriter) Vertica::BlockWriter friend
BlockWriter(int rowcount) (defined in Vertica::BlockWriter) Vertica::BlockWriter inline
BlockWriter(char *outArr, int stride, int rowcount, const int *indices, const VerticaType &dt) (defined in Vertica::BlockWriter) Vertica::BlockWriter inline
capacity() const (defined in Vertica::BlockWriter) Vertica::BlockWriter inline
checkStringUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
checkTimeUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
cols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
colstrides (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
copy(const VerticaBlock &other) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
copyFromInput(size_t dstIdx, const BlockReader &vblock, size_t srcIdx) Vertica::BlockWriter
copyFromInput(const BlockReader &vblock) Vertica::BlockWriter inline
count (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
ctWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
EE::VEval (defined in Vertica::BlockWriter) Vertica::BlockWriter friend
getArrayIntermediateDataArea(size_t c) Vertica::VerticaBlock inlineprotected
getArrayRef(size_t idx=0) Vertica::BlockWriter
getColPtr(size_t idx) const Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColRef(size_t idx) const Vertica::VerticaBlock inline
getColRefForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColStride(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDataArea(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getNumCols() const Vertica::VerticaBlock inline
getNumericRef(size_t idx=0) Vertica::BlockWriter inline
getNumRows() const Vertica::VerticaBlock inline
getRowPtr(size_t idx=0) Vertica::BlockWriter inline
getRowRef(size_t idx=0) Vertica::BlockWriter inline
getRowsWritten() const (defined in Vertica::BlockWriter) Vertica::BlockWriter inline
getStringPtr(size_t idx=0) Vertica::BlockWriter inline
getStringRef(size_t idx=0) Vertica::BlockWriter inline
getTypeMetaData() const Vertica::VerticaBlock inline
getTypeMetaData() Vertica::VerticaBlock inline
getUuidRef(size_t idx=0) Vertica::BlockWriter inline
getVoidPtr(size_t idx=0) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getVoidPtr(size_t idx=0) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
hasMoreSpace() const (defined in Vertica::BlockWriter) Vertica::BlockWriter inline
index (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
indices (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
ncols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
next() Vertica::BlockWriter inline
nrows (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
PartitionWriter (defined in Vertica::BlockWriter) Vertica::BlockWriter friend
processBlockUserInfoVector (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
remaining() const Vertica::VerticaBlock inline
reset() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
resetIndex() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setBool(vbool r) Vertica::BlockWriter inline
setBool(size_t idx, vbool r) Vertica::BlockWriter inline
setDataArea(size_t idx, void *dataarea) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
setDate(DateADT r) Vertica::BlockWriter inline
setDate(size_t idx, DateADT r) Vertica::BlockWriter inline
setFloat(vfloat r) Vertica::BlockWriter inline
setFloat(size_t idx, vfloat r) Vertica::BlockWriter inline
setInt(vint r) Vertica::BlockWriter inline
setInt(size_t idx, vint r) Vertica::BlockWriter inline
setInterval(Interval r) Vertica::BlockWriter inline
setInterval(size_t idx, Interval r) Vertica::BlockWriter inline
setIntervalYM(IntervalYM r) Vertica::BlockWriter inline
setIntervalYM(size_t idx, IntervalYM r) Vertica::BlockWriter inline
setNull(size_t idx=0, bool enforceNotNullProperty=true) Vertica::BlockWriter inline
setRowCount(int rowCount) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setTime(TimeADT r) Vertica::BlockWriter inline
setTime(size_t idx, TimeADT r) Vertica::BlockWriter inline
setTimestamp(Timestamp r) Vertica::BlockWriter inline
setTimestamp(size_t idx, Timestamp r) Vertica::BlockWriter inline
setTimestampTz(TimestampTz r) Vertica::BlockWriter inline
setTimestampTz(size_t idx, TimestampTz r) Vertica::BlockWriter inline
setTimeTz(TimeTzADT r) Vertica::BlockWriter inline
setTimeTz(size_t idx, TimeTzADT r) Vertica::BlockWriter inline
svWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
throwIncorrectUsageError() (defined in Vertica::BlockWriter) Vertica::BlockWriter inline
typeMetaData (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
uuWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
validateStringColumn(size_t idx, const VString &s, size_t colLength) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
VerticaBlock(size_t ncols, int rowcount, const int *indices) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
vnWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
~VerticaBlock() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlinevirtual

95 - Vertica::ClientMessage Class Reference

Holds the contents of a user-defined message to be reported by a UDx.

Collaboration diagram for Vertica::ClientMessage:

Public Member Functions
ClientMessage (int errorcode, std::string main, std::string hint="", std::string detail="")
ClientMessage ()
bool hasDetail () const
bool hasHint () const
template
ClientMessage & setDetail (const char *fmt, Argtypes &&...args)
template
ClientMessage & setHint (const char *fmt, Argtypes &&...args)
void truncateLengths (size_t maxLen)
Static Public Member Functions
template
static ClientMessage makeMessage (int errorcode, const char *fmt, Argtypes &&...args)
Public Attributes
std::string msg_detail
int msg_errorcode
std::string msg_hint
std::string msg_main

Detailed Description

Holds the contents of a user-defined message to be reported by a UDx.

Made using ClientMessage::makeMessage(...). Must have an error code and main message, but the hint and detail strings are optional. Reported to the client using one of the ServerInterface methods (reportInfo, reportNotice, reportWarning, or reportError).

Constructor & Destructor Documentation

Vertica::ClientMessage::ClientMessage(int errorcode, std::string main, std::string hint = "", std::string detail = "")

inline Constructor

Vertica::ClientMessage::ClientMessage()

inline Nullary constructor

Referenced by makeMessage().

Member Function Documentation

bool Vertica::ClientMessage::hasDetail() const

inline Does this message have a non-empty detail?

Returns true if this message has a detail field set

bool Vertica::ClientMessage::hasHint() const

inline Does this message have a non-empty hint?

Returns true if this message has a hint field set

template<typename... Argtypes>
static ClientMessage Vertica::ClientMessage::makeMessage(int errorcode, const char * fmt, Argtypes &&... args)

inlinestatic

Builds a message using printf-style arguments to format the main text.

Parameters

  • errorcode: This message's id number
  • fmt: A printf-style format string for the main body
  • args: Any arguments to be substituted into fmt

Returns a ClientMessage with the provided error code & formatted main body

template<typename... Argtypes>
ClientMessage& Vertica::ClientMessage::setDetail(const char * fmt, Argtypes &&... args)

inline Sets this message's detail field.

Parameters

  • fmt: A printf-style format string for the detail
  • args: Any argumetns to be substituted into fmt

Returns a reference to this message, to allow for chaining

template<typename... Argtypes>
ClientMessage& Vertica::ClientMessage::setHint(const char * fmt, Argtypes &&... args)

inline Sets this message's hint field.

Parameters

  • fmt: A printf-style format string for the hint
  • args: Any argumetns to be substituted into fmt

Returns a reference to this message, to allow for chaining

void Vertica::ClientMessage::truncateLengths(size_t maxLen)

inline Truncate the lengths of the string fields, keeping them at most maxLen

Parameters

  • maxLen: The largest length allowed for this message's fields

Member Data Documentation

std::string Vertica::ClientMessage::msg_detail

Message detail (optional)

Referenced by

int Vertica::ClientMessage::msg_errorcode

ID code for this message

std::string Vertica::ClientMessage::msg_hint

Message hint (optional)

Referenced by

std::string Vertica::ClientMessage::msg_main

Main message body (required)

Referenced by truncateLengths().

96 - Vertica::ClientMessage Member List

This is the complete list of members for Vertica::ClientMessage, including all inherited members.

ClientMessage(int errorcode, std::string main, std::string hint="", std::string detail="") Vertica::ClientMessage inline
ClientMessage() Vertica::ClientMessage inline
hasDetail() const Vertica::ClientMessage inline
hasHint() const Vertica::ClientMessage inline
makeMessage(int errorcode, const char *fmt, Argtypes &&...args) Vertica::ClientMessage inlinestatic
msg_detail Vertica::ClientMessage
msg_errorcode Vertica::ClientMessage
msg_hint Vertica::ClientMessage
msg_main Vertica::ClientMessage
setDetail(const char *fmt, Argtypes &&...args) Vertica::ClientMessage inline
setHint(const char *fmt, Argtypes &&...args) Vertica::ClientMessage inline
truncateLengths(size_t maxLen) Vertica::ClientMessage inline

97 - Vertica::ColumnTypes Class Reference

Represents (unsized) types of the columns used as input/output of a User Defined Function/Transform Function.

Collaboration diagram for Vertica::ColumnTypes:

Public Member Functions
void addAny ()
Indicates that function can take any number and type of arguments.
ColumnTypes & addArrayType (Oid elementOid)
Adds a column of 1D array type.
ColumnTypes & addArrayType (const ColumnTypes &elementprototype)
Adds a column of complex array type.
ColumnTypes & addBinary ()
Adds a column of type BINARY.
ColumnTypes & addBool ()
Adds a column of type BOOLEAN.
ColumnTypes & addChar ()
Adds a column of type CHAR.
ColumnTypes & addDate ()
Adds a column of type DATE.
ColumnTypes & addFloat ()
Adds a column of type FLOAT.
ColumnTypes & addInt ()
Adds a column of type INTEGER.
ColumnTypes & addInterval ()
Adds a column of type INTERVAL/INTERVAL DAY TO SECOND.
ColumnTypes & addIntervalYM ()
Adds a column of type INTERVAL YEAR TO MONTH.
ColumnTypes & addLongVarbinary ()
Adds a column of type VARBINARY.
ColumnTypes & addLongVarchar ()
Adds a column of type VARBINARY.
ColumnTypes & addNumeric ()
Adds a column of type NUMERIC.
ColumnTypes & addRowType (const ColumnTypes &rowprototype)
Adds a column of complex row type.
ColumnTypes & addTime ()
Adds a column of type TIME.
ColumnTypes & addTimestamp ()
Adds a column of type TIMESTAMP.
ColumnTypes & addTimestampTz ()
Adds a column of type TIMESTAMP WITH TIMEZONE.
ColumnTypes & addTimeTz ()
Adds a column of type TIME WITH TIMEZONE.
ColumnTypes & addType (Oid typeOid, const ColumnTypes &complexFields=ColumnTypes())
ColumnTypes & addUserDefinedType (const char *typeName)
Adds a column of user-defined type.
ColumnTypes & addUuid ()
Adds a column of type UUID.
ColumnTypes & addVarbinary ()
Adds a column of type VARBINARY.
ColumnTypes & addVarchar ()
Adds a column of type VARCHAR.
template
strtype toString () const

Detailed Description

Represents (unsized) types of the columns used as input/output of a User Defined Function/Transform Function.

This class is used only for generating the function or transform function prototype, where the sizes and/or precisions of the data types are not known.

Member Function Documentation

ColumnTypes& Vertica::ColumnTypes::addArrayType(Oid elementOid)

inline Adds a column of 1D array type.

Parameters

  • elementOid: the type of the array element

Returns this

Referenced by addArrayType().

ColumnTypes& Vertica::ColumnTypes::addArrayType(const ColumnTypes & elementprototype)

inline Adds a column of complex array type.

Parameters

  • rowprototype: the fields of the complex array element

Returns this

ColumnTypes& Vertica::ColumnTypes::addBinary()

inline Adds a column of type BINARY.

Returns this

ColumnTypes& Vertica::ColumnTypes::addBool()

inline Adds a column of type BOOLEAN.

Returns this

ColumnTypes& Vertica::ColumnTypes::addChar()

inline Adds a column of type CHAR.

Returns this

ColumnTypes& Vertica::ColumnTypes::addDate()

inline Adds a column of type DATE.

Returns this

ColumnTypes& Vertica::ColumnTypes::addFloat()

inline Adds a column of type FLOAT.

Returns this

ColumnTypes& Vertica::ColumnTypes::addInt()

inline Adds a column of type INTEGER.

Returns this

ColumnTypes& Vertica::ColumnTypes::addInterval()

inline Adds a column of type INTERVAL/INTERVAL DAY TO SECOND.

Returns this

ColumnTypes& Vertica::ColumnTypes::addIntervalYM()

inline Adds a column of type INTERVAL YEAR TO MONTH.

Returns this

ColumnTypes& Vertica::ColumnTypes::addLongVarbinary()

inline Adds a column of type VARBINARY.

Returns this

ColumnTypes& Vertica::ColumnTypes::addLongVarchar()

inline Adds a column of type VARBINARY.

Returns this

ColumnTypes& Vertica::ColumnTypes::addNumeric()

inline Adds a column of type NUMERIC.

Returns this

ColumnTypes& Vertica::ColumnTypes::addRowType(const ColumnTypes & rowprototype)

inline Adds a column of complex row type.

Parameters

  • rowprototype: the fields of the complex row type

Returns this

ColumnTypes& Vertica::ColumnTypes::addTime()

inline Adds a column of type TIME.

Returns this

ColumnTypes& Vertica::ColumnTypes::addTimestamp()

inline Adds a column of type TIMESTAMP.

Returns this

ColumnTypes& Vertica::ColumnTypes::addTimestampTz()

inline Adds a column of type TIMESTAMP WITH TIMEZONE.

Returns this

ColumnTypes& Vertica::ColumnTypes::addTimeTz()

inline Adds a column of type TIME WITH TIMEZONE.

Returns this

ColumnTypes& Vertica::ColumnTypes::addType(Oid typeOid, const ColumnTypes & complexFields = ColumnTypes())

inline Add a generic column to the prototype. Complex type fields are allowed only for complex types.

Returns this

ColumnTypes& Vertica::ColumnTypes::addUserDefinedType(const char * typeName)

inline Adds a column of user-defined type.

Returns this

ColumnTypes& Vertica::ColumnTypes::addUuid()

inline Adds a column of type UUID.

Returns this

ColumnTypes& Vertica::ColumnTypes::addVarbinary()

inline Adds a column of type VARBINARY.

Returns this

ColumnTypes& Vertica::ColumnTypes::addVarchar()

inline Adds a column of type VARCHAR.

Returns this

98 - Vertica::ColumnTypes Member List

This is the complete list of members for Vertica::ColumnTypes, including all inherited members.

addAny() Vertica::ColumnTypes inline
addArrayType(Oid elementOid) Vertica::ColumnTypes inline
addArrayType(const ColumnTypes &elementprototype) Vertica::ColumnTypes inline
addBinary() Vertica::ColumnTypes inline
addBool() Vertica::ColumnTypes inline
addChar() Vertica::ColumnTypes inline
addDate() Vertica::ColumnTypes inline
addFloat() Vertica::ColumnTypes inline
addInt() Vertica::ColumnTypes inline
addInterval() Vertica::ColumnTypes inline
addIntervalYM() Vertica::ColumnTypes inline
addLongVarbinary() Vertica::ColumnTypes inline
addLongVarchar() Vertica::ColumnTypes inline
addNumeric() Vertica::ColumnTypes inline
addRowType(const ColumnTypes &rowprototype) Vertica::ColumnTypes inline
addTime() Vertica::ColumnTypes inline
addTimestamp() Vertica::ColumnTypes inline
addTimestampTz() Vertica::ColumnTypes inline
addTimeTz() Vertica::ColumnTypes inline
addType(Oid typeOid, const ColumnTypes &complexFields=ColumnTypes()) Vertica::ColumnTypes inline
addUserDefinedType(const char *typeName) Vertica::ColumnTypes inline
addUuid() Vertica::ColumnTypes inline
addVarbinary() Vertica::ColumnTypes inline
addVarchar() Vertica::ColumnTypes inline
toString() const (defined in Vertica::ColumnTypes) Vertica::ColumnTypes inline

99 - Vertica::ConcurrencyModel Member List

This is the complete list of members for Vertica::ConcurrencyModel, including all inherited members.

ConcurrencyModel() (defined in Vertica::ConcurrencyModel) Vertica::ConcurrencyModel inline
GC_ALL_NODES enum value (defined in Vertica::ConcurrencyModel) Vertica::ConcurrencyModel
GC_CONTEXTUAL enum value (defined in Vertica::ConcurrencyModel) Vertica::ConcurrencyModel
GC_MULTI_NODES enum value (defined in Vertica::ConcurrencyModel) Vertica::ConcurrencyModel
GC_SINGLE_NODE enum value (defined in Vertica::ConcurrencyModel) Vertica::ConcurrencyModel
globalConc (defined in Vertica::ConcurrencyModel) Vertica::ConcurrencyModel
GlobalConcurrencyType enum name (defined in Vertica::ConcurrencyModel) Vertica::ConcurrencyModel
LC_CONTEXTUAL enum value (defined in Vertica::ConcurrencyModel) Vertica::ConcurrencyModel
LC_REQUIRED_THREADS enum value (defined in Vertica::ConcurrencyModel) Vertica::ConcurrencyModel
LC_SUGGESTED_THREADS enum value (defined in Vertica::ConcurrencyModel) Vertica::ConcurrencyModel
localConc (defined in Vertica::ConcurrencyModel) Vertica::ConcurrencyModel
LocalConcurrencyType enum name (defined in Vertica::ConcurrencyModel) Vertica::ConcurrencyModel
nNodes (defined in Vertica::ConcurrencyModel) Vertica::ConcurrencyModel
nThreads (defined in Vertica::ConcurrencyModel) Vertica::ConcurrencyModel
requestedNodes (defined in Vertica::ConcurrencyModel) Vertica::ConcurrencyModel
sharedStateSize (defined in Vertica::ConcurrencyModel) Vertica::ConcurrencyModel

100 - Vertica::ConcurrencyModel Struct Reference

Collaboration diagram for Vertica::ConcurrencyModel:

Public Types
enum GlobalConcurrencyType { GC_CONTEXTUAL, GC_SINGLE_NODE, GC_MULTI_NODES, GC_ALL_NODES }
enum LocalConcurrencyType { LC_CONTEXTUAL, LC_SUGGESTED_THREADS, LC_REQUIRED_THREADS }
Public Attributes
enum Vertica::ConcurrencyModel::GlobalConcurrencyType globalConc
enum Vertica::ConcurrencyModel::LocalConcurrencyType localConc
int nNodes
int nThreads
RequestedNodes requestedNodes
int sharedStateSize

Detailed Description

ConcurrencyModel structure Request how many nodes, how many threads to be used for the UDT or specifically which nodes

101 - Vertica::CounterController Class Reference

Class to interact with counters.

Collaboration diagram for Vertica::CounterController:

Public Member Functions
virtual bool addToCounter (int counterIndex, vint value)=0
virtual bool getCounterValue (int counterIndex, vint &value)=0
virtual RequestedCounters * getCurrentCounters ()=0
virtual bool recordTimestamp (int counterIndex)=0
virtual bool resetTimer (int counterIndex)=0
virtual bool setCounterValue (int counterIndex, vint value)=0
virtual bool startTimer (int counterIndex)=0
virtual bool stopTimer (int counterIndex)=0

Detailed Description

Class to interact with counters.

Member Function Documentation

virtual bool Vertica::CounterController::addToCounter(int counterIndex, vint value)

pure virtual Add a value to counter

virtual bool Vertica::CounterController::getCounterValue(int counterIndex, vint & value)

pure virtual Get the current value of the counter

virtual bool Vertica::CounterController::recordTimestamp(int counterIndex)

pure virtual Save the current time to the counter

virtual bool Vertica::CounterController::resetTimer(int counterIndex)

pure virtual Clear a time counter

virtual bool Vertica::CounterController::setCounterValue(int counterIndex, vint value)

pure virtual Set counter to a value

virtual bool Vertica::CounterController::startTimer(int counterIndex)

pure virtual Start a time counter

virtual bool Vertica::CounterController::stopTimer(int counterIndex)

pure virtual Stop a time counter

102 - Vertica::CounterController Member List

This is the complete list of members for Vertica::CounterController, including all inherited members.

addToCounter(int counterIndex, vint value)=0 Vertica::CounterController pure virtual
getCounterValue(int counterIndex, vint &value)=0 Vertica::CounterController pure virtual
getCurrentCounters()=0 (defined in Vertica::CounterController) Vertica::CounterController pure virtual
recordTimestamp(int counterIndex)=0 Vertica::CounterController pure virtual
resetTimer(int counterIndex)=0 Vertica::CounterController pure virtual
setCounterValue(int counterIndex, vint value)=0 Vertica::CounterController pure virtual
startTimer(int counterIndex)=0 Vertica::CounterController pure virtual
stopTimer(int counterIndex)=0 Vertica::CounterController pure virtual
~CounterController() (defined in Vertica::CounterController) Vertica::CounterController inlinevirtual

103 - Vertica::DataBuffer Member List

This is the complete list of members for Vertica::DataBuffer, including all inherited members.

buf Vertica::DataBuffer
offset Vertica::DataBuffer
size Vertica::DataBuffer

104 - Vertica::DataBuffer Struct Reference

Collaboration diagram for Vertica::DataBuffer:

Public Attributes
char * buf
Pointer to the start of the buffer.
size_t offset
Number of bytes that have been processed by the UDL.
size_t size
Size of the buffer in bytes.

Detailed Description

A contiguous in-memory buffer of char *

105 - Vertica::DefaultSourceIterator Class Reference

Inheritance diagram for Vertica::DefaultSourceIterator:

Collaboration diagram for Vertica::DefaultSourceIterator:

Public Member Functions
DefaultSourceIterator (std::vector sources)
void cancelUDX (ServerInterface &srvInterface)
UnsizedUDSource * createNextSource (ServerInterface &srvInterface) override
Create the next UDSource to process.
virtual void destroy (ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt)
Tear down this SourceIterator.
size_t getNumberOfSources () override
indicate an upper bound for the number of sources this factory will produce.
size_t getSizeOfSource (size_t sourceNum) override
bool isCanceled () const
virtual void setup (ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt)
Set up this SourceIterator.
Protected Member Functions
virtual void cancel (ServerInterface &srvInterface)

Member Function Documentation

virtual void Vertica::UDXObject::cancel(ServerInterface & srvInterface)

inlineprotectedvirtualinherited

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

Note

  • 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 or destructor). 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.

Referenced by Vertica::UDXObject::cancelUDX().

void Vertica::UDXObject::cancelUDX(ServerInterface & srvInterface)

inline inherited Cancel callback invoked when the query running the UDX has been canceled. See cancel().

UnsizedUDSource* Vertica::DefaultSourceIterator::createNextSource(ServerInterface & srvInterface)

inlinevirtual

Create the next UDSource to process.

Should return NULL if no further sources are available for processing.

Note that the previous Source may still be open and in use on a different thread when this function is called.

Returns a new Source instance corresponding to a new input stream

Implements Vertica::SourceIterator.

virtual void Vertica::SourceIterator::destroy(ServerInterface & srvInterface, NodeSpecifyingPlanContext & planCtxt)

inlinevirtualinherited

Tear down this SourceIterator.

Should perform clean-up that should not take place in the destructor due to the exception-handling semantics of destructors.

size_t Vertica::DefaultSourceIterator::getNumberOfSources()

inlinevirtual

indicate an upper bound for the number of sources this factory will produce.

If this method returns N, then createNextSource() will be called at most N times ("at most" because it will stop being called when it returns NULL).

Returns the maximum number of Sources that this factory will produce

Implements Vertica::SourceIterator.

size_t Vertica::DefaultSourceIterator::getSizeOfSource(size_t sourceNum)

inlinevirtual

Returns the raw-data size of the sourceNum'th source that will be produced by createNextSource(). Should return vint_null if the size is unknown.

This value is used as a hint, and is used by the "load_streams" table to display load progress. If incorrect or not set, "load_streams" may contain incorrect or unhelpful information.

Reimplemented from Vertica::SourceIterator.

bool Vertica::UDXObject::isCanceled() const

inline inherited Returns true iff this UDX has been canceled

virtual void Vertica::SourceIterator::setup(ServerInterface & srvInterface, NodeSpecifyingPlanContext & planCtxt)

inlinevirtualinherited

Set up this SourceIterator.

Should perform setup that should not take place in the constructor due to the exception-handling semantics of constructors

106 - Vertica::DefaultSourceIterator Member List

This is the complete list of members for Vertica::DefaultSourceIterator, including all inherited members.

cancel(ServerInterface &srvInterface) Vertica::UDXObject inlineprotectedvirtual
cancelUDX(ServerInterface &srvInterface) Vertica::UDXObject inline
createNextSource(ServerInterface &srvInterface) override Vertica::DefaultSourceIterator inlinevirtual
DefaultSourceIterator(std::vector sources) (defined in Vertica::DefaultSourceIterator) Vertica::DefaultSourceIterator inline
destroy(ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt) Vertica::SourceIterator inlinevirtual
getNumberOfSources() override Vertica::DefaultSourceIterator inlinevirtual
getSizeOfSource(size_t sourceNum) override Vertica::DefaultSourceIterator inlinevirtual
isCanceled() const Vertica::UDXObject inline
setup(ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt) Vertica::SourceIterator inlinevirtual
UDXObject() (defined in Vertica::UDXObject) Vertica::UDXObject inline
~SourceIterator() (defined in Vertica::SourceIterator) Vertica::SourceIterator inlinevirtual
~UDXObject() Vertica::UDXObject inlinevirtual

107 - Vertica::defserializer< false, false, Archive, T > Member List

This is the complete list of members for Vertica::defserializer, including all inherited members.

serialize(Archive &ar, T &val, const uint serializer_version) (defined in Vertica::defserializer) Vertica::defserializer inlinestatic

108 - Vertica::defserializer< false, false, Archive, T > Struct Template Reference

Collaboration diagram for Vertica::defserializer< false, false, Archive, T >:

Static Public Member Functions
static void serialize (Archive &ar, T &val, const uint serializer_version)

109 - Vertica::defserializer< false, true, Archive, T > Member List

This is the complete list of members for Vertica::defserializer, including all inherited members.

serialize(Archive &ar, T &val, const uint serializer_version) (defined in Vertica::defserializer) Vertica::defserializer inlinestatic

110 - Vertica::defserializer< false, true, Archive, T > Struct Template Reference

Collaboration diagram for Vertica::defserializer< false, true, Archive, T >:

Static Public Member Functions
static void serialize (Archive &ar, T &val, const uint serializer_version)

111 - Vertica::defserializer< IsEnum, IsPointer, Archive, T > Struct Template Reference

Collaboration diagram for Vertica::defserializer< IsEnum, IsPointer, Archive, T >:

112 - Vertica::defserializer< true, false, Archive, T > Member List

This is the complete list of members for Vertica::defserializer, including all inherited members.

serialize(Archive &ar, T &val, const uint serializer_version) (defined in Vertica::defserializer) Vertica::defserializer inlinestatic

113 - Vertica::defserializer< true, false, Archive, T > Struct Template Reference

Collaboration diagram for Vertica::defserializer< true, false, Archive, T >:

Static Public Member Functions
static void serialize (Archive &ar, T &val, const uint serializer_version)

114 - Vertica::ExecutorParamWriter Class Reference

An ExecutorParamWriter is a ParamWriter whose scope is limited to a single executor node - it will never be serialized for transfer to a different node. As a result, any object which is allocated from a Vertica memory pool (i.e. a ServerInterface's allocator object) can have its address saved in the ExecutorParamWriter (see setPointer()), and be safely retrieved later on (see getPointer()) from a different API call in the same query.

Inheritance diagram for Vertica::ExecutorParamWriter:

Collaboration diagram for Vertica::ExecutorParamWriter:

Public Member Functions
ExecutorParamWriter (VTAllocator *allocator=NULL)
void addParameter (std::string paramName, const char *arg, const VerticaType &dt)
void clearParameter (std::string fieldName)
bool containsParameter (std::string paramName) const
Function to see if the ParamReader has a value for the parameter.
void copy (const VerticaBlock &other)
void copy (const ParamReader &other)
Copy the other ParamReader. Discard any existing parameters TODO: create an alternate version that only copies if this ParamReader is empty, is a no-op if they are non-empty and the same, and error if they are non-empty and different.
const vbool * getBoolPtr (std::string paramName) const
Get a pointer to a BOOLEAN value from the input row.
const vbool & getBoolRef (std::string paramName) const
Get a reference to a BOOLEAN value from the input row.
template
const T * getColPtr (size_t idx) const
template<>
const VString * getColPtr (size_t idx) const
template<>
const VNumeric * getColPtr (size_t idx) const
template<>
const VUuid * getColPtr (size_t idx) const
template<>
const BlockReader * getColPtr (size_t idx) const
template
T * getColPtrForWrite (size_t idx)
template<>
VString * getColPtrForWrite (size_t idx)
template<>
VNumeric * getColPtrForWrite (size_t idx)
template<>
VUuid * getColPtrForWrite (size_t idx)
template<>
BlockWriter * getColPtrForWrite (size_t idx)
template
const T & getColRef (size_t idx) const
template
T & getColRefForWrite (size_t idx)
int getColStride (size_t idx) const
const EE::DataArea * getDataArea (size_t idx) const
const DateADT * getDatePtr (std::string paramName) const
Get a pointer to a DATE value from the input row.
const DateADT & getDateRef (std::string paramName) const
Get a reference to a DATE value from the input row.
const vfloat * getFloatPtr (std::string paramName) const
Get a pointer to a FLOAT value from the input row.
const vfloat & getFloatRef (std::string paramName) const
Get a reference to a FLOAT value from the input row.
size_t getIndex (std::string paramName) const
const Interval * getIntervalPtr (std::string paramName) const
Get a pointer to an INTERVAL value from the input row.
const Interval & getIntervalRef (std::string paramName) const
Get a reference to an INTERVAL value from the input row.
const IntervalYM * getIntervalYMPtr (std::string paramName) const
Get a pointer to a INTERVAL YEAR TO MONTH value from the input row.
const IntervalYM & getIntervalYMRef (std::string paramName) const
Get a reference to an INTERVAL YEAR TO MONTH value from the input row.
const vint * getIntPtr (std::string paramName) const
Get a pointer to an INTEGER value from the input row.
const vint & getIntRef (std::string paramName) const
Get a reference to an INTEGER value from the input row.
VString & getLongStringRef (std::string fieldName)
Allocates a new VString object to use as output. Sets it to be a 32mb LONG type by default.
size_t getNumCols () const
const VNumeric * getNumericPtr (std::string paramName) const
Get a pointer to a VNumeric value from the input row.
const VNumeric & getNumericRef (std::string paramName) const
Get a reference to a VNumeric value from the input row.
VNumeric & getNumericRef (std::string fieldName)
Allocate a new VNumeric object to use as output.
int getNumRows () const
std::vector getParamNames () const
Return the names of all parameters stored in this ParamReader.
template
T * getPointer (std::string fieldName) const
const VString * getStringPtr (std::string paramName) const
Get a pointer to a VString value from the input row.
const VString & getStringRef (std::string paramName) const
Get a reference to an VString value from the input row.
VString & getStringRef (std::string fieldName)
Allocates a new VString object to use as output.
const TimeADT * getTimePtr (std::string paramName) const
Get a pointer to a TIME value from the input row.
const TimeADT & getTimeRef (std::string paramName) const
Get a reference to a TIME value from the input row.
const Timestamp * getTimestampPtr (std::string paramName) const
Get a pointer to a TIMESTAMP value from the input row.
const Timestamp & getTimestampRef (std::string paramName) const
Get a reference to a TIMESTAMP value from the input row.
const TimestampTz * getTimestampTzPtr (std::string paramName) const
Get a pointer to a TIMESTAMP WITH TIMEZONE value from the input row.
const TimestampTz & getTimestampTzRef (std::string paramName) const
Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.
const TimeTzADT * getTimeTzPtr (std::string paramName) const
Get a pointer to a TIME WITH TIMEZONE value from the input row.
const TimeTzADT & getTimeTzRef (std::string paramName) const
Get a reference to a TIME WITH TIMEZONE value from the input row.
VerticaType getType (std::string paramName) const
Return the type of the given parameter.
const SizedColumnTypes & getTypeMetaData () const
SizedColumnTypes & getTypeMetaData ()
VUuid * getUuidPtr (std::string paramName) const
Get a pointer to a VUuid value from the input row.
const VUuid & getUuidRef (std::string paramName) const
VUuid & getUuidRef (std::string fieldName)
Allocate a new VUuid object to use as output.
void * getVoidPtr (size_t idx=0)
const void * getVoidPtr (size_t idx=0) const
bool isEmpty () const
Returns true if there are no parameters.
bool remaining () const
void setAllocator (VTAllocator *allocator)
Sets the allocator to be used to allocate variable size param values such as VString. Given allocator live longer than this ParamWriter.
void setBool (std::string fieldName, vbool r)
Adds a BOOLEAN value to the output row.
void setDataArea (size_t idx, void *dataarea)
void setDate (std::string fieldName, DateADT r)
Adds a BOOLEAN value to the output row.
void setFloat (std::string fieldName, vfloat r)
Adds a FLOAT value to the output row.
void setInt (std::string fieldName, vint r)
Adds an INTEGER value to the output row.
void setInterval (std::string fieldName, Interval r, int32 precision, int32 range)
Adds an INTERVAL value to the output row.
void setIntervalYM (std::string fieldName, IntervalYM r, int32 range)
Adds an INTERVAL YEAR TO MONTH value to the output row.
template
void setPointer (std::string fieldName, T *ptr)
void setTime (std::string fieldName, TimeADT r, int32 precision)
Adds a TIME value to the output row.
void setTimestamp (std::string fieldName, Timestamp r, int32 precision)
Adds a TIMESTAMP value to the output row.
void setTimestampTz (std::string fieldName, TimestampTz r, int32 precision)
Adds a TIMESTAMP WITH TIMEZONE value to the output row.
void setTimeTz (std::string fieldName, TimeTzADT r, int32 precision)
Adds a TIME WITH TIMEZONE value to the output row.
Public Attributes
std::map paramNameToIndex
Protected Member Functions
void addCol (char *arg, int colstride, const Field &field)
void addCol (const char *arg, int colstride, const Field &field)
bool checkStringUserBlockInfo (size_t idx) const
bool checkTimeUserBlockInfo (size_t idx) const
EE::DataArea ** getArrayIntermediateDataArea (size_t c)
void reset ()
void resetIndex ()
void setRowCount (int rowCount)
void validateStringColumn (size_t idx, const VString &s, size_t colLength) const
Protected Attributes
std::vector cols
std::vector colstrides
int count
std::vector ctWrappers
int index
const int * indices
size_t ncols
int nrows
std::vector processBlockUserInfoVector
std::vector svWrappers
SizedColumnTypes typeMetaData
std::vector uuWrappers
std::vector vnWrappers

Detailed Description

An ExecutorParamWriter is a ParamWriter whose scope is limited to a single executor node - it will never be serialized for transfer to a different node. As a result, any object which is allocated from a Vertica memory pool (i.e. a ServerInterface's allocator object) can have its address saved in the ExecutorParamWriter (see setPointer()), and be safely retrieved later on (see getPointer()) from a different API call in the same query.

Member Function Documentation

void Vertica::VerticaBlock::addCol(char * arg, int colstride, const Field & field)

protected inherited Add the location for reading a particular argument.

Parameters

  • arg: The base location to find data.
  • colstride: The stride between data instances.
  • field: metadata for the added column
  • dt: The type of input.
  • fieldname: the name of the field

Referenced by Vertica::ParamReader::addParameter().

void Vertica::ParamReader::addParameter(std::string paramName, const char * arg, const VerticaType & dt)

inline inherited Add a parameter to the block and stores it name and corresponding index in the paramNameToIndex map

EE::DataArea** Vertica::VerticaBlock::getArrayIntermediateDataArea(size_t c)

inlineprotectedinherited

Returns a pointer to a DataArea for accumulating an intermediate result

const vbool* Vertica::ParamReader::getBoolPtr(std::string paramName) const

inline inherited Get a pointer to a BOOLEAN value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a BOOLEAN.

Referenced by Vertica::ParamReader::getBoolRef().

const vbool& Vertica::ParamReader::getBoolRef(std::string paramName) const

inline inherited Get a reference to a BOOLEAN value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an BOOLEAN.

template<class T >
const T* Vertica::VerticaBlock::getColPtr(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example:

const vint *a = arg_reader->getColPtr(0);
template<class T >
const T& Vertica::VerticaBlock::getColRef(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example

const vint a = arg_reader->getColRef<vint>(0);
const DateADT* Vertica::ParamReader::getDatePtr(std::string paramName) const

inline inherited Get a pointer to a DATE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a DATE.

Referenced by Vertica::ParamReader::getDateRef().

const DateADT& Vertica::ParamReader::getDateRef(std::string paramName) const

inline inherited Get a reference to a DATE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an DATE.

const vfloat* Vertica::ParamReader::getFloatPtr(std::string paramName) const

inline inherited Get a pointer to a FLOAT value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a FLOAT.

Referenced by Vertica::ParamReader::getFloatRef().

const vfloat& Vertica::ParamReader::getFloatRef(std::string paramName) const

inline inherited Get a reference to a FLOAT value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A reference to the parameter value, cast as an FLOAT.

const Interval* Vertica::ParamReader::getIntervalPtr(std::string paramName) const

inline inherited Get a pointer to an INTERVAL value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as an INTERVAL.

Referenced by Vertica::ParamReader::getIntervalRef().

const Interval& Vertica::ParamReader::getIntervalRef(std::string paramName) const

inline inherited Get a reference to an INTERVAL value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an INTERVAL.

const IntervalYM* Vertica::ParamReader::getIntervalYMPtr(std::string paramName) const

inline inherited Get a pointer to a INTERVAL YEAR TO MONTH value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.

Referenced by Vertica::ParamReader::getIntervalYMRef().

const IntervalYM& Vertica::ParamReader::getIntervalYMRef(std::string paramName) const

inline inherited Get a reference to an INTERVAL YEAR TO MONTH value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an INTERVAL YEAR TO MONTH.

const vint* Vertica::ParamReader::getIntPtr(std::string paramName) const

inline inherited Get a pointer to an INTEGER value from the input row.

Returns a pointer to the idx'th argument, cast appropriately.

Parameters

  • paramName: The name of the parameter to retrieve

Example:

vint *a = arg_reader->getIntPtr("max");

Referenced by Vertica::ParamReader::getIntRef().

const vint& Vertica::ParamReader::getIntRef(std::string paramName) const

inline inherited Get a reference to an INTEGER value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an INTEGER.

Example:

vint a = arg_reader->getIntRef("max");
VString& Vertica::ParamWriter::getLongStringRef(std::string fieldName)

inline inherited Allocates a new VString object to use as output. Sets it to be a 32mb LONG type by default.

Returns A new VString object to hold output. This object automatically added to the output row.

size_t Vertica::VerticaBlock::getNumCols() const

inline inherited Returns the number of columns held by this block.

Referenced by

const VNumeric* Vertica::ParamReader::getNumericPtr(std::string paramName) const

inline inherited Get a pointer to a VNumeric value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a Numeric.

Referenced by Vertica::ParamReader::getNumericRef().

const VNumeric& Vertica::ParamReader::getNumericRef(std::string paramName) const

inline inherited Get a reference to a VNumeric value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an VNumeric.

VNumeric& Vertica::ParamWriter::getNumericRef(std::string fieldName)

inline inherited Allocate a new VNumeric object to use as output.

Returns A new VNumeric object to hold output. This object automatically added to the output row.

int Vertica::VerticaBlock::getNumRows() const

inline inherited Returns the number of rows held by this block.

const VString* Vertica::ParamReader::getStringPtr(std::string paramName) const

inline inherited Get a pointer to a VString value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a VString.

Referenced by Vertica::ParamReader::getStringRef().

const VString& Vertica::ParamReader::getStringRef(std::string paramName) const

inline inherited Get a reference to an VString value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an VString.

VString& Vertica::ParamWriter::getStringRef(std::string fieldName)

inline inherited Allocates a new VString object to use as output.

Returns A new VString object to hold output. This object automatically added to the output row.

const TimeADT* Vertica::ParamReader::getTimePtr(std::string paramName) const

inline inherited Get a pointer to a TIME value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a TIME.

Referenced by Vertica::ParamReader::getTimeRef().

const TimeADT& Vertica::ParamReader::getTimeRef(std::string paramName) const

inline inherited Get a reference to a TIME value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as a TIME.

const Timestamp* Vertica::ParamReader::getTimestampPtr(std::string paramName) const

inline inherited Get a pointer to a TIMESTAMP value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a TIMESTAMP.

Referenced by Vertica::ParamReader::getTimestampRef().

const Timestamp& Vertica::ParamReader::getTimestampRef(std::string paramName) const

inline inherited Get a reference to a TIMESTAMP value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as a TIMESTAMP.

const TimestampTz* Vertica::ParamReader::getTimestampTzPtr(std::string paramName) const

inline inherited Get a pointer to a TIMESTAMP WITH TIMEZONE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE .

Referenced by Vertica::ParamReader::getTimestampTzRef().

const TimestampTz& Vertica::ParamReader::getTimestampTzRef(std::string paramName) const

inline inherited Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as a TIMESTAMP WITH TIMEZONE.

const TimeTzADT* Vertica::ParamReader::getTimeTzPtr(std::string paramName) const

inline inherited Get a pointer to a TIME WITH TIMEZONE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a TIME WITH TIMEZONE.

Referenced by Vertica::ParamReader::getTimeTzRef().

const TimeTzADT& Vertica::ParamReader::getTimeTzRef(std::string paramName) const

inline inherited Get a reference to a TIME WITH TIMEZONE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as a TIME WITH TIMEZONE.

const SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData() const

inline inherited Returns information about the types and numbers of arguments

Referenced by

SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData()

inline inherited Returns information about the types and numbers of arguments

VUuid* Vertica::ParamReader::getUuidPtr(std::string paramName) const

inline inherited Get a pointer to a VUuid value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a VUuid.

VUuid& Vertica::ParamWriter::getUuidRef(std::string fieldName)

inline inherited Allocate a new VUuid object to use as output.

Returns A new VUuid object to hold output. This object automatically added to the output row.

bool Vertica::VerticaBlock::remaining() const

inline inherited Returns the number of entries remaining in the block

void Vertica::ParamWriter::setAllocator(VTAllocator * allocator)

inline inherited Sets the allocator to be used to allocate variable size param values such as VString. Given allocator live longer than this ParamWriter.

Parameters

  • allocator: Used to allocate param values.
void Vertica::ParamWriter::setBool(std::string fieldName, vbool r)

inline inherited Adds a BOOLEAN value to the output row.

Parameters

  • r: The BOOLEAN value to insert into the output row.
void Vertica::ParamWriter::setDate(std::string fieldName, DateADT r)

inline inherited Adds a BOOLEAN value to the output row.

Parameters

  • r: The BOOLEAN value to insert into the output row.
void Vertica::ParamWriter::setFloat(std::string fieldName, vfloat r)

inline inherited Adds a FLOAT value to the output row.

Parameters

  • r: The FLOAT value to insert into the output row.
void Vertica::ParamWriter::setInt(std::string fieldName, vint r)

inline inherited Adds an INTEGER value to the output row.

Setter methods

Parameters

  • r: The INTEGER value to insert into the output row.
void Vertica::ParamWriter::setInterval(std::string fieldName, Interval r, int32 precision, int32 range)

inline inherited Adds an INTERVAL value to the output row.

Parameters

  • r: The INTERVAL value to insert into the output row.
void Vertica::ParamWriter::setIntervalYM(std::string fieldName, IntervalYM r, int32 range)

inline inherited Adds an INTERVAL YEAR TO MONTH value to the output row.

Parameters

  • r: The INTERVAL YEAR TO MONTH value to insert into the output row.
void Vertica::ParamWriter::setTime(std::string fieldName, TimeADT r, int32 precision)

inline inherited Adds a TIME value to the output row.

Parameters

  • r: The TIME value to insert into the output row.
void Vertica::ParamWriter::setTimestamp(std::string fieldName, Timestamp r, int32 precision)

inline inherited Adds a TIMESTAMP value to the output row.

Parameters

  • r: The TIMESTAMP value to insert into the output row.
void Vertica::ParamWriter::setTimestampTz(std::string fieldName, TimestampTz r, int32 precision)

inline inherited Adds a TIMESTAMP WITH TIMEZONE value to the output row.

Parameters

  • r: The TIMESTAMP WITH TIMEZONE value to insert into the output row.
void Vertica::ParamWriter::setTimeTz(std::string fieldName, TimeTzADT r, int32 precision)

inline inherited Adds a TIME WITH TIMEZONE value to the output row.

Parameters

  • r: The TIME WITH TIMEZONE value to insert into the output row.

Member Data Documentation

std::map Vertica::ParamReader::paramNameToIndex

inherited Bookkeepinp to make a parameter and its position in the block

Referenced by

115 - Vertica::ExecutorParamWriter Member List

This is the complete list of members for Vertica::ExecutorParamWriter, including all inherited members.

addCol(char *arg, int colstride, const Field &field) Vertica::VerticaBlock protected
addCol(const char *arg, int colstride, const Field &field) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
addParameter(std::string paramName, const char *arg, const VerticaType &dt) Vertica::ParamReader inline
checkStringUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
checkTimeUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
clearParameter(std::string fieldName) (defined in Vertica::ParamWriter) Vertica::ParamWriter inline
cols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
colstrides (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
containsParameter(std::string paramName) const Vertica::ParamReader inline
copy(const ParamReader &other) Vertica::ParamReader inline
copy(const VerticaBlock &other) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
count (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
ctWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
ExecutorParamWriter(VTAllocator *allocator=NULL) (defined in Vertica::ExecutorParamWriter) Vertica::ExecutorParamWriter inline
getArrayIntermediateDataArea(size_t c) Vertica::VerticaBlock inlineprotected
getBoolPtr(std::string paramName) const Vertica::ParamReader inline
getBoolRef(std::string paramName) const Vertica::ParamReader inline
getColPtr(size_t idx) const Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColRef(size_t idx) const Vertica::VerticaBlock inline
getColRefForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColStride(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDataArea(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDatePtr(std::string paramName) const Vertica::ParamReader inline
getDateRef(std::string paramName) const Vertica::ParamReader inline
getFloatPtr(std::string paramName) const Vertica::ParamReader inline
getFloatRef(std::string paramName) const Vertica::ParamReader inline
getIndex(std::string paramName) const (defined in Vertica::ParamReader) Vertica::ParamReader inline
getIntervalPtr(std::string paramName) const Vertica::ParamReader inline
getIntervalRef(std::string paramName) const Vertica::ParamReader inline
getIntervalYMPtr(std::string paramName) const Vertica::ParamReader inline
getIntervalYMRef(std::string paramName) const Vertica::ParamReader inline
getIntPtr(std::string paramName) const Vertica::ParamReader inline
getIntRef(std::string paramName) const Vertica::ParamReader inline
getLongStringRef(std::string fieldName) Vertica::ParamWriter inline
getNumCols() const Vertica::VerticaBlock inline
getNumericPtr(std::string paramName) const Vertica::ParamReader inline
getNumericRef(std::string fieldName) Vertica::ParamWriter inline
Vertica::ParamReader::getNumericRef(std::string paramName) const Vertica::ParamReader inline
getNumRows() const Vertica::VerticaBlock inline
getParamNames() const Vertica::ParamReader inline
getPointer(std::string fieldName) const (defined in Vertica::ExecutorParamWriter) Vertica::ExecutorParamWriter inline
getStringPtr(std::string paramName) const Vertica::ParamReader inline
getStringRef(std::string fieldName) Vertica::ParamWriter inline
Vertica::ParamReader::getStringRef(std::string paramName) const Vertica::ParamReader inline
getTimePtr(std::string paramName) const Vertica::ParamReader inline
getTimeRef(std::string paramName) const Vertica::ParamReader inline
getTimestampPtr(std::string paramName) const Vertica::ParamReader inline
getTimestampRef(std::string paramName) const Vertica::ParamReader inline
getTimestampTzPtr(std::string paramName) const Vertica::ParamReader inline
getTimestampTzRef(std::string paramName) const Vertica::ParamReader inline
getTimeTzPtr(std::string paramName) const Vertica::ParamReader inline
getTimeTzRef(std::string paramName) const Vertica::ParamReader inline
getType(std::string paramName) const Vertica::ParamReader inline
getTypeMetaData() const Vertica::VerticaBlock inline
getTypeMetaData() Vertica::VerticaBlock inline
getUuidPtr(std::string paramName) const Vertica::ParamReader inline
getUuidRef(std::string fieldName) Vertica::ParamWriter inline
getUuidRef(std::string paramName) const (defined in Vertica::ParamReader) Vertica::ParamReader inline
getVoidPtr(size_t idx=0) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getVoidPtr(size_t idx=0) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
index (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
indices (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
isEmpty() const Vertica::ParamReader inline
ncols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
nrows (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
paramNameToIndex Vertica::ParamReader
ParamReader(size_t nparams) (defined in Vertica::ParamReader) Vertica::ParamReader inline
ParamReader() (defined in Vertica::ParamReader) Vertica::ParamReader inline
ParamWriter(VTAllocator *allocator=NULL) (defined in Vertica::ParamWriter) Vertica::ParamWriter inline
processBlockUserInfoVector (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
remaining() const Vertica::VerticaBlock inline
reset() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
resetIndex() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setAllocator(VTAllocator *allocator) Vertica::ParamWriter inline
setBool(std::string fieldName, vbool r) Vertica::ParamWriter inline
setDataArea(size_t idx, void *dataarea) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
setDate(std::string fieldName, DateADT r) Vertica::ParamWriter inline
setFloat(std::string fieldName, vfloat r) Vertica::ParamWriter inline
setInt(std::string fieldName, vint r) Vertica::ParamWriter inline
setInterval(std::string fieldName, Interval r, int32 precision, int32 range) Vertica::ParamWriter inline
setIntervalYM(std::string fieldName, IntervalYM r, int32 range) Vertica::ParamWriter inline
setPointer(std::string fieldName, T *ptr) (defined in Vertica::ExecutorParamWriter) Vertica::ExecutorParamWriter inline
setRowCount(int rowCount) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setTime(std::string fieldName, TimeADT r, int32 precision) Vertica::ParamWriter inline
setTimestamp(std::string fieldName, Timestamp r, int32 precision) Vertica::ParamWriter inline
setTimestampTz(std::string fieldName, TimestampTz r, int32 precision) Vertica::ParamWriter inline
setTimeTz(std::string fieldName, TimeTzADT r, int32 precision) Vertica::ParamWriter inline
svWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
typeMetaData (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
uuWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
validateStringColumn(size_t idx, const VString &s, size_t colLength) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
VerticaBlock(size_t ncols, int rowcount, const int *indices) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
vnWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
~VerticaBlock() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlinevirtual

116 - Vertica::ExecutorPlanContext Class Reference

An ExecutorPlanContext is a PlanContext object whose scope is limited to a single executor node: it and its parameters will never be serialized. In addition to providing information about nodes involved in a query, it indicates how many threads are available and allocated for a load.

Inheritance diagram for Vertica::ExecutorPlanContext:

Collaboration diagram for Vertica::ExecutorPlanContext:

Public Member Functions
ExecutorPlanContext (ExecutorParamWriter &writer, std::vector clusterNodes, std::vector targetNodes, bool canApportionSource, size_t maxPossibleThreads, ssize_t actualThreads=-1)
bool canApportionSource () const
const std::vector & getClusterNodes ()
ssize_t getLoadConcurrency () const
size_t getMaxAllowedThreads () const
virtual ParamReader & getReader ()
SourceIterator * getSources () const
const std::vector & getTargetNodes () const
virtual ExecutorParamWriter & getWriter () override
void setSources (SourceIterator *sources)
void setTargetNodes (const std::vector &nodes)

Detailed Description

An ExecutorPlanContext is a PlanContext object whose scope is limited to a single executor node: it and its parameters will never be serialized. In addition to providing information about nodes involved in a query, it indicates how many threads are available and allocated for a load.

Member Function Documentation

bool Vertica::NodeSpecifyingPlanContext::canApportionSource() const

inline inherited return whether the UDL source can be apportioned among multiple nodes or threads

const std::vector& Vertica::PlanContext::getClusterNodes()

inline inherited Get a list of all of the nodes in the current cluster, by node name

Referenced by Vertica::NodeSpecifyingPlanContext::setTargetNodes().

virtual ParamReader& Vertica::PlanContext::getReader()

inlinevirtualinherited

Get a read-only instance of the current context

const std::vector& Vertica::NodeSpecifyingPlanContext::getTargetNodes() const

inline inherited Return the set of nodes that this query is currently set to run on

virtual ExecutorParamWriter& Vertica::ExecutorPlanContext::getWriter()

inlinevirtual

Get the current context for writing

Reimplemented from Vertica::PlanContext.

void Vertica::NodeSpecifyingPlanContext::setTargetNodes(const std::vector & nodes)

inline inherited Change the set of nodes that the query is intended to run on. Throws UnknownNodeException if any of the specified node names is not actually the name of any node in the cluster.

117 - Vertica::ExecutorPlanContext Member List

This is the complete list of members for Vertica::ExecutorPlanContext, including all inherited members.

canApportionSource() const Vertica::NodeSpecifyingPlanContext inline
ExecutorPlanContext(ExecutorParamWriter &writer, std::vector clusterNodes, std::vector targetNodes, bool canApportionSource, size_t maxPossibleThreads, ssize_t actualThreads=-1) (defined in Vertica::ExecutorPlanContext) Vertica::ExecutorPlanContext inline
getClusterNodes() Vertica::PlanContext inline
getLoadConcurrency() const (defined in Vertica::ExecutorPlanContext) Vertica::ExecutorPlanContext inline
getMaxAllowedThreads() const (defined in Vertica::ExecutorPlanContext) Vertica::ExecutorPlanContext inline
getReader() Vertica::PlanContext inlinevirtual
getSources() const (defined in Vertica::ExecutorPlanContext) Vertica::ExecutorPlanContext inline
getTargetNodes() const Vertica::NodeSpecifyingPlanContext inline
getWriter() override Vertica::ExecutorPlanContext inlinevirtual
NodeSpecifyingPlanContext(ParamWriter &writer, std::vector clusterNodes, bool canApportion) (defined in Vertica::NodeSpecifyingPlanContext) Vertica::NodeSpecifyingPlanContext inline
NodeSpecifyingPlanContext(ParamWriter &writer, std::vector clusterNodes, std::vector targetNodes, bool canApportion) (defined in Vertica::NodeSpecifyingPlanContext) Vertica::NodeSpecifyingPlanContext inline
PlanContext(ParamWriter &writer) (defined in Vertica::PlanContext) Vertica::PlanContext inline
PlanContext(ParamWriter &writer, std::vector clusterNodes) (defined in Vertica::PlanContext) Vertica::PlanContext inline
setSources(SourceIterator *sources) (defined in Vertica::ExecutorPlanContext) Vertica::ExecutorPlanContext inline
setTargetNodes(const std::vector &nodes) Vertica::NodeSpecifyingPlanContext inline

118 - Vertica::Field Member List

This is the complete list of members for Vertica::Field, including all inherited members.

_name (defined in Vertica::Field) Vertica::Field
_type (defined in Vertica::Field) Vertica::Field
Field(const VerticaType &t, const std::string name) (defined in Vertica::Field) Vertica::Field inline
Field(const VerticaType &t, const std::string name, const Properties &props) (defined in Vertica::Field) Vertica::Field inline
getName() const (defined in Vertica::Field) Vertica::Field inline
getType() const (defined in Vertica::Field) Vertica::Field inline
operator!=(const Field &rhs) const (defined in Vertica::Field) Vertica::Field inline
operator=(const Field &other) (defined in Vertica::Field) Vertica::Field inline
operator==(const Field &rhs) const (defined in Vertica::Field) Vertica::Field inline
Properties typedef (defined in Vertica::Field) Vertica::Field
props (defined in Vertica::Field) Vertica::Field

119 - Vertica::Field Struct Reference

Collaboration diagram for Vertica::Field:

Public Types
typedef Fields::Properties Properties
Public Member Functions
Field (const VerticaType &t, const std::string name)
Field (const VerticaType &t, const std::string name, const Properties &props)
const std::string & getName () const
const VerticaType & getType () const
bool operator!= (const Field &rhs) const
Field & operator= (const Field &other)
bool operator== (const Field &rhs) const
Public Attributes
std::string _name
VerticaType _type
Properties props

Detailed Description

Represents a field, as in a column or a complex type attribute

120 - Vertica::Fields Class Reference

Inheritance diagram for Vertica::Fields:

Collaboration diagram for Vertica::Fields:

Classes
struct Properties
Public Member Functions
Fields & addArrayType (const Field &element, const std::string &fieldName="", int maxElems=-1, const Properties &props=Properties())
Fields & addBinary (int32 len, const std::string &fieldName="")
Adds a column of type BINARY.
Fields & addBinary (int32 len, const std::string &fieldName, const Properties &props)
Fields & addBool (const std::string &fieldName="")
Adds a column of type BOOLEAN.
Fields & addBool (const std::string &fieldName, const Properties &props)
Fields & addChar (int32 len, const std::string &fieldName="")
Adds a column of type CHAR.
Fields & addChar (int32 len, const std::string &fieldName, const Properties &props)
Fields & addDate (const std::string &fieldName="")
Adds a column of type DATE.
Fields & addDate (const std::string &fieldName, const Properties &props)
Fields & addFloat (const std::string &fieldName="")
Adds a column of type FLOAT.
Fields & addFloat (const std::string &fieldName, const Properties &props)
Fields & addInt (const std::string &fieldName="")
Adds a column of type INTEGER.
Fields & addInt (const std::string &fieldName, const Properties &props)
Fields & addInterval (int32 precision, int32 range, const std::string &fieldName="")
Adds a column of type INTERVAL/INTERVAL DAY TO SECOND.
Fields & addInterval (int32 precision, int32 range, const std::string &fieldName, const Properties &props)
Fields & addIntervalYM (int32 range, const std::string &fieldName="")
Adds a column of type INTERVAL YEAR TO MONTH.
Fields & addIntervalYM (int32 range, const std::string &fieldName, const Properties &props)
Fields & addLongVarbinary (int32 len, const std::string &fieldName="")
Adds a column of type LONG VARBINARY.
Fields & addLongVarbinary (int32 len, const std::string &fieldName, const Properties &props)
Fields & addLongVarchar (int32 len, const std::string &fieldName="")
Adds a column of type LONG VARCHAR.
Fields & addLongVarchar (int32 len, const std::string &fieldName, const Properties &props)
Fields & addNumeric (int32 precision, int32 scale, const std::string &fieldName="")
Adds a column of type NUMERIC.
Fields & addNumeric (int32 precision, int32 scale, const std::string &fieldName, const Properties &props)
Fields & addRowType (const Fields &rowfields, const std::string &fieldName="")
Adds a column of complex row type, with the provided fields.
Fields & addRowType (const Fields &rowfields, const std::string &fieldName, const Properties &props)
Fields & addTime (int32 precision, const std::string &fieldName="")
Adds a column of type TIME.
Fields & addTime (int32 precision, const std::string &fieldName, const Properties &props)
Fields & addTimestamp (int32 precision, const std::string &fieldName="")
Adds a column of type TIMESTAMP.
Fields & addTimestamp (int32 precision, const std::string &fieldName, const Properties &props)
Fields & addTimestampTz (int32 precision, const std::string &fieldName="")
Adds a column of type TIMESTAMP WITH TIMEZONE.
Fields & addTimestampTz (int32 precision, const std::string &fieldName, const Properties &props)
Fields & addTimeTz (int32 precision, const std::string &fieldName="")
Adds a column of type TIME WITH TIMEZONE.
Fields & addTimeTz (int32 precision, const std::string &fieldName, const Properties &props)
Fields & addUserDefinedType (const char *typeName, int32 len, const std::string &fieldName="")
Adds a column of a user-defined type.
Fields & addUserDefinedType (const char *typeName, int32 len, const std::string &fieldName, const Properties &props)
Fields & addUuid (const std::string &fieldName="")
Adds a column of type UUID.
Fields & addUuid (const std::string &fieldName, const Properties &props)
Fields & addVarbinary (int32 len, const std::string &fieldName="")
Adds a column of type VARBINARY.
Fields & addVarbinary (int32 len, const std::string &fieldName, const Properties &props)
Fields & addVarchar (int32 len, const std::string &fieldName="")
Adds a column of type VARCHAR.
Fields & addVarchar (int32 len, const std::string &fieldName, const Properties &props)
Protected Member Functions
void validateStringLengthOrThrow (int32 len, const char *typeStr, int32 maxLength)
void validateUDTypeLengthOrThrow (Oid udTypeOid, const char *typeName, int32 len)

Member Function Documentation

Fields & Vertica::Fields::addBinary(int32 len, const std::string & fieldName = "")

Adds a column of type BINARY.

Parameters

  • len: The length of the binary string.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addBool(const std::string & fieldName = "")

Adds a column of type BOOLEAN.

Parameters

  • fieldName: The name for the output column.
Fields & Vertica::Fields::addChar(int32 len, const std::string & fieldName = "")

Adds a column of type CHAR.

Parameters

  • len: The length of the string.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addDate(const std::string & fieldName = "")

Adds a column of type DATE.

Parameters

  • fieldName: The name for the output column.
Fields & Vertica::Fields::addFloat(const std::string & fieldName = "")

Adds a column of type FLOAT.

Parameters

  • fieldName: The name for the output column.
Fields & Vertica::Fields::addInt(const std::string & fieldName = "")

Adds a column of type INTEGER.

Parameters

  • fieldName: The name for the output column.
Fields & Vertica::Fields::addInterval(int32 precision, int32 range, const std::string & fieldName = "")

Adds a column of type INTERVAL/INTERVAL DAY TO SECOND.

Parameters

  • precision: The precision for the interval.
  • range: The range for the interval.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addIntervalYM(int32 range, const std::string & fieldName = "")

Adds a column of type INTERVAL YEAR TO MONTH.

Parameters

  • range: The range for the interval.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addLongVarbinary(int32 len, const std::string & fieldName = "")

Adds a column of type LONG VARBINARY.

Parameters

  • len: The length of the binary string.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addLongVarchar(int32 len, const std::string & fieldName = "")

Adds a column of type LONG VARCHAR.

Parameters

  • len: The length of the string.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addNumeric(int32 precision, int32 scale, const std::string & fieldName = "")

Adds a column of type NUMERIC.

Parameters

  • precision: The precision for the numeric value.
  • scale: The scale for the numeric value.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addRowType(const Fields & rowfields, const std::string & fieldName = "")

Adds a column of complex row type, with the provided fields.

Parameters

  • rowfields: the fields of the complex row type
  • fieldName: the name of the added field

Referenced by Vertica::SizedColumnTypes::addRowType().

Fields & Vertica::Fields::addTime(int32 precision, const std::string & fieldName = "")

Adds a column of type TIME.

Parameters

  • precision: The precision for the time.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addTimestamp(int32 precision, const std::string & fieldName = "")

Adds a column of type TIMESTAMP.

Parameters

  • precision: The precision for the timestamp.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addTimestampTz(int32 precision, const std::string & fieldName = "")

Adds a column of type TIMESTAMP WITH TIMEZONE.

Parameters

  • precision: The precision for the timestamp.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addTimeTz(int32 precision, const std::string & fieldName = "")

Adds a column of type TIME WITH TIMEZONE.

Parameters

  • precision: The precision for the time.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addUserDefinedType(const char * typeName, int32 len, const std::string & fieldName = "")

Adds a column of a user-defined type.

Parameters

  • typeName: the name of the type
  • len: the length of the type field, in bytes
  • fieldName: the name of the field
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addUuid(const std::string & fieldName = "")

Adds a column of type UUID.

Parameters

  • fieldName: The name for the output column.
Fields & Vertica::Fields::addVarbinary(int32 len, const std::string & fieldName = "")

Adds a column of type VARBINARY.

Parameters

  • len: The length of the binary string.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addVarchar(int32 len, const std::string & fieldName = "")

Adds a column of type VARCHAR.

Parameters

  • len: The length of the string.
  • fieldName: The name for the output column.

121 - Vertica::Fields Member List

This is the complete list of members for Vertica::Fields, including all inherited members.

addArrayType(const Field &element, const std::string &fieldName="", int maxElems=-1, const Properties &props=Properties()) (defined in Vertica::Fields) Vertica::Fields
addBinary(int32 len, const std::string &fieldName="") Vertica::Fields
addBinary(int32 len, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addBool(const std::string &fieldName="") Vertica::Fields
addBool(const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addChar(int32 len, const std::string &fieldName="") Vertica::Fields
addChar(int32 len, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addDate(const std::string &fieldName="") Vertica::Fields
addDate(const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addFloat(const std::string &fieldName="") Vertica::Fields
addFloat(const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addInt(const std::string &fieldName="") Vertica::Fields
addInt(const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addInterval(int32 precision, int32 range, const std::string &fieldName="") Vertica::Fields
addInterval(int32 precision, int32 range, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addIntervalYM(int32 range, const std::string &fieldName="") Vertica::Fields
addIntervalYM(int32 range, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addLongVarbinary(int32 len, const std::string &fieldName="") Vertica::Fields
addLongVarbinary(int32 len, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addLongVarchar(int32 len, const std::string &fieldName="") Vertica::Fields
addLongVarchar(int32 len, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addNumeric(int32 precision, int32 scale, const std::string &fieldName="") Vertica::Fields
addNumeric(int32 precision, int32 scale, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addRowType(const Fields &rowfields, const std::string &fieldName="") Vertica::Fields
addRowType(const Fields &rowfields, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addTime(int32 precision, const std::string &fieldName="") Vertica::Fields
addTime(int32 precision, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addTimestamp(int32 precision, const std::string &fieldName="") Vertica::Fields
addTimestamp(int32 precision, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addTimestampTz(int32 precision, const std::string &fieldName="") Vertica::Fields
addTimestampTz(int32 precision, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addTimeTz(int32 precision, const std::string &fieldName="") Vertica::Fields
addTimeTz(int32 precision, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addUserDefinedType(const char *typeName, int32 len, const std::string &fieldName="") Vertica::Fields
addUserDefinedType(const char *typeName, int32 len, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addUuid(const std::string &fieldName="") Vertica::Fields
addUuid(const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addVarbinary(int32 len, const std::string &fieldName="") Vertica::Fields
addVarbinary(int32 len, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addVarchar(int32 len, const std::string &fieldName="") Vertica::Fields
addVarchar(int32 len, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
Fields() (defined in Vertica::Fields) Vertica::Fields inline
validateStringLengthOrThrow(int32 len, const char *typeStr, int32 maxLength) (defined in Vertica::Fields) Vertica::Fields protected
validateUDTypeLengthOrThrow(Oid udTypeOid, const char *typeName, int32 len) (defined in Vertica::Fields) Vertica::Fields protected

122 - Vertica::Fields::Properties Member List

This is the complete list of members for Vertica::Fields::Properties, including all inherited members.

canBeNull (defined in Vertica::Fields::Properties) Vertica::Fields::Properties
comment (defined in Vertica::Fields::Properties) Vertica::Fields::Properties
isSortedBy (defined in Vertica::Fields::Properties) Vertica::Fields::Properties
MAX_COMMENT_LEN (defined in Vertica::Fields::Properties) Vertica::Fields::Properties static
operator!=(const Properties &right) const (defined in Vertica::Fields::Properties) Vertica::Fields::Properties inline
operator==(const Properties &right) const (defined in Vertica::Fields::Properties) Vertica::Fields::Properties inline
Properties(bool visible, bool required, bool canBeNull, const std::string comment, bool isSortedOnThis=false) (defined in Vertica::Fields::Properties) Vertica::Fields::Properties inline
Properties() (defined in Vertica::Fields::Properties) Vertica::Fields::Properties inline
required (defined in Vertica::Fields::Properties) Vertica::Fields::Properties
visible (defined in Vertica::Fields::Properties) Vertica::Fields::Properties

123 - Vertica::Fields::Properties Struct Reference

Collaboration diagram for Vertica::Fields::Properties:

Public Member Functions
Properties (bool visible, bool required, bool canBeNull, const std::string comment, bool isSortedOnThis=false)
bool operator!= (const Properties &right) const
bool operator== (const Properties &right) const
Public Attributes
bool canBeNull
std::string comment
bool isSortedBy
bool required
bool visible
Static Public Attributes
static const uint32 MAX_COMMENT_LEN = 128

124 - Vertica::FilterFactory Class Reference

Produces and initializes UDFilters to transform input data before parsing.

Inheritance diagram for Vertica::FilterFactory:

Collaboration diagram for Vertica::FilterFactory:

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) override
virtual void getPerInstanceResources (ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) override
UDXFactory::UDXType getUDXFactoryType () override
virtual void plan (ServerInterface &srvInterface, PlanContext &planCtxt)
virtual UDFilter * prepare (ServerInterface &srvInterface, PlanContext &planCtxt)=0
Protected Attributes
Oid libOid
std::string sqlName

Detailed Description

Produces and initializes UDFilters to transform input data before parsing.

Note that FilterFactories are singletons. Subclasses should be stateless, with no fields containing data, just methods. plan() and prepare() methods must never modify any global variables or state; they may only modify the variables that they are given as arguments. (If global state must be modified, use SourceIterator.)

Factories should be registered using the RegisterFactory() macro, defined in Vertica.h.

Member Enumeration Documentation

enum Vertica::UDXFactory::UDXType

inherited The type of UDX instance this factory produces

Member Function Documentation

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

inlinevirtualinherited

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.

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

inlinevirtualinherited

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 from Vertica::UDXFactory.

Referenced by Vertica::UDLFactory::getPerInstanceResources().

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

inlinevirtualinherited

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 from Vertica::UDXFactory.

UDXFactory::UDXType Vertica::FilterFactory::getUDXFactoryType()

inlinevirtual

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.

Implements Vertica::UDXFactory.

virtual void Vertica::FilterFactory::plan(ServerInterface & srvInterface, PlanContext & planCtxt)

inlinevirtual

Execute any planning logic required at query plan time. This method is run once per query, during query initialization. Its job is to perform parameter validation, and to modify the set of nodes that the COPY statement will run on (through srvInterface).

plan() runs exactly once per query, on the initiator node. If it throws an exception, the query will not proceed; it will be aborted prior to distributing the query to the other nodes and running prepare().

Parameters

  • srvInterface: Interface to server operations and functionality, including (not-per-column) parameter lookup
  • planCtxt: Context for storing and retrieving arbitrary data, for use just by this instance of this query. The same context is shared with plan().
virtual UDFilter* Vertica::FilterFactory::prepare(ServerInterface & srvInterface, PlanContext & planCtxt)

pure virtual Initialize a UDFilter. This function will be called on each node, prior to the Load operator starting to execute.

'planData' contains the same data that was placed there by the plan() static method.

Parameters

  • srvInterface: Interface to server operations and functionality, including (not-per-column) parameter lookup
  • planCtxt: Context for storing and retrieving arbitrary data, for use just by this instance of this query. The same context is shared with plan().

Returns UDFilter instance to use for this query

125 - Vertica::FilterFactory Member List

This is the complete list of members for Vertica::FilterFactory, including all inherited members.

AGGREGATE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
ANALYTIC enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
CURSOR_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
FILESYSTEM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
getParameterType(ServerInterface &srvInterface, SizedColumnTypes meterTypes) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res) override Vertica::UDLFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) override Vertica::UDLFactory inlinevirtual
getUDXFactoryType() override Vertica::FilterFactory inlinevirtual
KEYMANAGER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
libOid (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
LOAD_FILTER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_PARSER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_SOURCE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
MULTI_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
plan(ServerInterface &srvInterface, PlanContext &planCtxt) Vertica::FilterFactory inlinevirtual
prepare(ServerInterface &srvInterface, PlanContext &planCtxt)=0 Vertica::FilterFactory pure virtual
SCALAR enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
sqlName (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
TYPE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
UDXType enum name Vertica::UDXFactory
~UDLFactory() (defined in Vertica::UDLFactory) Vertica::UDLFactory inlinevirtual
~UDXFactory() (defined in Vertica::UDXFactory) Vertica::UDXFactory inlinevirtual

126 - Vertica::FIunion Member List

This is the complete list of members for Vertica::FIunion, including all inherited members.

vf (defined in Vertica::FIunion) Vertica::FIunion
vi (defined in Vertica::FIunion) Vertica::FIunion

127 - Vertica::FIunion Union Reference

Collaboration diagram for Vertica::FIunion:

Public Attributes
vfloat vf
vint vi

128 - Vertica::FunctionFactory Class Reference

Inheritance diagram for Vertica::FunctionFactory:

Collaboration diagram for Vertica::FunctionFactory:

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 void getPrototype (ServerInterface &srvInterface, ColumnTypes &argTypes, ColumnTypes &returnType)=0
virtual void getReturnType (ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType)=0
virtual UDXType getUDXFactoryType ()=0
Protected Attributes
Oid libOid
std::string sqlName

Member Enumeration Documentation

enum Vertica::UDXFactory::UDXType

inherited The type of UDX instance this factory produces

Member Function Documentation

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

inlinevirtualinherited

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.

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

inlinevirtualinherited

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 Vertica::UDXFactory::getPerInstanceResources().

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

inlinevirtualinherited

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.

virtual void Vertica::FunctionFactory::getPrototype(ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes & returnType)

pure virtual Provides the argument and return types of the UDX

Implemented in Vertica::MultiPhaseTransformFunctionFactory.

Referenced by Vertica::ScalarFunctionFactory::getReturnType().

virtual void Vertica::FunctionFactory::getReturnType(ServerInterface & srvInterface, const SizedColumnTypes & argTypes, SizedColumnTypes & returnType)

pure virtual Function to tell Vertica what the return types (and length/precision if necessary) of this UDX are.

For CHAR/VARCHAR types, specify the max length,

For NUMERIC types, specify the precision and scale.

For Time/Timestamp types (with or without time zone), specify the precision, -1 means unspecified/don't care

For IntervalYM/IntervalDS types, specify the precision and range

For all other types, no length/precision specification needed

Parameters

  • argTypes: Provides the data types of arguments that this UDT was called with. This may be used to modify the return types accordingly.
  • returnType: User code must fill in the names and data types returned by the UDT.

Implemented in Vertica::MultiPhaseTransformFunctionFactory, and Vertica::ScalarFunctionFactory.

virtual UDXType Vertica::UDXFactory::getUDXFactoryType()

pure virtual inherited 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.

129 - Vertica::FunctionFactory Member List

This is the complete list of members for Vertica::FunctionFactory, including all inherited members.

AGGREGATE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
ANALYTIC enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
CURSOR_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
FILESYSTEM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
getParameterType(ServerInterface &srvInterface, SizedColumnTypes meterTypes) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) Vertica::UDXFactory inlinevirtual
getPrototype(ServerInterface &srvInterface, ColumnTypes &argTypes, ColumnTypes &returnType)=0 Vertica::FunctionFactory pure virtual
getReturnType(ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType)=0 Vertica::FunctionFactory pure virtual
getUDXFactoryType()=0 Vertica::UDXFactory pure virtual
KEYMANAGER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
libOid (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
LOAD_FILTER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_PARSER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_SOURCE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
MULTI_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
SCALAR enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
sqlName (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
TYPE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
UDXType enum name Vertica::UDXFactory
~FunctionFactory() (defined in Vertica::FunctionFactory) Vertica::FunctionFactory inlinevirtual
~UDXFactory() (defined in Vertica::UDXFactory) Vertica::UDXFactory inlinevirtual

130 - Vertica::IntermediateAggs Class Reference

A wrapper around a single intermediate aggregate value.

Inheritance diagram for Vertica::IntermediateAggs:

Collaboration diagram for Vertica::IntermediateAggs:

Public Member Functions
IntermediateAggs (size_t ninter)
void copy (const VerticaBlock &other)
vbool * getBoolPtr (size_t idx)
Get a pointer to a BOOLEAN value from the intermediate results set.
vbool & getBoolRef (size_t idx)
Get a reference to a BOOLEAN value from the intermediate results set.
template
const T * getColPtr (size_t idx) const
template<>
const VString * getColPtr (size_t idx) const
template<>
const VNumeric * getColPtr (size_t idx) const
template<>
const VUuid * getColPtr (size_t idx) const
template<>
const BlockReader * getColPtr (size_t idx) const
template
T * getColPtrForWrite (size_t idx)
template<>
VString * getColPtrForWrite (size_t idx)
template<>
VNumeric * getColPtrForWrite (size_t idx)
template<>
VUuid * getColPtrForWrite (size_t idx)
template<>
BlockWriter * getColPtrForWrite (size_t idx)
template
const T & getColRef (size_t idx) const
template
T & getColRefForWrite (size_t idx)
int getColStride (size_t idx) const
const EE::DataArea * getDataArea (size_t idx) const
DateADT * getDatePtr (size_t idx)
Get a pointer to a DATE value from the intermediate results set.
DateADT & getDateRef (size_t idx)
Get a reference to a DATE value from the intermediate results set.
vfloat * getFloatPtr (size_t idx)
Get a pointer to a FLOAT value from the intermediate results set.
vfloat & getFloatRef (size_t idx)
Get a reference to a FLOAT value from the intermediate results set.
Interval * getIntervalPtr (size_t idx)
Get a pointer to an INTERVAL value from the intermediate results set.
Interval & getIntervalRef (size_t idx)
Get a reference to an INTERVAL value from the intermediate results set.
IntervalYM * getIntervalYMPtr (size_t idx)
Get a pointer to a INTERVAL YEAR TO MONTH value from the intermediate results set.
IntervalYM & getIntervalYMRef (size_t idx)
Get a reference to an INTERVAL YEAR TO MONTH value from the intermediate results set.
vint * getIntPtr (size_t idx)
Get a pointer to an INTEGER value from the intermediate results set.
vint & getIntRef (size_t idx)
Get a reference to an INTEGER value from the intermediate results set.
size_t getNumCols () const
VNumeric * getNumericPtr (size_t idx)
Get a pointer to a VNumeric value from the intermediate results set.
VNumeric & getNumericRef (size_t idx)
Get a reference to a VNumeric value from the intermediate results set.
int getNumRows () const
VString * getStringPtr (size_t idx)
Get a pointer to a VString value from the intermediate results set.
VString & getStringRef (size_t idx)
Get a reference to an VString value from the intermediate results set.
TimeADT * getTimePtr (size_t idx)
Get a pointer to a TIME value from the intermediate results set.
TimeADT & getTimeRef (size_t idx)
Get a reference to a TIME value from the intermediate results set.
Timestamp * getTimestampPtr (size_t idx)
Get a pointer to a TIMESTAMP value from the intermediate results set.
Timestamp & getTimestampRef (size_t idx)
Get a reference to a TIMESTAMP value from the intermediate results set.
TimestampTz * getTimestampTzPtr (size_t idx)
Get a pointer to a TIMESTAMP WITH TIMEZONE value from the intermediate results set.
TimestampTz & getTimestampTzRef (size_t idx)
Get a reference to a TIMESTAMP WITH TIMEZONE value from the intermediate results set.
TimeTzADT * getTimeTzPtr (size_t idx)
Get a pointer to a TIME WITH TIMEZONE value from the intermediate results set.
TimeTzADT & getTimeTzRef (size_t idx)
Get a reference to a TIME WITH TIMEZONE value from the intermediate results set.
const SizedColumnTypes & getTypeMetaData () const
SizedColumnTypes & getTypeMetaData ()
VUuid * getUuidPtr (size_t idx)
Get a pointer to a VUuid value from the intermediate results set.
VUuid & getUuidRef (size_t idx)
Get a reference to a VUuid value from the intermediate results set.
void * getVoidPtr (size_t idx=0)
const void * getVoidPtr (size_t idx=0) const
bool remaining () const
void setDataArea (size_t idx, void *dataarea)
Protected Member Functions
void addCol (char *arg, int colstride, const Field &field)
void addCol (const char *arg, int colstride, const Field &field)
bool checkStringUserBlockInfo (size_t idx) const
bool checkTimeUserBlockInfo (size_t idx) const
EE::DataArea ** getArrayIntermediateDataArea (size_t c)
void reset ()
void resetIndex ()
void setRowCount (int rowCount)
void validateStringColumn (size_t idx, const VString &s, size_t colLength) const
Protected Attributes
std::vector cols
std::vector colstrides
int count
std::vector ctWrappers
int index
const int * indices
size_t ncols
int nrows
std::vector processBlockUserInfoVector
std::vector svWrappers
SizedColumnTypes typeMetaData
std::vector uuWrappers
std::vector vnWrappers

Detailed Description

A wrapper around a single intermediate aggregate value.

Member Function Documentation

void Vertica::VerticaBlock::addCol(char * arg, int colstride, const Field & field)

protected inherited Add the location for reading a particular argument.

Parameters

  • arg: The base location to find data.
  • colstride: The stride between data instances.
  • field: metadata for the added column
  • dt: The type of input.
  • fieldname: the name of the field

Referenced by Vertica::ParamReader::addParameter().

EE::DataArea** Vertica::VerticaBlock::getArrayIntermediateDataArea(size_t c)

inlineprotectedinherited

Returns a pointer to a DataArea for accumulating an intermediate result

vbool* Vertica::IntermediateAggs::getBoolPtr(size_t idx)

inline Get a pointer to a BOOLEAN value from the intermediate results set.

Parameters

  • idx: The column number in the intermediate results set to retrieve.

Returns A pointer to the retrieved value cast as a BOOLEAN.

Referenced by getBoolRef().

vbool& Vertica::IntermediateAggs::getBoolRef(size_t idx)

inline Get a reference to a BOOLEAN value from the intermediate results set.

Parameters

  • idx: The column number to retrieve from the intermediate results set.

Returns a reference to the idx'th argument, cast as an BOOLEAN.

template<class T >
const T* Vertica::VerticaBlock::getColPtr(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example:

const vint *a = arg_reader->getColPtr(0);
template<class T >
const T& Vertica::VerticaBlock::getColRef(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example

const vint a = arg_reader->getColRef<vint>(0);
DateADT* Vertica::IntermediateAggs::getDatePtr(size_t idx)

inline Get a pointer to a DATE value from the intermediate results set.

Parameters

  • idx: The column number in the intermediate results set to retrieve.

Returns A pointer to the retrieved value cast as a DATE.

Referenced by getDateRef().

DateADT& Vertica::IntermediateAggs::getDateRef(size_t idx)

inline Get a reference to a DATE value from the intermediate results set.

Parameters

  • idx: The column number to retrieve from the intermediate results set.

Returns a reference to the idx'th argument, cast as an DATE.

vfloat* Vertica::IntermediateAggs::getFloatPtr(size_t idx)

inline Get a pointer to a FLOAT value from the intermediate results set.

Parameters

  • idx: The column number in the intermediate results set to retrieve.

Returns A pointer to the retrieved value cast as a FLOAT.

Referenced by getFloatRef().

vfloat& Vertica::IntermediateAggs::getFloatRef(size_t idx)

inline Get a reference to a FLOAT value from the intermediate results set.

Parameters

  • idx: The column number to retrieve from the intermediate results set.

Returns A reference to the idx'th argument, cast as an FLOAT.

Interval* Vertica::IntermediateAggs::getIntervalPtr(size_t idx)

inline Get a pointer to an INTERVAL value from the intermediate results set.

Parameters

  • idx: The column number in the intermediate results set to retrieve.

Returns A pointer to the retrieved value cast as an INTERVAL.

Referenced by getIntervalRef().

Interval& Vertica::IntermediateAggs::getIntervalRef(size_t idx)

inline Get a reference to an INTERVAL value from the intermediate results set.

Parameters

  • idx: The column number to retrieve from the intermediate results set.

Returns a reference to the idx'th argument, cast as an INTERVAL.

IntervalYM* Vertica::IntermediateAggs::getIntervalYMPtr(size_t idx)

inline Get a pointer to a INTERVAL YEAR TO MONTH value from the intermediate results set.

Parameters

  • idx: The column number in the intermediate results set to retrieve.

Returns A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.

Referenced by getIntervalYMRef().

IntervalYM& Vertica::IntermediateAggs::getIntervalYMRef(size_t idx)

inline Get a reference to an INTERVAL YEAR TO MONTH value from the intermediate results set.

Parameters

  • idx: The column number to retrieve from the intermediate results set.

Returns a reference to the idx'th argument, cast as an INTERVAL YEAR TO MONTH.

vint* Vertica::IntermediateAggs::getIntPtr(size_t idx)

inline Get a pointer to an INTEGER value from the intermediate results set.

Returns a pointer to the idx'th argument, cast appropriately.

Parameters

  • idx: The column number to retrieve from the intermediate results set.

Example:

vint *a = arg_reader->getIntPtr(0);

Referenced by getIntRef().

vint& Vertica::IntermediateAggs::getIntRef(size_t idx)

inline Get a reference to an INTEGER value from the intermediate results set.

Parameters

  • idx: The column number to retrieve from the intermediate results set.

Returns a reference to the idx'th argument, cast as an INTEGER.

Example:

vint a = arg_reader->getIntRef(0);
size_t Vertica::VerticaBlock::getNumCols() const

inline inherited Returns the number of columns held by this block.

Referenced by

VNumeric* Vertica::IntermediateAggs::getNumericPtr(size_t idx)

inline Get a pointer to a VNumeric value from the intermediate results set.

Parameters

  • idx: The column number to retrieve from the intermediate results set.

Returns A pointer to the retrieved value cast as a Numeric.

Referenced by getNumericRef().

VNumeric& Vertica::IntermediateAggs::getNumericRef(size_t idx)

inline Get a reference to a VNumeric value from the intermediate results set.

Parameters

  • idx: The column number to retrieve from the intermediate results set.

Returns a reference to the idx'th argument, cast as an VNumeric.

int Vertica::VerticaBlock::getNumRows() const

inline inherited Returns the number of rows held by this block.

VString* Vertica::IntermediateAggs::getStringPtr(size_t idx)

inline Get a pointer to a VString value from the intermediate results set.

Parameters

  • idx: The column number to retrieve from the intermediate results set.

Returns A pointer to the retrieved value cast as a VString.

Referenced by getStringRef().

VString& Vertica::IntermediateAggs::getStringRef(size_t idx)

inline Get a reference to an VString value from the intermediate results set.

Parameters

  • idx: The column number to retrieve from the intermediate results set.

Returns a reference to the idx'th argument, cast as an VString.

TimeADT* Vertica::IntermediateAggs::getTimePtr(size_t idx)

inline Get a pointer to a TIME value from the intermediate results set.

Parameters

  • idx: The column number in the intermediate results set to retrieve.

Returns A pointer to the retrieved value cast as a TIME.

Referenced by getTimeRef().

TimeADT& Vertica::IntermediateAggs::getTimeRef(size_t idx)

inline Get a reference to a TIME value from the intermediate results set.

Parameters

  • idx: The column number to retrieve from the intermediate results set.

Returns a reference to the idx'th argument, cast as a TIME.

Timestamp* Vertica::IntermediateAggs::getTimestampPtr(size_t idx)

inline Get a pointer to a TIMESTAMP value from the intermediate results set.

Parameters

  • idx: The column number in the intermediate results set to retrieve.

Returns A pointer to the retrieved value cast as a TIMESTAMP.

Referenced by getTimestampRef().

Timestamp& Vertica::IntermediateAggs::getTimestampRef(size_t idx)

inline Get a reference to a TIMESTAMP value from the intermediate results set.

Parameters

  • idx: The column number to retrieve from the intermediate results set.

Returns a reference to the idx'th argument, cast as a TIMESTAMP.

TimestampTz* Vertica::IntermediateAggs::getTimestampTzPtr(size_t idx)

inline Get a pointer to a TIMESTAMP WITH TIMEZONE value from the intermediate results set.

Parameters

  • idx: The column number in the intermediate results set to retrieve.

Returns A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE .

Referenced by getTimestampTzRef().

TimestampTz& Vertica::IntermediateAggs::getTimestampTzRef(size_t idx)

inline Get a reference to a TIMESTAMP WITH TIMEZONE value from the intermediate results set.

Parameters

  • idx: The column number to retrieve from the intermediate results set.

Returns a reference to the idx'th argument, cast as a TIMESTAMP WITH TIMEZONE.

TimeTzADT* Vertica::IntermediateAggs::getTimeTzPtr(size_t idx)

inline Get a pointer to a TIME WITH TIMEZONE value from the intermediate results set.

Parameters

  • idx: The column number in the intermediate results set to retrieve.

Returns A pointer to the retrieved value cast as a TIME WITH TIMEZONE.

Referenced by getTimeTzRef().

TimeTzADT& Vertica::IntermediateAggs::getTimeTzRef(size_t idx)

inline Get a reference to a TIME WITH TIMEZONE value from the intermediate results set.

Parameters

  • idx: The column number to retrieve from the intermediate results set.

Returns a reference to the idx'th argument, cast as a TIME WITH TIMEZONE.

const SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData() const

inline inherited Returns information about the types and numbers of arguments

Referenced by

SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData()

inline inherited Returns information about the types and numbers of arguments

VUuid* Vertica::IntermediateAggs::getUuidPtr(size_t idx)

inline Get a pointer to a VUuid value from the intermediate results set.

Parameters

  • idx: The column number to retrieve from the intermediate results set.

Returns A pointer to the retrieved value cast as a VUuid.

Referenced by getUuidRef().

VUuid& Vertica::IntermediateAggs::getUuidRef(size_t idx)

inline Get a reference to a VUuid value from the intermediate results set.

Parameters

  • idx: The column number to retrieve from the intermediate results set.

Returns a reference to the idx'th argument, cast as an VUuid.

bool Vertica::VerticaBlock::remaining() const

inline inherited Returns the number of entries remaining in the block

131 - Vertica::IntermediateAggs Member List

This is the complete list of members for Vertica::IntermediateAggs, including all inherited members.

addCol(char *arg, int colstride, const Field &field) Vertica::VerticaBlock protected
addCol(const char *arg, int colstride, const Field &field) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
checkStringUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
checkTimeUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
cols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
colstrides (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
copy(const VerticaBlock &other) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
count (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
ctWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
getArrayIntermediateDataArea(size_t c) Vertica::VerticaBlock inlineprotected
getBoolPtr(size_t idx) Vertica::IntermediateAggs inline
getBoolRef(size_t idx) Vertica::IntermediateAggs inline
getColPtr(size_t idx) const Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColRef(size_t idx) const Vertica::VerticaBlock inline
getColRefForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColStride(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDataArea(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDatePtr(size_t idx) Vertica::IntermediateAggs inline
getDateRef(size_t idx) Vertica::IntermediateAggs inline
getFloatPtr(size_t idx) Vertica::IntermediateAggs inline
getFloatRef(size_t idx) Vertica::IntermediateAggs inline
getIntervalPtr(size_t idx) Vertica::IntermediateAggs inline
getIntervalRef(size_t idx) Vertica::IntermediateAggs inline
getIntervalYMPtr(size_t idx) Vertica::IntermediateAggs inline
getIntervalYMRef(size_t idx) Vertica::IntermediateAggs inline
getIntPtr(size_t idx) Vertica::IntermediateAggs inline
getIntRef(size_t idx) Vertica::IntermediateAggs inline
getNumCols() const Vertica::VerticaBlock inline
getNumericPtr(size_t idx) Vertica::IntermediateAggs inline
getNumericRef(size_t idx) Vertica::IntermediateAggs inline
getNumRows() const Vertica::VerticaBlock inline
getStringPtr(size_t idx) Vertica::IntermediateAggs inline
getStringRef(size_t idx) Vertica::IntermediateAggs inline
getTimePtr(size_t idx) Vertica::IntermediateAggs inline
getTimeRef(size_t idx) Vertica::IntermediateAggs inline
getTimestampPtr(size_t idx) Vertica::IntermediateAggs inline
getTimestampRef(size_t idx) Vertica::IntermediateAggs inline
getTimestampTzPtr(size_t idx) Vertica::IntermediateAggs inline
getTimestampTzRef(size_t idx) Vertica::IntermediateAggs inline
getTimeTzPtr(size_t idx) Vertica::IntermediateAggs inline
getTimeTzRef(size_t idx) Vertica::IntermediateAggs inline
getTypeMetaData() const Vertica::VerticaBlock inline
getTypeMetaData() Vertica::VerticaBlock inline
getUuidPtr(size_t idx) Vertica::IntermediateAggs inline
getUuidRef(size_t idx) Vertica::IntermediateAggs inline
getVoidPtr(size_t idx=0) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getVoidPtr(size_t idx=0) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
index (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
indices (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
IntermediateAggs() (defined in Vertica::IntermediateAggs) Vertica::IntermediateAggs inline
IntermediateAggs(size_t ninter) (defined in Vertica::IntermediateAggs) Vertica::IntermediateAggs inline
ncols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
nrows (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
processBlockUserInfoVector (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
remaining() const Vertica::VerticaBlock inline
reset() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
resetIndex() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setDataArea(size_t idx, void *dataarea) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
setRowCount(int rowCount) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
svWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
typeMetaData (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
uuWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
validateStringColumn(size_t idx, const VString &s, size_t colLength) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
VerticaBlock(size_t ncols, int rowcount, const int *indices) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
vnWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
~VerticaBlock() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlinevirtual

132 - Vertica::IterativeSourceFactory Class Reference

Source factory that works with a SourceIterator to produce UDSources.

Inheritance diagram for Vertica::IterativeSourceFactory:

Collaboration diagram for Vertica::IterativeSourceFactory:

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 ssize_t getDesiredThreads (ServerInterface &srvInterface, ExecutorPlanContext &planCtxt)
virtual void getParameterType (ServerInterface &srvInterface, SizedColumnTypes meterTypes)
virtual void getPerInstanceResources (ServerInterface &srvInterface, VResources &res) override
virtual void getPerInstanceResources (ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) override
UDXFactory::UDXType getUDXFactoryType () override
virtual bool isSourceApportionable ()
virtual void plan (ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt)
virtual SourceIterator * prepare (ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt)
virtual SourceIterator * prepareExecutor (ServerInterface &srvInterface, ExecutorPlanContext &planCtxt)
Protected Attributes
Oid libOid
std::string sqlName

Detailed Description

Source factory that works with a SourceIterator to produce UDSources.

Usually it is easier to subclass SourceFactory and have its prepareUDSources() method return a vector of UDSource objects. Behind the scenes, Vertica uses a built-in iterator to pull sources from that vector. However, if you need to be able to control source management at this level, you can instead write your own SourceIterator and use it with an IterativeSourceFactory.

This class performs initial validation and planning of a query, before it is distributed over the network. It also instantiates objects to perform further initialization on each node, once the query has been distributed.

Note that SourceFactories are singletons. Subclasses should be stateless, with no fields containing data, just methods. plan() and prepare() methods must never modify any global variables or state; they may only modify the variables that they are given as arguments. (If global state must be modified, use SourceIterator.)

Factories should be registered using the RegisterFactory() macro, defined in Vertica.h.

Member Enumeration Documentation

enum Vertica::UDXFactory::UDXType

inherited The type of UDX instance this factory produces

Member Function Documentation

virtual ssize_t Vertica::IterativeSourceFactory::getDesiredThreads(ServerInterface & srvInterface, ExecutorPlanContext & planCtxt)

inlinevirtual

Request the number of threads that the SourceFactory wants to use. This function is called on each node before prepare().

'planCtxt' contains the same parameters stored by plan() method. It also exposes the maximum number of allowed threads, via 'getMaxAllowedThreads()'. Further computations can be stored in its 'ExecutorParamWriter' object, for use in prepare().

Reimplemented in Vertica::SourceFactory.

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

inlinevirtualinherited

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.

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

inlinevirtualinherited

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 from Vertica::UDXFactory.

Referenced by Vertica::UDLFactory::getPerInstanceResources().

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

inlinevirtualinherited

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 from Vertica::UDXFactory.

UDXFactory::UDXType Vertica::IterativeSourceFactory::getUDXFactoryType()

inlinevirtual

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.

Implements Vertica::UDXFactory.

virtual void Vertica::IterativeSourceFactory::plan(ServerInterface & srvInterface, NodeSpecifyingPlanContext & planCtxt)

inlinevirtual

Execute any planning logic required at query plan time. This method is run once per query, during query initialization. Its job is to perform parameter validation, and to modify the set of nodes that the COPY statement will run on.

plan() runs exactly once per query, on the initiator node. If it throws an exception, the query will not proceed; it will be aborted prior to distributing the query to the other nodes and running prepare().

Reimplemented in Vertica::SourceFactory.

virtual SourceIterator* Vertica::IterativeSourceFactory::prepareExecutor(ServerInterface & srvInterface, ExecutorPlanContext & planCtxt)

inlinevirtual

Prepare this SourceFactory to start creating sources. This function will be called on each node, prior to the Load operator starting to execute and prior to any other virtual functions on this class being called.

'planCtxt' contains the same data that was placed there by the plan() and getDesiredThreads() methods.

Referenced by Vertica::SourceFactory::getDesiredThreads().

133 - Vertica::IterativeSourceFactory Member List

This is the complete list of members for Vertica::IterativeSourceFactory, including all inherited members.

AGGREGATE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
ANALYTIC enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
CURSOR_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
FILESYSTEM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
getDesiredThreads(ServerInterface &srvInterface, ExecutorPlanContext &planCtxt) Vertica::IterativeSourceFactory inlinevirtual
getParameterType(ServerInterface &srvInterface, SizedColumnTypes meterTypes) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res) override Vertica::UDLFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) override Vertica::UDLFactory inlinevirtual
getUDXFactoryType() override Vertica::IterativeSourceFactory inlinevirtual
isSourceApportionable() (defined in Vertica::IterativeSourceFactory) Vertica::IterativeSourceFactory inlinevirtual
KEYMANAGER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
libOid (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
LOAD_FILTER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_PARSER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_SOURCE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
MULTI_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
plan(ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt) Vertica::IterativeSourceFactory inlinevirtual
prepare(ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt) (defined in Vertica::IterativeSourceFactory) Vertica::IterativeSourceFactory inlinevirtual
prepareExecutor(ServerInterface &srvInterface, ExecutorPlanContext &planCtxt) Vertica::IterativeSourceFactory inlinevirtual
SCALAR enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
sqlName (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
TYPE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
UDXType enum name Vertica::UDXFactory
~UDLFactory() (defined in Vertica::UDLFactory) Vertica::UDLFactory inlinevirtual
~UDXFactory() (defined in Vertica::UDXFactory) Vertica::UDXFactory inlinevirtual

134 - Vertica::LengthBuffer Member List

This is the complete list of members for Vertica::LengthBuffer, including all inherited members.

buf Vertica::LengthBuffer
getByteOffset() Vertica::LengthBuffer inline
offset Vertica::LengthBuffer
size Vertica::LengthBuffer

135 - Vertica::LengthBuffer Struct Reference

Collaboration diagram for Vertica::LengthBuffer:

Public Member Functions
size_t getByteOffset ()
Returns a byte representation of the offset, where the offset is the index of the buffer array.
Public Attributes
uint32 * buf
Pointer to the start of the buffer.
size_t offset
Number of length values in the buffer.
size_t size
Maximum number of length values that the buffer can hold.

Detailed Description

LengthBuffer

A contiguous in-memory buffer of uint32 *. Used for tracking record lengths.

136 - Vertica::LibraryRegistrar Member List

This is the complete list of members for Vertica::LibraryRegistrar, including all inherited members.

LibraryRegistrar(const char *author, const char *library_build_tag, const char *library_version, const char *library_sdk_version, const char *source_url, const char *description, const char *licenses_required, const char *signature) (defined in Vertica::LibraryRegistrar) Vertica::LibraryRegistrar inline

137 - Vertica::LibraryRegistrar Struct Reference

Collaboration diagram for Vertica::LibraryRegistrar:

Public Member Functions
LibraryRegistrar (const char *author, const char *library_build_tag, const char *library_version, const char *library_sdk_version, const char *source_url, const char *description, const char *licenses_required, const char *signature)

138 - Vertica::Model Class Reference

Collaboration diagram for Vertica::Model:

Public Member Functions
Model (ServerInterface &srvInterface, std::string modelName)
Model (ServerInterface &srvInterface, Oid model_oid)
std::string getBaseModelName () const
std::string getModelCategory () const
std::string getModelName () const
Oid getModelOid () const
size_t getModelSize () const
std::string getModelType () const
std::string getModelVersion () const
std::string getOwner () const
std::string getSchema () const
bool isModelComplete () const
void setModelCategory (const std::string &mc)
void setModelName (const std::string &mName)
void setModelOid (Oid mOid)
void setModelProgress (bool p)
void setModelSize (size_t size)
void setModelType (const std::string &mt)
void setModelVersion (const std::string &v)
void setOwner (const std::string &o)
void setSchema (const std::string &s)

139 - Vertica::Model Member List

This is the complete list of members for Vertica::Model, including all inherited members.

getBaseModelName() const (defined in Vertica::Model) Vertica::Model inline
getModelCategory() const (defined in Vertica::Model) Vertica::Model inline
getModelName() const (defined in Vertica::Model) Vertica::Model inline
getModelOid() const (defined in Vertica::Model) Vertica::Model inline
getModelSize() const (defined in Vertica::Model) Vertica::Model inline
getModelType() const (defined in Vertica::Model) Vertica::Model inline
getModelVersion() const (defined in Vertica::Model) Vertica::Model inline
getOwner() const (defined in Vertica::Model) Vertica::Model inline
getSchema() const (defined in Vertica::Model) Vertica::Model inline
isModelComplete() const (defined in Vertica::Model) Vertica::Model inline
Model(ServerInterface &srvInterface, std::string modelName) (defined in Vertica::Model) Vertica::Model inline
Model(ServerInterface &srvInterface, Oid model_oid) (defined in Vertica::Model) Vertica::Model inline
Model() (defined in Vertica::Model) Vertica::Model inline
setModelCategory(const std::string &mc) (defined in Vertica::Model) Vertica::Model inline
setModelName(const std::string &mName) (defined in Vertica::Model) Vertica::Model inline
setModelOid(Oid mOid) (defined in Vertica::Model) Vertica::Model inline
setModelProgress(bool p) (defined in Vertica::Model) Vertica::Model inline
setModelSize(size_t size) (defined in Vertica::Model) Vertica::Model inline
setModelType(const std::string &mt) (defined in Vertica::Model) Vertica::Model inline
setModelVersion(const std::string &v) (defined in Vertica::Model) Vertica::Model inline
setOwner(const std::string &o) (defined in Vertica::Model) Vertica::Model inline
setSchema(const std::string &s) (defined in Vertica::Model) Vertica::Model inline

140 - Vertica::MultiPhaseTransformFunctionFactory Class Reference

Interface for declaring parameters and return types for, and instantiating, an associated multi-phase transform function. This class is similar to, but not a subclass of, TransformFunctionFactory.

Inheritance diagram for Vertica::MultiPhaseTransformFunctionFactory:

Collaboration diagram for Vertica::MultiPhaseTransformFunctionFactory:

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 void getPhases (ServerInterface &srvInterface, std::vector &phases)=0
virtual void getPrototype (ServerInterface &srvInterface, ColumnTypes &argTypes, ColumnTypes &returnType) override
virtual void getReturnType (ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType) override
Protected Member Functions
virtual UDXType getUDXFactoryType () override
Protected Attributes
Oid libOid
std::string sqlName

Detailed Description

Interface for declaring parameters and return types for, and instantiating, an associated multi-phase transform function. This class is similar to, but not a subclass of, TransformFunctionFactory.

A multi-phase transform function is made up of TransformFunctionPhase instances. For each phase of your transform, extend this class (not TransformFunction). In getPhases(), return a vector of instances of those classes. Semantically, getPhases() replaces TransformFunctionFactory.createTransformFunction().

Member Enumeration Documentation

enum Vertica::UDXFactory::UDXType

inherited The type of UDX instance this factory produces

Member Function Documentation

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

inlinevirtualinherited

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.

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

inlinevirtualinherited

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 Vertica::UDXFactory::getPerInstanceResources().

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

inlinevirtualinherited

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.

virtual void Vertica::MultiPhaseTransformFunctionFactory::getPhases(ServerInterface & srvInterface, std::vector & phases)

pure virtual

Called when Vertica needs a new TransformFunctionPhase pipeline
to process a multi-phase UDTF function call. Vertica invokes the
phases in order; collectively they behave like a TransformFunction.

**Parameters:** `srvInterface` - a ServerInterface object used to communicate with Ver

tica

Parameters

  • phases: output TransformFunctionPhase objects

Note More than one object may be instantiated per query.

Referenced by getReturnType().

virtual void Vertica::MultiPhaseTransformFunctionFactory::getPrototype(ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes & returnType)

inlinevirtual

Provides the argument and return types of the UDX

Implements Vertica::FunctionFactory.

virtual void Vertica::MultiPhaseTransformFunctionFactory::getReturnType(ServerInterface & srvInterface, const SizedColumnTypes & argTypes, SizedColumnTypes & returnType)

inlinevirtual

Function to tell Vertica what the return types (and length/precision if necessary) of this UDX are.

For CHAR/VARCHAR types, specify the max length,

For NUMERIC types, specify the precision and scale.

For Time/Timestamp types (with or without time zone), specify the precision, -1 means unspecified/don't care

For IntervalYM/IntervalDS types, specify the precision and range

For all other types, no length/precision specification needed

Parameters

  • argTypes: Provides the data types of arguments that this UDT was called with. This may be used to modify the return types accordingly.
  • returnType: User code must fill in the names and data types returned by the UDT.

Implements Vertica::FunctionFactory.

virtual UDXType Vertica::MultiPhaseTransformFunctionFactory::getUDXFactoryType()

inlineprotectedvirtual

Returns the object type internally used by Vertica

Implements Vertica::UDXFactory.

141 - Vertica::MultiPhaseTransformFunctionFactory Member List

This is the complete list of members for Vertica::MultiPhaseTransformFunctionFactory, including all inherited members.

AGGREGATE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
ANALYTIC enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
CURSOR_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
FILESYSTEM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
getParameterType(ServerInterface &srvInterface, SizedColumnTypes meterTypes) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) Vertica::UDXFactory inlinevirtual
getPhases(ServerInterface &srvInterface, std::vector &phases)=0 Vertica::MultiPhaseTransformFunctionFactory pure virtual
getPrototype(ServerInterface &srvInterface, ColumnTypes &argTypes, ColumnTypes &returnType) override Vertica::MultiPhaseTransformFunctionFactory inlinevirtual
getReturnType(ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType) override Vertica::MultiPhaseTransformFunctionFactory inlinevirtual
getUDXFactoryType() override Vertica::MultiPhaseTransformFunctionFactory inlineprotectedvirtual
KEYMANAGER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
libOid (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
LOAD_FILTER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_PARSER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_SOURCE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
MULTI_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
SCALAR enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
sqlName (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
TYPE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
UDXType enum name Vertica::UDXFactory
~FunctionFactory() (defined in Vertica::FunctionFactory) Vertica::FunctionFactory inlinevirtual
~MultiPhaseTransformFunctionFactory() (defined in Vertica::MultiPhaseTransformFunctionFactory) Vertica::MultiPhaseTransformFunctionFactory inlinevirtual
~UDXFactory() (defined in Vertica::UDXFactory) Vertica::UDXFactory inlinevirtual

142 - Vertica::MultipleIntermediateAggs Class Reference

A wrapper around multiple intermediate aggregates.

Inheritance diagram for Vertica::MultipleIntermediateAggs:

Collaboration diagram for Vertica::MultipleIntermediateAggs:

Public Member Functions
MultipleIntermediateAggs (size_t narg)
void copy (const VerticaBlock &other)
Array::ArrayReader getArrayRef (size_t idx) const
Get a reference to an Array value from the input row.
const vbool * getBoolPtr (size_t idx) const
Get a pointer to a BOOLEAN value from the input row.
const vbool & getBoolRef (size_t idx) const
Get a reference to a BOOLEAN value from the input row.
template
const T * getColPtr (size_t idx) const
template<>
const VString * getColPtr (size_t idx) const
template<>
const VNumeric * getColPtr (size_t idx) const
template<>
const VUuid * getColPtr (size_t idx) const
template<>
const BlockReader * getColPtr (size_t idx) const
template
T * getColPtrForWrite (size_t idx)
template<>
VString * getColPtrForWrite (size_t idx)
template<>
VNumeric * getColPtrForWrite (size_t idx)
template<>
VUuid * getColPtrForWrite (size_t idx)
template<>
BlockWriter * getColPtrForWrite (size_t idx)
template
const T & getColRef (size_t idx) const
template
T & getColRefForWrite (size_t idx)
int getColStride (size_t idx) const
const EE::DataArea * getDataArea (size_t idx) const
const DateADT * getDatePtr (size_t idx) const
Get a pointer to a DATE value from the input row.
const DateADT & getDateRef (size_t idx) const
Get a reference to a DATE value from the input row.
const vfloat * getFloatPtr (size_t idx) const
Get a pointer to a FLOAT value from the input row.
const vfloat & getFloatRef (size_t idx) const
Get a reference to a FLOAT value from the input row.
const Interval * getIntervalPtr (size_t idx) const
Get a pointer to an INTERVAL value from the input row.
const Interval & getIntervalRef (size_t idx) const
Get a reference to an INTERVAL value from the input row.
const IntervalYM * getIntervalYMPtr (size_t idx) const
Get a pointer to a INTERVAL YEAR TO MONTH value from the input row.
const IntervalYM & getIntervalYMRef (size_t idx) const
Get a reference to an INTERVAL YEAR TO MONTH value from the input row.
const vint * getIntPtr (size_t idx) const
Get a pointer to an INTEGER value from the input row.
const vint & getIntRef (size_t idx) const
Get a reference to an INTEGER value from the input row.
size_t getNumCols () const
const VNumeric * getNumericPtr (size_t idx) const
Get a pointer to a VNumeric value from the input row.
const VNumeric & getNumericRef (size_t idx) const
Get a reference to a VNumeric value from the input row.
int getNumRows () const
int getPosition () const
const BlockReader * getRowPtr (size_t idx) const
Get a reference to a Row value from the input row.
const BlockReader & getRowRef (size_t idx) const
Get a reference to a Row value from the input row.
const VString * getStringPtr (size_t idx) const
Get a pointer to a VString value from the input row.
const VString & getStringRef (size_t idx) const
Get a reference to an VString value from the input row.
const TimeADT * getTimePtr (size_t idx) const
Get a pointer to a TIME value from the input row.
const TimeADT & getTimeRef (size_t idx) const
Get a reference to a TIME value from the input row.
const Timestamp * getTimestampPtr (size_t idx) const
Get a pointer to a TIMESTAMP value from the input row.
const Timestamp & getTimestampRef (size_t idx) const
Get a reference to a TIMESTAMP value from the input row.
const TimestampTz * getTimestampTzPtr (size_t idx) const
Get a pointer to a TIMESTAMP WITH TIMEZONE value from the input row.
const TimestampTz & getTimestampTzRef (size_t idx) const
Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.
const TimeTzADT * getTimeTzPtr (size_t idx) const
Get a pointer to a TIME WITH TIMEZONE value from the input row.
const TimeTzADT & getTimeTzRef (size_t idx) const
Get a reference to a TIME WITH TIMEZONE value from the input row.
const SizedColumnTypes & getTypeMetaData () const
SizedColumnTypes & getTypeMetaData ()
const VUuid * getUuidPtr (size_t idx) const
Get a pointer to a VUuid value from the input row.
const VUuid & getUuidRef (size_t idx) const
Get a reference to a VUuid value from the input row.
void * getVoidPtr (size_t idx=0)
const void * getVoidPtr (size_t idx=0) const
bool hasData () const
bool isNull (int col) const
Check if the idx'th argument is null.
bool next ()
bool remaining () const
void setDataArea (size_t idx, void *dataarea)
Protected Member Functions
void addCol (char *arg, int colstride, const Field &field)
void addCol (const char *arg, int colstride, const Field &field)
bool advanceToNextRow (bool recurIntoArrays)
bool checkStringUserBlockInfo (size_t idx) const
bool checkTimeUserBlockInfo (size_t idx) const
EE::DataArea ** getArrayIntermediateDataArea (size_t c)
void reset ()
void resetIndex ()
void setRowCount (int rowCount)
void validateStringColumn (size_t idx, const VString &s, size_t colLength) const
Protected Attributes
std::vector cols
std::vector colstrides
int count
std::vector ctWrappers
int index
const int * indices
size_t ncols
int nrows
std::vector processBlockUserInfoVector
std::vector svWrappers
SizedColumnTypes typeMetaData
std::vector uuWrappers
std::vector vnWrappers

Detailed Description

A wrapper around multiple intermediate aggregates.

Member Function Documentation

void Vertica::VerticaBlock::addCol(char * arg, int colstride, const Field & field)

protected inherited Add the location for reading a particular argument.

Parameters

  • arg: The base location to find data.
  • colstride: The stride between data instances.
  • field: metadata for the added column
  • dt: The type of input.
  • fieldname: the name of the field

Referenced by Vertica::ParamReader::addParameter().

EE::DataArea** Vertica::VerticaBlock::getArrayIntermediateDataArea(size_t c)

inlineprotectedinherited

Returns a pointer to a DataArea for accumulating an intermediate result

Array::ArrayReader Vertica::BlockReader::getArrayRef(size_t idx) const

inherited Get a reference to an Array value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument: another BlockReader which reads elements of the array.

const vbool* Vertica::BlockReader::getBoolPtr(size_t idx) const

inline inherited Get a pointer to a BOOLEAN value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a BOOLEAN.

Referenced by Vertica::BlockReader::getBoolRef().

const vbool& Vertica::BlockReader::getBoolRef(size_t idx) const

inline inherited Get a reference to a BOOLEAN value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an BOOLEAN.

Referenced by Vertica::BlockReader::isNull().

template<class T >
const T* Vertica::VerticaBlock::getColPtr(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example:

const vint *a = arg_reader->getColPtr(0);
template<class T >
const T& Vertica::VerticaBlock::getColRef(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example

const vint a = arg_reader->getColRef<vint>(0);
const DateADT* Vertica::BlockReader::getDatePtr(size_t idx) const

inline inherited Get a pointer to a DATE value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a DATE.

Referenced by Vertica::BlockReader::getDateRef().

const DateADT& Vertica::BlockReader::getDateRef(size_t idx) const

inline inherited Get a reference to a DATE value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an DATE.

Referenced by Vertica::BlockReader::isNull().

const vfloat* Vertica::BlockReader::getFloatPtr(size_t idx) const

inline inherited Get a pointer to a FLOAT value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a FLOAT.

Referenced by Vertica::BlockReader::getFloatRef().

const vfloat& Vertica::BlockReader::getFloatRef(size_t idx) const

inline inherited Get a reference to a FLOAT value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns A reference to the idx'th argument, cast as an FLOAT.

Referenced by Vertica::BlockReader::isNull().

const Interval* Vertica::BlockReader::getIntervalPtr(size_t idx) const

inline inherited Get a pointer to an INTERVAL value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as an INTERVAL.

Referenced by Vertica::BlockReader::getIntervalRef().

const Interval& Vertica::BlockReader::getIntervalRef(size_t idx) const

inline inherited Get a reference to an INTERVAL value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an INTERVAL.

Referenced by Vertica::BlockReader::isNull().

const IntervalYM* Vertica::BlockReader::getIntervalYMPtr(size_t idx) const

inline inherited Get a pointer to a INTERVAL YEAR TO MONTH value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.

Referenced by Vertica::BlockReader::getIntervalYMRef().

const IntervalYM& Vertica::BlockReader::getIntervalYMRef(size_t idx) const

inline inherited Get a reference to an INTERVAL YEAR TO MONTH value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an INTERVAL YEAR TO MONTH.

Referenced by Vertica::BlockReader::isNull().

const vint* Vertica::BlockReader::getIntPtr(size_t idx) const

inline inherited Get a pointer to an INTEGER value from the input row.

Returns a pointer to the idx'th argument, cast appropriately.

Parameters

  • idx: The column number to retrieve from the input row.

Example:

const vint *a = arg_reader->getIntPtr(0);

Referenced by Vertica::BlockReader::getIntRef().

const vint& Vertica::BlockReader::getIntRef(size_t idx) const

inline inherited Get a reference to an INTEGER value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an INTEGER.

Example:

const vint a = arg_reader->getIntRef(0);

Referenced by Vertica::BlockReader::isNull().

size_t Vertica::VerticaBlock::getNumCols() const

inline inherited Returns the number of columns held by this block.

Referenced by

const VNumeric* Vertica::BlockReader::getNumericPtr(size_t idx) const

inline inherited Get a pointer to a VNumeric value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns A pointer to the retrieved value cast as a Numeric.

Referenced by Vertica::BlockReader::getNumericRef().

const VNumeric& Vertica::BlockReader::getNumericRef(size_t idx) const

inline inherited Get a reference to a VNumeric value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an VNumeric.

Referenced by Vertica::BlockReader::isNull().

int Vertica::VerticaBlock::getNumRows() const

inline inherited Returns the number of rows held by this block.

int Vertica::BlockReader::getPosition() const

inline inherited Returns the current row position or array index

const BlockReader* Vertica::BlockReader::getRowPtr(size_t idx) const

inline inherited Get a reference to a Row value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a pointer to a reader for the Row fields

Referenced by Vertica::BlockReader::getRowRef().

const BlockReader& Vertica::BlockReader::getRowRef(size_t idx) const

inline inherited Get a reference to a Row value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, as a Row value.

const VString* Vertica::BlockReader::getStringPtr(size_t idx) const

inline inherited Get a pointer to a VString value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns A pointer to the retrieved value cast as a VString.

Referenced by Vertica::BlockReader::getStringRef().

const VString& Vertica::BlockReader::getStringRef(size_t idx) const

inline inherited Get a reference to an VString value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an VString.

Referenced by Vertica::BlockReader::isNull().

const TimeADT* Vertica::BlockReader::getTimePtr(size_t idx) const

inline inherited Get a pointer to a TIME value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a TIME.

Referenced by Vertica::BlockReader::getTimeRef().

const TimeADT& Vertica::BlockReader::getTimeRef(size_t idx) const

inline inherited Get a reference to a TIME value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as a TIME.

Referenced by Vertica::BlockReader::isNull().

const Timestamp* Vertica::BlockReader::getTimestampPtr(size_t idx) const

inline inherited Get a pointer to a TIMESTAMP value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a TIMESTAMP.

Referenced by Vertica::BlockReader::getTimestampRef().

const Timestamp& Vertica::BlockReader::getTimestampRef(size_t idx) const

inline inherited Get a reference to a TIMESTAMP value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as a TIMESTAMP.

Referenced by Vertica::BlockReader::isNull().

const TimestampTz* Vertica::BlockReader::getTimestampTzPtr(size_t idx) const

inline inherited Get a pointer to a TIMESTAMP WITH TIMEZONE value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE .

Referenced by Vertica::BlockReader::getTimestampTzRef().

const TimestampTz& Vertica::BlockReader::getTimestampTzRef(size_t idx) const

inline inherited Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as a TIMESTAMP WITH TIMEZONE.

Referenced by Vertica::BlockReader::isNull().

const TimeTzADT* Vertica::BlockReader::getTimeTzPtr(size_t idx) const

inline inherited Get a pointer to a TIME WITH TIMEZONE value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a TIME WITH TIMEZONE.

Referenced by Vertica::BlockReader::getTimeTzRef().

const TimeTzADT& Vertica::BlockReader::getTimeTzRef(size_t idx) const

inline inherited Get a reference to a TIME WITH TIMEZONE value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as a TIME WITH TIMEZONE.

Referenced by Vertica::BlockReader::isNull().

const SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData() const

inline inherited Returns information about the types and numbers of arguments

Referenced by

SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData()

inline inherited Returns information about the types and numbers of arguments

const VUuid* Vertica::BlockReader::getUuidPtr(size_t idx) const

inline inherited Get a pointer to a VUuid value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns A pointer to the retrieved value cast as a VUuid.

Referenced by Vertica::BlockReader::getUuidRef().

const VUuid& Vertica::BlockReader::getUuidRef(size_t idx) const

inline inherited Get a reference to a VUuid value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an VUuid.

Referenced by Vertica::BlockReader::isNull().

bool Vertica::BlockReader::hasData() const

inline inherited Returns true if there is data available

Referenced by Vertica::copyBlockColumn().

bool Vertica::BlockReader::isNull(int col) const

inline inherited Check if the idx'th argument is null.

Parameters

  • col: The column number in the row to check for null

Returns true is the col value is null false otherwise

bool Vertica::BlockReader::next()

inline inherited Advance to the next record.

Returns true if there are more rows to read, false otherwise.

Referenced by Vertica::copyBlockColumn().

bool Vertica::VerticaBlock::remaining() const

inline inherited Returns the number of entries remaining in the block

143 - Vertica::MultipleIntermediateAggs Member List

This is the complete list of members for Vertica::MultipleIntermediateAggs, including all inherited members.

addCol(char *arg, int colstride, const Field &field) Vertica::VerticaBlock protected
addCol(const char *arg, int colstride, const Field &field) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
advanceToNextRow(bool recurIntoArrays) (defined in Vertica::BlockReader) Vertica::BlockReader inlineprotected
BlockReader(size_t narg, int rowcount, const int *indices) (defined in Vertica::BlockReader) Vertica::BlockReader inline
checkStringUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
checkTimeUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
cols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
colstrides (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
copy(const VerticaBlock &other) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
count (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
ctWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
getArrayIntermediateDataArea(size_t c) Vertica::VerticaBlock inlineprotected
getArrayRef(size_t idx) const Vertica::BlockReader
getBoolPtr(size_t idx) const Vertica::BlockReader inline
getBoolRef(size_t idx) const Vertica::BlockReader inline
getColPtr(size_t idx) const Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColRef(size_t idx) const Vertica::VerticaBlock inline
getColRefForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColStride(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDataArea(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDatePtr(size_t idx) const Vertica::BlockReader inline
getDateRef(size_t idx) const Vertica::BlockReader inline
getFloatPtr(size_t idx) const Vertica::BlockReader inline
getFloatRef(size_t idx) const Vertica::BlockReader inline
getIntervalPtr(size_t idx) const Vertica::BlockReader inline
getIntervalRef(size_t idx) const Vertica::BlockReader inline
getIntervalYMPtr(size_t idx) const Vertica::BlockReader inline
getIntervalYMRef(size_t idx) const Vertica::BlockReader inline
getIntPtr(size_t idx) const Vertica::BlockReader inline
getIntRef(size_t idx) const Vertica::BlockReader inline
getNumCols() const Vertica::VerticaBlock inline
getNumericPtr(size_t idx) const Vertica::BlockReader inline
getNumericRef(size_t idx) const Vertica::BlockReader inline
getNumRows() const Vertica::VerticaBlock inline
getPosition() const Vertica::BlockReader inline
getRowPtr(size_t idx) const Vertica::BlockReader inline
getRowRef(size_t idx) const Vertica::BlockReader inline
getStringPtr(size_t idx) const Vertica::BlockReader inline
getStringRef(size_t idx) const Vertica::BlockReader inline
getTimePtr(size_t idx) const Vertica::BlockReader inline
getTimeRef(size_t idx) const Vertica::BlockReader inline
getTimestampPtr(size_t idx) const Vertica::BlockReader inline
getTimestampRef(size_t idx) const Vertica::BlockReader inline
getTimestampTzPtr(size_t idx) const Vertica::BlockReader inline
getTimestampTzRef(size_t idx) const Vertica::BlockReader inline
getTimeTzPtr(size_t idx) const Vertica::BlockReader inline
getTimeTzRef(size_t idx) const Vertica::BlockReader inline
getTypeMetaData() const Vertica::VerticaBlock inline
getTypeMetaData() Vertica::VerticaBlock inline
getUuidPtr(size_t idx) const Vertica::BlockReader inline
getUuidRef(size_t idx) const Vertica::BlockReader inline
getVoidPtr(size_t idx=0) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getVoidPtr(size_t idx=0) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
hasData() const Vertica::BlockReader inline
index (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
indices (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
isNull(int col) const Vertica::BlockReader inline
MultipleIntermediateAggs() (defined in Vertica::MultipleIntermediateAggs) Vertica::MultipleIntermediateAggs inline
MultipleIntermediateAggs(size_t narg) (defined in Vertica::MultipleIntermediateAggs) Vertica::MultipleIntermediateAggs inline
ncols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
next() Vertica::BlockReader inline
nrows (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
processBlockUserInfoVector (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
remaining() const Vertica::VerticaBlock inline
reset() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
resetIndex() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setDataArea(size_t idx, void *dataarea) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
setRowCount(int rowCount) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
svWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
typeMetaData (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
uuWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
validateStringColumn(size_t idx, const VString &s, size_t colLength) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
VerticaBlock(size_t ncols, int rowcount, const int *indices) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
vnWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
~VerticaBlock() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlinevirtual

144 - Vertica::NodeSpecifyingPlanContext Class Reference

Interface that allows storage of query-plan state, when different parts of query planning take place on different computers.

Inheritance diagram for Vertica::NodeSpecifyingPlanContext:

Collaboration diagram for Vertica::NodeSpecifyingPlanContext:

Public Member Functions
NodeSpecifyingPlanContext (ParamWriter &writer, std::vector clusterNodes, bool canApportion)
NodeSpecifyingPlanContext (ParamWriter &writer, std::vector clusterNodes, std::vector targetNodes, bool canApportion)
bool canApportionSource () const
const std::vector & getClusterNodes ()
virtual ParamReader & getReader ()
const std::vector & getTargetNodes () const
virtual ParamWriter & getWriter ()
void setTargetNodes (const std::vector &nodes)

Detailed Description

Interface that allows storage of query-plan state, when different parts of query planning take place on different computers.

For example, if some work is done on the query initiator node and some is done on each node executing the query.

In addition to the functionality provided by PlanContext, NodeSpecifyingPlanContext allows you to specify which nodes the query should run on. This is used for UDLs.

Member Function Documentation

bool Vertica::NodeSpecifyingPlanContext::canApportionSource() const

inline return whether the UDL source can be apportioned among multiple nodes or threads

const std::vector& Vertica::PlanContext::getClusterNodes()

inline inherited Get a list of all of the nodes in the current cluster, by node name

Referenced by setTargetNodes().

virtual ParamReader& Vertica::PlanContext::getReader()

inlinevirtualinherited

Get a read-only instance of the current context

const std::vector& Vertica::NodeSpecifyingPlanContext::getTargetNodes() const

inline Return the set of nodes that this query is currently set to run on

virtual ParamWriter& Vertica::PlanContext::getWriter()

inlinevirtualinherited

Get the current context for writing

Reimplemented in Vertica::ExecutorPlanContext.

Referenced by Vertica::ExecutorPlanContext::getWriter().

void Vertica::NodeSpecifyingPlanContext::setTargetNodes(const std::vector & nodes)

inline Change the set of nodes that the query is intended to run on. Throws UnknownNodeException if any of the specified node names is not actually the name of any node in the cluster.

145 - Vertica::NodeSpecifyingPlanContext Member List

This is the complete list of members for Vertica::NodeSpecifyingPlanContext, including all inherited members.

canApportionSource() const Vertica::NodeSpecifyingPlanContext inline
getClusterNodes() Vertica::PlanContext inline
getReader() Vertica::PlanContext inlinevirtual
getTargetNodes() const Vertica::NodeSpecifyingPlanContext inline
getWriter() Vertica::PlanContext inlinevirtual
NodeSpecifyingPlanContext(ParamWriter &writer, std::vector clusterNodes, bool canApportion) (defined in Vertica::NodeSpecifyingPlanContext) Vertica::NodeSpecifyingPlanContext inline
NodeSpecifyingPlanContext(ParamWriter &writer, std::vector clusterNodes, std::vector targetNodes, bool canApportion) (defined in Vertica::NodeSpecifyingPlanContext) Vertica::NodeSpecifyingPlanContext inline
PlanContext(ParamWriter &writer) (defined in Vertica::PlanContext) Vertica::PlanContext inline
PlanContext(ParamWriter &writer, std::vector clusterNodes) (defined in Vertica::PlanContext) Vertica::PlanContext inline
setTargetNodes(const std::vector &nodes) Vertica::NodeSpecifyingPlanContext inline

146 - Vertica::OpenOptions Member List

This is the complete list of members for Vertica::OpenOptions, including all inherited members.

Consistency enum name (defined in Vertica::OpenOptions) Vertica::OpenOptions
hintConsistency (defined in Vertica::OpenOptions) Vertica::OpenOptions
hintStreaming (defined in Vertica::OpenOptions) Vertica::OpenOptions
isModeSet() const (defined in Vertica::OpenOptions) Vertica::OpenOptions inline
isSizeSet() const (defined in Vertica::OpenOptions) Vertica::OpenOptions inline
mode (defined in Vertica::OpenOptions) Vertica::OpenOptions
OpenOptions(uint64 st_mode, uint64 st_size, bool rmClose=false, StreamingReadHint streamingHint=StreamingReadHint::AUTO_STREAM_READ, Consistency consistencyHint=Consistency::UNKNOWN) (defined in Vertica::OpenOptions) Vertica::OpenOptions inline
OpenOptions(bool rmClose) (defined in Vertica::OpenOptions) Vertica::OpenOptions inlineexplicit
OpenOptions(Consistency c) (defined in Vertica::OpenOptions) Vertica::OpenOptions inlineexplicit
OpenOptions() (defined in Vertica::OpenOptions) Vertica::OpenOptions inline
removeOnClose (defined in Vertica::OpenOptions) Vertica::OpenOptions
size (defined in Vertica::OpenOptions) Vertica::OpenOptions
StreamingReadHint enum name (defined in Vertica::OpenOptions) Vertica::OpenOptions
~OpenOptions() (defined in Vertica::OpenOptions) Vertica::OpenOptions inlinevirtual

147 - Vertica::OpenOptions Struct Reference

Collaboration diagram for Vertica::OpenOptions:

Public Types
enum Consistency { UNKNOWN = 0, STRONG, EVENTUAL }
enum StreamingReadHint { AUTO_STREAM_READ, STREAM_READ, NO_STREAM_READ }
Public Member Functions
OpenOptions (uint64 st_mode, uint64 st_size, bool rmClose=false, StreamingReadHint streamingHint=StreamingReadHint::AUTO_STREAM_READ, Consistency consistencyHint=Consistency::UNKNOWN)
OpenOptions (bool rmClose)
OpenOptions (Consistency c)
bool isModeSet () const
bool isSizeSet () const
Public Attributes
Consistency hintConsistency
StreamingReadHint hintStreaming
uint64 mode
bool removeOnClose
uint64 size

148 - Vertica::ParallelismInfo Member List

This is the complete list of members for Vertica::ParallelismInfo, including all inherited members.

awaitRendezvous()=0 (defined in Vertica::ParallelismInfo) Vertica::ParallelismInfo pure virtual
getNumPeers()=0 (defined in Vertica::ParallelismInfo) Vertica::ParallelismInfo pure virtual
getPeerIndex()=0 (defined in Vertica::ParallelismInfo) Vertica::ParallelismInfo pure virtual
getSharedPtr()=0 (defined in Vertica::ParallelismInfo) Vertica::ParallelismInfo pure virtual
getSharedSize()=0 (defined in Vertica::ParallelismInfo) Vertica::ParallelismInfo pure virtual
isCanceled()=0 (defined in Vertica::ParallelismInfo) Vertica::ParallelismInfo pure virtual
isErrored()=0 (defined in Vertica::ParallelismInfo) Vertica::ParallelismInfo pure virtual
isLeader() (defined in Vertica::ParallelismInfo) Vertica::ParallelismInfo inline
markCanceled()=0 (defined in Vertica::ParallelismInfo) Vertica::ParallelismInfo pure virtual
markError()=0 (defined in Vertica::ParallelismInfo) Vertica::ParallelismInfo pure virtual
notifyFollowers()=0 (defined in Vertica::ParallelismInfo) Vertica::ParallelismInfo pure virtual
waitForLeader()=0 (defined in Vertica::ParallelismInfo) Vertica::ParallelismInfo pure virtual
~ParallelismInfo() (defined in Vertica::ParallelismInfo) Vertica::ParallelismInfo inlinevirtual

149 - Vertica::ParallelismInfo Struct Reference

Collaboration diagram for Vertica::ParallelismInfo:

Public Member Functions
virtual bool awaitRendezvous ()=0
virtual int getNumPeers ()=0
virtual int getPeerIndex ()=0
virtual void * getSharedPtr ()=0
virtual int getSharedSize ()=0
virtual bool isCanceled ()=0
virtual bool isErrored ()=0
bool isLeader ()
virtual void markCanceled ()=0
virtual void markError ()=0
virtual bool notifyFollowers ()=0
virtual bool waitForLeader ()=0

Detailed Description

Structure to tell about parallelism situation

150 - Vertica::ParamReader Class Reference

Provides read access to a set of named parameters. This class provides type-specific methods to retrieve values.

Inheritance diagram for Vertica::ParamReader:

Collaboration diagram for Vertica::ParamReader:

Public Member Functions
ParamReader (size_t nparams)
void addParameter (std::string paramName, const char *arg, const VerticaType &dt)
bool containsParameter (std::string paramName) const
Function to see if the ParamReader has a value for the parameter.
void copy (const VerticaBlock &other)
void copy (const ParamReader &other)
Copy the other ParamReader. Discard any existing parameters TODO: create an alternate version that only copies if this ParamReader is empty, is a no-op if they are non-empty and the same, and error if they are non-empty and different.
const vbool * getBoolPtr (std::string paramName) const
Get a pointer to a BOOLEAN value from the input row.
const vbool & getBoolRef (std::string paramName) const
Get a reference to a BOOLEAN value from the input row.
template
const T * getColPtr (size_t idx) const
template<>
const VString * getColPtr (size_t idx) const
template<>
const VNumeric * getColPtr (size_t idx) const
template<>
const VUuid * getColPtr (size_t idx) const
template<>
const BlockReader * getColPtr (size_t idx) const
template
T * getColPtrForWrite (size_t idx)
template<>
VString * getColPtrForWrite (size_t idx)
template<>
VNumeric * getColPtrForWrite (size_t idx)
template<>
VUuid * getColPtrForWrite (size_t idx)
template<>
BlockWriter * getColPtrForWrite (size_t idx)
template
const T & getColRef (size_t idx) const
template
T & getColRefForWrite (size_t idx)
int getColStride (size_t idx) const
const EE::DataArea * getDataArea (size_t idx) const
const DateADT * getDatePtr (std::string paramName) const
Get a pointer to a DATE value from the input row.
const DateADT & getDateRef (std::string paramName) const
Get a reference to a DATE value from the input row.
const vfloat * getFloatPtr (std::string paramName) const
Get a pointer to a FLOAT value from the input row.
const vfloat & getFloatRef (std::string paramName) const
Get a reference to a FLOAT value from the input row.
size_t getIndex (std::string paramName) const
const Interval * getIntervalPtr (std::string paramName) const
Get a pointer to an INTERVAL value from the input row.
const Interval & getIntervalRef (std::string paramName) const
Get a reference to an INTERVAL value from the input row.
const IntervalYM * getIntervalYMPtr (std::string paramName) const
Get a pointer to a INTERVAL YEAR TO MONTH value from the input row.
const IntervalYM & getIntervalYMRef (std::string paramName) const
Get a reference to an INTERVAL YEAR TO MONTH value from the input row.
const vint * getIntPtr (std::string paramName) const
Get a pointer to an INTEGER value from the input row.
const vint & getIntRef (std::string paramName) const
Get a reference to an INTEGER value from the input row.
size_t getNumCols () const
const VNumeric * getNumericPtr (std::string paramName) const
Get a pointer to a VNumeric value from the input row.
const VNumeric & getNumericRef (std::string paramName) const
Get a reference to a VNumeric value from the input row.
int getNumRows () const
std::vector getParamNames () const
Return the names of all parameters stored in this ParamReader.
const VString * getStringPtr (std::string paramName) const
Get a pointer to a VString value from the input row.
const VString & getStringRef (std::string paramName) const
Get a reference to an VString value from the input row.
const TimeADT * getTimePtr (std::string paramName) const
Get a pointer to a TIME value from the input row.
const TimeADT & getTimeRef (std::string paramName) const
Get a reference to a TIME value from the input row.
const Timestamp * getTimestampPtr (std::string paramName) const
Get a pointer to a TIMESTAMP value from the input row.
const Timestamp & getTimestampRef (std::string paramName) const
Get a reference to a TIMESTAMP value from the input row.
const TimestampTz * getTimestampTzPtr (std::string paramName) const
Get a pointer to a TIMESTAMP WITH TIMEZONE value from the input row.
const TimestampTz & getTimestampTzRef (std::string paramName) const
Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.
const TimeTzADT * getTimeTzPtr (std::string paramName) const
Get a pointer to a TIME WITH TIMEZONE value from the input row.
const TimeTzADT & getTimeTzRef (std::string paramName) const
Get a reference to a TIME WITH TIMEZONE value from the input row.
VerticaType getType (std::string paramName) const
Return the type of the given parameter.
const SizedColumnTypes & getTypeMetaData () const
SizedColumnTypes & getTypeMetaData ()
VUuid * getUuidPtr (std::string paramName) const
Get a pointer to a VUuid value from the input row.
const VUuid & getUuidRef (std::string paramName) const
void * getVoidPtr (size_t idx=0)
const void * getVoidPtr (size_t idx=0) const
bool isEmpty () const
Returns true if there are no parameters.
bool remaining () const
void setDataArea (size_t idx, void *dataarea)
Public Attributes
std::map paramNameToIndex
Protected Member Functions
void addCol (char *arg, int colstride, const Field &field)
void addCol (const char *arg, int colstride, const Field &field)
bool checkStringUserBlockInfo (size_t idx) const
bool checkTimeUserBlockInfo (size_t idx) const
EE::DataArea ** getArrayIntermediateDataArea (size_t c)
void reset ()
void resetIndex ()
void setRowCount (int rowCount)
void validateStringColumn (size_t idx, const VString &s, size_t colLength) const
Protected Attributes
std::vector cols
std::vector colstrides
int count
std::vector ctWrappers
int index
const int * indices
size_t ncols
int nrows
std::vector processBlockUserInfoVector
std::vector svWrappers
SizedColumnTypes typeMetaData
std::vector uuWrappers
std::vector vnWrappers
Friends
class VerticaBlockSerializer

Detailed Description

Provides read access to a set of named parameters. This class provides type-specific methods to retrieve values.

Member Function Documentation

void Vertica::VerticaBlock::addCol(char * arg, int colstride, const Field & field)

protected inherited Add the location for reading a particular argument.

Parameters

  • arg: The base location to find data.
  • colstride: The stride between data instances.
  • field: metadata for the added column
  • dt: The type of input.
  • fieldname: the name of the field

Referenced by addParameter().

void Vertica::ParamReader::addParameter(std::string paramName, const char * arg, const VerticaType & dt)

inline Add a parameter to the block and stores it name and corresponding index in the paramNameToIndex map

EE::DataArea** Vertica::VerticaBlock::getArrayIntermediateDataArea(size_t c)

inlineprotectedinherited

Returns a pointer to a DataArea for accumulating an intermediate result

const vbool* Vertica::ParamReader::getBoolPtr(std::string paramName) const

inline Get a pointer to a BOOLEAN value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a BOOLEAN.

Referenced by getBoolRef().

const vbool& Vertica::ParamReader::getBoolRef(std::string paramName) const

inline Get a reference to a BOOLEAN value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an BOOLEAN.

template<class T >
const T* Vertica::VerticaBlock::getColPtr(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example:

const vint *a = arg_reader->getColPtr(0);
template<class T >
const T& Vertica::VerticaBlock::getColRef(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example

const vint a = arg_reader->getColRef<vint>(0);
const DateADT* Vertica::ParamReader::getDatePtr(std::string paramName) const

inline Get a pointer to a DATE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a DATE.

Referenced by getDateRef().

const DateADT& Vertica::ParamReader::getDateRef(std::string paramName) const

inline Get a reference to a DATE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an DATE.

const vfloat* Vertica::ParamReader::getFloatPtr(std::string paramName) const

inline Get a pointer to a FLOAT value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a FLOAT.

Referenced by getFloatRef().

const vfloat& Vertica::ParamReader::getFloatRef(std::string paramName) const

inline Get a reference to a FLOAT value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A reference to the parameter value, cast as an FLOAT.

const Interval* Vertica::ParamReader::getIntervalPtr(std::string paramName) const

inline Get a pointer to an INTERVAL value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as an INTERVAL.

Referenced by getIntervalRef().

const Interval& Vertica::ParamReader::getIntervalRef(std::string paramName) const

inline Get a reference to an INTERVAL value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an INTERVAL.

const IntervalYM* Vertica::ParamReader::getIntervalYMPtr(std::string paramName) const

inline Get a pointer to a INTERVAL YEAR TO MONTH value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.

Referenced by getIntervalYMRef().

const IntervalYM& Vertica::ParamReader::getIntervalYMRef(std::string paramName) const

inline Get a reference to an INTERVAL YEAR TO MONTH value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an INTERVAL YEAR TO MONTH.

const vint* Vertica::ParamReader::getIntPtr(std::string paramName) const

inline Get a pointer to an INTEGER value from the input row.

Returns a pointer to the idx'th argument, cast appropriately.

Parameters

  • paramName: The name of the parameter to retrieve

Example:

vint *a = arg_reader->getIntPtr("max");

Referenced by getIntRef().

const vint& Vertica::ParamReader::getIntRef(std::string paramName) const

inline Get a reference to an INTEGER value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an INTEGER.

Example:

vint a = arg_reader->getIntRef("max");
size_t Vertica::VerticaBlock::getNumCols() const

inline inherited Returns the number of columns held by this block.

Referenced by

const VNumeric* Vertica::ParamReader::getNumericPtr(std::string paramName) const

inline Get a pointer to a VNumeric value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a Numeric.

Referenced by getNumericRef().

const VNumeric& Vertica::ParamReader::getNumericRef(std::string paramName) const

inline Get a reference to a VNumeric value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an VNumeric.

int Vertica::VerticaBlock::getNumRows() const

inline inherited Returns the number of rows held by this block.

const VString* Vertica::ParamReader::getStringPtr(std::string paramName) const

inline Get a pointer to a VString value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a VString.

Referenced by getStringRef().

const VString& Vertica::ParamReader::getStringRef(std::string paramName) const

inline Get a reference to an VString value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an VString.

const TimeADT* Vertica::ParamReader::getTimePtr(std::string paramName) const

inline Get a pointer to a TIME value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a TIME.

Referenced by getTimeRef().

const TimeADT& Vertica::ParamReader::getTimeRef(std::string paramName) const

inline Get a reference to a TIME value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as a TIME.

const Timestamp* Vertica::ParamReader::getTimestampPtr(std::string paramName) const

inline Get a pointer to a TIMESTAMP value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a TIMESTAMP.

Referenced by getTimestampRef().

const Timestamp& Vertica::ParamReader::getTimestampRef(std::string paramName) const

inline Get a reference to a TIMESTAMP value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as a TIMESTAMP.

const TimestampTz* Vertica::ParamReader::getTimestampTzPtr(std::string paramName) const

inline Get a pointer to a TIMESTAMP WITH TIMEZONE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE .

Referenced by getTimestampTzRef().

const TimestampTz& Vertica::ParamReader::getTimestampTzRef(std::string paramName) const

inline Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as a TIMESTAMP WITH TIMEZONE.

const TimeTzADT* Vertica::ParamReader::getTimeTzPtr(std::string paramName) const

inline Get a pointer to a TIME WITH TIMEZONE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a TIME WITH TIMEZONE.

Referenced by getTimeTzRef().

const TimeTzADT& Vertica::ParamReader::getTimeTzRef(std::string paramName) const

inline Get a reference to a TIME WITH TIMEZONE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as a TIME WITH TIMEZONE.

const SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData() const

inline inherited Returns information about the types and numbers of arguments

Referenced by

SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData()

inline inherited Returns information about the types and numbers of arguments

VUuid* Vertica::ParamReader::getUuidPtr(std::string paramName) const

inline Get a pointer to a VUuid value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a VUuid.

bool Vertica::VerticaBlock::remaining() const

inline inherited Returns the number of entries remaining in the block

Member Data Documentation

std::map Vertica::ParamReader::paramNameToIndex

Bookkeepinp to make a parameter and its position in the block

Referenced by

151 - Vertica::ParamReader Member List

This is the complete list of members for Vertica::ParamReader, including all inherited members.

addCol(char *arg, int colstride, const Field &field) Vertica::VerticaBlock protected
addCol(const char *arg, int colstride, const Field &field) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
addParameter(std::string paramName, const char *arg, const VerticaType &dt) Vertica::ParamReader inline
checkStringUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
checkTimeUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
cols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
colstrides (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
containsParameter(std::string paramName) const Vertica::ParamReader inline
copy(const ParamReader &other) Vertica::ParamReader inline
copy(const VerticaBlock &other) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
count (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
ctWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
getArrayIntermediateDataArea(size_t c) Vertica::VerticaBlock inlineprotected
getBoolPtr(std::string paramName) const Vertica::ParamReader inline
getBoolRef(std::string paramName) const Vertica::ParamReader inline
getColPtr(size_t idx) const Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColRef(size_t idx) const Vertica::VerticaBlock inline
getColRefForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColStride(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDataArea(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDatePtr(std::string paramName) const Vertica::ParamReader inline
getDateRef(std::string paramName) const Vertica::ParamReader inline
getFloatPtr(std::string paramName) const Vertica::ParamReader inline
getFloatRef(std::string paramName) const Vertica::ParamReader inline
getIndex(std::string paramName) const (defined in Vertica::ParamReader) Vertica::ParamReader inline
getIntervalPtr(std::string paramName) const Vertica::ParamReader inline
getIntervalRef(std::string paramName) const Vertica::ParamReader inline
getIntervalYMPtr(std::string paramName) const Vertica::ParamReader inline
getIntervalYMRef(std::string paramName) const Vertica::ParamReader inline
getIntPtr(std::string paramName) const Vertica::ParamReader inline
getIntRef(std::string paramName) const Vertica::ParamReader inline
getNumCols() const Vertica::VerticaBlock inline
getNumericPtr(std::string paramName) const Vertica::ParamReader inline
getNumericRef(std::string paramName) const Vertica::ParamReader inline
getNumRows() const Vertica::VerticaBlock inline
getParamNames() const Vertica::ParamReader inline
getStringPtr(std::string paramName) const Vertica::ParamReader inline
getStringRef(std::string paramName) const Vertica::ParamReader inline
getTimePtr(std::string paramName) const Vertica::ParamReader inline
getTimeRef(std::string paramName) const Vertica::ParamReader inline
getTimestampPtr(std::string paramName) const Vertica::ParamReader inline
getTimestampRef(std::string paramName) const Vertica::ParamReader inline
getTimestampTzPtr(std::string paramName) const Vertica::ParamReader inline
getTimestampTzRef(std::string paramName) const Vertica::ParamReader inline
getTimeTzPtr(std::string paramName) const Vertica::ParamReader inline
getTimeTzRef(std::string paramName) const Vertica::ParamReader inline
getType(std::string paramName) const Vertica::ParamReader inline
getTypeMetaData() const Vertica::VerticaBlock inline
getTypeMetaData() Vertica::VerticaBlock inline
getUuidPtr(std::string paramName) const Vertica::ParamReader inline
getUuidRef(std::string paramName) const (defined in Vertica::ParamReader) Vertica::ParamReader inline
getVoidPtr(size_t idx=0) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getVoidPtr(size_t idx=0) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
index (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
indices (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
isEmpty() const Vertica::ParamReader inline
ncols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
nrows (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
paramNameToIndex Vertica::ParamReader
ParamReader(size_t nparams) (defined in Vertica::ParamReader) Vertica::ParamReader inline
ParamReader() (defined in Vertica::ParamReader) Vertica::ParamReader inline
processBlockUserInfoVector (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
remaining() const Vertica::VerticaBlock inline
reset() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
resetIndex() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setDataArea(size_t idx, void *dataarea) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
setRowCount(int rowCount) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
svWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
typeMetaData (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
uuWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
validateStringColumn(size_t idx, const VString &s, size_t colLength) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
VerticaBlock(size_t ncols, int rowcount, const int *indices) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
VerticaBlockSerializer (defined in Vertica::ParamReader) Vertica::ParamReader friend
vnWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
~VerticaBlock() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlinevirtual

152 - Vertica::ParamWriter Class Reference

Provides write access to a set of named parameters. This class extends ParamReader to add type-specific methods to write values.

Inheritance diagram for Vertica::ParamWriter:

Collaboration diagram for Vertica::ParamWriter:

Public Member Functions
ParamWriter (VTAllocator *allocator=NULL)
void addParameter (std::string paramName, const char *arg, const VerticaType &dt)
void clearParameter (std::string fieldName)
bool containsParameter (std::string paramName) const
Function to see if the ParamReader has a value for the parameter.
void copy (const VerticaBlock &other)
void copy (const ParamReader &other)
Copy the other ParamReader. Discard any existing parameters TODO: create an alternate version that only copies if this ParamReader is empty, is a no-op if they are non-empty and the same, and error if they are non-empty and different.
const vbool * getBoolPtr (std::string paramName) const
Get a pointer to a BOOLEAN value from the input row.
const vbool & getBoolRef (std::string paramName) const
Get a reference to a BOOLEAN value from the input row.
template
const T * getColPtr (size_t idx) const
template<>
const VString * getColPtr (size_t idx) const
template<>
const VNumeric * getColPtr (size_t idx) const
template<>
const VUuid * getColPtr (size_t idx) const
template<>
const BlockReader * getColPtr (size_t idx) const
template
T * getColPtrForWrite (size_t idx)
template<>
VString * getColPtrForWrite (size_t idx)
template<>
VNumeric * getColPtrForWrite (size_t idx)
template<>
VUuid * getColPtrForWrite (size_t idx)
template<>
BlockWriter * getColPtrForWrite (size_t idx)
template
const T & getColRef (size_t idx) const
template
T & getColRefForWrite (size_t idx)
int getColStride (size_t idx) const
const EE::DataArea * getDataArea (size_t idx) const
const DateADT * getDatePtr (std::string paramName) const
Get a pointer to a DATE value from the input row.
const DateADT & getDateRef (std::string paramName) const
Get a reference to a DATE value from the input row.
const vfloat * getFloatPtr (std::string paramName) const
Get a pointer to a FLOAT value from the input row.
const vfloat & getFloatRef (std::string paramName) const
Get a reference to a FLOAT value from the input row.
size_t getIndex (std::string paramName) const
const Interval * getIntervalPtr (std::string paramName) const
Get a pointer to an INTERVAL value from the input row.
const Interval & getIntervalRef (std::string paramName) const
Get a reference to an INTERVAL value from the input row.
const IntervalYM * getIntervalYMPtr (std::string paramName) const
Get a pointer to a INTERVAL YEAR TO MONTH value from the input row.
const IntervalYM & getIntervalYMRef (std::string paramName) const
Get a reference to an INTERVAL YEAR TO MONTH value from the input row.
const vint * getIntPtr (std::string paramName) const
Get a pointer to an INTEGER value from the input row.
const vint & getIntRef (std::string paramName) const
Get a reference to an INTEGER value from the input row.
VString & getLongStringRef (std::string fieldName)
Allocates a new VString object to use as output. Sets it to be a 32mb LONG type by default.
size_t getNumCols () const
const VNumeric * getNumericPtr (std::string paramName) const
Get a pointer to a VNumeric value from the input row.
const VNumeric & getNumericRef (std::string paramName) const
Get a reference to a VNumeric value from the input row.
VNumeric & getNumericRef (std::string fieldName)
Allocate a new VNumeric object to use as output.
int getNumRows () const
std::vector getParamNames () const
Return the names of all parameters stored in this ParamReader.
const VString * getStringPtr (std::string paramName) const
Get a pointer to a VString value from the input row.
const VString & getStringRef (std::string paramName) const
Get a reference to an VString value from the input row.
VString & getStringRef (std::string fieldName)
Allocates a new VString object to use as output.
const TimeADT * getTimePtr (std::string paramName) const
Get a pointer to a TIME value from the input row.
const TimeADT & getTimeRef (std::string paramName) const
Get a reference to a TIME value from the input row.
const Timestamp * getTimestampPtr (std::string paramName) const
Get a pointer to a TIMESTAMP value from the input row.
const Timestamp & getTimestampRef (std::string paramName) const
Get a reference to a TIMESTAMP value from the input row.
const TimestampTz * getTimestampTzPtr (std::string paramName) const
Get a pointer to a TIMESTAMP WITH TIMEZONE value from the input row.
const TimestampTz & getTimestampTzRef (std::string paramName) const
Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.
const TimeTzADT * getTimeTzPtr (std::string paramName) const
Get a pointer to a TIME WITH TIMEZONE value from the input row.
const TimeTzADT & getTimeTzRef (std::string paramName) const
Get a reference to a TIME WITH TIMEZONE value from the input row.
VerticaType getType (std::string paramName) const
Return the type of the given parameter.
const SizedColumnTypes & getTypeMetaData () const
SizedColumnTypes & getTypeMetaData ()
VUuid * getUuidPtr (std::string paramName) const
Get a pointer to a VUuid value from the input row.
const VUuid & getUuidRef (std::string paramName) const
VUuid & getUuidRef (std::string fieldName)
Allocate a new VUuid object to use as output.
void * getVoidPtr (size_t idx=0)
const void * getVoidPtr (size_t idx=0) const
bool isEmpty () const
Returns true if there are no parameters.
bool remaining () const
void setAllocator (VTAllocator *allocator)
Sets the allocator to be used to allocate variable size param values such as VString. Given allocator live longer than this ParamWriter.
void setBool (std::string fieldName, vbool r)
Adds a BOOLEAN value to the output row.
void setDataArea (size_t idx, void *dataarea)
void setDate (std::string fieldName, DateADT r)
Adds a BOOLEAN value to the output row.
void setFloat (std::string fieldName, vfloat r)
Adds a FLOAT value to the output row.
void setInt (std::string fieldName, vint r)
Adds an INTEGER value to the output row.
void setInterval (std::string fieldName, Interval r, int32 precision, int32 range)
Adds an INTERVAL value to the output row.
void setIntervalYM (std::string fieldName, IntervalYM r, int32 range)
Adds an INTERVAL YEAR TO MONTH value to the output row.
void setTime (std::string fieldName, TimeADT r, int32 precision)
Adds a TIME value to the output row.
void setTimestamp (std::string fieldName, Timestamp r, int32 precision)
Adds a TIMESTAMP value to the output row.
void setTimestampTz (std::string fieldName, TimestampTz r, int32 precision)
Adds a TIMESTAMP WITH TIMEZONE value to the output row.
void setTimeTz (std::string fieldName, TimeTzADT r, int32 precision)
Adds a TIME WITH TIMEZONE value to the output row.
Public Attributes
std::map paramNameToIndex
Protected Member Functions
void addCol (char *arg, int colstride, const Field &field)
void addCol (const char *arg, int colstride, const Field &field)
bool checkStringUserBlockInfo (size_t idx) const
bool checkTimeUserBlockInfo (size_t idx) const
EE::DataArea ** getArrayIntermediateDataArea (size_t c)
void reset ()
void resetIndex ()
void setRowCount (int rowCount)
void validateStringColumn (size_t idx, const VString &s, size_t colLength) const
Protected Attributes
std::vector cols
std::vector colstrides
int count
std::vector ctWrappers
int index
const int * indices
size_t ncols
int nrows
std::vector processBlockUserInfoVector
std::vector svWrappers
SizedColumnTypes typeMetaData
std::vector uuWrappers
std::vector vnWrappers
Friends
class VerticaBlockSerializer

Detailed Description

Provides write access to a set of named parameters. This class extends ParamReader to add type-specific methods to write values.

Member Function Documentation

void Vertica::VerticaBlock::addCol(char * arg, int colstride, const Field & field)

protected inherited Add the location for reading a particular argument.

Parameters

  • arg: The base location to find data.
  • colstride: The stride between data instances.
  • field: metadata for the added column
  • dt: The type of input.
  • fieldname: the name of the field

Referenced by Vertica::ParamReader::addParameter().

void Vertica::ParamReader::addParameter(std::string paramName, const char * arg, const VerticaType & dt)

inline inherited Add a parameter to the block and stores it name and corresponding index in the paramNameToIndex map

EE::DataArea** Vertica::VerticaBlock::getArrayIntermediateDataArea(size_t c)

inlineprotectedinherited

Returns a pointer to a DataArea for accumulating an intermediate result

const vbool* Vertica::ParamReader::getBoolPtr(std::string paramName) const

inline inherited Get a pointer to a BOOLEAN value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a BOOLEAN.

Referenced by Vertica::ParamReader::getBoolRef().

const vbool& Vertica::ParamReader::getBoolRef(std::string paramName) const

inline inherited Get a reference to a BOOLEAN value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an BOOLEAN.

template<class T >
const T* Vertica::VerticaBlock::getColPtr(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example:

const vint *a = arg_reader->getColPtr(0);
template<class T >
const T& Vertica::VerticaBlock::getColRef(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example

const vint a = arg_reader->getColRef<vint>(0);
const DateADT* Vertica::ParamReader::getDatePtr(std::string paramName) const

inline inherited Get a pointer to a DATE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a DATE.

Referenced by Vertica::ParamReader::getDateRef().

const DateADT& Vertica::ParamReader::getDateRef(std::string paramName) const

inline inherited Get a reference to a DATE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an DATE.

const vfloat* Vertica::ParamReader::getFloatPtr(std::string paramName) const

inline inherited Get a pointer to a FLOAT value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a FLOAT.

Referenced by Vertica::ParamReader::getFloatRef().

const vfloat& Vertica::ParamReader::getFloatRef(std::string paramName) const

inline inherited Get a reference to a FLOAT value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A reference to the parameter value, cast as an FLOAT.

const Interval* Vertica::ParamReader::getIntervalPtr(std::string paramName) const

inline inherited Get a pointer to an INTERVAL value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as an INTERVAL.

Referenced by Vertica::ParamReader::getIntervalRef().

const Interval& Vertica::ParamReader::getIntervalRef(std::string paramName) const

inline inherited Get a reference to an INTERVAL value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an INTERVAL.

const IntervalYM* Vertica::ParamReader::getIntervalYMPtr(std::string paramName) const

inline inherited Get a pointer to a INTERVAL YEAR TO MONTH value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.

Referenced by Vertica::ParamReader::getIntervalYMRef().

const IntervalYM& Vertica::ParamReader::getIntervalYMRef(std::string paramName) const

inline inherited Get a reference to an INTERVAL YEAR TO MONTH value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an INTERVAL YEAR TO MONTH.

const vint* Vertica::ParamReader::getIntPtr(std::string paramName) const

inline inherited Get a pointer to an INTEGER value from the input row.

Returns a pointer to the idx'th argument, cast appropriately.

Parameters

  • paramName: The name of the parameter to retrieve

Example:

vint *a = arg_reader->getIntPtr("max");

Referenced by Vertica::ParamReader::getIntRef().

const vint& Vertica::ParamReader::getIntRef(std::string paramName) const

inline inherited Get a reference to an INTEGER value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an INTEGER.

Example:

vint a = arg_reader->getIntRef("max");
VString& Vertica::ParamWriter::getLongStringRef(std::string fieldName)

inline Allocates a new VString object to use as output. Sets it to be a 32mb LONG type by default.

Returns A new VString object to hold output. This object automatically added to the output row.

size_t Vertica::VerticaBlock::getNumCols() const

inline inherited Returns the number of columns held by this block.

Referenced by

const VNumeric* Vertica::ParamReader::getNumericPtr(std::string paramName) const

inline inherited Get a pointer to a VNumeric value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a Numeric.

Referenced by Vertica::ParamReader::getNumericRef().

const VNumeric& Vertica::ParamReader::getNumericRef(std::string paramName) const

inline inherited Get a reference to a VNumeric value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an VNumeric.

VNumeric& Vertica::ParamWriter::getNumericRef(std::string fieldName)

inline Allocate a new VNumeric object to use as output.

Returns A new VNumeric object to hold output. This object automatically added to the output row.

int Vertica::VerticaBlock::getNumRows() const

inline inherited Returns the number of rows held by this block.

const VString* Vertica::ParamReader::getStringPtr(std::string paramName) const

inline inherited Get a pointer to a VString value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a VString.

Referenced by Vertica::ParamReader::getStringRef().

const VString& Vertica::ParamReader::getStringRef(std::string paramName) const

inline inherited Get a reference to an VString value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as an VString.

VString& Vertica::ParamWriter::getStringRef(std::string fieldName)

inline Allocates a new VString object to use as output.

Returns A new VString object to hold output. This object automatically added to the output row.

const TimeADT* Vertica::ParamReader::getTimePtr(std::string paramName) const

inline inherited Get a pointer to a TIME value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a TIME.

Referenced by Vertica::ParamReader::getTimeRef().

const TimeADT& Vertica::ParamReader::getTimeRef(std::string paramName) const

inline inherited Get a reference to a TIME value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as a TIME.

const Timestamp* Vertica::ParamReader::getTimestampPtr(std::string paramName) const

inline inherited Get a pointer to a TIMESTAMP value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a TIMESTAMP.

Referenced by Vertica::ParamReader::getTimestampRef().

const Timestamp& Vertica::ParamReader::getTimestampRef(std::string paramName) const

inline inherited Get a reference to a TIMESTAMP value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as a TIMESTAMP.

const TimestampTz* Vertica::ParamReader::getTimestampTzPtr(std::string paramName) const

inline inherited Get a pointer to a TIMESTAMP WITH TIMEZONE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE .

Referenced by Vertica::ParamReader::getTimestampTzRef().

const TimestampTz& Vertica::ParamReader::getTimestampTzRef(std::string paramName) const

inline inherited Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as a TIMESTAMP WITH TIMEZONE.

const TimeTzADT* Vertica::ParamReader::getTimeTzPtr(std::string paramName) const

inline inherited Get a pointer to a TIME WITH TIMEZONE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a TIME WITH TIMEZONE.

Referenced by Vertica::ParamReader::getTimeTzRef().

const TimeTzADT& Vertica::ParamReader::getTimeTzRef(std::string paramName) const

inline inherited Get a reference to a TIME WITH TIMEZONE value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns a reference to the parameter value, cast as a TIME WITH TIMEZONE.

const SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData() const

inline inherited Returns information about the types and numbers of arguments

Referenced by

SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData()

inline inherited Returns information about the types and numbers of arguments

VUuid* Vertica::ParamReader::getUuidPtr(std::string paramName) const

inline inherited Get a pointer to a VUuid value from the input row.

Parameters

  • paramName: The name of the parameter to retrieve

Returns A pointer to the retrieved value cast as a VUuid.

VUuid& Vertica::ParamWriter::getUuidRef(std::string fieldName)

inline Allocate a new VUuid object to use as output.

Returns A new VUuid object to hold output. This object automatically added to the output row.

bool Vertica::VerticaBlock::remaining() const

inline inherited Returns the number of entries remaining in the block

void Vertica::ParamWriter::setAllocator(VTAllocator * allocator)

inline Sets the allocator to be used to allocate variable size param values such as VString. Given allocator live longer than this ParamWriter.

Parameters

  • allocator: Used to allocate param values.
void Vertica::ParamWriter::setBool(std::string fieldName, vbool r)

inline Adds a BOOLEAN value to the output row.

Parameters

  • r: The BOOLEAN value to insert into the output row.
void Vertica::ParamWriter::setDate(std::string fieldName, DateADT r)

inline Adds a BOOLEAN value to the output row.

Parameters

  • r: The BOOLEAN value to insert into the output row.
void Vertica::ParamWriter::setFloat(std::string fieldName, vfloat r)

inline Adds a FLOAT value to the output row.

Parameters

  • r: The FLOAT value to insert into the output row.
void Vertica::ParamWriter::setInt(std::string fieldName, vint r)

inline Adds an INTEGER value to the output row.

Setter methods

Parameters

  • r: The INTEGER value to insert into the output row.
void Vertica::ParamWriter::setInterval(std::string fieldName, Interval r, int32 precision, int32 range)

inline Adds an INTERVAL value to the output row.

Parameters

  • r: The INTERVAL value to insert into the output row.
void Vertica::ParamWriter::setIntervalYM(std::string fieldName, IntervalYM r, int32 range)

inline Adds an INTERVAL YEAR TO MONTH value to the output row.

Parameters

  • r: The INTERVAL YEAR TO MONTH value to insert into the output row.
void Vertica::ParamWriter::setTime(std::string fieldName, TimeADT r, int32 precision)

inline Adds a TIME value to the output row.

Parameters

  • r: The TIME value to insert into the output row.
void Vertica::ParamWriter::setTimestamp(std::string fieldName, Timestamp r, int32 precision)

inline Adds a TIMESTAMP value to the output row.

Parameters

  • r: The TIMESTAMP value to insert into the output row.
void Vertica::ParamWriter::setTimestampTz(std::string fieldName, TimestampTz r, int32 precision)

inline Adds a TIMESTAMP WITH TIMEZONE value to the output row.

Parameters

  • r: The TIMESTAMP WITH TIMEZONE value to insert into the output row.
void Vertica::ParamWriter::setTimeTz(std::string fieldName, TimeTzADT r, int32 precision)

inline Adds a TIME WITH TIMEZONE value to the output row.

Parameters

  • r: The TIME WITH TIMEZONE value to insert into the output row.

Member Data Documentation

std::map Vertica::ParamReader::paramNameToIndex

inherited Bookkeepinp to make a parameter and its position in the block

Referenced by

153 - Vertica::ParamWriter Member List

This is the complete list of members for Vertica::ParamWriter, including all inherited members.

addCol(char *arg, int colstride, const Field &field) Vertica::VerticaBlock protected
addCol(const char *arg, int colstride, const Field &field) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
addParameter(std::string paramName, const char *arg, const VerticaType &dt) Vertica::ParamReader inline
checkStringUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
checkTimeUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
clearParameter(std::string fieldName) (defined in Vertica::ParamWriter) Vertica::ParamWriter inline
cols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
colstrides (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
containsParameter(std::string paramName) const Vertica::ParamReader inline
copy(const ParamReader &other) Vertica::ParamReader inline
copy(const VerticaBlock &other) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
count (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
ctWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
getArrayIntermediateDataArea(size_t c) Vertica::VerticaBlock inlineprotected
getBoolPtr(std::string paramName) const Vertica::ParamReader inline
getBoolRef(std::string paramName) const Vertica::ParamReader inline
getColPtr(size_t idx) const Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColRef(size_t idx) const Vertica::VerticaBlock inline
getColRefForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColStride(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDataArea(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDatePtr(std::string paramName) const Vertica::ParamReader inline
getDateRef(std::string paramName) const Vertica::ParamReader inline
getFloatPtr(std::string paramName) const Vertica::ParamReader inline
getFloatRef(std::string paramName) const Vertica::ParamReader inline
getIndex(std::string paramName) const (defined in Vertica::ParamReader) Vertica::ParamReader inline
getIntervalPtr(std::string paramName) const Vertica::ParamReader inline
getIntervalRef(std::string paramName) const Vertica::ParamReader inline
getIntervalYMPtr(std::string paramName) const Vertica::ParamReader inline
getIntervalYMRef(std::string paramName) const Vertica::ParamReader inline
getIntPtr(std::string paramName) const Vertica::ParamReader inline
getIntRef(std::string paramName) const Vertica::ParamReader inline
getLongStringRef(std::string fieldName) Vertica::ParamWriter inline
getNumCols() const Vertica::VerticaBlock inline
getNumericPtr(std::string paramName) const Vertica::ParamReader inline
getNumericRef(std::string fieldName) Vertica::ParamWriter inline
Vertica::ParamReader::getNumericRef(std::string paramName) const Vertica::ParamReader inline
getNumRows() const Vertica::VerticaBlock inline
getParamNames() const Vertica::ParamReader inline
getStringPtr(std::string paramName) const Vertica::ParamReader inline
getStringRef(std::string fieldName) Vertica::ParamWriter inline
Vertica::ParamReader::getStringRef(std::string paramName) const Vertica::ParamReader inline
getTimePtr(std::string paramName) const Vertica::ParamReader inline
getTimeRef(std::string paramName) const Vertica::ParamReader inline
getTimestampPtr(std::string paramName) const Vertica::ParamReader inline
getTimestampRef(std::string paramName) const Vertica::ParamReader inline
getTimestampTzPtr(std::string paramName) const Vertica::ParamReader inline
getTimestampTzRef(std::string paramName) const Vertica::ParamReader inline
getTimeTzPtr(std::string paramName) const Vertica::ParamReader inline
getTimeTzRef(std::string paramName) const Vertica::ParamReader inline
getType(std::string paramName) const Vertica::ParamReader inline
getTypeMetaData() const Vertica::VerticaBlock inline
getTypeMetaData() Vertica::VerticaBlock inline
getUuidPtr(std::string paramName) const Vertica::ParamReader inline
getUuidRef(std::string fieldName) Vertica::ParamWriter inline
getUuidRef(std::string paramName) const (defined in Vertica::ParamReader) Vertica::ParamReader inline
getVoidPtr(size_t idx=0) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getVoidPtr(size_t idx=0) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
index (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
indices (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
isEmpty() const Vertica::ParamReader inline
ncols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
nrows (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
paramNameToIndex Vertica::ParamReader
ParamReader(size_t nparams) (defined in Vertica::ParamReader) Vertica::ParamReader inline
ParamReader() (defined in Vertica::ParamReader) Vertica::ParamReader inline
ParamWriter(VTAllocator *allocator=NULL) (defined in Vertica::ParamWriter) Vertica::ParamWriter inline
processBlockUserInfoVector (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
remaining() const Vertica::VerticaBlock inline
reset() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
resetIndex() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setAllocator(VTAllocator *allocator) Vertica::ParamWriter inline
setBool(std::string fieldName, vbool r) Vertica::ParamWriter inline
setDataArea(size_t idx, void *dataarea) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
setDate(std::string fieldName, DateADT r) Vertica::ParamWriter inline
setFloat(std::string fieldName, vfloat r) Vertica::ParamWriter inline
setInt(std::string fieldName, vint r) Vertica::ParamWriter inline
setInterval(std::string fieldName, Interval r, int32 precision, int32 range) Vertica::ParamWriter inline
setIntervalYM(std::string fieldName, IntervalYM r, int32 range) Vertica::ParamWriter inline
setRowCount(int rowCount) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setTime(std::string fieldName, TimeADT r, int32 precision) Vertica::ParamWriter inline
setTimestamp(std::string fieldName, Timestamp r, int32 precision) Vertica::ParamWriter inline
setTimestampTz(std::string fieldName, TimestampTz r, int32 precision) Vertica::ParamWriter inline
setTimeTz(std::string fieldName, TimeTzADT r, int32 precision) Vertica::ParamWriter inline
svWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
typeMetaData (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
uuWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
validateStringColumn(size_t idx, const VString &s, size_t colLength) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
VerticaBlock(size_t ncols, int rowcount, const int *indices) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
VerticaBlockSerializer (defined in Vertica::ParamWriter) Vertica::ParamWriter friend
vnWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
~VerticaBlock() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlinevirtual

154 - Vertica::ParserFactory Class Reference

Produces and initializes UDParsers to parse input into tuples.

Inheritance diagram for Vertica::ParserFactory:

Collaboration diagram for Vertica::ParserFactory:

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) override
virtual void getParserReturnType (ServerInterface &srvInterface, PerColumnParamReader &perColumnParamReader, PlanContext &planCtxt, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType)
virtual void getPerInstanceResources (ServerInterface &srvInterface, VResources &res) override
virtual void getPerInstanceResources (ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) override
UDXFactory::UDXType getUDXFactoryType () override
virtual bool isChunkerApportionable (ServerInterface &srvInterface)
virtual bool isParserApportionable ()
virtual void plan (ServerInterface &srvInterface, PerColumnParamReader &perColumnParamReader, PlanContext &planCtxt)
virtual UDParser * prepare (ServerInterface &srvInterface, PerColumnParamReader &perColumnParamReader, PlanContext &planCtxt, const SizedColumnTypes &returnType)=0
virtual UDChunker * prepareChunker (ServerInterface &srvInterface, PerColumnParamReader &perColumnParamReader, PlanContext &planCtxt, const SizedColumnTypes &returnType)
Protected Attributes
Oid libOid
std::string sqlName

Detailed Description

Produces and initializes UDParsers to parse input into tuples.

Note that ParserFactories are singletons. Subclasses should be stateless, with no fields containing data, just methods. plan() and prepare() methods must never modify any global variables or state; they may only modify the variables that they are given as arguments. (If global state must be modified, use SourceIterator.)

Factories should be registered using the RegisterFactory() macro, defined in Vertica.h.

Member Enumeration Documentation

enum Vertica::UDXFactory::UDXType

inherited The type of UDX instance this factory produces

Member Function Documentation

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

inlinevirtual

Inherited from the parent "UDXFactory" class in VerticaUDx.h

Reimplemented from Vertica::UDXFactory.

virtual void Vertica::ParserFactory::getParserReturnType(ServerInterface & srvInterface, PerColumnParamReader & perColumnParamReader, PlanContext & planCtxt, const SizedColumnTypes & argTypes, SizedColumnTypes & returnType)

inlinevirtual

Function to tell Vertica what the return types (and length/precision if necessary) of this UDX are. Called, possibly multiple times, on each node executing the query.

The default provided implementation configures Vertica to use the same output column types as the destination table. This requires that the UDParser validate the expected output column types and emit appropriate tuples. Note that the default provided implementation of this function should be sufficient for most Parsers, so this method should not be overridden by most Parser implementations. If a COPY statement has a return type that doesn't match the destination table, Vertica will emit an appropriate error. Users can use COPY expressions to perform typecasting and conversion if necessary.

For CHAR/VARCHAR types, specify the max length,

For NUMERIC types, specify the precision and scale.

For Time/Timestamp types (with or without time zone), specify the precision, -1 means unspecified/don't care

For IntervalYM/IntervalDS types, specify the precision and range

For all other types, no length/precision specification needed

Parameters

  • srvInterface: Interface to server operations and functionality, including (not-per-column) parameter lookup
  • perColumnParamReader: Per-column parameters passed into the query
  • planCtxt: Context for storing and retrieving arbitrary data, for use just by this instance of this query. The same context is shared with plan().
  • argTypes: Provides the data types of arguments that this UDT was called with. This may be used to modify the return types accordingly.
  • returnType: User code must fill in the names and data types returned by the UDT.
virtual void Vertica::UDLFactory::getPerInstanceResources(ServerInterface & srvInterface, VResources & res)

inlinevirtualinherited

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 from Vertica::UDXFactory.

Referenced by Vertica::UDLFactory::getPerInstanceResources().

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

inlinevirtualinherited

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 from Vertica::UDXFactory.

UDXFactory::UDXType Vertica::ParserFactory::getUDXFactoryType()

inlinevirtual

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.

Implements Vertica::UDXFactory.

virtual bool Vertica::ParserFactory::isChunkerApportionable(ServerInterface & srvInterface)

inlinevirtual

Return true if this factory returns a UDChunker that implements alignPortion() and knows what to do with InputState END_OF_PORTION. Such a chunker can start at some offset into a source and chunk just a portion of it.

This does not have to be the same as isParserApportionable() - the two methods can return true/false independent of each other.

virtual bool Vertica::ParserFactory::isParserApportionable()

inlinevirtual

Return true if this factory returns an UDParser that knows what to do with InputState START_OF_PORTION and END_OF_PORTION. Such a parser can start at some offset into that source and parse just a portion of it

(this func only called by SDK parsers)

virtual void Vertica::ParserFactory::plan(ServerInterface & srvInterface, PerColumnParamReader & perColumnParamReader, PlanContext & planCtxt)

inlinevirtual

Execute any planning logic required at query plan time. This method is run once per query, during query initialization. Its job is to perform parameter validation, and to modify the set of nodes that the COPY statement will run on (through srvInterface).

plan() runs exactly once per query, on the initiator node. If it throws an exception, the query will not proceed; it will be aborted prior to distributing the query to the other nodes and running prepare().

Parameters

  • srvInterface: Interface to server operations and functionality, including (not-per-column) parameter lookup
  • perColumnParamReader: Per-column parameters passed into the query
  • planCtxt: Context for storing and retrieving arbitrary data, for use just by this instance of this query. The same context is shared with plan().
virtual UDParser* Vertica::ParserFactory::prepare(ServerInterface & srvInterface, PerColumnParamReader & perColumnParamReader, PlanContext & planCtxt, const SizedColumnTypes & returnType)

pure virtual Instantiate a UDParser instance. This function will be called on each node, prior to the Load operator starting to execute.

'planData' contains the same data that was placed there by the plan() static method.

Parameters

  • srvInterface: Interface to server operations and functionality, including (not-per-column) parameter lookup
  • perColumnParamReader: Per-column parameters passed into the query
  • planCtxt: Context for storing and retrieving arbitrary data, for use just by this instance of this query. The same context is shared with plan().
  • returnType: The data types of the columns that this Parser must produce

Returns The UDParser instance to be used by this query

155 - Vertica::ParserFactory Member List

This is the complete list of members for Vertica::ParserFactory, including all inherited members.

AGGREGATE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
ANALYTIC enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
CURSOR_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
FILESYSTEM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
getParameterType(ServerInterface &srvInterface, SizedColumnTypes meterTypes) override Vertica::ParserFactory inlinevirtual
getParserReturnType(ServerInterface &srvInterface, PerColumnParamReader &perColumnParamReader, PlanContext &planCtxt, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType) Vertica::ParserFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res) override Vertica::UDLFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) override Vertica::UDLFactory inlinevirtual
getUDXFactoryType() override Vertica::ParserFactory inlinevirtual
isChunkerApportionable(ServerInterface &srvInterface) Vertica::ParserFactory inlinevirtual
isParserApportionable() Vertica::ParserFactory inlinevirtual
KEYMANAGER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
libOid (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
LOAD_FILTER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_PARSER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_SOURCE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
MULTI_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
plan(ServerInterface &srvInterface, PerColumnParamReader &perColumnParamReader, PlanContext &planCtxt) Vertica::ParserFactory inlinevirtual
prepare(ServerInterface &srvInterface, PerColumnParamReader &perColumnParamReader, PlanContext &planCtxt, const SizedColumnTypes &returnType)=0 Vertica::ParserFactory pure virtual
prepareChunker(ServerInterface &srvInterface, PerColumnParamReader &perColumnParamReader, PlanContext &planCtxt, const SizedColumnTypes &returnType) (defined in Vertica::ParserFactory) Vertica::ParserFactory inlinevirtual
SCALAR enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
sqlName (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
TYPE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
UDXType enum name Vertica::UDXFactory
~UDLFactory() (defined in Vertica::UDLFactory) Vertica::UDLFactory inlinevirtual
~UDXFactory() (defined in Vertica::UDXFactory) Vertica::UDXFactory inlinevirtual

156 - Vertica::PartitionOrderColumnInfo Member List

This is the complete list of members for Vertica::PartitionOrderColumnInfo, including all inherited members.

last_order_col (defined in Vertica::PartitionOrderColumnInfo) Vertica::PartitionOrderColumnInfo
last_partition_col (defined in Vertica::PartitionOrderColumnInfo) Vertica::PartitionOrderColumnInfo
PartitionOrderColumnInfo() (defined in Vertica::PartitionOrderColumnInfo) Vertica::PartitionOrderColumnInfo inline

157 - Vertica::PartitionOrderColumnInfo Struct Reference

Represents the partition by and order by column information for each phase in a multi-phase transform function.

Collaboration diagram for Vertica::PartitionOrderColumnInfo:

Public Attributes
int last_order_col
int last_partition_col

Detailed Description

Represents the partition by and order by column information for each phase in a multi-phase transform function.

158 - Vertica::PartitionReader Class Reference

provides an iterator-based read interface over all input data in a single partition. Automatically fetches data a block-at-a-time, as needed.

Inheritance diagram for Vertica::PartitionReader:

Collaboration diagram for Vertica::PartitionReader:

Public Member Functions
PartitionReader (size_t narg)
PartitionReader (size_t narg, EE::UserDefinedProcess *udx_object)
void copy (const VerticaBlock &other)
Array::ArrayReader getArrayRef (size_t idx) const
Get a reference to an Array value from the input row.
const vbool * getBoolPtr (size_t idx) const
Get a pointer to a BOOLEAN value from the input row.
const vbool & getBoolRef (size_t idx) const
Get a reference to a BOOLEAN value from the input row.
template
const T * getColPtr (size_t idx) const
template<>
const VString * getColPtr (size_t idx) const
template<>
const VNumeric * getColPtr (size_t idx) const
template<>
const VUuid * getColPtr (size_t idx) const
template<>
const BlockReader * getColPtr (size_t idx) const
template
T * getColPtrForWrite (size_t idx)
template<>
VString * getColPtrForWrite (size_t idx)
template<>
VNumeric * getColPtrForWrite (size_t idx)
template<>
VUuid * getColPtrForWrite (size_t idx)
template<>
BlockWriter * getColPtrForWrite (size_t idx)
template
const T & getColRef (size_t idx) const
template
T & getColRefForWrite (size_t idx)
int getColStride (size_t idx) const
const EE::DataArea * getDataArea (size_t idx) const
const DateADT * getDatePtr (size_t idx) const
Get a pointer to a DATE value from the input row.
const DateADT & getDateRef (size_t idx) const
Get a reference to a DATE value from the input row.
const vfloat * getFloatPtr (size_t idx) const
Get a pointer to a FLOAT value from the input row.
const vfloat & getFloatRef (size_t idx) const
Get a reference to a FLOAT value from the input row.
const Interval * getIntervalPtr (size_t idx) const
Get a pointer to an INTERVAL value from the input row.
const Interval & getIntervalRef (size_t idx) const
Get a reference to an INTERVAL value from the input row.
const IntervalYM * getIntervalYMPtr (size_t idx) const
Get a pointer to a INTERVAL YEAR TO MONTH value from the input row.
const IntervalYM & getIntervalYMRef (size_t idx) const
Get a reference to an INTERVAL YEAR TO MONTH value from the input row.
const vint * getIntPtr (size_t idx) const
Get a pointer to an INTEGER value from the input row.
const vint & getIntRef (size_t idx) const
Get a reference to an INTEGER value from the input row.
size_t getNumCols () const
const VNumeric * getNumericPtr (size_t idx) const
Get a pointer to a VNumeric value from the input row.
const VNumeric & getNumericRef (size_t idx) const
Get a reference to a VNumeric value from the input row.
int getNumRows () const
int getPosition () const
const BlockReader * getRowPtr (size_t idx) const
Get a reference to a Row value from the input row.
const BlockReader & getRowRef (size_t idx) const
Get a reference to a Row value from the input row.
const VString * getStringPtr (size_t idx) const
Get a pointer to a VString value from the input row.
const VString & getStringRef (size_t idx) const
Get a reference to an VString value from the input row.
const TimeADT * getTimePtr (size_t idx) const
Get a pointer to a TIME value from the input row.
const TimeADT & getTimeRef (size_t idx) const
Get a reference to a TIME value from the input row.
const Timestamp * getTimestampPtr (size_t idx) const
Get a pointer to a TIMESTAMP value from the input row.
const Timestamp & getTimestampRef (size_t idx) const
Get a reference to a TIMESTAMP value from the input row.
const TimestampTz * getTimestampTzPtr (size_t idx) const
Get a pointer to a TIMESTAMP WITH TIMEZONE value from the input row.
const TimestampTz & getTimestampTzRef (size_t idx) const
Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.
const TimeTzADT * getTimeTzPtr (size_t idx) const
Get a pointer to a TIME WITH TIMEZONE value from the input row.
const TimeTzADT & getTimeTzRef (size_t idx) const
Get a reference to a TIME WITH TIMEZONE value from the input row.
const SizedColumnTypes & getTypeMetaData () const
SizedColumnTypes & getTypeMetaData ()
const VUuid * getUuidPtr (size_t idx) const
Get a pointer to a VUuid value from the input row.
const VUuid & getUuidRef (size_t idx) const
Get a reference to a VUuid value from the input row.
void * getVoidPtr (size_t idx=0)
const void * getVoidPtr (size_t idx=0) const
bool hasData () const
bool hasMoreData ()
bool isNull (int col) const
Check if the idx'th argument is null.
bool next ()
virtual bool readNextBlock ()
bool remaining () const
void setDataArea (size_t idx, void *dataarea)
bool willFetchBlockOnNext ()
Protected Member Functions
void addCol (char *arg, int colstride, const Field &field)
void addCol (const char *arg, int colstride, const Field &field)
bool advanceToNextRow (bool recurIntoArrays)
bool checkStringUserBlockInfo (size_t idx) const
bool checkTimeUserBlockInfo (size_t idx) const
EE::DataArea ** getArrayIntermediateDataArea (size_t c)
void resetIndex ()
void setRowCount (int rowCount)
virtual void setupColsAndStrides ()
void validateStringColumn (size_t idx, const VString &s, size_t colLength) const
Protected Attributes
union {
EE::UserDefinedAnalytic * udan
EE::UserDefinedTransform * udt
EE::UserDefinedProcess * udx_object
};
std::vector cols
std::vector colstrides
int count
std::vector ctWrappers
EE::DataHolder * dh
int index
const int * indices
size_t ncols
int nrows
std::vector processBlockUserInfoVector
vpos pstart
std::vector svWrappers
SizedColumnTypes typeMetaData
std::vector uuWrappers
std::vector vnWrappers
Friends
class EE::UserDefinedAnalytic
class EE::UserDefinedProcess
class EE::UserDefinedTransform
struct FullPartition
class VerticaBlockSerializer

Detailed Description

provides an iterator-based read interface over all input data in a single partition. Automatically fetches data a block-at-a-time, as needed.

Member Function Documentation

void Vertica::VerticaBlock::addCol(char * arg, int colstride, const Field & field)

protected inherited Add the location for reading a particular argument.

Parameters

  • arg: The base location to find data.
  • colstride: The stride between data instances.
  • field: metadata for the added column
  • dt: The type of input.
  • fieldname: the name of the field

Referenced by Vertica::ParamReader::addParameter().

EE::DataArea** Vertica::VerticaBlock::getArrayIntermediateDataArea(size_t c)

inlineprotectedinherited

Returns a pointer to a DataArea for accumulating an intermediate result

Array::ArrayReader Vertica::BlockReader::getArrayRef(size_t idx) const

inherited Get a reference to an Array value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument: another BlockReader which reads elements of the array.

const vbool* Vertica::BlockReader::getBoolPtr(size_t idx) const

inline inherited Get a pointer to a BOOLEAN value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a BOOLEAN.

Referenced by Vertica::BlockReader::getBoolRef().

const vbool& Vertica::BlockReader::getBoolRef(size_t idx) const

inline inherited Get a reference to a BOOLEAN value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an BOOLEAN.

Referenced by Vertica::BlockReader::isNull().

template<class T >
const T* Vertica::VerticaBlock::getColPtr(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example:

const vint *a = arg_reader->getColPtr(0);
template<class T >
const T& Vertica::VerticaBlock::getColRef(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example

const vint a = arg_reader->getColRef<vint>(0);
const DateADT* Vertica::BlockReader::getDatePtr(size_t idx) const

inline inherited Get a pointer to a DATE value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a DATE.

Referenced by Vertica::BlockReader::getDateRef().

const DateADT& Vertica::BlockReader::getDateRef(size_t idx) const

inline inherited Get a reference to a DATE value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an DATE.

Referenced by Vertica::BlockReader::isNull().

const vfloat* Vertica::BlockReader::getFloatPtr(size_t idx) const

inline inherited Get a pointer to a FLOAT value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a FLOAT.

Referenced by Vertica::BlockReader::getFloatRef().

const vfloat& Vertica::BlockReader::getFloatRef(size_t idx) const

inline inherited Get a reference to a FLOAT value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns A reference to the idx'th argument, cast as an FLOAT.

Referenced by Vertica::BlockReader::isNull().

const Interval* Vertica::BlockReader::getIntervalPtr(size_t idx) const

inline inherited Get a pointer to an INTERVAL value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as an INTERVAL.

Referenced by Vertica::BlockReader::getIntervalRef().

const Interval& Vertica::BlockReader::getIntervalRef(size_t idx) const

inline inherited Get a reference to an INTERVAL value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an INTERVAL.

Referenced by Vertica::BlockReader::isNull().

const IntervalYM* Vertica::BlockReader::getIntervalYMPtr(size_t idx) const

inline inherited Get a pointer to a INTERVAL YEAR TO MONTH value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.

Referenced by Vertica::BlockReader::getIntervalYMRef().

const IntervalYM& Vertica::BlockReader::getIntervalYMRef(size_t idx) const

inline inherited Get a reference to an INTERVAL YEAR TO MONTH value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an INTERVAL YEAR TO MONTH.

Referenced by Vertica::BlockReader::isNull().

const vint* Vertica::BlockReader::getIntPtr(size_t idx) const

inline inherited Get a pointer to an INTEGER value from the input row.

Returns a pointer to the idx'th argument, cast appropriately.

Parameters

  • idx: The column number to retrieve from the input row.

Example:

const vint *a = arg_reader->getIntPtr(0);

Referenced by Vertica::BlockReader::getIntRef().

const vint& Vertica::BlockReader::getIntRef(size_t idx) const

inline inherited Get a reference to an INTEGER value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an INTEGER.

Example:

const vint a = arg_reader->getIntRef(0);

Referenced by Vertica::BlockReader::isNull().

size_t Vertica::VerticaBlock::getNumCols() const

inline inherited Returns the number of columns held by this block.

Referenced by

const VNumeric* Vertica::BlockReader::getNumericPtr(size_t idx) const

inline inherited Get a pointer to a VNumeric value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns A pointer to the retrieved value cast as a Numeric.

Referenced by Vertica::BlockReader::getNumericRef().

const VNumeric& Vertica::BlockReader::getNumericRef(size_t idx) const

inline inherited Get a reference to a VNumeric value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an VNumeric.

Referenced by Vertica::BlockReader::isNull().

int Vertica::VerticaBlock::getNumRows() const

inline inherited Returns the number of rows held by this block.

int Vertica::BlockReader::getPosition() const

inline inherited Returns the current row position or array index

const BlockReader* Vertica::BlockReader::getRowPtr(size_t idx) const

inline inherited Get a reference to a Row value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a pointer to a reader for the Row fields

Referenced by Vertica::BlockReader::getRowRef().

const BlockReader& Vertica::BlockReader::getRowRef(size_t idx) const

inline inherited Get a reference to a Row value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, as a Row value.

const VString* Vertica::BlockReader::getStringPtr(size_t idx) const

inline inherited Get a pointer to a VString value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns A pointer to the retrieved value cast as a VString.

Referenced by Vertica::BlockReader::getStringRef().

const VString& Vertica::BlockReader::getStringRef(size_t idx) const

inline inherited Get a reference to an VString value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an VString.

Referenced by Vertica::BlockReader::isNull().

const TimeADT* Vertica::BlockReader::getTimePtr(size_t idx) const

inline inherited Get a pointer to a TIME value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a TIME.

Referenced by Vertica::BlockReader::getTimeRef().

const TimeADT& Vertica::BlockReader::getTimeRef(size_t idx) const

inline inherited Get a reference to a TIME value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as a TIME.

Referenced by Vertica::BlockReader::isNull().

const Timestamp* Vertica::BlockReader::getTimestampPtr(size_t idx) const

inline inherited Get a pointer to a TIMESTAMP value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a TIMESTAMP.

Referenced by Vertica::BlockReader::getTimestampRef().

const Timestamp& Vertica::BlockReader::getTimestampRef(size_t idx) const

inline inherited Get a reference to a TIMESTAMP value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as a TIMESTAMP.

Referenced by Vertica::BlockReader::isNull().

const TimestampTz* Vertica::BlockReader::getTimestampTzPtr(size_t idx) const

inline inherited Get a pointer to a TIMESTAMP WITH TIMEZONE value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE .

Referenced by Vertica::BlockReader::getTimestampTzRef().

const TimestampTz& Vertica::BlockReader::getTimestampTzRef(size_t idx) const

inline inherited Get a reference to a TIMESTAMP WITH TIMEZONE value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as a TIMESTAMP WITH TIMEZONE.

Referenced by Vertica::BlockReader::isNull().

const TimeTzADT* Vertica::BlockReader::getTimeTzPtr(size_t idx) const

inline inherited Get a pointer to a TIME WITH TIMEZONE value from the input row.

Parameters

  • idx: The column number in the input row to retrieve.

Returns A pointer to the retrieved value cast as a TIME WITH TIMEZONE.

Referenced by Vertica::BlockReader::getTimeTzRef().

const TimeTzADT& Vertica::BlockReader::getTimeTzRef(size_t idx) const

inline inherited Get a reference to a TIME WITH TIMEZONE value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as a TIME WITH TIMEZONE.

Referenced by Vertica::BlockReader::isNull().

const SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData() const

inline inherited Returns information about the types and numbers of arguments

Referenced by

SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData()

inline inherited Returns information about the types and numbers of arguments

const VUuid* Vertica::BlockReader::getUuidPtr(size_t idx) const

inline inherited Get a pointer to a VUuid value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns A pointer to the retrieved value cast as a VUuid.

Referenced by Vertica::BlockReader::getUuidRef().

const VUuid& Vertica::BlockReader::getUuidRef(size_t idx) const

inline inherited Get a reference to a VUuid value from the input row.

Parameters

  • idx: The column number to retrieve from the input row.

Returns a reference to the idx'th argument, cast as an VUuid.

Referenced by Vertica::BlockReader::isNull().

bool Vertica::BlockReader::hasData() const

inline inherited Returns true if there is data available

Referenced by Vertica::copyBlockColumn().

bool Vertica::BlockReader::isNull(int col) const

inline inherited Check if the idx'th argument is null.

Parameters

  • col: The column number in the row to check for null

Returns true is the col value is null false otherwise

virtual bool Vertica::PartitionReader::readNextBlock()

virtual

Reads in the next block of data and positions cursor at the beginning.

Returns false if there's no more input data

Reimplemented in Vertica::AnalyticPartitionReader.

bool Vertica::VerticaBlock::remaining() const

inline inherited Returns the number of entries remaining in the block

159 - Vertica::PartitionReader Member List

This is the complete list of members for Vertica::PartitionReader, including all inherited members.

addCol(char *arg, int colstride, const Field &field) Vertica::VerticaBlock protected
addCol(const char *arg, int colstride, const Field &field) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
advanceToNextRow(bool recurIntoArrays) (defined in Vertica::BlockReader) Vertica::BlockReader inlineprotected
BlockReader(size_t narg, int rowcount, const int *indices) (defined in Vertica::BlockReader) Vertica::BlockReader inline
checkStringUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
checkTimeUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
cols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
colstrides (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
copy(const VerticaBlock &other) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
count (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
ctWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
dh (defined in Vertica::PartitionReader) Vertica::PartitionReader protected
EE::UserDefinedAnalytic (defined in Vertica::PartitionReader) Vertica::PartitionReader friend
EE::UserDefinedProcess (defined in Vertica::PartitionReader) Vertica::PartitionReader friend
EE::UserDefinedTransform (defined in Vertica::PartitionReader) Vertica::PartitionReader friend
FullPartition (defined in Vertica::PartitionReader) Vertica::PartitionReader friend
getArrayIntermediateDataArea(size_t c) Vertica::VerticaBlock inlineprotected
getArrayRef(size_t idx) const Vertica::BlockReader
getBoolPtr(size_t idx) const Vertica::BlockReader inline
getBoolRef(size_t idx) const Vertica::BlockReader inline
getColPtr(size_t idx) const Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColRef(size_t idx) const Vertica::VerticaBlock inline
getColRefForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColStride(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDataArea(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDatePtr(size_t idx) const Vertica::BlockReader inline
getDateRef(size_t idx) const Vertica::BlockReader inline
getFloatPtr(size_t idx) const Vertica::BlockReader inline
getFloatRef(size_t idx) const Vertica::BlockReader inline
getIntervalPtr(size_t idx) const Vertica::BlockReader inline
getIntervalRef(size_t idx) const Vertica::BlockReader inline
getIntervalYMPtr(size_t idx) const Vertica::BlockReader inline
getIntervalYMRef(size_t idx) const Vertica::BlockReader inline
getIntPtr(size_t idx) const Vertica::BlockReader inline
getIntRef(size_t idx) const Vertica::BlockReader inline
getNumCols() const Vertica::VerticaBlock inline
getNumericPtr(size_t idx) const Vertica::BlockReader inline
getNumericRef(size_t idx) const Vertica::BlockReader inline
getNumRows() const Vertica::VerticaBlock inline
getPosition() const Vertica::BlockReader inline
getRowPtr(size_t idx) const Vertica::BlockReader inline
getRowRef(size_t idx) const Vertica::BlockReader inline
getStringPtr(size_t idx) const Vertica::BlockReader inline
getStringRef(size_t idx) const Vertica::BlockReader inline
getTimePtr(size_t idx) const Vertica::BlockReader inline
getTimeRef(size_t idx) const Vertica::BlockReader inline
getTimestampPtr(size_t idx) const Vertica::BlockReader inline
getTimestampRef(size_t idx) const Vertica::BlockReader inline
getTimestampTzPtr(size_t idx) const Vertica::BlockReader inline
getTimestampTzRef(size_t idx) const Vertica::BlockReader inline
getTimeTzPtr(size_t idx) const Vertica::BlockReader inline
getTimeTzRef(size_t idx) const Vertica::BlockReader inline
getTypeMetaData() const Vertica::VerticaBlock inline
getTypeMetaData() Vertica::VerticaBlock inline
getUuidPtr(size_t idx) const Vertica::BlockReader inline
getUuidRef(size_t idx) const Vertica::BlockReader inline
getVoidPtr(size_t idx=0) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getVoidPtr(size_t idx=0) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
hasData() const Vertica::BlockReader inline
hasMoreData() (defined in Vertica::PartitionReader) Vertica::PartitionReader inline
index (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
indices (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
isNull(int col) const Vertica::BlockReader inline
ncols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
next() (defined in Vertica::PartitionReader) Vertica::PartitionReader inline
nrows (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
PartitionReader(size_t narg) (defined in Vertica::PartitionReader) Vertica::PartitionReader inline
PartitionReader(size_t narg, EE::UserDefinedProcess *udx_object) (defined in Vertica::PartitionReader) Vertica::PartitionReader inline
processBlockUserInfoVector (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
pstart (defined in Vertica::PartitionReader) Vertica::PartitionReader protected
readNextBlock() Vertica::PartitionReader virtual
remaining() const Vertica::VerticaBlock inline
resetIndex() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setDataArea(size_t idx, void *dataarea) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
setRowCount(int rowCount) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setupColsAndStrides() (defined in Vertica::PartitionReader) Vertica::PartitionReader protectedvirtual
svWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
typeMetaData (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
udan (defined in Vertica::PartitionReader) Vertica::PartitionReader
udt (defined in Vertica::PartitionReader) Vertica::PartitionReader
udx_object (defined in Vertica::PartitionReader) Vertica::PartitionReader
uuWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
validateStringColumn(size_t idx, const VString &s, size_t colLength) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
VerticaBlock(size_t ncols, int rowcount, const int *indices) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
VerticaBlockSerializer (defined in Vertica::PartitionReader) Vertica::PartitionReader friend
vnWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
willFetchBlockOnNext() (defined in Vertica::PartitionReader) Vertica::PartitionReader inline
~PartitionReader() (defined in Vertica::PartitionReader) Vertica::PartitionReader inlinevirtual
~VerticaBlock() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlinevirtual

160 - Vertica::PartitionWriter Class Reference

Provides an iterator-based write interface over output data for a single partition. Automatically makes space a block-at-a-time, as needed.

Inheritance diagram for Vertica::PartitionWriter:

Collaboration diagram for Vertica::PartitionWriter:

Public Member Functions
PartitionWriter (size_t narg)
PartitionWriter (size_t narg, EE::UserDefinedProcess *udx_object)
PartitionWriter (size_t narg, size_t nrows, EE::UserDefinedProcess *udx_object)
void copy (const VerticaBlock &other)
void copyFromInput (size_t dstIdx, const BlockReader &input_reader, size_t srcIdx)
void copyFromInput (const BlockReader &input_reader)
Array::ArrayWriter getArrayRef (size_t idx)
template
const T * getColPtr (size_t idx) const
template<>
const VString * getColPtr (size_t idx) const
template<>
const VNumeric * getColPtr (size_t idx) const
template<>
const VUuid * getColPtr (size_t idx) const
template<>
const BlockReader * getColPtr (size_t idx) const
template
T * getColPtrForWrite (size_t idx)
template<>
VString * getColPtrForWrite (size_t idx)
template<>
VNumeric * getColPtrForWrite (size_t idx)
template<>
VUuid * getColPtrForWrite (size_t idx)
template<>
BlockWriter * getColPtrForWrite (size_t idx)
template
const T & getColRef (size_t idx) const
template
T & getColRefForWrite (size_t idx)
int getColStride (size_t idx) const
PartitionWriterColumns getColumns ()
const EE::DataArea * getDataArea (size_t idx) const
size_t getNumCols () const
VNumeric & getNumericRef (size_t idx)
int getNumRows () const
BlockWriter * getRowPtr (size_t idx)
BlockWriter & getRowRef (size_t idx)
Get a reference for writing an output Row value.
VString & getStringRef (size_t idx)
VString & getStringRefNoClear (size_t idx)
const SizedColumnTypes & getTypeMetaData () const
SizedColumnTypes & getTypeMetaData ()
VUuid & getUuidRef (size_t idx)
const void * getVoidPtr (size_t idx=0) const
void * getVoidPtr (size_t idx)
virtual bool getWriteableBlock ()
bool next ()
bool remaining () const
void setBool (size_t idx, vbool r)
void setDataArea (size_t idx, void *dataarea)
void setDate (size_t idx, DateADT r)
void setFloat (size_t idx, vfloat r)
void setInt (size_t idx, vint r)
void setInterval (size_t idx, Interval r)
void setIntervalYM (size_t idx, IntervalYM r)
void setNull (size_t idx)
Set the idx'th argument to null. If a column has the canBeNull attribute set to false, then this throws an exception.
void setNull (size_t idx, bool enforceNotNullProperty)
Set the idx'th argument to null.
void setTime (size_t idx, TimeADT r)
void setTimestamp (size_t idx, Timestamp r)
void setTimestampTz (size_t idx, TimestampTz r)
void setTimeTz (size_t idx, TimeTzADT r)
void throwIncorrectUsageError (size_t idx)
Protected Member Functions
void addCol (char *arg, int colstride, const Field &field)
void addCol (const char *arg, int colstride, const Field &field)
bool checkStringUserBlockInfo (size_t idx) const
bool checkTimeUserBlockInfo (size_t idx) const
bool commitPrefilledRows (int nRows)
EE::DataArea ** getArrayIntermediateDataArea (size_t c)
void reset ()
void resetIndex ()
void setRowCount (int rowCount)
void validateStringColumn (size_t idx, const VString &s, size_t colLength) const
Protected Attributes
union {
EE::UserDefinedAnalytic * udan
EE::UserDefinedTransform * udt
EE::UserDefinedProcess * udx_object
};
std::vector cols
std::vector colstrides
int count
std::vector ctWrappers
int index
const int * indices
size_t ncols
int nrows
std::vector processBlockUserInfoVector
int pstart
std::vector svWrappers
SizedColumnTypes typeMetaData
std::vector uuWrappers
std::vector vnWrappers
Friends
class EE::Loader::UserDefinedLoad
class EE::UserDefinedAnalytic
class EE::UserDefinedProcess
class EE::UserDefinedTransform
class PartitionWriterColumns

Detailed Description

Provides an iterator-based write interface over output data for a single partition. Automatically makes space a block-at-a-time, as needed.

Member Function Documentation

void Vertica::VerticaBlock::addCol(char * arg, int colstride, const Field & field)

protected inherited Add the location for reading a particular argument.

Parameters

  • arg: The base location to find data.
  • colstride: The stride between data instances.
  • field: metadata for the added column
  • dt: The type of input.
  • fieldname: the name of the field

Referenced by Vertica::ParamReader::addParameter().

void Vertica::PartitionWriter::copyFromInput(size_t dstIdx, const BlockReader & input_reader, size_t srcIdx)

Copies a column from the input reader to the output writer. Raises an error if the input and output data types are not compatible.

Parameters

  • dstIdx: The destination column index (in the output writer)
  • input_reader: The input reader from which to copy a column
  • srcIdx: The source column index (in the input reader)
EE::DataArea** Vertica::VerticaBlock::getArrayIntermediateDataArea(size_t c)

inlineprotectedinherited

Returns a pointer to a DataArea for accumulating an intermediate result

template<class T >
const T* Vertica::VerticaBlock::getColPtr(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example:

const vint *a = arg_reader->getColPtr(0);
template<class T >
const T& Vertica::VerticaBlock::getColRef(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example

const vint a = arg_reader->getColRef<vint>(0);
size_t Vertica::VerticaBlock::getNumCols() const

inline inherited Returns the number of columns held by this block.

Referenced by

int Vertica::VerticaBlock::getNumRows() const

inline inherited Returns the number of rows held by this block.

BlockWriter& Vertica::PartitionWriter::getRowRef(size_t idx)

inline Get a reference for writing an output Row value.

Parameters

  • idx: the output column

Returns a reference to a BlockWriter which holds output data for the Row value's fields

const SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData() const

inline inherited Returns information about the types and numbers of arguments

Referenced by

SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData()

inline inherited Returns information about the types and numbers of arguments

virtual bool Vertica::PartitionWriter::getWriteableBlock()

virtual

Gets a writeable block of data and positions cursor at the beginning.

Reimplemented in Vertica::AnalyticPartitionWriter, and Vertica::StreamWriter.

bool Vertica::VerticaBlock::remaining() const

inline inherited Returns the number of entries remaining in the block

void Vertica::PartitionWriter::setInt(size_t idx, vint r)

inline Setter methods

void Vertica::PartitionWriter::setNull(size_t idx)

inline Set the idx'th argument to null. If a column has the canBeNull attribute set to false, then this throws an exception.

Parameters

  • idx: The column number in the row to set to null
void Vertica::PartitionWriter::setNull(size_t idx, bool enforceNotNullProperty)

inline Set the idx'th argument to null.

Parameters

  • idx: The column number in the row to set to null
  • enforceNotNullProperty: If false, do not throw an exception if canBeNull is false.

161 - Vertica::PartitionWriter Member List

This is the complete list of members for Vertica::PartitionWriter, including all inherited members.

addCol(char *arg, int colstride, const Field &field) Vertica::VerticaBlock protected
addCol(const char *arg, int colstride, const Field &field) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
checkStringUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
checkTimeUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
cols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
colstrides (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
commitPrefilledRows(int nRows) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inlineprotected
copy(const VerticaBlock &other) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
copyFromInput(size_t dstIdx, const BlockReader &input_reader, size_t srcIdx) Vertica::PartitionWriter
copyFromInput(const BlockReader &input_reader) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
count (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
ctWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
EE::Loader::UserDefinedLoad (defined in Vertica::PartitionWriter) Vertica::PartitionWriter friend
EE::UserDefinedAnalytic (defined in Vertica::PartitionWriter) Vertica::PartitionWriter friend
EE::UserDefinedProcess (defined in Vertica::PartitionWriter) Vertica::PartitionWriter friend
EE::UserDefinedTransform (defined in Vertica::PartitionWriter) Vertica::PartitionWriter friend
getArrayIntermediateDataArea(size_t c) Vertica::VerticaBlock inlineprotected
getArrayRef(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter
getColPtr(size_t idx) const Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColRef(size_t idx) const Vertica::VerticaBlock inline
getColRefForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColStride(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColumns() (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getDataArea(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getNumCols() const Vertica::VerticaBlock inline
getNumericRef(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getNumRows() const Vertica::VerticaBlock inline
getRowPtr(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getRowRef(size_t idx) Vertica::PartitionWriter inline
getStringRef(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getStringRefNoClear(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getTypeMetaData() const Vertica::VerticaBlock inline
getTypeMetaData() Vertica::VerticaBlock inline
getUuidRef(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getVoidPtr(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getVoidPtr(size_t idx=0) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getWriteableBlock() Vertica::PartitionWriter virtual
index (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
indices (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
ncols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
next() (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
nrows (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
PartitionWriter(size_t narg) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
PartitionWriter(size_t narg, EE::UserDefinedProcess *udx_object) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
PartitionWriter(size_t narg, size_t nrows, EE::UserDefinedProcess *udx_object) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
PartitionWriterColumns (defined in Vertica::PartitionWriter) Vertica::PartitionWriter friend
processBlockUserInfoVector (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
pstart (defined in Vertica::PartitionWriter) Vertica::PartitionWriter protected
remaining() const Vertica::VerticaBlock inline
reset() (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inlineprotected
resetIndex() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setBool(size_t idx, vbool r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setDataArea(size_t idx, void *dataarea) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
setDate(size_t idx, DateADT r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setFloat(size_t idx, vfloat r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setInt(size_t idx, vint r) Vertica::PartitionWriter inline
setInterval(size_t idx, Interval r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setIntervalYM(size_t idx, IntervalYM r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setNull(size_t idx) Vertica::PartitionWriter inline
setNull(size_t idx, bool enforceNotNullProperty) Vertica::PartitionWriter inline
setRowCount(int rowCount) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setTime(size_t idx, TimeADT r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setTimestamp(size_t idx, Timestamp r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setTimestampTz(size_t idx, TimestampTz r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setTimeTz(size_t idx, TimeTzADT r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
svWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
throwIncorrectUsageError(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
typeMetaData (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
udan (defined in Vertica::PartitionWriter) Vertica::PartitionWriter
udt (defined in Vertica::PartitionWriter) Vertica::PartitionWriter
udx_object (defined in Vertica::PartitionWriter) Vertica::PartitionWriter
uuWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
validateStringColumn(size_t idx, const VString &s, size_t colLength) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
VerticaBlock(size_t ncols, int rowcount, const int *indices) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
vnWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
~PartitionWriter() (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inlinevirtual
~VerticaBlock() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlinevirtual

162 - Vertica::PartitionWriterColumn< T > Class Template Reference

Inheritance diagram for Vertica::PartitionWriterColumn< T >:

Collaboration diagram for Vertica::PartitionWriterColumn< T >:

Public Member Functions
PartitionWriterColumn (int _stridelength, char *_start, char *_end, const T &_null_value)
void append (const T &value)
void appendNull ()
void directCopy (T *src, size_t elementsToCopy, size_t elementSize)
char * getAndAdvance ()
const char * getPtr (size_t offset_from_start)
int getStrideLength ()
T getVal (size_t offset_from_start)
size_t getWrittenElementCount ()
Protected Member Functions
void rejectRows (std::set &rejectedRows)
Protected Attributes
char * curr
const char * end
const T & null_value
const char * start
const int stridelength
Friends
class PartitionWriterColumns

Detailed Description

template

class Vertica::PartitionWriterColumn

PartitionWriterColumns for basic types.

Member Function Documentation

int Vertica::BasePartitionWriterColumn::getStrideLength()

inline inherited Returns the size of each element in the column

163 - Vertica::PartitionWriterColumn< T > Member List

This is the complete list of members for Vertica::PartitionWriterColumn, including all inherited members.

append(const T &value) (defined in Vertica::PartitionWriterColumn) Vertica::PartitionWriterColumn inline
appendNull() (defined in Vertica::PartitionWriterColumn) Vertica::PartitionWriterColumn inline
BasePartitionWriterColumn(int _stridelength, char *_start, char *_end) (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inlineprotected
curr (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
directCopy(T *src, size_t elementsToCopy, size_t elementSize) (defined in Vertica::PartitionWriterColumn) Vertica::PartitionWriterColumn inline
end (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
getAndAdvance() (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inline
getPtr(size_t offset_from_start) (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inline
getStrideLength() Vertica::BasePartitionWriterColumn inline
getVal(size_t offset_from_start) (defined in Vertica::PartitionWriterColumn) Vertica::PartitionWriterColumn inline
getWrittenElementCount() (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inline
null_value (defined in Vertica::PartitionWriterColumn) Vertica::PartitionWriterColumn protected
PartitionWriterColumn(int _stridelength, char *_start, char *_end, const T &_null_value) (defined in Vertica::PartitionWriterColumn) Vertica::PartitionWriterColumn inline
PartitionWriterColumns (defined in Vertica::PartitionWriterColumn) Vertica::PartitionWriterColumn friend
rejectRows(std::set &rejectedRows) (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
start (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
stridelength (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
~BasePartitionWriterColumn() (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inlineprotectedvirtual

164 - Vertica::PartitionWriterColumns Class Reference

PartitionWriterColumns allow column-by-column access to PartitionWriter data.

Collaboration diagram for Vertica::PartitionWriterColumns:

Public Member Functions
void commit (int64_t numRows=0)
void commit (std::set &rejectedRows, int64_t numRows=0)
PartitionWriterColumn & getBoolColumn (size_t idx)
PartitionWriterColumn & getDateColumn (size_t idx)
PartitionWriterColumn & getFloatColumn (size_t idx)
PartitionWriterColumn & getIntColumn (size_t idx)
PartitionWriterColumn & getIntervalColumn (size_t idx)
int getMaxRows ()
PartitionWriterNumericColumn & getNumericColumn (size_t idx)
int getRemaining ()
PartitionWriterStringColumn & getStringColumn (size_t idx)
PartitionWriterColumn & getTimeColumn (size_t idx)
PartitionWriterColumn & getTimestampColumn (size_t idx)
PartitionWriterColumn & getTimestampTzColumn (size_t idx)
PartitionWriterColumn & getTimeTzColumn (size_t idx)
PartitionWriterUuidColumn & getUuidColumn (size_t idx)
void rollback ()
Protected Member Functions
PartitionWriterColumns (PartitionWriter &_writer)
void clearCols ()
template
PartitionWriterColumn & getCol (size_t idx)
template
T & getCol_ (size_t idx)
void populateCols ()
void rejectRows (std::set &rejectedRows)
void resetPointers ()
Protected Attributes
std::vector cols
size_t maxRows
PartitionWriter & writer
Friends
class PartitionWriter

Detailed Description

PartitionWriterColumns allow column-by-column access to PartitionWriter data.

165 - Vertica::PartitionWriterColumns Member List

This is the complete list of members for Vertica::PartitionWriterColumns, including all inherited members.

clearCols() (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns protected
cols (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns protected
commit(int64_t numRows=0) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns
commit(std::set &rejectedRows, int64_t numRows=0) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns
getBoolColumn(size_t idx) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inline
getCol(size_t idx) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inlineprotected
getCol_(size_t idx) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inlineprotected
getDateColumn(size_t idx) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inline
getFloatColumn(size_t idx) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inline
getIntColumn(size_t idx) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inline
getIntervalColumn(size_t idx) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inline
getMaxRows() (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inline
getNumericColumn(size_t idx) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inline
getRemaining() (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns
getStringColumn(size_t idx) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inline
getTimeColumn(size_t idx) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inline
getTimestampColumn(size_t idx) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inline
getTimestampTzColumn(size_t idx) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inline
getTimeTzColumn(size_t idx) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inline
getUuidColumn(size_t idx) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inline
maxRows (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns protected
PartitionWriter (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns friend
PartitionWriterColumns(PartitionWriter &_writer) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inlineprotected
populateCols() (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns protected
rejectRows(std::set &rejectedRows) (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns protected
resetPointers() (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns protected
rollback() (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inline
writer (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns protected
~PartitionWriterColumns() (defined in Vertica::PartitionWriterColumns) Vertica::PartitionWriterColumns inlinevirtual

166 - Vertica::PartitionWriterNumericColumn Class Reference

Inheritance diagram for Vertica::PartitionWriterNumericColumn:

Collaboration diagram for Vertica::PartitionWriterNumericColumn:

Public Member Functions
PartitionWriterNumericColumn (int _stridelength, char *_start, char *_end, const VNumeric &wrapperTemplate)
VNumeric & append ()
void appendNull ()
void directCopy (uint64 *src, size_t elementsToCopy, int32 srcTypAttr, size_t elementSize)
char * getAndAdvance ()
const char * getPtr (size_t offset_from_start)
const VNumeric & getRef (size_t offset_from_start)
int getStrideLength ()
int32 getTypmod ()
size_t getWrittenElementCount ()
Protected Member Functions
void rejectRows (std::set &rejectedRows)
Protected Attributes
char * curr
const char * end
const char * start
const int stridelength
VNumeric wrapper
Friends
class PartitionWriterColumns

Member Function Documentation

VNumeric& Vertica::PartitionWriterNumericColumn::append()

inline Returns a reference to the next element to write. Setting its members will update the data in the PartitionWriter

Note that the underlying object is re-used, so the object references should not be retained between calls to append

void Vertica::PartitionWriterNumericColumn::directCopy(uint64 * src, size_t elementsToCopy, int32 srcTypAttr, size_t elementSize)

inline Elements must be in 2s compliment and in a compatible encoding; check the value of getTypmod to ensure that encodings are identical

const VNumeric& Vertica::PartitionWriterNumericColumn::getRef(size_t offset_from_start)

inline Returns a reference to a previously written element.

Note that the underlying object is re-used, so the object references should not be retained between calls to append

int Vertica::BasePartitionWriterColumn::getStrideLength()

inline inherited Returns the size of each element in the column

167 - Vertica::PartitionWriterNumericColumn Member List

This is the complete list of members for Vertica::PartitionWriterNumericColumn, including all inherited members.

append() Vertica::PartitionWriterNumericColumn inline
appendNull() (defined in Vertica::PartitionWriterNumericColumn) Vertica::PartitionWriterNumericColumn inline
BasePartitionWriterColumn(int _stridelength, char *_start, char *_end) (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inlineprotected
curr (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
directCopy(uint64 *src, size_t elementsToCopy, int32 srcTypAttr, size_t elementSize) Vertica::PartitionWriterNumericColumn inline
end (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
getAndAdvance() (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inline
getPtr(size_t offset_from_start) (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inline
getRef(size_t offset_from_start) Vertica::PartitionWriterNumericColumn inline
getStrideLength() Vertica::BasePartitionWriterColumn inline
getTypmod() (defined in Vertica::PartitionWriterNumericColumn) Vertica::PartitionWriterNumericColumn inline
getWrittenElementCount() (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inline
PartitionWriterColumns (defined in Vertica::PartitionWriterNumericColumn) Vertica::PartitionWriterNumericColumn friend
PartitionWriterNumericColumn(int _stridelength, char *_start, char *_end, const VNumeric &wrapperTemplate) (defined in Vertica::PartitionWriterNumericColumn) Vertica::PartitionWriterNumericColumn inline
rejectRows(std::set &rejectedRows) (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
start (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
stridelength (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
wrapper (defined in Vertica::PartitionWriterNumericColumn) Vertica::PartitionWriterNumericColumn protected
~BasePartitionWriterColumn() (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inlineprotectedvirtual

168 - Vertica::PartitionWriterStringColumn Class Reference

Inheritance diagram for Vertica::PartitionWriterStringColumn:

Collaboration diagram for Vertica::PartitionWriterStringColumn:

Public Member Functions
PartitionWriterStringColumn (int _stridelength, char *_start, char *_end, const VString &wrapperTemplate)
VString & append ()
void appendNull ()
char * getAndAdvance ()
vsize getMaxSize ()
const char * getPtr (size_t offset_from_start)
const VString & getRef (size_t offset_from_start)
int getStrideLength ()
size_t getWrittenElementCount ()
Protected Member Functions
void rejectRows (std::set &rejectedRows)
Protected Attributes
char * curr
const char * end
const char * start
const int stridelength
VString wrapper
Friends
class PartitionWriterColumns

Member Function Documentation

VString& Vertica::PartitionWriterStringColumn::append()

inline Returns a reference to the next element to write. Setting its members will update the data in the PartitionWriter

Note that the underlying object is re-used, so the object references should not be retained between calls to append

vsize Vertica::PartitionWriterStringColumn::getMaxSize()

inline Returns the maximum size that can be set in the objects returned from append()

const VString& Vertica::PartitionWriterStringColumn::getRef(size_t offset_from_start)

inline Returns a reference to a previously written element.

Note that the underlying object is re-used, so the object references should not be retained between calls to append

int Vertica::BasePartitionWriterColumn::getStrideLength()

inline inherited Returns the size of each element in the column

169 - Vertica::PartitionWriterStringColumn Member List

This is the complete list of members for Vertica::PartitionWriterStringColumn, including all inherited members.

append() Vertica::PartitionWriterStringColumn inline
appendNull() (defined in Vertica::PartitionWriterStringColumn) Vertica::PartitionWriterStringColumn inline
BasePartitionWriterColumn(int _stridelength, char *_start, char *_end) (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inlineprotected
curr (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
end (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
getAndAdvance() (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inline
getMaxSize() Vertica::PartitionWriterStringColumn inline
getPtr(size_t offset_from_start) (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inline
getRef(size_t offset_from_start) Vertica::PartitionWriterStringColumn inline
getStrideLength() Vertica::BasePartitionWriterColumn inline
getWrittenElementCount() (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inline
PartitionWriterColumns (defined in Vertica::PartitionWriterStringColumn) Vertica::PartitionWriterStringColumn friend
PartitionWriterStringColumn(int _stridelength, char *_start, char *_end, const VString &wrapperTemplate) (defined in Vertica::PartitionWriterStringColumn) Vertica::PartitionWriterStringColumn inline
rejectRows(std::set &rejectedRows) (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
start (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
stridelength (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
wrapper (defined in Vertica::PartitionWriterStringColumn) Vertica::PartitionWriterStringColumn protected
~BasePartitionWriterColumn() (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inlineprotectedvirtual

170 - Vertica::PartitionWriterUuidColumn Class Reference

Inheritance diagram for Vertica::PartitionWriterUuidColumn:

Collaboration diagram for Vertica::PartitionWriterUuidColumn:

Public Member Functions
PartitionWriterUuidColumn (int _stridelength, char *_start, char *_end, const VUuid &wrapperTemplate)
VUuid & append ()
void appendNull ()
char * getAndAdvance ()
const char * getPtr (size_t offset_from_start)
const VUuid & getRef (size_t offset_from_start)
int getStrideLength ()
size_t getWrittenElementCount ()
Protected Member Functions
void rejectRows (std::set &rejectedRows)
Protected Attributes
char * curr
const char * end
const char * start
const int stridelength
VUuid wrapper
Friends
class PartitionWriterColumns

Member Function Documentation

VUuid& Vertica::PartitionWriterUuidColumn::append()

inline Returns a reference to the next element to write. Setting its members will update the data in the PartitionWriter

Note that the underlying object is re-used, so the object references should not be retained between calls to append

const VUuid& Vertica::PartitionWriterUuidColumn::getRef(size_t offset_from_start)

inline Returns a reference to a previously written element.

Note that the underlying object is re-used, so the object references should not be retained between calls to append

int Vertica::BasePartitionWriterColumn::getStrideLength()

inline inherited Returns the size of each element in the column

171 - Vertica::PartitionWriterUuidColumn Member List

This is the complete list of members for Vertica::PartitionWriterUuidColumn, including all inherited members.

append() Vertica::PartitionWriterUuidColumn inline
appendNull() (defined in Vertica::PartitionWriterUuidColumn) Vertica::PartitionWriterUuidColumn inline
BasePartitionWriterColumn(int _stridelength, char *_start, char *_end) (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inlineprotected
curr (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
end (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
getAndAdvance() (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inline
getPtr(size_t offset_from_start) (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inline
getRef(size_t offset_from_start) Vertica::PartitionWriterUuidColumn inline
getStrideLength() Vertica::BasePartitionWriterColumn inline
getWrittenElementCount() (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inline
PartitionWriterColumns (defined in Vertica::PartitionWriterUuidColumn) Vertica::PartitionWriterUuidColumn friend
PartitionWriterUuidColumn(int _stridelength, char *_start, char *_end, const VUuid &wrapperTemplate) (defined in Vertica::PartitionWriterUuidColumn) Vertica::PartitionWriterUuidColumn inline
rejectRows(std::set &rejectedRows) (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
start (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
stridelength (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn protected
wrapper (defined in Vertica::PartitionWriterUuidColumn) Vertica::PartitionWriterUuidColumn protected
~BasePartitionWriterColumn() (defined in Vertica::BasePartitionWriterColumn) Vertica::BasePartitionWriterColumn inlineprotectedvirtual

172 - Vertica::PerColumnParamReader Class Reference

A wrapper around a map from column to ParamReader.

Collaboration diagram for Vertica::PerColumnParamReader:

Public Member Functions
bool containsColumn (std::string columnName) const
Returns true if a ParamReader exists for the given column.
std::vector getColumnNames () const
Gets the names of all columns with column specific arguments.
ParamReader & getColumnParamReader (const std::string &column)
Gets the parameters of the given column.
const ParamReader & getColumnParamReader (const std::string &column) const

Detailed Description

A wrapper around a map from column to ParamReader.

Member Function Documentation

std::vector Vertica::PerColumnParamReader::getColumnNames() const

inline Gets the names of all columns with column specific arguments.

Returns a vector of column names

ParamReader& Vertica::PerColumnParamReader::getColumnParamReader(const std::string & column)

inline Gets the parameters of the given column.

Parameters

  • the: name of the column of interest

Returns the parameters of the given column

173 - Vertica::PerColumnParamReader Member List

This is the complete list of members for Vertica::PerColumnParamReader, including all inherited members.

containsColumn(std::string columnName) const Vertica::PerColumnParamReader inline
getColumnNames() const Vertica::PerColumnParamReader inline
getColumnParamReader(const std::string &column) Vertica::PerColumnParamReader inline
getColumnParamReader(const std::string &column) const (defined in Vertica::PerColumnParamReader) Vertica::PerColumnParamReader inline

174 - Vertica::PlanContext Class Reference

Shared query-plan state, used when different parts of query planning take place on different nodes. For example, if some work is done on the query initiator node and some is done on each node executing the query, this class stores shared state.

Inheritance diagram for Vertica::PlanContext:

Collaboration diagram for Vertica::PlanContext:

Public Member Functions
PlanContext (ParamWriter &writer)
PlanContext (ParamWriter &writer, std::vector clusterNodes)
const std::vector & getClusterNodes ()
virtual ParamReader & getReader ()
virtual ParamWriter & getWriter ()

Detailed Description

Shared query-plan state, used when different parts of query planning take place on different nodes. For example, if some work is done on the query initiator node and some is done on each node executing the query, this class stores shared state.

Member Function Documentation

const std::vector& Vertica::PlanContext::getClusterNodes()

inline Get a list of all of the nodes in the current cluster, by node name

Referenced by Vertica::NodeSpecifyingPlanContext::setTargetNodes().

virtual ParamReader& Vertica::PlanContext::getReader()

inlinevirtual

Get a read-only instance of the current context

virtual ParamWriter& Vertica::PlanContext::getWriter()

inlinevirtual

Get the current context for writing

Reimplemented in Vertica::ExecutorPlanContext.

Referenced by Vertica::ExecutorPlanContext::getWriter().

175 - Vertica::PlanContext Member List

This is the complete list of members for Vertica::PlanContext, including all inherited members.

getClusterNodes() Vertica::PlanContext inline
getReader() Vertica::PlanContext inlinevirtual
getWriter() Vertica::PlanContext inlinevirtual
PlanContext(ParamWriter &writer) (defined in Vertica::PlanContext) Vertica::PlanContext inline
PlanContext(ParamWriter &writer, std::vector clusterNodes) (defined in Vertica::PlanContext) Vertica::PlanContext inline

176 - Vertica::Portion Member List

This is the complete list of members for Vertica::Portion, including all inherited members.

is_first_portion (defined in Vertica::Portion) Vertica::Portion
isValid() const (defined in Vertica::Portion) Vertica::Portion inline
offset (defined in Vertica::Portion) Vertica::Portion
Portion(vint o=-1, vint s=-1, bool t=false) (defined in Vertica::Portion) Vertica::Portion inline
size (defined in Vertica::Portion) Vertica::Portion
str() const (defined in Vertica::Portion) Vertica::Portion inline

177 - Vertica::Portion Struct Reference

Collaboration diagram for Vertica::Portion:

Public Member Functions
Portion (vint o=-1, vint s=-1, bool t=false)
bool isValid () const
std::string str () const
Public Attributes
bool is_first_portion
vint offset
vint size

178 - Vertica::RejectedRecord Member List

This is the complete list of members for Vertica::RejectedRecord, including all inherited members.

data (defined in Vertica::RejectedRecord) Vertica::RejectedRecord
length (defined in Vertica::RejectedRecord) Vertica::RejectedRecord
reason (defined in Vertica::RejectedRecord) Vertica::RejectedRecord
RejectedRecord() (defined in Vertica::RejectedRecord) Vertica::RejectedRecord inline
RejectedRecord(const std::string &reason, const char *data=NULL, size_t length=0, const std::string &terminator="\n") (defined in Vertica::RejectedRecord) Vertica::RejectedRecord inline
terminator (defined in Vertica::RejectedRecord) Vertica::RejectedRecord

179 - Vertica::RejectedRecord Struct Reference

Collaboration diagram for Vertica::RejectedRecord:

Public Member Functions
RejectedRecord (const std::string &reason, const char *data=NULL, size_t length=0, const std::string &terminator="\n")
Public Attributes
const char * data
size_t length
std::string reason
std::string terminator

Detailed Description

Information about a rejected record.

180 - Vertica::ScalarFunction Class Reference

Interface for User-Defined Scalar Function (UDSF). A UDSF produces a single value from a row of data.

Inheritance diagram for Vertica::ScalarFunction:

Collaboration diagram for Vertica::ScalarFunction:

Public Member Functions
void cancelUDX (ServerInterface &srvInterface)
virtual void destroy (ServerInterface &srvInterface, const SizedColumnTypes &argTypes)
virtual void destroy (ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SessionParamWriterMap &udSessionParams)
virtual void getOutputRange (ServerInterface &srvInterface, ValueRangeReader &inRange, ValueRangeWriter &outRange)
bool isCanceled () const
virtual void processBlock (ServerInterface &srvInterface, BlockReader &arg_reader, BlockWriter &res_writer)=0
virtual void setup (ServerInterface &srvInterface, const SizedColumnTypes &argTypes)
Protected Member Functions
virtual void cancel (ServerInterface &srvInterface)
Friends
struct ::CPPExecContext
class ::EE::VEval
class ::UdfSupport

Detailed Description

Interface for User-Defined Scalar Function (UDSF). A UDSF produces a single value from a row of data.

A UDSF can be used anywhere a native function can be used, except CREATE TABLE BY PARTITION and SEGMENTED BY expressions.

A ScalarFunction must have an associated ScalarFunctionFactory.

Member Function Documentation

virtual void Vertica::UDXObject::cancel(ServerInterface & srvInterface)

inlineprotectedvirtualinherited

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

Note

  • 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 or destructor). 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.

Referenced by Vertica::UDXObject::cancelUDX().

void Vertica::UDXObject::cancelUDX(ServerInterface & srvInterface)

inline inherited Cancel callback invoked when the query running the UDX has been canceled. See cancel().

virtual void Vertica::UDXFunction::destroy(ServerInterface & srvInterface, const SizedColumnTypes & argTypes)

inlinevirtualinherited

Perform per instance destruction. This function may throw errors

Referenced by Vertica::UDXFunction::destroy().

virtual void Vertica::UDXFunction::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

virtual void Vertica::ScalarFunction::getOutputRange(ServerInterface & srvInterface, ValueRangeReader & inRange, ValueRangeWriter & outRange)

inlinevirtual

Invoke a user defined function to determine the output value range of this function. Ranges are represented by a minimum/maximum pair of values (inclusive). The developer is responsible to provide an output value range on the basis of the input argument ranges. Minimum/maximum values of ranges are of the same type as defined in the metadata class getPrototype() function.

Parameters

  • srvInterface: a ServerInterface object used to communicate with Vertica
  • inRange: input value range
  • outRange: output value range

Remarks

By default, the ValueRangeWriter object can have NULL values, values in the range are unsorted, and it is unbounded, i.e., the following functions return as follows:

  • outRange.canHaveNulls() == true

  • outRange.getSortedness() == EE::SORT_UNORDERED

  • outRange.isBounded() == false

Note

  • This methods may be invoked by different threads at different times, and by a different thread than the constructor.

  • C++ exceptions may NOT be thrown out of this method. Use the vertica specific vt_throw_exception() function or vt_report_error() macro instead

  • Invoking vt_throw_exception() or vt_report_error() from this method will not stop the function execution, which may still complete successfully. Instead, the output range will be discarded, and a WARNING message will be written to the Vertica log

bool Vertica::UDXObject::isCanceled() const

inline inherited Returns true iff this UDX has been canceled

virtual void Vertica::ScalarFunction::processBlock(ServerInterface & srvInterface, BlockReader & arg_reader, BlockWriter & res_writer)

pure virtual Invoke a user defined function 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
  • arg_reader: input rows
  • res_writer: output location

Note

  • This methods may be invoked by different threads at different times, and by a different thread than the constructor.

  • The order in which the function sees rows is not guaranteed.

  • C++ exceptions may NOT be thrown out of this method. Use the vertica specific vt_throw_exception() function or vt_report_error() macro instead

virtual void Vertica::UDXFunction::setup(ServerInterface & srvInterface, const SizedColumnTypes & argTypes)

inlinevirtualinherited

Perform per instance initialization. This function may throw errors.

181 - Vertica::ScalarFunction Member List

This is the complete list of members for Vertica::ScalarFunction, including all inherited members.

::CPPExecContext (defined in Vertica::ScalarFunction) Vertica::ScalarFunction friend
::EE::VEval (defined in Vertica::ScalarFunction) Vertica::ScalarFunction friend
::UdfSupport (defined in Vertica::ScalarFunction) Vertica::ScalarFunction friend
cancel(ServerInterface &srvInterface) Vertica::UDXObject inlineprotectedvirtual
cancelUDX(ServerInterface &srvInterface) Vertica::UDXObject inline
destroy(ServerInterface &srvInterface, const SizedColumnTypes &argTypes) Vertica::UDXFunction inlinevirtual
destroy(ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SessionParamWriterMap &udSessionParams) Vertica::UDXFunction inlinevirtual
getOutputRange(ServerInterface &srvInterface, ValueRangeReader &inRange, ValueRangeWriter &outRange) Vertica::ScalarFunction inlinevirtual
isCanceled() const Vertica::UDXObject inline
processBlock(ServerInterface &srvInterface, BlockReader &arg_reader, BlockWriter &res_writer)=0 Vertica::ScalarFunction pure virtual
setup(ServerInterface &srvInterface, const SizedColumnTypes &argTypes) Vertica::UDXFunction inlinevirtual
UDXObject() (defined in Vertica::UDXObject) Vertica::UDXObject inline
~UDXObject() Vertica::UDXObject inlinevirtual

182 - Vertica::ScalarFunctionFactory Class Reference

Interface for declaring parameters and return types for, and instantiating, an associated ScalarFunction.

Inheritance diagram for Vertica::ScalarFunctionFactory:

Collaboration diagram for Vertica::ScalarFunctionFactory:

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 ScalarFunction * createScalarFunction (ServerInterface &srvInterface)=0
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 void getPrototype (ServerInterface &srvInterface, ColumnTypes &argTypes, ColumnTypes &returnType)=0
virtual void getReturnType (ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType) override
Public Attributes
strictness strict
volatility vol
Protected Member Functions
virtual UDXType getUDXFactoryType () override
Protected Attributes
Oid libOid
std::string sqlName

Detailed Description

Interface for declaring parameters and return types for, and instantiating, an associated ScalarFunction.

Member Enumeration Documentation

enum Vertica::UDXFactory::UDXType

inherited The type of UDX instance this factory produces

Member Function Documentation

virtual ScalarFunction* Vertica::ScalarFunctionFactory::createScalarFunction(ServerInterface & srvInterface)

pure virtual Returns an ScalarFunction object which implements the UDx API described by this metadata.

Parameters

  • srvInterface: a ServerInterface object used to communicate with Vertica

Note More than one object may be instantiated per query.

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

inlinevirtualinherited

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.

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

inlinevirtualinherited

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 Vertica::UDXFactory::getPerInstanceResources().

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

inlinevirtualinherited

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.

virtual void Vertica::FunctionFactory::getPrototype(ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes & returnType)

pure virtual inherited Provides the argument and return types of the UDX

Implemented in Vertica::MultiPhaseTransformFunctionFactory.

Referenced by getReturnType().

virtual void Vertica::ScalarFunctionFactory::getReturnType(ServerInterface & srvInterface, const SizedColumnTypes & argTypes, SizedColumnTypes & returnType)

inlinevirtual

For scalar functions, this function needs to be overridden only if the return type needs length/precision specification.

Parameters

  • srvInterface: a ServerInterface object used to communicate with Vertica
  • argTypes: The data type of the return value defined by processBlock()
  • returnType: The size of the data returned by processBlock()

Implements Vertica::FunctionFactory.

virtual UDXType Vertica::ScalarFunctionFactory::getUDXFactoryType()

inlineprotectedvirtual

Returns the object type internally used by Vertica

Implements Vertica::UDXFactory.

Member Data Documentation

volatility Vertica::ScalarFunctionFactory::vol

Strictness and Volatility settings that the UDSF programmer can set Defaults are VOLATILE and CALLED_ON_NULL_INPUT

183 - Vertica::ScalarFunctionFactory Member List

This is the complete list of members for Vertica::ScalarFunctionFactory, including all inherited members.

AGGREGATE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
ANALYTIC enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
createScalarFunction(ServerInterface &srvInterface)=0 Vertica::ScalarFunctionFactory pure virtual
CURSOR_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
FILESYSTEM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
getParameterType(ServerInterface &srvInterface, SizedColumnTypes meterTypes) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) Vertica::UDXFactory inlinevirtual
getPrototype(ServerInterface &srvInterface, ColumnTypes &argTypes, ColumnTypes &returnType)=0 Vertica::FunctionFactory pure virtual
getReturnType(ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType) override Vertica::ScalarFunctionFactory inlinevirtual
getUDXFactoryType() override Vertica::ScalarFunctionFactory inlineprotectedvirtual
KEYMANAGER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
libOid (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
LOAD_FILTER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_PARSER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_SOURCE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
MULTI_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
SCALAR enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
ScalarFunctionFactory() (defined in Vertica::ScalarFunctionFactory) Vertica::ScalarFunctionFactory inline
sqlName (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
strict (defined in Vertica::ScalarFunctionFactory) Vertica::ScalarFunctionFactory
TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
TYPE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
UDXType enum name Vertica::UDXFactory
vol Vertica::ScalarFunctionFactory
~FunctionFactory() (defined in Vertica::FunctionFactory) Vertica::FunctionFactory inlinevirtual
~ScalarFunctionFactory() (defined in Vertica::ScalarFunctionFactory) Vertica::ScalarFunctionFactory inlinevirtual
~UDXFactory() (defined in Vertica::UDXFactory) Vertica::UDXFactory inlinevirtual

184 - Vertica::ScopedTimerCounter Class Reference

Class to start an execution timer on construction and to automatically stop the timer on deconstruction or when manually called with stop()

Collaboration diagram for Vertica::ScopedTimerCounter:

Public Member Functions
ScopedTimerCounter (CounterController *_cc, int _counterIndex)
void stop ()

Detailed Description

Class to start an execution timer on construction and to automatically stop the timer on deconstruction or when manually called with stop()

185 - Vertica::ScopedTimerCounter Member List

This is the complete list of members for Vertica::ScopedTimerCounter, including all inherited members.

ScopedTimerCounter(CounterController *_cc, int _counterIndex) (defined in Vertica::ScopedTimerCounter) Vertica::ScopedTimerCounter inline
stop() (defined in Vertica::ScopedTimerCounter) Vertica::ScopedTimerCounter inline
~ScopedTimerCounter() (defined in Vertica::ScopedTimerCounter) Vertica::ScopedTimerCounter inline

186 - Vertica::ServerInterface Class Reference

Provides UDxs with access to the Vertica server.

Collaboration diagram for Vertica::ServerInterface:

Classes
struct BlobDescription
struct BlobIdentifier
struct FunctionDescription
struct RelationDescription
struct TypeDescription
Public Types
typedef void(* LoggingFunc )(ServerInterface *, const char *fmt, va_list ap)
Public Member Functions
ServerInterface (VTAllocator *allocator, FileManager *fileManager, LoggingFunc func, const std::string &sqlName, const ParamReader mReader, vint udxDebugLogLevel=0)
ServerInterface (VTAllocator *allocator, LoggingFunc func, const std::string &sqlName, const ParamReader mReader, vint udxDebugLogLevel=0)
ServerInterface (VTAllocator *allocator, LoggingFunc func, const std::string &sqlName, vint udxDebugLogLevel=0)
formatWithName append (" - ")
formatWithName append (format)
virtual bool describeBlob (const BlobIdentifier &blobId, BlobDescription &blobDescription, bool errorIfNotFound=true)=0
virtual bool describeFunction (FunctionDescription &func, bool errorIfNotFound=true)=0
virtual bool describeProjection (RelationDescription &proj, bool errorIfNotFound=true)=0
virtual bool describeTable (RelationDescription &baseTable, bool errorIfNotFound=true)=0
virtual bool describeType (TypeDescription &type, bool errorIfNotFound=true)=0
void std::string formatWithName (sqlName)
const std::string & getCurrentNodeName () const
const std::string & getDatabaseName () const
const std::map & getDependencies () const
virtual const UDFileSystem * getFileSystem (const char *path)=0
Oid getFunctionOid () const
const std::string & getLocale () const
ParamReader getParamReader () const
ParamReader getSessionParamReader () const
ParamReader getUDSessionParamReader (std::string nsp)
ParamReader getUDSessionParamReader () const
SessionParamReaderMap getUDSessionParamReaderMap () const
const std::string & getUserName () const
virtual std::vector listBlobs (BlobIdentifier::Namespace nsp=BlobIdentifier::NSP_LIBRARY)=0
virtual void listDerivedTables (const RelationDescription &baseTable, std::vector &tables, bool errorIfNotFound=false)=0
virtual void listProjections (const RelationDescription &lookup, std::vector &projections, bool errorIfNotFound=false)=0
virtual void listTableProjections (const RelationDescription &baseTable, std::vector &projections, bool errorIfNotFound=false)=0
virtual void listTables (const RelationDescription &lookup, std::vector &tables, bool errorIfNotFound=false)=0
void log (const char *format,...) attribute((format(printf
virtual void logEvent (const std::map &details)=0
virtual void reportError (ClientMessage msg)=0
virtual void reportInfo (ClientMessage msg)=0
virtual void reportNotice (ClientMessage msg)=0
virtual void reportWarning (ClientMessage msg)=0
void setDependencies (const std::map dependencies)
void setFunctionOid (Oid FuncOid)
void setLibraryOid (Oid libOid_)
void setParamReader (const ParamReader mReader)
void setPublicOid (Oid publicOid_)
void setSessionParamReader (const ParamReader &sessionParamReader)
void setUDSessionParameterMap (const SessionParamReaderMap &udSessionParams)
va_end (ap)
va_start (ap, format)
vlog (format, ap)
void vlog (const char *format, va_list ap)
Public Attributes
VTAllocator * allocator
va_list ap
FileManager * fileManager
format = formatWithName.c_str()
vint udxDebugLogLevel
Protected Attributes
std::string dbName
std::map dependencies
Oid funcOid
Oid libOid
std::string locale
std::string nodeName
ParamReader paramReader
Oid publicOid
ParamReader sessionParamReader
std::string sqlName
SessionParamReaderMap udSessionParamReaderMap
std::string userName
LoggingFunc vlogPtr
Friends
class ::UdfSupport
class ::UDxExecContext
class EE::UserDefinedAggregate
class EE::UserDefinedAnalytic
class EE::UserDefinedTransform

Detailed Description

Provides UDxs with access to the Vertica server.

Vertica passes a ServerInterface instance to the setup(), destroy(), and main processing functions of each UDx. Key methods for UDx use include log() (to write to the Vertica log), getParamReader(), setParamReader(), getSessionParamReader(), and setSessionParamReader().

Constructor & Destructor Documentation

Vertica::ServerInterface::ServerInterface(VTAllocator * allocator, FileManager * fileManager, LoggingFunc func, const std::string & sqlName, const ParamReader & paramReader, vint udxDebugLogLevel = 0)

inline Create a new ServerInterface.

Note that Only Vertica Server should use this method. It is not guaranteed to stay the same between releases.

Member Function Documentation

virtual bool Vertica::ServerInterface::describeBlob(const BlobIdentifier & blobId, BlobDescription & blobDescription, bool errorIfNotFound = true)

pure virtual Given a blob name and namespace (to which search path will be applied), find the rest of the details

virtual bool Vertica::ServerInterface::describeFunction(FunctionDescription & func, bool errorIfNotFound = true)

pure virtual Describe a function

virtual bool Vertica::ServerInterface::describeProjection(RelationDescription & proj, bool errorIfNotFound = true)

pure virtual Given a projection OID or name, find the rest of the details

virtual bool Vertica::ServerInterface::describeTable(RelationDescription & baseTable, bool errorIfNotFound = true)

pure virtual Given a table OID or name (to which search path will be applied), find the rest of the details

virtual bool Vertica::ServerInterface::describeType(TypeDescription & type, bool errorIfNotFound = true)

pure virtual Describe a type

const std::string& Vertica::ServerInterface::getCurrentNodeName() const

inline Returns the name of the vertica node on which this code is executed.

const std::string& Vertica::ServerInterface::getDatabaseName() const

inline Returns the name of the database in which this code is executed.

const std::map& Vertica::ServerInterface::getDependencies() const

inline Returns a list of paths to rhe dependencies

virtual const UDFileSystem* Vertica::ServerInterface::getFileSystem(const char * path)

pure virtual Get the file system corresponding to the provided path.

const std::string& Vertica::ServerInterface::getLocale() const

inline Returns the locale of the current session.

ParamReader Vertica::ServerInterface::getParamReader() const

inline Returns the ParamReader that allows accessing parameter values using their names

ParamReader Vertica::ServerInterface::getSessionParamReader() const

inline Get the sessionParamReader

ParamReader Vertica::ServerInterface::getUDSessionParamReader(std::string nsp)

inline Get the UDSessionParamReader for a namespace

ParamReader Vertica::ServerInterface::getUDSessionParamReader() const

inline Get the UDSessionParamReader for the default namespace

SessionParamReaderMap Vertica::ServerInterface::getUDSessionParamReaderMap() const

inline Get the UDSessionParamReaderMap

const std::string& Vertica::ServerInterface::getUserName() const

inline Returns the name of the vertica user of the current session.

virtual std::vector Vertica::ServerInterface::listBlobs(BlobIdentifier::Namespace nsp = BlobIdentifier::NSP_LIBRARY)

pure virtual List the blobs in the given namespace

virtual void Vertica::ServerInterface::listDerivedTables(const RelationDescription & baseTable, std::vector & tables, bool errorIfNotFound = false)

pure virtual List out derived tables, such as text indexes

virtual void Vertica::ServerInterface::listProjections(const RelationDescription & lookup, std::vector & projections, bool errorIfNotFound = false)

pure virtual List projections given projection name

virtual void Vertica::ServerInterface::listTableProjections(const RelationDescription & baseTable, std::vector & projections, bool errorIfNotFound = false)

pure virtual List projections given base table properties (schema + name, OID, etc.)

virtual void Vertica::ServerInterface::listTables(const RelationDescription & lookup, std::vector & tables, bool errorIfNotFound = false)

pure virtual List tables given properties (schema, name, etc.)

void Vertica::ServerInterface::log(const char * format, ...)

Writes a message to a log file stored in the UDxLogs directory of the database's catalog directory. The SQL name of the UDx is added to the log message, along with the string [UserMessage] to mark the entry as a message added by a call to this method.

Parameters

  • format: a printf-style format string specifying the log message format.
virtual void Vertica::ServerInterface::logEvent(const std::map & details)

pure virtual Logs an event composed of a map of key-value pairs to dc_udx_events, which can be queried using v_monitor.udx_events view.

Events logged from a fenced UDX are logged to a file and are not query-able.

virtual void Vertica::ServerInterface::reportError(ClientMessage msg)

pure virtual Report the provided ClientMessage as an error

Parameters

  • msg: The message to be reported
virtual void Vertica::ServerInterface::reportInfo(ClientMessage msg)

pure virtual Report the provided ClientMessage as info

Parameters

  • msg: The message to be reported
virtual void Vertica::ServerInterface::reportNotice(ClientMessage msg)

pure virtual Report the provided ClientMessage as a notice

Parameters

  • msg: The message to be reported
virtual void Vertica::ServerInterface::reportWarning(ClientMessage msg)

pure virtual Report the provided ClientMessage as a warning

Parameters

  • msg: The message to be reported
void Vertica::ServerInterface::setDependencies(const std::map dependencies)

inline Returns set the paths to the dependencies

void Vertica::ServerInterface::setParamReader(const ParamReader & paramReader)

inline Set the paramReader of this ServerInterface when delayed creation is required Used by the code when delayed creation of the parameters is needed Users should not call this function

void Vertica::ServerInterface::setSessionParamReader(const ParamReader & sessionParamReader)

inline Set the sessionParamReader

void Vertica::ServerInterface::setUDSessionParameterMap(const SessionParamReaderMap & udSessionParams)

inline Set the UDSessionParamReaderMap

void Vertica::ServerInterface::vlog(const char * format, va_list ap)

inline Write a message to the vertica.log system log.

Parameters

  • format: a printf style format string specifying the log message format.
  • ap: va_list for variable arguments

Member Data Documentation

VTAllocator* Vertica::ServerInterface::allocator

Memory source which is managed and freed by the server.

std::string Vertica::ServerInterface::dbName

protected

Store the name of the current database

Referenced by getDatabaseName().

std::map Vertica::ServerInterface::dependencies

protected

The list of all dependencies

Referenced by

FileManager* Vertica::ServerInterface::fileManager

File manager of the session context

Oid Vertica::ServerInterface::funcOid

protected

The Oid of the function

Oid Vertica::ServerInterface::libOid

protected

The Oid of the library

std::string Vertica::ServerInterface::locale

protected

The locale of the current session

Referenced by getLocale().

std::string Vertica::ServerInterface::nodeName

protected

Store the name of the current node

Referenced by getCurrentNodeName().

ParamReader Vertica::ServerInterface::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

Referenced by

Oid Vertica::ServerInterface::publicOid

protected

The Oid for public user-defined session parameters and blobs

ParamReader Vertica::ServerInterface::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

Referenced by

std::string Vertica::ServerInterface::sqlName

protected

Store the name for error logging

SessionParamReaderMap Vertica::ServerInterface::udSessionParamReaderMap

protected

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

Referenced by

vint Vertica::ServerInterface::udxDebugLogLevel

The level of UDx debug logging which is turned on as a UDXDebugLevel set of enumeration values. Used so UDxs may forgo generating debug log messages if debug logging is off.

std::string Vertica::ServerInterface::userName

protected

The username of the current session

Referenced by getUserName().

LoggingFunc Vertica::ServerInterface::vlogPtr

protected

Callback for logging, set by the server

Referenced by vlog().

187 - Vertica::ServerInterface Member List

This is the complete list of members for Vertica::ServerInterface, including all inherited members.

::UdfSupport (defined in Vertica::ServerInterface) Vertica::ServerInterface friend
::UDxExecContext (defined in Vertica::ServerInterface) Vertica::ServerInterface friend
allocator Vertica::ServerInterface
ap (defined in Vertica::ServerInterface) Vertica::ServerInterface
append(" - ") (defined in Vertica::ServerInterface) Vertica::ServerInterface
append(format) (defined in Vertica::ServerInterface) Vertica::ServerInterface
dbName Vertica::ServerInterface protected
dependencies Vertica::ServerInterface protected
describeBlob(const BlobIdentifier &blobId, BlobDescription &blobDescription, bool errorIfNotFound=true)=0 Vertica::ServerInterface pure virtual
describeFunction(FunctionDescription &func, bool errorIfNotFound=true)=0 Vertica::ServerInterface pure virtual
describeProjection(RelationDescription &proj, bool errorIfNotFound=true)=0 Vertica::ServerInterface pure virtual
describeTable(RelationDescription &baseTable, bool errorIfNotFound=true)=0 Vertica::ServerInterface pure virtual
describeType(TypeDescription &type, bool errorIfNotFound=true)=0 Vertica::ServerInterface pure virtual
EE::UserDefinedAggregate (defined in Vertica::ServerInterface) Vertica::ServerInterface friend
EE::UserDefinedAnalytic (defined in Vertica::ServerInterface) Vertica::ServerInterface friend
EE::UserDefinedTransform (defined in Vertica::ServerInterface) Vertica::ServerInterface friend
fileManager Vertica::ServerInterface
format (defined in Vertica::ServerInterface) Vertica::ServerInterface
formatWithName(sqlName) (defined in Vertica::ServerInterface) Vertica::ServerInterface
funcOid Vertica::ServerInterface protected
getCurrentNodeName() const Vertica::ServerInterface inline
getDatabaseName() const Vertica::ServerInterface inline
getDependencies() const Vertica::ServerInterface inline
getFileSystem(const char *path)=0 Vertica::ServerInterface pure virtual
getFunctionOid() const (defined in Vertica::ServerInterface) Vertica::ServerInterface inline
getLocale() const Vertica::ServerInterface inline
getParamReader() const Vertica::ServerInterface inline
getSessionParamReader() const Vertica::ServerInterface inline
getUDSessionParamReader(std::string nsp) Vertica::ServerInterface inline
getUDSessionParamReader() const Vertica::ServerInterface inline
getUDSessionParamReaderMap() const Vertica::ServerInterface inline
getUserName() const Vertica::ServerInterface inline
libOid Vertica::ServerInterface protected
listBlobs(BlobIdentifier::Namespace nsp=BlobIdentifier::NSP_LIBRARY)=0 Vertica::ServerInterface pure virtual
listDerivedTables(const RelationDescription &baseTable, std::vector &tables, bool errorIfNotFound=false)=0 Vertica::ServerInterface pure virtual
listProjections(const RelationDescription &lookup, std::vector &projections, bool errorIfNotFound=false)=0 Vertica::ServerInterface pure virtual
listTableProjections(const RelationDescription &baseTable, std::vector &projections, bool errorIfNotFound=false)=0 Vertica::ServerInterface pure virtual
listTables(const RelationDescription &lookup, std::vector &tables, bool errorIfNotFound=false)=0 Vertica::ServerInterface pure virtual
locale Vertica::ServerInterface protected
log(const char *format,...) attribute((format(printf Vertica::ServerInterface
logEvent(const std::map &details)=0 Vertica::ServerInterface pure virtual
LoggingFunc typedef (defined in Vertica::ServerInterface) Vertica::ServerInterface
nodeName Vertica::ServerInterface protected
paramReader Vertica::ServerInterface protected
publicOid Vertica::ServerInterface protected
reportError(ClientMessage msg)=0 Vertica::ServerInterface pure virtual
reportInfo(ClientMessage msg)=0 Vertica::ServerInterface pure virtual
reportNotice(ClientMessage msg)=0 Vertica::ServerInterface pure virtual
reportWarning(ClientMessage msg)=0 Vertica::ServerInterface pure virtual
ServerInterface(VTAllocator *allocator, FileManager *fileManager, LoggingFunc func, const std::string &sqlName, const ParamReader mReader, vint udxDebugLogLevel=0) Vertica::ServerInterface inline
ServerInterface(VTAllocator *allocator, LoggingFunc func, const std::string &sqlName, const ParamReader mReader, vint udxDebugLogLevel=0) (defined in Vertica::ServerInterface) Vertica::ServerInterface inline
ServerInterface(VTAllocator *allocator, LoggingFunc func, const std::string &sqlName, vint udxDebugLogLevel=0) (defined in Vertica::ServerInterface) Vertica::ServerInterface inline
sessionParamReader Vertica::ServerInterface protected
setDependencies(const std::map dependencies) Vertica::ServerInterface inline
setFunctionOid(Oid FuncOid) (defined in Vertica::ServerInterface) Vertica::ServerInterface inline
setLibraryOid(Oid libOid_) (defined in Vertica::ServerInterface) Vertica::ServerInterface inline
setParamReader(const ParamReader mReader) Vertica::ServerInterface inline
setPublicOid(Oid publicOid_) (defined in Vertica::ServerInterface) Vertica::ServerInterface inline
setSessionParamReader(const ParamReader &sessionParamReader) Vertica::ServerInterface inline
setUDSessionParameterMap(const SessionParamReaderMap &udSessionParams) Vertica::ServerInterface inline
sqlName Vertica::ServerInterface protected
udSessionParamReaderMap Vertica::ServerInterface protected
udxDebugLogLevel Vertica::ServerInterface
userName Vertica::ServerInterface protected
va_end(ap) (defined in Vertica::ServerInterface) Vertica::ServerInterface
va_start(ap, format) (defined in Vertica::ServerInterface) Vertica::ServerInterface
vlog(format, ap) (defined in Vertica::ServerInterface) Vertica::ServerInterface
vlog(const char *format, va_list ap) Vertica::ServerInterface inline
vlogPtr Vertica::ServerInterface protected
~ServerInterface() (defined in Vertica::ServerInterface) Vertica::ServerInterface inlinevirtual

188 - Vertica::ServerInterface::FunctionDescription Member List

This is the complete list of members for Vertica::ServerInterface::FunctionDescription, including all inherited members.

argNames (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
argTypes (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
binary (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
databaseName Vertica::ServerInterface::FunctionDescription
FT_AGGREGATE enum value (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
FT_ANALYTIC enum value (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
FT_EXTPROC enum value (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
FT_SCALAR enum value (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
FT_UDAGG enum value (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
FT_UDAN enum value (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
FT_UDFILTER enum value (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
FT_UDPARSE enum value (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
FT_UDSF enum value (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
FT_UDSOURCE enum value (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
FT_UDT enum value (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
FT_UDT_CURSOR enum value (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
FT_UDT_MULTI enum value (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
FunctionDescription() (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription inline
functionName Vertica::ServerInterface::FunctionDescription
functionOid Vertica::ServerInterface::FunctionDescription
FunctionType enum name (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
functionType (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
isFenced Vertica::ServerInterface::FunctionDescription
isInternal Vertica::ServerInterface::FunctionDescription
isStrict Vertica::ServerInterface::FunctionDescription
language (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
libraryFileName (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
libraryName (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
libraryOid (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
returnNames (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
returnTypes (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
schemaName Vertica::ServerInterface::FunctionDescription
source (defined in Vertica::ServerInterface::FunctionDescription) Vertica::ServerInterface::FunctionDescription
volatility Vertica::ServerInterface::FunctionDescription

189 - Vertica::ServerInterface::FunctionDescription Struct Reference

Collaboration diagram for Vertica::ServerInterface::FunctionDescription:

Public Types
enum FunctionType { FT_SCALAR, FT_AGGREGATE, FT_ANALYTIC, FT_EXTPROC, FT_UDSF, FT_UDAGG, FT_UDAN, FT_UDT, FT_UDT_MULTI, FT_UDT_CURSOR, FT_UDPARSE, FT_UDFILTER, FT_UDSOURCE }
Public Attributes
std::vector argNames
std::vector argTypes
std::string binary
std::string databaseName
std::string functionName
Oid functionOid
enum Vertica::ServerInterface::FunctionDescription::FunctionType functionType
bool isFenced
bool isInternal
bool isStrict
std::string language
std::string libraryFileName
std::string libraryName
Oid libraryOid
std::vector returnNames
std::vector returnTypes
std::string schemaName
std::string source
char volatility

Detailed Description

Structure to describe the name and properties of a function, It is to be used in the methods below.

Member Data Documentation

std::string Vertica::ServerInterface::FunctionDescription::databaseName

Database name

std::string Vertica::ServerInterface::FunctionDescription::functionName

Table name, projection basename, or projection name

Oid Vertica::ServerInterface::FunctionDescription::functionOid

Function OID, for lookups if this is nonzero it takes precedence

bool Vertica::ServerInterface::FunctionDescription::isFenced

Is fenced

bool Vertica::ServerInterface::FunctionDescription::isInternal

Is internal / built in function

bool Vertica::ServerInterface::FunctionDescription::isStrict

Is strict

std::string Vertica::ServerInterface::FunctionDescription::schemaName

Schema name; on lookup if empty the search path will be consulted

char Vertica::ServerInterface::FunctionDescription::volatility

Volatility

190 - Vertica::ServerInterface::RelationDescription Member List

This is the complete list of members for Vertica::ServerInterface::RelationDescription, including all inherited members.

additionalDerivationInfo Vertica::ServerInterface::RelationDescription
baseAttrIdx Vertica::ServerInterface::RelationDescription
baseRelation Vertica::ServerInterface::RelationDescription
colNames Vertica::ServerInterface::RelationDescription
colRLE Vertica::ServerInterface::RelationDescription
colTypes Vertica::ServerInterface::RelationDescription
databaseName Vertica::ServerInterface::RelationDescription
derivationFunctions Vertica::ServerInterface::RelationDescription
isExternal Vertica::ServerInterface::RelationDescription
isFlex Vertica::ServerInterface::RelationDescription
isSystem Vertica::ServerInterface::RelationDescription
isTemp Vertica::ServerInterface::RelationDescription
isUpToDate Vertica::ServerInterface::RelationDescription
nSortedCols Vertica::ServerInterface::RelationDescription
partitionCols Vertica::ServerInterface::RelationDescription
pkCols Vertica::ServerInterface::RelationDescription
presentOnNodeNames Vertica::ServerInterface::RelationDescription
presentOnNodes Vertica::ServerInterface::RelationDescription
RDT_AGGREGATE enum value (defined in Vertica::ServerInterface::RelationDescription) Vertica::ServerInterface::RelationDescription
RDT_FLEX_KEYS enum value (defined in Vertica::ServerInterface::RelationDescription) Vertica::ServerInterface::RelationDescription
RDT_INDEX enum value (defined in Vertica::ServerInterface::RelationDescription) Vertica::ServerInterface::RelationDescription
RDT_NONE enum value (defined in Vertica::ServerInterface::RelationDescription) Vertica::ServerInterface::RelationDescription
RDT_PROJECTION enum value (defined in Vertica::ServerInterface::RelationDescription) Vertica::ServerInterface::RelationDescription
RDT_TOPK enum value (defined in Vertica::ServerInterface::RelationDescription) Vertica::ServerInterface::RelationDescription
RDT_UDT enum value (defined in Vertica::ServerInterface::RelationDescription) Vertica::ServerInterface::RelationDescription
RelationDescription() (defined in Vertica::ServerInterface::RelationDescription) Vertica::ServerInterface::RelationDescription inline
relationName Vertica::ServerInterface::RelationDescription
relationOid Vertica::ServerInterface::RelationDescription
relDerivationType (defined in Vertica::ServerInterface::RelationDescription) Vertica::ServerInterface::RelationDescription
RelDerivationType enum name Vertica::ServerInterface::RelationDescription
schemaName Vertica::ServerInterface::RelationDescription
segCols Vertica::ServerInterface::RelationDescription
segOffset Vertica::ServerInterface::RelationDescription
tabColMapping Vertica::ServerInterface::RelationDescription

191 - Vertica::ServerInterface::RelationDescription Struct Reference

Collaboration diagram for Vertica::ServerInterface::RelationDescription:

Public Types
enum RelDerivationType { RDT_NONE, RDT_PROJECTION, RDT_AGGREGATE, RDT_TOPK, RDT_UDT, RDT_INDEX, RDT_FLEX_KEYS }
Public Attributes
std::string additionalDerivationInfo
std::vector baseAttrIdx
Oid baseRelation
std::vector colNames
std::vector colRLE
std::vector colTypes
std::string databaseName
std::vector derivationFunctions
bool isExternal
bool isFlex
bool isSystem
bool isTemp
bool isUpToDate
int nSortedCols
std::vector partitionCols
std::vector pkCols
std::set presentOnNodeNames
std::set presentOnNodes
std::string relationName
Oid relationOid
enum Vertica::ServerInterface::RelationDescription::RelDerivationType relDerivationType
std::string schemaName
std::vector segCols
int segOffset
std::vector tabColMapping

Detailed Description

Structure to describe the name and properties of a table or projection, It is to be used in the methods below.

Member Enumeration Documentation

enum Vertica::ServerInterface::RelationDescription::RelDerivationType

Is aggregate, index, etc

Member Data Documentation

std::string Vertica::ServerInterface::RelationDescription::additionalDerivationInfo

Further description of derivation

std::vector Vertica::ServerInterface::RelationDescription::baseAttrIdx

Columns in base that participate in derivation

Oid Vertica::ServerInterface::RelationDescription::baseRelation

Derivation from a base object (table/projection)

std::vector Vertica::ServerInterface::RelationDescription::colNames

Column names

std::vector Vertica::ServerInterface::RelationDescription::colRLE

For projections, indictor if encoding is run-optimized

std::vector Vertica::ServerInterface::RelationDescription::colTypes

Column types

std::string Vertica::ServerInterface::RelationDescription::databaseName

Database name

std::vector Vertica::ServerInterface::RelationDescription::derivationFunctions

Derivation function, for UDT proj, etc.

bool Vertica::ServerInterface::RelationDescription::isExternal

Is for external table?

bool Vertica::ServerInterface::RelationDescription::isFlex

Is this a flex object

bool Vertica::ServerInterface::RelationDescription::isSystem

Is this a system object

bool Vertica::ServerInterface::RelationDescription::isTemp

Is for a temp table?

bool Vertica::ServerInterface::RelationDescription::isUpToDate

Is this up to date / active

int Vertica::ServerInterface::RelationDescription::nSortedCols

For projections, number of columns in sort order, as a prefix

std::vector Vertica::ServerInterface::RelationDescription::partitionCols

For tables / projections, columns involved in partitioning

std::vector Vertica::ServerInterface::RelationDescription::pkCols

For tables / projections, columns involved in a primary key

std::set Vertica::ServerInterface::RelationDescription::presentOnNodeNames

For projections, hosting node names

std::set Vertica::ServerInterface::RelationDescription::presentOnNodes

For projections, hosting nodes

std::string Vertica::ServerInterface::RelationDescription::relationName

Table name, projection basename, or projection name

Oid Vertica::ServerInterface::RelationDescription::relationOid

Relation OID, for lookups if this is nonzero it takes precedence

std::string Vertica::ServerInterface::RelationDescription::schemaName

Schema name; on lookup if empty the search path will be consulted

std::vector Vertica::ServerInterface::RelationDescription::segCols

For projections, columns involved in segmentation

int Vertica::ServerInterface::RelationDescription::segOffset

For buddies, segmentation offset

std::vector Vertica::ServerInterface::RelationDescription::tabColMapping

For projections, mapping to table column number (0-based); negative numbers would indicate things that are not present in the table

192 - Vertica::ServerInterface::TypeDescription Member List

This is the complete list of members for Vertica::ServerInterface::TypeDescription, including all inherited members.

baseType Vertica::ServerInterface::TypeDescription
databaseName Vertica::ServerInterface::TypeDescription
isInternal Vertica::ServerInterface::TypeDescription
schemaName Vertica::ServerInterface::TypeDescription
TypeDescription() (defined in Vertica::ServerInterface::TypeDescription) Vertica::ServerInterface::TypeDescription inline
typeName Vertica::ServerInterface::TypeDescription
typeOid Vertica::ServerInterface::TypeDescription

193 - Vertica::ServerInterface::TypeDescription Struct Reference

Collaboration diagram for Vertica::ServerInterface::TypeDescription:

Public Attributes
VerticaType baseType
std::string databaseName
bool isInternal
std::string schemaName
std::string typeName
Oid typeOid

Detailed Description

Structure to describe the name and properties of a type, It is to be used in the methods below.

Member Data Documentation

VerticaType Vertica::ServerInterface::TypeDescription::baseType

Base type

std::string Vertica::ServerInterface::TypeDescription::databaseName

Database name

bool Vertica::ServerInterface::TypeDescription::isInternal

Is internal?

std::string Vertica::ServerInterface::TypeDescription::schemaName

Schema name; on lookup if empty the search path will be consulted

std::string Vertica::ServerInterface::TypeDescription::typeName

Table name, projection basename, or projection name

Oid Vertica::ServerInterface::TypeDescription::typeOid

Function OID, for lookups if this is nonzero it takes precedence

194 - Vertica::SessionParamReaderMap Class Reference

This class provides an interface for reading the Used defined session parameters.

Collaboration diagram for Vertica::SessionParamReaderMap:

Public Member Functions
void addUDSessionParamReader (const std::string &nsp, ParamReader &sessionParamReader)
Add a Session ParamReader for a namespace.
bool containsNamespace (const std::string nsp) const
Check if a SessionParamReader for the Namespace exists in the map.
std::vector getNamespaces () const
Gets the names of all namespaces.
void getUDSessionParamReader (const std::string &nsp, ParamReader &pReader)
Get a SessionParamReader for a namespace.
const ParamReader & getUDSessionParamReader (const std::string &nsp) const
Get the SessionParamReader for the Namespace.
void setUDSessionParamReaderMap (std::map paramReaderMap)
Set the SessionParamReaderMap.

Detailed Description

This class provides an interface for reading the Used defined session parameters.

Member Function Documentation

void Vertica::SessionParamReaderMap::addUDSessionParamReader(const std::string & nsp, ParamReader & sessionParamReader)

inline Add a Session ParamReader for a namespace.

Parameters

  • The: namespace and the ParamReader
bool Vertica::SessionParamReaderMap::containsNamespace(const std::string nsp) const

inline Check if a SessionParamReader for the Namespace exists in the map.

Parameters

  • The: namespace

Returns true if the SessionParamReader for the Namespace exists false otherwise

std::vector Vertica::SessionParamReaderMap::getNamespaces() const

inline Gets the names of all namespaces.

Returns a vector of column namespaces

void Vertica::SessionParamReaderMap::getUDSessionParamReader(const std::string & nsp, ParamReader & pReader)

inline Get a SessionParamReader for a namespace.

Parameters

  • The: namespace

Returns The SessionParamReader

Referenced by Vertica::ServerInterface::getUDSessionParamReader().

const ParamReader& Vertica::SessionParamReaderMap::getUDSessionParamReader(const std::string & nsp) const

inline Get the SessionParamReader for the Namespace.

Parameters

  • The: namespace

Returns The ParamReader

void Vertica::SessionParamReaderMap::setUDSessionParamReaderMap(std::map paramReaderMap)

inline Set the SessionParamReaderMap.

Parameters

  • The: SessionParamReaderMap

195 - Vertica::SessionParamReaderMap Member List

This is the complete list of members for Vertica::SessionParamReaderMap, including all inherited members.

addUDSessionParamReader(const std::string &nsp, ParamReader &sessionParamReader) Vertica::SessionParamReaderMap inline
containsNamespace(const std::string nsp) const Vertica::SessionParamReaderMap inline
getNamespaces() const Vertica::SessionParamReaderMap inline
getUDSessionParamReader(const std::string &nsp, ParamReader &pReader) Vertica::SessionParamReaderMap inline
getUDSessionParamReader(const std::string &nsp) const Vertica::SessionParamReaderMap inline
SessionParamReaderMap() (defined in Vertica::SessionParamReaderMap) Vertica::SessionParamReaderMap inline
setUDSessionParamReaderMap(std::map paramReaderMap) Vertica::SessionParamReaderMap inline

196 - Vertica::SessionParamWriterMap Class Reference

This class provides an interface for writing the Used defined session parameters.

Collaboration diagram for Vertica::SessionParamWriterMap:

Public Member Functions
SessionParamWriterMap (VTAllocator *allocator=NULL)
void addUDSessionParamWriter (const std::string &nsp, ParamWriter &sessionParamWriter)
Add a SessionParamWriter for a namespace.
bool containsNamespace (const std::string nsp) const
Check if a SessionParamWriter for the Namespace exists in the map.
std::vector getNamespaces () const
Gets the names of all namespaces.
ParamWriter & getUDSessionParamWriter (const std::string &nsp)
Get a SessionParamWriter for a namespace.
const ParamWriter & getUDSessionParamWriter (const std::string &nsp) const
Get a SessionParamWriter for a namespace.
ParamWriter & getUDSessionParamWriter ()
Get a SessionParamWriter for a namespace library.
void setAllocator (VTAllocator *allocator)

Detailed Description

This class provides an interface for writing the Used defined session parameters.

Member Function Documentation

void Vertica::SessionParamWriterMap::addUDSessionParamWriter(const std::string & nsp, ParamWriter & sessionParamWriter)

inline Add a SessionParamWriter for a namespace.

Parameters

  • The: namespace and the ParamReader

Referenced by getUDSessionParamWriter().

bool Vertica::SessionParamWriterMap::containsNamespace(const std::string nsp) const

inline Check if a SessionParamWriter for the Namespace exists in the map.

Parameters

  • The: namespace

Returns true if the SessionParamWriter for the Namespace exists false otherwise

std::vector Vertica::SessionParamWriterMap::getNamespaces() const

inline Gets the names of all namespaces.

Returns a vector of column namespaces

ParamWriter& Vertica::SessionParamWriterMap::getUDSessionParamWriter(const std::string & nsp)

inline Get a SessionParamWriter for a namespace.

Parameters

  • The: namespace

Returns The SessionParamWriter

const ParamWriter& Vertica::SessionParamWriterMap::getUDSessionParamWriter(const std::string & nsp) const

inline Get a SessionParamWriter for a namespace.

Parameters

  • The: namespace

Returns The SessionParamWriter

ParamWriter& Vertica::SessionParamWriterMap::getUDSessionParamWriter()

inline Get a SessionParamWriter for a namespace library.

Returns The SessionParamWriter

197 - Vertica::SessionParamWriterMap Member List

This is the complete list of members for Vertica::SessionParamWriterMap, including all inherited members.

addUDSessionParamWriter(const std::string &nsp, ParamWriter &sessionParamWriter) Vertica::SessionParamWriterMap inline
containsNamespace(const std::string nsp) const Vertica::SessionParamWriterMap inline
getNamespaces() const Vertica::SessionParamWriterMap inline
getUDSessionParamWriter(const std::string &nsp) Vertica::SessionParamWriterMap inline
getUDSessionParamWriter(const std::string &nsp) const Vertica::SessionParamWriterMap inline
getUDSessionParamWriter() Vertica::SessionParamWriterMap inline
SessionParamWriterMap(VTAllocator *allocator=NULL) (defined in Vertica::SessionParamWriterMap) Vertica::SessionParamWriterMap inline
setAllocator(VTAllocator *allocator) (defined in Vertica::SessionParamWriterMap) Vertica::SessionParamWriterMap inline

198 - Vertica::SimpleArchiveIn Member List

This is the complete list of members for Vertica::SimpleArchiveIn, including all inherited members.

is (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn
is_loading typedef (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn
is_saving typedef (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn
operator&(int64 &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(uint64 &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(long int &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(long unsigned int &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(int32 &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(uint32 &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(int16 &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(uint16 &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(signed char &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(char &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(unsigned char &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(bool &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(double &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(std::basic_string, Alloc > &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(std::vector &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(std::vector &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(std::list &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(std::set &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(std::unordered_set &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(std::pair &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(std::map &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(std::unordered_map &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator&(T &val) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
operator>(int64 &val) Vertica::SimpleArchiveIn inline
operator>>(uint64 &val) Vertica::SimpleArchiveIn inline
operator>>(int32 &val) Vertica::SimpleArchiveIn inline
operator>>(uint32 &val) Vertica::SimpleArchiveIn inline
operator>>(int16 &val) Vertica::SimpleArchiveIn inline
operator>>(uint16 &val) Vertica::SimpleArchiveIn inline
operator>>(signed char &val) Vertica::SimpleArchiveIn inline
operator>>(char &val) Vertica::SimpleArchiveIn inline
operator>>(unsigned char &val) Vertica::SimpleArchiveIn inline
operator>>(bool &b) Vertica::SimpleArchiveIn inline
operator>>(double &d) Vertica::SimpleArchiveIn inline
operator>>(std::basic_string, Alloc > &val) Vertica::SimpleArchiveIn inline
operator>>(std::vector &val) Vertica::SimpleArchiveIn inline
operator>>(std::vector &val) Vertica::SimpleArchiveIn inline
operator>>(std::list &val) Vertica::SimpleArchiveIn inline
operator>>(std::set &val) Vertica::SimpleArchiveIn inline
operator>>(std::unordered_set &val) Vertica::SimpleArchiveIn inline
operator>>(std::pair &val) Vertica::SimpleArchiveIn inline
operator>>(std::map &val) Vertica::SimpleArchiveIn inline
operator>>(std::unordered_map &val) Vertica::SimpleArchiveIn inline
operator>>(T &val) Vertica::SimpleArchiveIn inline
operator>>(T(&val)[n]) Vertica::SimpleArchiveIn inline
read(void *ptr, size_t n) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
readBool() (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
readDouble() (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
readInt() (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
readUint() (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
SimpleArchiveIn(std::istream &istream) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline
write(void *ptr, size_t n) (defined in Vertica::SimpleArchiveIn) Vertica::SimpleArchiveIn inline

199 - Vertica::SimpleArchiveIn Struct Reference

Collaboration diagram for Vertica::SimpleArchiveIn:

Public Types
typedef std::true_type is_loading
typedef std::false_type is_saving
Public Member Functions
SimpleArchiveIn (std::istream &istream)
void operator& (int64 &val)
void operator& (uint64 &val)
void operator& (long int &val)
void operator& (long unsigned int &val)
void operator& (int32 &val)
void operator& (uint32 &val)
void operator& (int16 &val)
void operator& (uint16 &val)
void operator& (signed char &val)
void operator& (char &val)
void operator& (unsigned char &val)
void operator& (bool &val)
void operator& (double &val)
template
void operator& (std::basic_string, Alloc > &val)
template
void operator& (std::vector &val)
template
void operator& (std::vector &val)
template
void operator& (std::list &val)
template
void operator& (std::set &val)
template
void operator& (std::unordered_set &val)
template
void operator& (std::pair &val)
template
void operator& (std::map &val)
template
void operator& (std::unordered_map &val)
template
void operator& (T &val)
template
SimpleArchiveIn & operator> (int64 &val)
SimpleArchiveIn & operator>> (uint64 &val)
SimpleArchiveIn & operator>> (int32 &val)
SimpleArchiveIn & operator>> (uint32 &val)
SimpleArchiveIn & operator>> (int16 &val)
SimpleArchiveIn & operator>> (uint16 &val)
SimpleArchiveIn & operator>> (signed char &val)
SimpleArchiveIn & operator>> (char &val)
SimpleArchiveIn & operator>> (unsigned char &val)
SimpleArchiveIn & operator>> (bool &b)
SimpleArchiveIn & operator>> (double &d)
template
SimpleArchiveIn & operator>> (std::basic_string, Alloc > &val)
template
SimpleArchiveIn & operator>> (std::vector &val)
template
SimpleArchiveIn & operator>> (std::vector &val)
template
SimpleArchiveIn & operator>> (std::list &val)
template
SimpleArchiveIn & operator>> (std::set &val)
template
SimpleArchiveIn & operator>> (std::unordered_set &val)
template
SimpleArchiveIn & operator>> (std::pair &val)
template
SimpleArchiveIn & operator>> (std::map &val)
template
SimpleArchiveIn & operator>> (std::unordered_map &val)
template
SimpleArchiveIn & operator>> (T &val)
template
SimpleArchiveIn & operator>> (T(&val)[n])
void read (void *ptr, size_t n)
bool readBool ()
double readDouble ()
int64 readInt ()
uint64 readUint ()
void write (void *ptr, size_t n)
Public Attributes
std::istream & is

Detailed Description

Input archive

Member Function Documentation

SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(int64 & val)

inline Read a signed integer

SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(uint64 & val)

inline Read an unsigned integer

SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(int32 & val)

inline Read a signed integer

SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(uint32 & val)

inline Read an unsigned integer

SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(int16 & val)

inline Read a signed integer

SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(uint16 & val)

inline Read an unsigned integer

SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(signed char & val)

inline Read a signed integer / char

SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(char & val)

inline Read a char

SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(unsigned char & val)

inline Read an unsigned char / integer

SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(bool & b)

inline Read a double / float

SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(double & d)

inline Read a double / float

template<class Alloc >
SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(std::basic_string, Alloc > & val)

inline Read a string

template<class T , class Alloc >
SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(std::vector & val)

inline Read a vector

template<class Alloc >
SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(std::vector & val)

inline Read a vector

template<class T , class Alloc >
SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(std::list & val)

inline Read a list

template<class T , class Less , class Alloc >
SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(std::set & val)

inline Read a set

template<class T , class Hash , class Eq , class Alloc >
SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(std::unordered_set & val)

inline Read an unordered set

template<class T1 , class T2 >
SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(std::pair & val)

inline Read a pair

template<class K , class V , class Less , class Alloc >
SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(std::map & val)

inline Read a map

template<class K , class V , class Hash , class Eq , class Alloc >
SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(std::unordered_map & val)

inline Read an unordered map

template<class T >
SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(T & val)

inline Read something with a serialize method, the default thing to do with no specific override

template<typename T , size_t n>
SimpleArchiveIn& Vertica::SimpleArchiveIn::operator>>(T(&) val[n])

inline Fixed array

200 - Vertica::SimpleArchiveOut Member List

This is the complete list of members for Vertica::SimpleArchiveOut, including all inherited members.

is_loading typedef (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut
is_saving typedef (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut
operator&(const int64 &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const uint64 &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const long int &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const long unsigned int &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const int32 &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const uint32 &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const int16 &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const uint16 &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const signed char &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const char &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const unsigned char &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const bool &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const double &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const std::basic_string, Alloc > &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const std::vector &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const std::vector &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const std::list &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const std::set &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const std::unordered_set &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const std::pair &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const std::map &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const std::unordered_map &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator&(const T &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
operator, Alloc > &val) Vertica::SimpleArchiveOut inline
operator &val) Vertica::SimpleArchiveOut inline
operator &val) Vertica::SimpleArchiveOut inline
operator &val) Vertica::SimpleArchiveOut inline
operator &val) Vertica::SimpleArchiveOut inline
operator &val) Vertica::SimpleArchiveOut inline
operator &val) Vertica::SimpleArchiveOut inline
operator &val) Vertica::SimpleArchiveOut inline
operator &val) Vertica::SimpleArchiveOut inline
operator>(T &val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
os (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut
read(void *ptr, size_t n) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
serializeSigned(vint val, uint8 *buffer) Vertica::SimpleArchiveOut inlinestatic
SimpleArchiveOut(std::ostream &ostream) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
write(const void *ptr, size_t n) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
writeBool(bool b) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
writeDouble(double d) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
writeInt(int64 val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline
writeUint(uint64 val) (defined in Vertica::SimpleArchiveOut) Vertica::SimpleArchiveOut inline

201 - Vertica::SimpleArchiveOut Struct Reference

Collaboration diagram for Vertica::SimpleArchiveOut:

Public Types
typedef std::false_type is_loading
typedef std::true_type is_saving
Public Member Functions
SimpleArchiveOut (std::ostream &ostream)
void operator& (const int64 &val)
void operator& (const uint64 &val)
void operator& (const long int &val)
void operator& (const long unsigned int &val)
void operator& (const int32 &val)
void operator& (const uint32 &val)
void operator& (const int16 &val)
void operator& (const uint16 &val)
void operator& (const signed char &val)
void operator& (const char &val)
void operator& (const unsigned char &val)
void operator& (const bool &val)
void operator& (const double &val)
template
void operator& (const std::basic_string, Alloc > &val)
template
void operator& (const std::vector &val)
template
void operator& (const std::vector &val)
template
void operator& (const std::list &val)
template
void operator& (const std::set &val)
template
void operator& (const std::unordered_set &val)
template
void operator& (const std::pair &val)
template
void operator& (const std::map &val)
template
void operator& (const std::unordered_map &val)
template
void operator& (const T &val)
SimpleArchiveOut & operator
SimpleArchiveOut & operator, Alloc > &val)
template
SimpleArchiveOut & operator &val)
template
SimpleArchiveOut & operator &val)
template
SimpleArchiveOut & operator &val)
template
SimpleArchiveOut & operator &val)
template
SimpleArchiveOut & operator &val)
template
SimpleArchiveOut & operator &val)
template
SimpleArchiveOut & operator &val)
template
SimpleArchiveOut & operator &val)
template
SimpleArchiveOut & operator
SimpleArchiveOut & operator
SimpleArchiveOut & operator>> (T &val)
void read (void *ptr, size_t n)
void write (const void *ptr, size_t n)
void writeBool (bool b)
void writeDouble (double d)
void writeInt (int64 val)
void writeUint (uint64 val)
Static Public Member Functions
static uint32 serializeSigned (vint val, uint8 *buffer)
Public Attributes
std::ostream & os

Detailed Description

OutputArchive

Member Function Documentation

| SimpleArchiveOut& Vertica::SimpleArchiveOut::operatorinline

Write out a signed integer

| SimpleArchiveOut& Vertica::SimpleArchiveOut::operatorinline

Write out an unsigned integer

| SimpleArchiveOut& Vertica::SimpleArchiveOut::operatorinline

Write out a signed integer

| SimpleArchiveOut& Vertica::SimpleArchiveOut::operatorinline

Write out an unsigned integer

| SimpleArchiveOut& Vertica::SimpleArchiveOut::operatorinline

Write out a signed integer

| SimpleArchiveOut& Vertica::SimpleArchiveOut::operatorinline

Write out an unsigned integer

| SimpleArchiveOut& Vertica::SimpleArchiveOut::operatorinline

Write out a signed char / integer

| SimpleArchiveOut& Vertica::SimpleArchiveOut::operatorinline

Write out a char

| SimpleArchiveOut& Vertica::SimpleArchiveOut::operatorinline

Write out an unsigned char / integer

| SimpleArchiveOut& Vertica::SimpleArchiveOut::operatorinline

Write out a boolean

| SimpleArchiveOut& Vertica::SimpleArchiveOut::operatorinline

Write out a double / float

template<class Alloc >
SimpleArchiveOut& Vertica::SimpleArchiveOut::operator, Alloc > & val )

inline Write out a string

template<class T , class Alloc >
SimpleArchiveOut& Vertica::SimpleArchiveOut::operator & val )

inline Write out a vector

template<class Alloc >
SimpleArchiveOut& Vertica::SimpleArchiveOut::operator & val )

inline Write out a vector

template<class T , class Alloc >
SimpleArchiveOut& Vertica::SimpleArchiveOut::operator & val )

inline Write out a list

template<class T , class Less , class Alloc >
SimpleArchiveOut& Vertica::SimpleArchiveOut::operator & val )

inline Write out a set

template<class T , class Hash , class Eq , class Alloc >
SimpleArchiveOut& Vertica::SimpleArchiveOut::operator & val )

inline Write out an unordered set

template<class T1 , class T2 >
SimpleArchiveOut& Vertica::SimpleArchiveOut::operator & val )

inline Write a pair

template<class K , class V , class Less , class Alloc >
SimpleArchiveOut& Vertica::SimpleArchiveOut::operator & val )

inline Write out a map

template<class K , class V , class Hash , class Eq , class Alloc >
SimpleArchiveOut& Vertica::SimpleArchiveOut::operator & val )

inline Write out an unordered map

template<class T >

| SimpleArchiveOut& Vertica::SimpleArchiveOut::operatorinline

Write out something with a serialize method, the default thing to do with no specific override

template<typename T , size_t n>

| SimpleArchiveOut& Vertica::SimpleArchiveOut::operatorinline

Fixed array

static uint32 Vertica::SimpleArchiveOut::serializeSigned(vint val, uint8 * buffer)

inlinestatic

Returns # of bytes written to buffer. Assumes at least 10 bytes are available in buffer prior to write

202 - Vertica::SizedColumnTypes Class Reference

Represents types and information to determine the size of the columns as input/output of a User Defined Function/Transform.

Inheritance diagram for Vertica::SizedColumnTypes:

Collaboration diagram for Vertica::SizedColumnTypes:

Public Types
using Properties = Field::Properties
Public Member Functions
Fields & addArrayType (const Field &element, const std::string &fieldName="", int maxElems=-1, const Properties &props=Properties())
Fields & addBinary (int32 len, const std::string &fieldName="")
Adds a column of type BINARY.
Fields & addBinary (int32 len, const std::string &fieldName, const Properties &props)
void addBinaryOrderColumn (int32 len, const std::string &fieldName="")
Adds an order column of type BINARY.
void addBinaryPartitionColumn (int32 len, const std::string &fieldName="")
Adds a partition column of type BINARY.
Fields & addBool (const std::string &fieldName="")
Adds a column of type BOOLEAN.
Fields & addBool (const std::string &fieldName, const Properties &props)
void addBoolOrderColumn (const std::string &fieldName="")
Adds an order column of type BOOLEAN.
void addBoolPartitionColumn (const std::string &fieldName="")
Adds a partition column of type BOOLEAN.
Fields & addChar (int32 len, const std::string &fieldName="")
Adds a column of type CHAR.
Fields & addChar (int32 len, const std::string &fieldName, const Properties &props)
void addCharOrderColumn (int32 len, const std::string &fieldName="")
Adds an order column of type CHAR.
void addCharPartitionColumn (int32 len, const std::string &fieldName="")
Adds a partition column of type CHAR.
Fields & addDate (const std::string &fieldName="")
Adds a column of type DATE.
Fields & addDate (const std::string &fieldName, const Properties &props)
void addDateOrderColumn (const std::string &fieldName="")
Adds an order column of type DATE.
void addDatePartitionColumn (const std::string &fieldName="")
Adds a partition column of type DATE.
Fields & addFloat (const std::string &fieldName="")
Adds a column of type FLOAT.
Fields & addFloat (const std::string &fieldName, const Properties &props)
void addFloatOrderColumn (const std::string &fieldName="")
Adds an order column of type FLOAT.
void addFloatPartitionColumn (const std::string &fieldName="")
Adds a partition column of type FLOAT.
Fields & addInt (const std::string &fieldName="")
Adds a column of type INTEGER.
Fields & addInt (const std::string &fieldName, const Properties &props)
Fields & addInterval (int32 precision, int32 range, const std::string &fieldName="")
Adds a column of type INTERVAL/INTERVAL DAY TO SECOND.
Fields & addInterval (int32 precision, int32 range, const std::string &fieldName, const Properties &props)
void addIntervalOrderColumn (int32 precision, int32 range, const std::string &fieldName="")
Adds an order column of type INTERVAL/INTERVAL DAY TO SECOND.
void addIntervalPartitionColumn (int32 precision, int32 range, const std::string &fieldName="")
Adds a partition column of type INTERVAL/INTERVAL DAY TO SECOND.
Fields & addIntervalYM (int32 range, const std::string &fieldName="")
Adds a column of type INTERVAL YEAR TO MONTH.
Fields & addIntervalYM (int32 range, const std::string &fieldName, const Properties &props)
void addIntervalYMOrderColumn (int32 range, const std::string &fieldName="")
Adds an order column of type INTERVAL YEAR TO MONTH.
void addIntervalYMPartitionColumn (int32 range, const std::string &fieldName="")
Adds a partition column of type INTERVAL YEAR TO MONTH.
void addIntOrderColumn (const std::string &fieldName="")
Adds an order column of type INTEGER.
void addIntPartitionColumn (const std::string &fieldName="")
Adds a partition column of type INTEGER.
Fields & addLongVarbinary (int32 len, const std::string &fieldName="")
Adds a column of type LONG VARBINARY.
Fields & addLongVarbinary (int32 len, const std::string &fieldName, const Properties &props)
void addLongVarbinaryOrderColumn (int32 len, const std::string &fieldName="")
Adds an order column of type VARBINARY.
void addLongVarbinaryPartitionColumn (int32 len, const std::string &fieldName="")
Adds a partition column of type VARBINARY.
Fields & addLongVarchar (int32 len, const std::string &fieldName="")
Adds a column of type LONG VARCHAR.
Fields & addLongVarchar (int32 len, const std::string &fieldName, const Properties &props)
void addLongVarcharOrderColumn (int32 len, const std::string &fieldName="")
Adds an order column of type VARCHAR.
void addLongVarcharPartitionColumn (int32 len, const std::string &fieldName="")
Adds a partition column of type VARCHAR.
Fields & addNumeric (int32 precision, int32 scale, const std::string &fieldName="")
Adds a column of type NUMERIC.
Fields & addNumeric (int32 precision, int32 scale, const std::string &fieldName, const Properties &props)
void addNumericOrderColumn (int32 precision, int32 scale, const std::string &fieldName="")
Adds an order column of type NUMERIC.
void addNumericPartitionColumn (int32 precision, int32 scale, const std::string &fieldName="")
Adds a partition column of type NUMERIC.
void addOrderColumn (const VerticaType &dt, const std::string &fieldName="")
Adds an order column of the specified type. (only relevant to multiphase UDTs.)
void addPartitionColumn (const VerticaType &dt, const std::string &fieldName="")
Adds a partition column of the specified type (only relevant to multiphase UDTs.)
Fields & addRowType (const Fields &rowfields, const std::string &fieldName="")
Adds a column of complex row type, with the provided fields.
Fields & addRowType (const Fields &rowfields, const std::string &fieldName, const Properties &props)
void addRowType (const SizedColumnTypes &rowfields, const std::string &fieldName="", const Properties &props=Properties())
Adds a column of complex row type, with the provided fields.
Fields & addTime (int32 precision, const std::string &fieldName="")
Adds a column of type TIME.
Fields & addTime (int32 precision, const std::string &fieldName, const Properties &props)
void addTimeOrderColumn (int32 precision, const std::string &fieldName="")
Adds an order column of type TIME.
void addTimePartitionColumn (int32 precision, const std::string &fieldName="")
Adds a partition column of type TIME.
Fields & addTimestamp (int32 precision, const std::string &fieldName="")
Adds a column of type TIMESTAMP.
Fields & addTimestamp (int32 precision, const std::string &fieldName, const Properties &props)
void addTimestampOrderColumn (int32 precision, const std::string &fieldName="")
Adds an order column of type TIMESTAMP.
void addTimestampPartitionColumn (int32 precision, const std::string &fieldName="")
Adds a partition column of type TIMESTAMP.
Fields & addTimestampTz (int32 precision, const std::string &fieldName="")
Adds a column of type TIMESTAMP WITH TIMEZONE.
Fields & addTimestampTz (int32 precision, const std::string &fieldName, const Properties &props)
void addTimestampTzOrderColumn (int32 precision, const std::string &fieldName="")
Adds an order column of type TIMESTAMP WITH TIMEZONE.
void addTimestampTzPartitionColumn (int32 precision, const std::string &fieldName="")
Adds a partition column of type TIMESTAMP WITH TIMEZONE.
Fields & addTimeTz (int32 precision, const std::string &fieldName="")
Adds a column of type TIME WITH TIMEZONE.
Fields & addTimeTz (int32 precision, const std::string &fieldName, const Properties &props)
void addTimeTzOrderColumn (int32 precision, const std::string &fieldName="")
Adds an order column of type TIME WITH TIMEZONE.
void addTimeTzPartitionColumn (int32 precision, const std::string &fieldName="")
Adds a partition column of type TIME WITH TIMEZONE.
Fields & addUserDefinedType (const char *typeName, int32 len, const std::string &fieldName="")
Adds a column of a user-defined type.
Fields & addUserDefinedType (const char *typeName, int32 len, const std::string &fieldName, const Properties &props)
Fields & addUuid (const std::string &fieldName="")
Adds a column of type UUID.
Fields & addUuid (const std::string &fieldName, const Properties &props)
void addUuidOrderColumn (const std::string &fieldName="")
Adds an order column of type UUID.
Fields & addVarbinary (int32 len, const std::string &fieldName="")
Adds a column of type VARBINARY.
Fields & addVarbinary (int32 len, const std::string &fieldName, const Properties &props)
void addVarbinaryOrderColumn (int32 len, const std::string &fieldName="")
Adds an order column of type VARBINARY.
void addVarbinaryPartitionColumn (int32 len, const std::string &fieldName="")
Adds a partition column of type VARBINARY.
Fields & addVarchar (int32 len, const std::string &fieldName="")
Adds a column of type VARCHAR.
Fields & addVarchar (int32 len, const std::string &fieldName, const Properties &props)
void addVarcharOrderColumn (int32 len, const std::string &fieldName="")
Adds an order column of type VARCHAR.
void addVarcharPartitionColumn (int32 len, const std::string &fieldName="")
Adds a partition column of type VARCHAR.
void getArgumentColumns (std::vector &cols) const
Retrieves indexes of argument columns. Indexes in cols can be used in conjunction with other functions, e.g. getColumnType(size_t) and getColumnName(size_t).
size_t getColumnCount () const
Returns the number of columns.
const std::string & getColumnName (size_t idx) const
Returns the name of the column at the specified index.
const Properties & getColumnProperties (size_t idx) const
Returns column properties.
const VerticaType & getColumnType (size_t idx) const
Returns the type of the column at the specified index.
VerticaType & getColumnType (size_t idx)
Returns the type of the column at the specified index.
int getLastOrderColumnIdx () const
Gets the last ORDER BY column index.
int getLastPartitionColumnIdx () const
Gets the last PARTITION BY column index.
void getOrderByColumns (std::vector &cols) const
Retrieves indexes of ORDER BY columns in the OVER() clause. Indexes in cols can be used in conjunction with other functions, e.g. getColumnType(size_t) and getColumnName(size_t).
void getPartitionByColumns (std::vector &cols) const
Retrieves indexes of PARTITION BY columns in the OVER() clause. Indexes in cols can be used in conjunction with other functions, e.g. getColumnType(size_t) and getColumnName(size_t).
bool isOrderByColumn (int idx) const
Indicates whether the column at the specified index is an ORDER BY column.
bool isPartitionByColumn (int idx) const
Indicates whether the column at the specified index is a PARTITION BY column.
void setColumnProperties (size_t idx, const Properties &props)
Sets column properties.
void setPartitionOrderColumnIdx (int partition_idx, int order_idx)
Sets the PARTITION BY and ORDER BY column indexes.
void setPartitionOrderColumnIdx (const SizedColumnTypes &other)
Sets the PARTITION BY and ORDER BY column indexes from another SizedColumnTypes object.
Protected Member Functions
void validateStringLengthOrThrow (int32 len, const char *typeStr, int32 maxLength)
void validateUDTypeLengthOrThrow (Oid udTypeOid, const char *typeName, int32 len)

Detailed Description

Represents types and information to determine the size of the columns as input/output of a User Defined Function/Transform.

This class is used to exchange size and precision information between Vertica and the user defined function/transform function. Vertica provides the user code with size/precision information about the particular data types that it has been called with, and expects the user code to provide size/precision information about what it will return.

Member Function Documentation

Fields & Vertica::Fields::addBinary(int32 len, const std::string & fieldName = "")

inherited Adds a column of type BINARY.

Parameters

  • len: The length of the binary string.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addBinaryOrderColumn(int32 len, const std::string & fieldName = "")

inline Adds an order column of type BINARY.

Parameters

  • len: The length of the binary string.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addBinaryPartitionColumn(int32 len, const std::string & fieldName = "")

inline Adds a partition column of type BINARY.

Parameters

  • len: The length of the binary string.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addBool(const std::string & fieldName = "")

inherited Adds a column of type BOOLEAN.

Parameters

  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addBoolOrderColumn(const std::string & fieldName = "")

inline Adds an order column of type BOOLEAN.

Parameters

  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addBoolPartitionColumn(const std::string & fieldName = "")

inline Adds a partition column of type BOOLEAN.

Parameters

  • fieldName: The name for the output column.
Fields & Vertica::Fields::addChar(int32 len, const std::string & fieldName = "")

inherited Adds a column of type CHAR.

Parameters

  • len: The length of the string.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addCharOrderColumn(int32 len, const std::string & fieldName = "")

inline Adds an order column of type CHAR.

Parameters

  • len: The length of the string.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addCharPartitionColumn(int32 len, const std::string & fieldName = "")

inline Adds a partition column of type CHAR.

Parameters

  • len: The length of the string.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addDate(const std::string & fieldName = "")

inherited Adds a column of type DATE.

Parameters

  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addDateOrderColumn(const std::string & fieldName = "")

inline Adds an order column of type DATE.

Parameters

  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addDatePartitionColumn(const std::string & fieldName = "")

inline Adds a partition column of type DATE.

Parameters

  • fieldName: The name for the output column.
Fields & Vertica::Fields::addFloat(const std::string & fieldName = "")

inherited Adds a column of type FLOAT.

Parameters

  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addFloatOrderColumn(const std::string & fieldName = "")

inline Adds an order column of type FLOAT.

Parameters

  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addFloatPartitionColumn(const std::string & fieldName = "")

inline Adds a partition column of type FLOAT.

Parameters

  • fieldName: The name for the output column.
Fields & Vertica::Fields::addInt(const std::string & fieldName = "")

inherited Adds a column of type INTEGER.

Parameters

  • fieldName: The name for the output column.
Fields & Vertica::Fields::addInterval(int32 precision, int32 range, const std::string & fieldName = "")

inherited Adds a column of type INTERVAL/INTERVAL DAY TO SECOND.

Parameters

  • precision: The precision for the interval.
  • range: The range for the interval.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addIntervalOrderColumn(int32 precision, int32 range, const std::string & fieldName = "")

inline Adds an order column of type INTERVAL/INTERVAL DAY TO SECOND.

Parameters

  • precision: The precision for the interval.
  • range: The range for the interval.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addIntervalPartitionColumn(int32 precision, int32 range, const std::string & fieldName = "")

inline Adds a partition column of type INTERVAL/INTERVAL DAY TO SECOND.

Parameters

  • precision: The precision for the interval.
  • range: The range for the interval.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addIntervalYM(int32 range, const std::string & fieldName = "")

inherited Adds a column of type INTERVAL YEAR TO MONTH.

Parameters

  • range: The range for the interval.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addIntervalYMOrderColumn(int32 range, const std::string & fieldName = "")

inline Adds an order column of type INTERVAL YEAR TO MONTH.

Parameters

  • range: The range for the interval.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addIntervalYMPartitionColumn(int32 range, const std::string & fieldName = "")

inline Adds a partition column of type INTERVAL YEAR TO MONTH.

Parameters

  • range: The range for the interval.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addIntOrderColumn(const std::string & fieldName = "")

inline Adds an order column of type INTEGER.

Parameters

  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addIntPartitionColumn(const std::string & fieldName = "")

inline Adds a partition column of type INTEGER.

Parameters

  • fieldName: The name for the output column.
Fields & Vertica::Fields::addLongVarbinary(int32 len, const std::string & fieldName = "")

inherited Adds a column of type LONG VARBINARY.

Parameters

  • len: The length of the binary string.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addLongVarbinaryOrderColumn(int32 len, const std::string & fieldName = "")

inline Adds an order column of type VARBINARY.

Parameters

  • len: The length of the binary string.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addLongVarbinaryPartitionColumn(int32 len, const std::string & fieldName = "")

inline Adds a partition column of type VARBINARY.

Parameters

  • len: The length of the binary string.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addLongVarchar(int32 len, const std::string & fieldName = "")

inherited Adds a column of type LONG VARCHAR.

Parameters

  • len: The length of the string.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addLongVarcharOrderColumn(int32 len, const std::string & fieldName = "")

inline Adds an order column of type VARCHAR.

Parameters

  • len: The length of the string.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addLongVarcharPartitionColumn(int32 len, const std::string & fieldName = "")

inline Adds a partition column of type VARCHAR.

Parameters

  • len: The length of the string.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addNumeric(int32 precision, int32 scale, const std::string & fieldName = "")

inherited Adds a column of type NUMERIC.

Parameters

  • precision: The precision for the numeric value.
  • scale: The scale for the numeric value.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addNumericOrderColumn(int32 precision, int32 scale, const std::string & fieldName = "")

inline Adds an order column of type NUMERIC.

Parameters

  • precision: The precision for the numeric value.
  • scale: The scale for the numeric value.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addNumericPartitionColumn(int32 precision, int32 scale, const std::string & fieldName = "")

inline Adds a partition column of type NUMERIC.

Parameters

  • precision: The precision for the numeric value.
  • scale: The scale for the numeric value.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addRowType(const Fields & rowfields, const std::string & fieldName = "")

inherited Adds a column of complex row type, with the provided fields.

Parameters

  • rowfields: the fields of the complex row type
  • fieldName: the name of the added field

Referenced by addRowType().

void Vertica::SizedColumnTypes::addRowType(const SizedColumnTypes & rowfields, const std::string & fieldName = "", const Properties & props = Properties())

inline Adds a column of complex row type, with the provided fields.

Parameters

  • rowfields: the fields of the complex type row
  • fieldName: the name of the complex row field
  • props: optional field properties
Fields & Vertica::Fields::addTime(int32 precision, const std::string & fieldName = "")

inherited Adds a column of type TIME.

Parameters

  • precision: The precision for the time.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addTimeOrderColumn(int32 precision, const std::string & fieldName = "")

inline Adds an order column of type TIME.

Parameters

  • precision: The precision for the time.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addTimePartitionColumn(int32 precision, const std::string & fieldName = "")

inline Adds a partition column of type TIME.

Parameters

  • precision: The precision for the time.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addTimestamp(int32 precision, const std::string & fieldName = "")

inherited Adds a column of type TIMESTAMP.

Parameters

  • precision: The precision for the timestamp.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addTimestampOrderColumn(int32 precision, const std::string & fieldName = "")

inline Adds an order column of type TIMESTAMP.

Parameters

  • precision: The precision for the timestamp.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addTimestampPartitionColumn(int32 precision, const std::string & fieldName = "")

inline Adds a partition column of type TIMESTAMP.

Parameters

  • precision: The precision for the timestamp.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addTimestampTz(int32 precision, const std::string & fieldName = "")

inherited Adds a column of type TIMESTAMP WITH TIMEZONE.

Parameters

  • precision: The precision for the timestamp.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addTimestampTzOrderColumn(int32 precision, const std::string & fieldName = "")

inline Adds an order column of type TIMESTAMP WITH TIMEZONE.

Parameters

  • precision: The precision for the timestamp.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addTimestampTzPartitionColumn(int32 precision, const std::string & fieldName = "")

inline Adds a partition column of type TIMESTAMP WITH TIMEZONE.

Parameters

  • precision: The precision for the timestamp.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addTimeTz(int32 precision, const std::string & fieldName = "")

inherited Adds a column of type TIME WITH TIMEZONE.

Parameters

  • precision: The precision for the time.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addTimeTzOrderColumn(int32 precision, const std::string & fieldName = "")

inline Adds an order column of type TIME WITH TIMEZONE.

Parameters

  • precision: The precision for the time.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addTimeTzPartitionColumn(int32 precision, const std::string & fieldName = "")

inline Adds a partition column of type TIME WITH TIMEZONE.

Parameters

  • precision: The precision for the time.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addUserDefinedType(const char * typeName, int32 len, const std::string & fieldName = "")

inherited Adds a column of a user-defined type.

Parameters

  • typeName: the name of the type
  • len: the length of the type field, in bytes
  • fieldName: the name of the field
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addUuid(const std::string & fieldName = "")

inherited Adds a column of type UUID.

Parameters

  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addUuidOrderColumn(const std::string & fieldName = "")

inline Adds an order column of type UUID.

Parameters

  • fieldName: The name for the output column.
Fields & Vertica::Fields::addVarbinary(int32 len, const std::string & fieldName = "")

inherited Adds a column of type VARBINARY.

Parameters

  • len: The length of the binary string.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addVarbinaryOrderColumn(int32 len, const std::string & fieldName = "")

inline Adds an order column of type VARBINARY.

Parameters

  • len: The length of the binary string.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addVarbinaryPartitionColumn(int32 len, const std::string & fieldName = "")

inline Adds a partition column of type VARBINARY.

Parameters

  • len: The length of the binary string.
  • fieldName: The name for the output column.
Fields & Vertica::Fields::addVarchar(int32 len, const std::string & fieldName = "")

inherited Adds a column of type VARCHAR.

Parameters

  • len: The length of the string.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addVarcharOrderColumn(int32 len, const std::string & fieldName = "")

inline Adds an order column of type VARCHAR.

Parameters

  • len: The length of the string.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::addVarcharPartitionColumn(int32 len, const std::string & fieldName = "")

inline Adds a partition column of type VARCHAR.

Parameters

  • len: The length of the string.
  • fieldName: The name for the output column.
void Vertica::SizedColumnTypes::getArgumentColumns(std::vector & cols) const

inline Retrieves indexes of argument columns. Indexes in cols can be used in conjunction with other functions, e.g. getColumnType(size_t) and getColumnName(size_t).

Parameters

  • cols: A vector to store the retrieved column indexes.
const std::string& Vertica::SizedColumnTypes::getColumnName(size_t idx) const

inline Returns the name of the column at the specified index.

Parameters

  • idx: The index of the column

Referenced by Vertica::ParserFactory::getParserReturnType().

const Properties& Vertica::SizedColumnTypes::getColumnProperties(size_t idx) const

inline Returns column properties.

Parameters

  • idx: The index of the column
const VerticaType& Vertica::SizedColumnTypes::getColumnType(size_t idx) const

inline Returns the type of the column at the specified index.

Parameters

  • idx: The index of the column

Returns a VerticaType object describing the column's data type.

Referenced by

VerticaType& Vertica::SizedColumnTypes::getColumnType(size_t idx)

inline Returns the type of the column at the specified index.

Parameters

  • idx: The index of the column
void Vertica::SizedColumnTypes::getOrderByColumns(std::vector & cols) const

inline Retrieves indexes of ORDER BY columns in the OVER() clause. Indexes in cols can be used in conjunction with other functions, e.g. getColumnType(size_t) and getColumnName(size_t).

Parameters

  • cols: A vector to store the retrieved column indexes.
void Vertica::SizedColumnTypes::getPartitionByColumns(std::vector & cols) const

inline Retrieves indexes of PARTITION BY columns in the OVER() clause. Indexes in cols can be used in conjunction with other functions, e.g. getColumnType(size_t) and getColumnName(size_t).

Parameters

  • cols: A vector to store the retrieved column indexes.
bool Vertica::SizedColumnTypes::isOrderByColumn(int idx) const

inline Indicates whether the column at the specified index is an ORDER BY column.

Parameters

  • idx: The index of the column
bool Vertica::SizedColumnTypes::isPartitionByColumn(int idx) const

inline Indicates whether the column at the specified index is a PARTITION BY column.

Parameters

  • idx: The index of the column
void Vertica::SizedColumnTypes::setColumnProperties(size_t idx, const Properties & props)

inline Sets column properties.

Parameters

  • idx: The index of the column
void Vertica::SizedColumnTypes::setPartitionOrderColumnIdx(int partition_idx, int order_idx)

inline Sets the PARTITION BY and ORDER BY column indexes.

Parameters

  • partition_idx: Index of the last partition-by column
  • order_idx: Index of the last order-by column
void Vertica::SizedColumnTypes::setPartitionOrderColumnIdx(const SizedColumnTypes & other)

inline Sets the PARTITION BY and ORDER BY column indexes from another SizedColumnTypes object.

Parameters

  • other: The SizedColumnTypes object to set the indexes from

203 - Vertica::SizedColumnTypes Member List

This is the complete list of members for Vertica::SizedColumnTypes, including all inherited members.

addArrayType(const Field &element, const std::string &fieldName="", int maxElems=-1, const Properties &props=Properties()) (defined in Vertica::Fields) Vertica::Fields
addBinary(int32 len, const std::string &fieldName="") Vertica::Fields
addBinary(int32 len, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addBinaryOrderColumn(int32 len, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addBinaryPartitionColumn(int32 len, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addBool(const std::string &fieldName="") Vertica::Fields
addBool(const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addBoolOrderColumn(const std::string &fieldName="") Vertica::SizedColumnTypes inline
addBoolPartitionColumn(const std::string &fieldName="") Vertica::SizedColumnTypes inline
addChar(int32 len, const std::string &fieldName="") Vertica::Fields
addChar(int32 len, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addCharOrderColumn(int32 len, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addCharPartitionColumn(int32 len, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addDate(const std::string &fieldName="") Vertica::Fields
addDate(const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addDateOrderColumn(const std::string &fieldName="") Vertica::SizedColumnTypes inline
addDatePartitionColumn(const std::string &fieldName="") Vertica::SizedColumnTypes inline
addFloat(const std::string &fieldName="") Vertica::Fields
addFloat(const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addFloatOrderColumn(const std::string &fieldName="") Vertica::SizedColumnTypes inline
addFloatPartitionColumn(const std::string &fieldName="") Vertica::SizedColumnTypes inline
addInt(const std::string &fieldName="") Vertica::Fields
addInt(const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addInterval(int32 precision, int32 range, const std::string &fieldName="") Vertica::Fields
addInterval(int32 precision, int32 range, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addIntervalOrderColumn(int32 precision, int32 range, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addIntervalPartitionColumn(int32 precision, int32 range, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addIntervalYM(int32 range, const std::string &fieldName="") Vertica::Fields
addIntervalYM(int32 range, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addIntervalYMOrderColumn(int32 range, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addIntervalYMPartitionColumn(int32 range, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addIntOrderColumn(const std::string &fieldName="") Vertica::SizedColumnTypes inline
addIntPartitionColumn(const std::string &fieldName="") Vertica::SizedColumnTypes inline
addLongVarbinary(int32 len, const std::string &fieldName="") Vertica::Fields
addLongVarbinary(int32 len, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addLongVarbinaryOrderColumn(int32 len, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addLongVarbinaryPartitionColumn(int32 len, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addLongVarchar(int32 len, const std::string &fieldName="") Vertica::Fields
addLongVarchar(int32 len, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addLongVarcharOrderColumn(int32 len, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addLongVarcharPartitionColumn(int32 len, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addNumeric(int32 precision, int32 scale, const std::string &fieldName="") Vertica::Fields
addNumeric(int32 precision, int32 scale, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addNumericOrderColumn(int32 precision, int32 scale, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addNumericPartitionColumn(int32 precision, int32 scale, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addOrderColumn(const VerticaType &dt, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addPartitionColumn(const VerticaType &dt, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addRowType(const SizedColumnTypes &rowfields, const std::string &fieldName="", const Properties &props=Properties()) Vertica::SizedColumnTypes inline
Vertica::Fields::addRowType(const Fields &rowfields, const std::string &fieldName="") Vertica::Fields
addRowType(const Fields &rowfields, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addTime(int32 precision, const std::string &fieldName="") Vertica::Fields
addTime(int32 precision, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addTimeOrderColumn(int32 precision, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addTimePartitionColumn(int32 precision, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addTimestamp(int32 precision, const std::string &fieldName="") Vertica::Fields
addTimestamp(int32 precision, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addTimestampOrderColumn(int32 precision, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addTimestampPartitionColumn(int32 precision, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addTimestampTz(int32 precision, const std::string &fieldName="") Vertica::Fields
addTimestampTz(int32 precision, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addTimestampTzOrderColumn(int32 precision, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addTimestampTzPartitionColumn(int32 precision, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addTimeTz(int32 precision, const std::string &fieldName="") Vertica::Fields
addTimeTz(int32 precision, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addTimeTzOrderColumn(int32 precision, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addTimeTzPartitionColumn(int32 precision, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addUserDefinedType(const char *typeName, int32 len, const std::string &fieldName="") Vertica::Fields
addUserDefinedType(const char *typeName, int32 len, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addUuid(const std::string &fieldName="") Vertica::Fields
addUuid(const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addUuidOrderColumn(const std::string &fieldName="") Vertica::SizedColumnTypes inline
addVarbinary(int32 len, const std::string &fieldName="") Vertica::Fields
addVarbinary(int32 len, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addVarbinaryOrderColumn(int32 len, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addVarbinaryPartitionColumn(int32 len, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addVarchar(int32 len, const std::string &fieldName="") Vertica::Fields
addVarchar(int32 len, const std::string &fieldName, const Properties &props) (defined in Vertica::Fields) Vertica::Fields
addVarcharOrderColumn(int32 len, const std::string &fieldName="") Vertica::SizedColumnTypes inline
addVarcharPartitionColumn(int32 len, const std::string &fieldName="") Vertica::SizedColumnTypes inline
Fields() (defined in Vertica::Fields) Vertica::Fields inline
getArgumentColumns(std::vector &cols) const Vertica::SizedColumnTypes inline
getColumnCount() const Vertica::SizedColumnTypes inline
getColumnName(size_t idx) const Vertica::SizedColumnTypes inline
getColumnProperties(size_t idx) const Vertica::SizedColumnTypes inline
getColumnType(size_t idx) const Vertica::SizedColumnTypes inline
getColumnType(size_t idx) Vertica::SizedColumnTypes inline
getLastOrderColumnIdx() const Vertica::SizedColumnTypes inline
getLastPartitionColumnIdx() const Vertica::SizedColumnTypes inline
getOrderByColumns(std::vector &cols) const Vertica::SizedColumnTypes inline
getPartitionByColumns(std::vector &cols) const Vertica::SizedColumnTypes inline
isOrderByColumn(int idx) const Vertica::SizedColumnTypes inline
isPartitionByColumn(int idx) const Vertica::SizedColumnTypes inline
Properties typedef (defined in Vertica::SizedColumnTypes) Vertica::SizedColumnTypes
setColumnProperties(size_t idx, const Properties &props) Vertica::SizedColumnTypes inline
setPartitionOrderColumnIdx(int partition_idx, int order_idx) Vertica::SizedColumnTypes inline
setPartitionOrderColumnIdx(const SizedColumnTypes &other) Vertica::SizedColumnTypes inline
validateStringLengthOrThrow(int32 len, const char *typeStr, int32 maxLength) (defined in Vertica::Fields) Vertica::Fields protected
validateUDTypeLengthOrThrow(Oid udTypeOid, const char *typeName, int32 len) (defined in Vertica::Fields) Vertica::Fields protected

204 - Vertica::SourceFactory Class Reference

Produces and initializes UDSources to process input data sources.

Inheritance diagram for Vertica::SourceFactory:

Collaboration diagram for Vertica::SourceFactory:

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 ssize_t getDesiredThreads (ServerInterface &srvInterface, ExecutorPlanContext &planCtxt) override
virtual void getParameterType (ServerInterface &srvInterface, SizedColumnTypes meterTypes)
virtual void getPerInstanceResources (ServerInterface &srvInterface, VResources &res) override
virtual void getPerInstanceResources (ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) override
UDXFactory::UDXType getUDXFactoryType () override
virtual bool isSourceApportionable ()
virtual void plan (ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt) override
virtual SourceIterator * prepare (ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt)
virtual SourceIterator * prepareExecutor (ServerInterface &srvInterface, ExecutorPlanContext &planCtxt)
virtual std::vector prepareUDSources (ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt)
virtual std::vector prepareUDSourcesExecutor (ServerInterface &srvInterface, ExecutorPlanContext &planCtxt)
Protected Attributes
Oid libOid
std::string sqlName

Detailed Description

Produces and initializes UDSources to process input data sources.

Subclassing SourceFactory is the preferred way to implement a factory corresponding to a UDSource. If you need more flexibility, implement both IterativeSourceFactory and SourceIterator. (See the documentation of IterativeSourceFactory.)

Factories should be registered using the RegisterFactory() macro, defined in Vertica.h.

Member Enumeration Documentation

enum Vertica::UDXFactory::UDXType

inherited The type of UDX instance this factory produces

Member Function Documentation

virtual ssize_t Vertica::SourceFactory::getDesiredThreads(ServerInterface & srvInterface, ExecutorPlanContext & planCtxt)

inlinevirtual

Request the number of threads that the SourceFactory wants to use. This function is called on each node before prepareUDSources().

'planCtxt' contains the same parameters stored by plan(). It exposes the maximum number of allowed threads, via 'getMaxAllowedThreads()', and also the actual number of threads, via 'getLoadConcurrency()'.

The default implementation of this invokes prepare(), saves the result in the ExecutorPlanContext, and returns the number of sources as the number of desired threads.

Reimplemented from Vertica::IterativeSourceFactory.

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

inlinevirtualinherited

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.

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

inlinevirtualinherited

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 from Vertica::UDXFactory.

Referenced by Vertica::UDLFactory::getPerInstanceResources().

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

inlinevirtualinherited

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 from Vertica::UDXFactory.

UDXFactory::UDXType Vertica::IterativeSourceFactory::getUDXFactoryType()

inlinevirtualinherited

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.

Implements Vertica::UDXFactory.

virtual void Vertica::SourceFactory::plan(ServerInterface & srvInterface, NodeSpecifyingPlanContext & planCtxt)

inlinevirtual

Execute any planning logic required at query plan time. This method is run once per query, during query initialization. Its job is to perform parameter validation, and to modify the set of nodes that the COPY statement will run on.

plan() runs exactly once per query, on the initiator node. If it throws an exception, the query will not proceed; it will be aborted prior to distributing the query to the other nodes and running prepare().

Parameters

  • srvInterface: Interface to server operations and functionality, including (not-per-column) parameter lookup
  • planCtxt: Context for storing and retrieving arbitrary data, for use just by this instance of this query. The same context is shared with plan(). Also provides functionality for specifying which nodes this query will run on.

Reimplemented from Vertica::IterativeSourceFactory.

virtual SourceIterator* Vertica::IterativeSourceFactory::prepareExecutor(ServerInterface & srvInterface, ExecutorPlanContext & planCtxt)

inlinevirtualinherited

Prepare this SourceFactory to start creating sources. This function will be called on each node, prior to the Load operator starting to execute and prior to any other virtual functions on this class being called.

'planCtxt' contains the same data that was placed there by the plan() and getDesiredThreads() methods.

Referenced by getDesiredThreads().

virtual std::vector Vertica::SourceFactory::prepareUDSourcesExecutor(ServerInterface & srvInterface, ExecutorPlanContext & planCtxt)

inlinevirtual

Create UDSources. This function will be called on each node, prior to the Load operator starting to execute and prior to any other virtual functions on this class being called.

'planCtxt' contains the same data that was placed there by the plan() and getDesiredThreads() methods. It also exposes the maximum execution parallelism with 'getMaxAllowedThreads()' and the actual load concurrency with 'getLoadConcurrency()'.

Unlike the standard SourceFactory, this method directly instantiates all of its UDSources, and returns a vector of them. This requires that all UDSources be resident in memory for the duration of the query, which is fine in the common case but which may not be acceptable for some resource-intensive UDSources.

Parameters

  • srvInterface: Interface to server operations and functionality, including (not-per-column) parameter lookup
  • planCtxt: Context for storing and retrieving arbitrary data, for use just by this instance of this query. The same context is shared with plan() and getDesiredThreads(). Also provides functionality for determining which nodes this query is running on and getting the number of available threads.

Returns A vector of UDSources to use for this query. Sources will be loaded in a pooled manner, several at a time.

205 - Vertica::SourceFactory Member List

This is the complete list of members for Vertica::SourceFactory, including all inherited members.

AGGREGATE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
ANALYTIC enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
CURSOR_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
FILESYSTEM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
getDesiredThreads(ServerInterface &srvInterface, ExecutorPlanContext &planCtxt) override Vertica::SourceFactory inlinevirtual
getParameterType(ServerInterface &srvInterface, SizedColumnTypes meterTypes) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res) override Vertica::UDLFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) override Vertica::UDLFactory inlinevirtual
getUDXFactoryType() override Vertica::IterativeSourceFactory inlinevirtual
isSourceApportionable() (defined in Vertica::IterativeSourceFactory) Vertica::IterativeSourceFactory inlinevirtual
KEYMANAGER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
libOid (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
LOAD_FILTER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_PARSER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_SOURCE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
MULTI_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
plan(ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt) override Vertica::SourceFactory inlinevirtual
prepare(ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt) (defined in Vertica::IterativeSourceFactory) Vertica::IterativeSourceFactory inlinevirtual
prepareExecutor(ServerInterface &srvInterface, ExecutorPlanContext &planCtxt) Vertica::IterativeSourceFactory inlinevirtual
prepareUDSources(ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt) (defined in Vertica::SourceFactory) Vertica::SourceFactory inlinevirtual
prepareUDSourcesExecutor(ServerInterface &srvInterface, ExecutorPlanContext &planCtxt) Vertica::SourceFactory inlinevirtual
SCALAR enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
sqlName (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
TYPE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
UDXType enum name Vertica::UDXFactory
~UDLFactory() (defined in Vertica::UDLFactory) Vertica::UDLFactory inlinevirtual
~UDXFactory() (defined in Vertica::UDXFactory) Vertica::UDXFactory inlinevirtual

206 - Vertica::SourceIterator Class Reference

Constructs a set of Sources to be used by an IterativeSourceFactory.

Inheritance diagram for Vertica::SourceIterator:

Collaboration diagram for Vertica::SourceIterator:

Public Member Functions
void cancelUDX (ServerInterface &srvInterface)
virtual UnsizedUDSource * createNextSource (ServerInterface &srvInterface)=0
Create the next UDSource to process.
virtual void destroy (ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt)
Tear down this SourceIterator.
virtual size_t getNumberOfSources ()=0
indicate an upper bound for the number of sources this factory will produce.
virtual size_t getSizeOfSource (size_t sourceNum)
bool isCanceled () const
virtual void setup (ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt)
Set up this SourceIterator.
Protected Member Functions
virtual void cancel (ServerInterface &srvInterface)

Detailed Description

Constructs a set of Sources to be used by an IterativeSourceFactory.

Wrappers to help construct and manage UDLs createNextSource() will be called repeatedly until it returns NULL. Each resulting Source will be read to completion, and the contained data passed to the Filter and Parser.

Member Function Documentation

virtual void Vertica::UDXObject::cancel(ServerInterface & srvInterface)

inlineprotectedvirtualinherited

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

Note

  • 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 or destructor). 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.

Referenced by Vertica::UDXObject::cancelUDX().

void Vertica::UDXObject::cancelUDX(ServerInterface & srvInterface)

inline inherited Cancel callback invoked when the query running the UDX has been canceled. See cancel().

virtual UnsizedUDSource* Vertica::SourceIterator::createNextSource(ServerInterface & srvInterface)

pure virtual Create the next UDSource to process.

Should return NULL if no further sources are available for processing.

Note that the previous Source may still be open and in use on a different thread when this function is called.

Returns a new Source instance corresponding to a new input stream

Implemented in Vertica::DefaultSourceIterator.

virtual void Vertica::SourceIterator::destroy(ServerInterface & srvInterface, NodeSpecifyingPlanContext & planCtxt)

inlinevirtual

Tear down this SourceIterator.

Should perform clean-up that should not take place in the destructor due to the exception-handling semantics of destructors.

virtual size_t Vertica::SourceIterator::getNumberOfSources()

pure virtual indicate an upper bound for the number of sources this factory will produce.

If this method returns N, then createNextSource() will be called at most N times ("at most" because it will stop being called when it returns NULL).

Returns the maximum number of Sources that this factory will produce

Implemented in Vertica::DefaultSourceIterator.

Referenced by Vertica::SourceFactory::getDesiredThreads().

virtual size_t Vertica::SourceIterator::getSizeOfSource(size_t sourceNum)

inlinevirtual

Returns the raw-data size of the sourceNum'th source that will be produced by createNextSource(). Should return vint_null if the size is unknown.

This value is used as a hint, and is used by the "load_streams" table to display load progress. If incorrect or not set, "load_streams" may contain incorrect or unhelpful information.

Reimplemented in Vertica::DefaultSourceIterator.

bool Vertica::UDXObject::isCanceled() const

inline inherited Returns true iff this UDX has been canceled

virtual void Vertica::SourceIterator::setup(ServerInterface & srvInterface, NodeSpecifyingPlanContext & planCtxt)

inlinevirtual

Set up this SourceIterator.

Should perform setup that should not take place in the constructor due to the exception-handling semantics of constructors

207 - Vertica::SourceIterator Member List

This is the complete list of members for Vertica::SourceIterator, including all inherited members.

cancel(ServerInterface &srvInterface) Vertica::UDXObject inlineprotectedvirtual
cancelUDX(ServerInterface &srvInterface) Vertica::UDXObject inline
createNextSource(ServerInterface &srvInterface)=0 Vertica::SourceIterator pure virtual
destroy(ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt) Vertica::SourceIterator inlinevirtual
getNumberOfSources()=0 Vertica::SourceIterator pure virtual
getSizeOfSource(size_t sourceNum) Vertica::SourceIterator inlinevirtual
isCanceled() const Vertica::UDXObject inline
setup(ServerInterface &srvInterface, NodeSpecifyingPlanContext &planCtxt) Vertica::SourceIterator inlinevirtual
UDXObject() (defined in Vertica::UDXObject) Vertica::UDXObject inline
~SourceIterator() (defined in Vertica::SourceIterator) Vertica::SourceIterator inlinevirtual
~UDXObject() Vertica::UDXObject inlinevirtual

208 - Vertica::SplitArchiver< false, Archive, T > Member List

This is the complete list of members for Vertica::SplitArchiver, including all inherited members.

archive(Archive &ar, T &t, const unsigned int serializer_version) (defined in Vertica::SplitArchiver) Vertica::SplitArchiver inlinestatic

209 - Vertica::SplitArchiver< false, Archive, T > Struct Template Reference

Collaboration diagram for Vertica::SplitArchiver< false, Archive, T >:

Static Public Member Functions
static void archive (Archive &ar, T &t, const unsigned int serializer_version)

210 - Vertica::SplitArchiver< saving, Archive, T > Struct Template Reference

Collaboration diagram for Vertica::SplitArchiver< saving, Archive, T >:

211 - Vertica::SplitArchiver< true, Archive, T > Member List

This is the complete list of members for Vertica::SplitArchiver, including all inherited members.

archive(Archive &ar, T &t, const unsigned int serializer_version) (defined in Vertica::SplitArchiver) Vertica::SplitArchiver inlinestatic

212 - Vertica::SplitArchiver< true, Archive, T > Struct Template Reference

Collaboration diagram for Vertica::SplitArchiver< true, Archive, T >:

Static Public Member Functions
static void archive (Archive &ar, T &t, const unsigned int serializer_version)

213 - Vertica::StreamWriter Class Reference

Provides an iterator-based write interface over output data for a stream of blocks. Automatically makes space a block-at-a-time, as needed.

Inheritance diagram for Vertica::StreamWriter:

Collaboration diagram for Vertica::StreamWriter:

Public Member Functions
StreamWriter (size_t narg, void *udl)
void copy (const VerticaBlock &other)
void copyFromInput (size_t dstIdx, const BlockReader &input_reader, size_t srcIdx)
void copyFromInput (const BlockReader &input_reader)
Array::ArrayWriter getArrayRef (size_t idx)
template
const T * getColPtr (size_t idx) const
template<>
const VString * getColPtr (size_t idx) const
template<>
const VNumeric * getColPtr (size_t idx) const
template<>
const VUuid * getColPtr (size_t idx) const
template<>
const BlockReader * getColPtr (size_t idx) const
template
T * getColPtrForWrite (size_t idx)
template<>
VString * getColPtrForWrite (size_t idx)
template<>
VNumeric * getColPtrForWrite (size_t idx)
template<>
VUuid * getColPtrForWrite (size_t idx)
template<>
BlockWriter * getColPtrForWrite (size_t idx)
template
const T & getColRef (size_t idx) const
template
T & getColRefForWrite (size_t idx)
int getColStride (size_t idx) const
PartitionWriterColumns getColumns ()
const EE::DataArea * getDataArea (size_t idx) const
size_t getNumCols () const
VNumeric & getNumericRef (size_t idx)
int getNumRows () const
BlockWriter * getRowPtr (size_t idx)
BlockWriter & getRowRef (size_t idx)
Get a reference for writing an output Row value.
VString & getStringRef (size_t idx)
VString & getStringRefNoClear (size_t idx)
uint64 getTotalRowCount () const
const SizedColumnTypes & getTypeMetaData () const
SizedColumnTypes & getTypeMetaData ()
VUuid & getUuidRef (size_t idx)
const void * getVoidPtr (size_t idx=0) const
void * getVoidPtr (size_t idx)
virtual bool getWriteableBlock () override
bool next ()
bool remaining () const
void setBool (size_t idx, vbool r)
void setDataArea (size_t idx, void *dataarea)
void setDate (size_t idx, DateADT r)
void setFloat (size_t idx, vfloat r)
void setInt (size_t idx, vint r)
void setInterval (size_t idx, Interval r)
void setIntervalYM (size_t idx, IntervalYM r)
void setNull (size_t idx)
Set the idx'th argument to null. If a column has the canBeNull attribute set to false, then this throws an exception.
void setNull (size_t idx, bool enforceNotNullProperty)
Set the idx'th argument to null.
void setTime (size_t idx, TimeADT r)
void setTimestamp (size_t idx, Timestamp r)
void setTimestampTz (size_t idx, TimestampTz r)
void setTimeTz (size_t idx, TimeTzADT r)
void throwIncorrectUsageError (size_t idx)
Protected Member Functions
void addCol (char *arg, int colstride, const Field &field)
void addCol (const char *arg, int colstride, const Field &field)
bool checkStringUserBlockInfo (size_t idx) const
bool checkTimeUserBlockInfo (size_t idx) const
bool commitPrefilledRows (int nRows)
EE::DataArea ** getArrayIntermediateDataArea (size_t c)
void reset ()
void resetIndex ()
void setRowCount (int rowCount)
void validateStringColumn (size_t idx, const VString &s, size_t colLength) const
Protected Attributes
union {
EE::UserDefinedAnalytic * udan
EE::UserDefinedTransform * udt
EE::UserDefinedProcess * udx_object
};
std::vector cols
std::vector colstrides
int count
std::vector ctWrappers
uint64 cumulative_rows
int index
const int * indices
size_t ncols
int nrows
void * parent
std::vector processBlockUserInfoVector
int pstart
std::vector svWrappers
SizedColumnTypes typeMetaData
std::vector uuWrappers
std::vector vnWrappers
Friends
class EE::Loader::UserDefinedLoad

Detailed Description

Provides an iterator-based write interface over output data for a stream of blocks. Automatically makes space a block-at-a-time, as needed.

Member Function Documentation

void Vertica::VerticaBlock::addCol(char * arg, int colstride, const Field & field)

protected inherited Add the location for reading a particular argument.

Parameters

  • arg: The base location to find data.
  • colstride: The stride between data instances.
  • field: metadata for the added column
  • dt: The type of input.
  • fieldname: the name of the field

Referenced by Vertica::ParamReader::addParameter().

void Vertica::PartitionWriter::copyFromInput(size_t dstIdx, const BlockReader & input_reader, size_t srcIdx)

inherited Copies a column from the input reader to the output writer. Raises an error if the input and output data types are not compatible.

Parameters

  • dstIdx: The destination column index (in the output writer)
  • input_reader: The input reader from which to copy a column
  • srcIdx: The source column index (in the input reader)
EE::DataArea** Vertica::VerticaBlock::getArrayIntermediateDataArea(size_t c)

inlineprotectedinherited

Returns a pointer to a DataArea for accumulating an intermediate result

template<class T >
const T* Vertica::VerticaBlock::getColPtr(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example:

const vint *a = arg_reader->getColPtr(0);
template<class T >
const T& Vertica::VerticaBlock::getColRef(size_t idx) const

inline inherited Returns a pointer to the idx'th argument, cast appropriately.

Example

const vint a = arg_reader->getColRef<vint>(0);
size_t Vertica::VerticaBlock::getNumCols() const

inline inherited Returns the number of columns held by this block.

Referenced by

int Vertica::VerticaBlock::getNumRows() const

inline inherited Returns the number of rows held by this block.

BlockWriter& Vertica::PartitionWriter::getRowRef(size_t idx)

inline inherited Get a reference for writing an output Row value.

Parameters

  • idx: the output column

Returns a reference to a BlockWriter which holds output data for the Row value's fields

const SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData() const

inline inherited Returns information about the types and numbers of arguments

Referenced by

SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData()

inline inherited Returns information about the types and numbers of arguments

virtual bool Vertica::StreamWriter::getWriteableBlock()

virtual

Gets a writeable block of data and positions cursor at the beginning.

Reimplemented from Vertica::PartitionWriter.

bool Vertica::VerticaBlock::remaining() const

inline inherited Returns the number of entries remaining in the block

void Vertica::PartitionWriter::setInt(size_t idx, vint r)

inline inherited Setter methods

void Vertica::PartitionWriter::setNull(size_t idx)

inline inherited Set the idx'th argument to null. If a column has the canBeNull attribute set to false, then this throws an exception.

Parameters

  • idx: The column number in the row to set to null
void Vertica::PartitionWriter::setNull(size_t idx, bool enforceNotNullProperty)

inline inherited Set the idx'th argument to null.

Parameters

  • idx: The column number in the row to set to null
  • enforceNotNullProperty: If false, do not throw an exception if canBeNull is false.

214 - Vertica::StreamWriter Member List

This is the complete list of members for Vertica::StreamWriter, including all inherited members.

addCol(char *arg, int colstride, const Field &field) Vertica::VerticaBlock protected
addCol(const char *arg, int colstride, const Field &field) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
checkStringUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
checkTimeUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
cols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
colstrides (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
commitPrefilledRows(int nRows) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inlineprotected
copy(const VerticaBlock &other) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
copyFromInput(size_t dstIdx, const BlockReader &input_reader, size_t srcIdx) Vertica::PartitionWriter
copyFromInput(const BlockReader &input_reader) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
count (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
ctWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
cumulative_rows (defined in Vertica::StreamWriter) Vertica::StreamWriter protected
EE::Loader::UserDefinedLoad (defined in Vertica::StreamWriter) Vertica::StreamWriter friend
getArrayIntermediateDataArea(size_t c) Vertica::VerticaBlock inlineprotected
getArrayRef(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter
getColPtr(size_t idx) const Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColRef(size_t idx) const Vertica::VerticaBlock inline
getColRefForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColStride(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColumns() (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getDataArea(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getNumCols() const Vertica::VerticaBlock inline
getNumericRef(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getNumRows() const Vertica::VerticaBlock inline
getRowPtr(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getRowRef(size_t idx) Vertica::PartitionWriter inline
getStringRef(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getStringRefNoClear(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getTotalRowCount() const (defined in Vertica::StreamWriter) Vertica::StreamWriter inline
getTypeMetaData() const Vertica::VerticaBlock inline
getTypeMetaData() Vertica::VerticaBlock inline
getUuidRef(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getVoidPtr(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
getVoidPtr(size_t idx=0) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getWriteableBlock() override Vertica::StreamWriter virtual
index (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
indices (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
ncols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
next() (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
nrows (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
parent (defined in Vertica::StreamWriter) Vertica::StreamWriter protected
PartitionWriter(size_t narg) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
PartitionWriter(size_t narg, EE::UserDefinedProcess *udx_object) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
PartitionWriter(size_t narg, size_t nrows, EE::UserDefinedProcess *udx_object) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
processBlockUserInfoVector (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
pstart (defined in Vertica::PartitionWriter) Vertica::PartitionWriter protected
remaining() const Vertica::VerticaBlock inline
reset() (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inlineprotected
resetIndex() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setBool(size_t idx, vbool r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setDataArea(size_t idx, void *dataarea) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
setDate(size_t idx, DateADT r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setFloat(size_t idx, vfloat r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setInt(size_t idx, vint r) Vertica::PartitionWriter inline
setInterval(size_t idx, Interval r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setIntervalYM(size_t idx, IntervalYM r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setNull(size_t idx) Vertica::PartitionWriter inline
setNull(size_t idx, bool enforceNotNullProperty) Vertica::PartitionWriter inline
setRowCount(int rowCount) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setTime(size_t idx, TimeADT r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setTimestamp(size_t idx, Timestamp r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setTimestampTz(size_t idx, TimestampTz r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
setTimeTz(size_t idx, TimeTzADT r) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
StreamWriter(size_t narg, void *udl) (defined in Vertica::StreamWriter) Vertica::StreamWriter inline
svWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
throwIncorrectUsageError(size_t idx) (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inline
typeMetaData (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
udan (defined in Vertica::PartitionWriter) Vertica::PartitionWriter
udt (defined in Vertica::PartitionWriter) Vertica::PartitionWriter
udx_object (defined in Vertica::PartitionWriter) Vertica::PartitionWriter
uuWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
validateStringColumn(size_t idx, const VString &s, size_t colLength) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
VerticaBlock(size_t ncols, int rowcount, const int *indices) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
vnWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
~PartitionWriter() (defined in Vertica::PartitionWriter) Vertica::PartitionWriter inlinevirtual
~VerticaBlock() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlinevirtual

215 - Vertica::TransformFunction Class Reference

Interface for User-Defined Transform Function (UDTF). A UDTF operates on a table segment and returns zero or more rows of data.

Inheritance diagram for Vertica::TransformFunction:

Collaboration diagram for Vertica::TransformFunction:

Public Member Functions
void cancelUDX (ServerInterface &srvInterface)
virtual void destroy (ServerInterface &srvInterface, const SizedColumnTypes &argTypes)
virtual void destroy (ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SessionParamWriterMap &udSessionParams)
bool isCanceled () const
virtual void processPartition (ServerInterface &srvInterface, PartitionReader &input_reader, PartitionWriter &output_writer)=0
virtual void setup (ServerInterface &srvInterface, const SizedColumnTypes &argTypes)
Protected Member Functions
virtual void cancel (ServerInterface &srvInterface)

Detailed Description

Interface for User-Defined Transform Function (UDTF). A UDTF operates on a table segment and returns zero or more rows of data.

UDTFs can only be used in the SELECT list of a query. UDTFs are cancelable.

A TransformFunction must have an associated TransformFunctionFactory.

Member Function Documentation

virtual void Vertica::UDXObject::cancel(ServerInterface & srvInterface)

inlineprotectedvirtualinherited

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

Note

  • 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 or destructor). 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.

Referenced by Vertica::UDXObject::cancelUDX().

void Vertica::UDXObject::cancelUDX(ServerInterface & srvInterface)

inline inherited Cancel callback invoked when the query running the UDX has been canceled. See cancel().

virtual void Vertica::UDXFunction::destroy(ServerInterface & srvInterface, const SizedColumnTypes & argTypes)

inlinevirtualinherited

Perform per instance destruction. This function may throw errors

Referenced by Vertica::UDXFunction::destroy().

virtual void Vertica::UDXFunction::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::UDXObject::isCanceled() const

inline inherited Returns true iff this UDX has been canceled

virtual void Vertica::TransformFunction::processPartition(ServerInterface & srvInterface, PartitionReader & input_reader, PartitionWriter & output_writer)

pure virtual Invoke a user defined transform 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
virtual void Vertica::UDXFunction::setup(ServerInterface & srvInterface, const SizedColumnTypes & argTypes)

inlinevirtualinherited

Perform per instance initialization. This function may throw errors.

216 - Vertica::TransformFunction Member List

This is the complete list of members for Vertica::TransformFunction, including all inherited members.

cancel(ServerInterface &srvInterface) Vertica::UDXObject inlineprotectedvirtual
cancelUDX(ServerInterface &srvInterface) Vertica::UDXObject inline
destroy(ServerInterface &srvInterface, const SizedColumnTypes &argTypes) Vertica::UDXFunction inlinevirtual
destroy(ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SessionParamWriterMap &udSessionParams) Vertica::UDXFunction inlinevirtual
isCanceled() const Vertica::UDXObject inline
processPartition(ServerInterface &srvInterface, PartitionReader &input_reader, PartitionWriter &output_writer)=0 Vertica::TransformFunction pure virtual
setup(ServerInterface &srvInterface, const SizedColumnTypes &argTypes) Vertica::UDXFunction inlinevirtual
UDXObject() (defined in Vertica::UDXObject) Vertica::UDXObject inline
~UDXObject() Vertica::UDXObject inlinevirtual

217 - Vertica::TransformFunctionFactory Class Reference

Interface for declaring parameters and return types for, and instantiating, an associated TransformFunction.

Inheritance diagram for Vertica::TransformFunctionFactory:

Collaboration diagram for Vertica::TransformFunctionFactory:

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 TransformFunction * createTransformFunction (ServerInterface &srvInterface)=0
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 void getPrototype (ServerInterface &srvInterface, ColumnTypes &argTypes, ColumnTypes &returnType)=0
virtual void getReturnType (ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType)=0
Protected Member Functions
virtual UDXType getUDXFactoryType () override
Protected Attributes
Oid libOid
std::string sqlName

Detailed Description

Interface for declaring parameters and return types for, and instantiating, an associated TransformFunction.

Member Enumeration Documentation

enum Vertica::UDXFactory::UDXType

inherited The type of UDX instance this factory produces

Member Function Documentation

virtual TransformFunction* Vertica::TransformFunctionFactory::createTransformFunction(ServerInterface & srvInterface)

pure virtual Called when Vertica needs a new TransformFunction object to process a UDTF function call.

Returns a TransformFunction object which implements the UDx API described by this metadata.

Parameters

  • srvInterface: a ServerInterface object used to communicate with Vertica

Note More than one object may be instantiated per query.

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

inlinevirtualinherited

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.

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

inlinevirtualinherited

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 Vertica::UDXFactory::getPerInstanceResources().

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

inlinevirtualinherited

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.

virtual void Vertica::FunctionFactory::getPrototype(ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes & returnType)

pure virtual inherited Provides the argument and return types of the UDX

Implemented in Vertica::MultiPhaseTransformFunctionFactory.

Referenced by Vertica::ScalarFunctionFactory::getReturnType().

virtual void Vertica::FunctionFactory::getReturnType(ServerInterface & srvInterface, const SizedColumnTypes & argTypes, SizedColumnTypes & returnType)

pure virtual inherited Function to tell Vertica what the return types (and length/precision if necessary) of this UDX are.

For CHAR/VARCHAR types, specify the max length,

For NUMERIC types, specify the precision and scale.

For Time/Timestamp types (with or without time zone), specify the precision, -1 means unspecified/don't care

For IntervalYM/IntervalDS types, specify the precision and range

For all other types, no length/precision specification needed

Parameters

  • argTypes: Provides the data types of arguments that this UDT was called with. This may be used to modify the return types accordingly.
  • returnType: User code must fill in the names and data types returned by the UDT.

Implemented in Vertica::MultiPhaseTransformFunctionFactory, and Vertica::ScalarFunctionFactory.

virtual UDXType Vertica::TransformFunctionFactory::getUDXFactoryType()

inlineprotectedvirtual

Returns the object type internally used by Vertica

Implements Vertica::UDXFactory.

218 - Vertica::TransformFunctionFactory Member List

This is the complete list of members for Vertica::TransformFunctionFactory, including all inherited members.

AGGREGATE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
ANALYTIC enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
createTransformFunction(ServerInterface &srvInterface)=0 Vertica::TransformFunctionFactory pure virtual
CURSOR_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
FILESYSTEM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
getParameterType(ServerInterface &srvInterface, SizedColumnTypes meterTypes) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) Vertica::UDXFactory inlinevirtual
getPrototype(ServerInterface &srvInterface, ColumnTypes &argTypes, ColumnTypes &returnType)=0 Vertica::FunctionFactory pure virtual
getReturnType(ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType)=0 Vertica::FunctionFactory pure virtual
getUDXFactoryType() override Vertica::TransformFunctionFactory inlineprotectedvirtual
KEYMANAGER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
libOid (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
LOAD_FILTER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_PARSER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_SOURCE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
MULTI_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
SCALAR enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
sqlName (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
TYPE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
UDXType enum name Vertica::UDXFactory
~FunctionFactory() (defined in Vertica::FunctionFactory) Vertica::FunctionFactory inlinevirtual
~TransformFunctionFactory() (defined in Vertica::TransformFunctionFactory) Vertica::TransformFunctionFactory inlinevirtual
~UDXFactory() (defined in Vertica::UDXFactory) Vertica::UDXFactory inlinevirtual

219 - Vertica::TransformFunctionPhase Class Reference

Interface to provide compile-time information for a single phase of a multi-phase user-defined transform function.

Collaboration diagram for Vertica::TransformFunctionPhase:

Public Member Functions
virtual TransformFunction * createTransformFunction (ServerInterface &srvInterface)=0
virtual void getReturnType (ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnTypes)=0
bool isPrepass ()
void setPrepass ()
Indicates that this phase is a pre-pass (i.e., runs before any data movement)

Detailed Description

Interface to provide compile-time information for a single phase of a multi-phase user-defined transform function.

Note that even though this class shares some methods with TransformFunctionFactory, it is explicitly not a subclass (because it is incorrect to implement a getPrototype() method for this class).

Member Function Documentation

virtual TransformFunction* Vertica::TransformFunctionPhase::createTransformFunction(ServerInterface & srvInterface)

pure virtual Called when Vertica needs a new TransformFunction object to process this phase of a multi-phase UDT.

Returns a TransformFunction object which implements the UDx API described by this metadata.

Parameters

  • srvInterface: a ServerInterface object used to communicate with Vertica

Note More than one object may be instantiated per query.

virtual void Vertica::TransformFunctionPhase::getReturnType(ServerInterface & srvInterface, const SizedColumnTypes & argTypes, SizedColumnTypes & returnTypes)

pure virtual Function to tell Vertica what the return types (and length/precision if necessary) and partition-by, order-by of this phase are.

For CHAR/VARCHAR types, specify the max length,

For NUMERIC types, specify the precision and scale.

For Time/Timestamp types (with or without time zone), specify the precision, -1 means unspecified/don't care

For IntervalYM/IntervalDS types, specify the precision and range

For all other types, no length/precision specification needed

Parameters

  • argTypes: Provides the data types of arguments that this phase was called with, along with partition and order information. This may be used to modify the return types accordingly.
  • returnTypes: User code must fill in the names and data types returned by this phase, along with the partition-by and order-by column information (if any).

220 - Vertica::TransformFunctionPhase Member List

This is the complete list of members for Vertica::TransformFunctionPhase, including all inherited members.

createTransformFunction(ServerInterface &srvInterface)=0 Vertica::TransformFunctionPhase pure virtual
getReturnType(ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnTypes)=0 Vertica::TransformFunctionPhase pure virtual
isPrepass() (defined in Vertica::TransformFunctionPhase) Vertica::TransformFunctionPhase inline
setPrepass() Vertica::TransformFunctionPhase inline
TransformFunctionPhase() (defined in Vertica::TransformFunctionPhase) Vertica::TransformFunctionPhase inline
~TransformFunctionPhase() (defined in Vertica::TransformFunctionPhase) Vertica::TransformFunctionPhase inlinevirtual

221 - Vertica::UDChunker Class Reference

Separates parser input into chunks at record boundaries, allowing parsing to proceed in parallel.

Inheritance diagram for Vertica::UDChunker:

Collaboration diagram for Vertica::UDChunker:

Public Member Functions
virtual ~UDChunker ()
virtual StreamState alignPortion (ServerInterface &srvInterface, DataBuffer &input, InputState inputState)
void cancelUDX (ServerInterface &srvInterface)
virtual void destroy (ServerInterface &srvInterface, SizedColumnTypes &returnType)
virtual void destroy (ServerInterface &srvInterface, SizedColumnTypes &returnType, SessionParamWriterMap &udSessionParams)
bool isCanceled () const
virtual StreamState process (ServerInterface &srvInterface, DataBuffer &input, InputState input_state)=0
virtual void setup (ServerInterface &srvInterface, SizedColumnTypes &returnType)
Protected Member Functions
virtual void cancel (ServerInterface &srvInterface)
Portion getPortion () const

Detailed Description

Separates parser input into chunks at record boundaries, allowing parsing to proceed in parallel.

Vertica invokes a UDChunker (if present) as part of the parsing phase. Chunkers are tightly coupled to parsers.

Note that it is UNSAFE to maintain pointers or references to any of these arguments (or any other argument passed by reference into any other function in this API) beyond the scope of the function call in question. For example, do not store a reference to the server interface or the input block on an instance variable. Vertica may free and replace these objects.

Constructor & Destructor Documentation

virtual Vertica::UDChunker::~UDChunker()

inlinevirtual

Dtor.

Member Function Documentation

virtual StreamState Vertica::UDChunker::alignPortion(ServerInterface & srvInterface, DataBuffer & input, InputState inputState)

inlinevirtual

UDChunker::alignPortion()

See "Apportioned Load".

Reads data from the input stream and aligns the chunker to the beginning of the first chunk in the portion of the stream it is processing.

This is invoked repeatedly during query execution, before any calls to process(), if we are doing an apportioned load. The input buffer initially contains contents from the start of the current portion; future calls may advance along the stream. This method should identify the start of the first chunk that this UDChunker will produce, and indicate that it is now "aligned" to that boundary by setting input.offset to the corresponding offset and returning DONE.

Note that input may contain null bytes, if the source contains null bytes. Note also that input is NOT automatically null-terminated.

alignPortion() must not block indefinitely. If it cannot proceed for an extended period of time, it should return KEEP_GOING. It will be called again shortly. Failure to do this will, among other things, prevent the query from being canceled by the user.

Valid return values for this method are INPUT_NEEDED, KEEP_GOING, and DONE.

Returns KEEP_GOING if the UDChunker must block; INPUT_NEEDED if a record boundary cannot be found in the input. Leaving input.offset unchanged will result in a larger buffer for the next invocation. Advance input.offset to advance through the data stream. DONE if a portion boundary has been identified. Set input.offset to the location of that boundary.

virtual void Vertica::UDXObject::cancel(ServerInterface & srvInterface)

inlineprotectedvirtualinherited

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

Note

  • 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 or destructor). 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.

Referenced by Vertica::UDXObject::cancelUDX().

void Vertica::UDXObject::cancelUDX(ServerInterface & srvInterface)

inline inherited Cancel callback invoked when the query running the UDX has been canceled. See cancel().

virtual void Vertica::UDChunker::destroy(ServerInterface & srvInterface, SizedColumnTypes & returnType)

inlinevirtual

UDChunker::destroy()

Will be invoked during query execution, after the last time that process() is called on this UDChunker instance for a particular input.

May optionally be overridden to perform tear-down/destruction.

See UDChunker::setup() for a note about the restartability of UDChunkers.

Portion Vertica::UDChunker::getPortion() const

inlineprotected

Return a description of the portion of the input source which is being processed by the active load stack. This can be called by the UDChunker implementation to determine how much data to process.

This can be invoked during setup(), process() or destroy().

The Portion object returned will be a valid portion if any part of the load stack is processing portions. This UDChunker instance will see input states START_OF_PORTION (in alignPortion()) and/or END_OF_PORTION (in either alignPortion() or process()) if it is the stack element directly processing portions.

bool Vertica::UDXObject::isCanceled() const

inline inherited Returns true iff this UDX has been canceled

virtual StreamState Vertica::UDChunker::process(ServerInterface & srvInterface, DataBuffer & input, InputState input_state)

pure virtual UDChunker::process()

Will be invoked repeatedly during query execution, until it returns DONE or until the query is canceled by the user.

Returns See Vertica::StreamState for details about the following return values:

INPUT_NEEDED

DONE

CHUNK_ALIGNED

On each invocation, process() will be given an input buffer. It should read data from that buffer, find record boundaries and align input.offset with the end of the last record in the buffer. Once it has processed as much as it reasonably can (for example, once it has processed the last complete row in the input buffer), it should return INPUT_NEEDED to indicate that more data is needed, or DONE to indicate that it has completed "parsing" this input stream and will not be reading more bytes from it.

if a few rows were found in current block, move offset forward to point at the start of next (potential) row, and mark state as CHUNK_ALIGNED, indicating the chunker is ready to hand this chunk to parser.

If input_state == END_OF_FILE, then the last byte in input is the last byte in the input stream. Returning INPUT_NEEDED will not result in any new input appearing. process() should return DONE in this case.

If input_state == END_OF_PORTION, then the last byte in input is the last byte in the current portion. Returning CHUNK_ALIGNED or INPUT_NEEDED will result in retrieval of data beyond the portion boundary. If a chunker which supports apportioned load sees END_OF_PORTION, it should (a) align a chunk as usual, and return CHUNK_ALIGNED or INPUT_NEEDED to retrieve the next block, and then (b) align a chunk to the FIRST record boundary which appears in the next portion.

Note that input may contain null bytes, if the source file contains null bytes. Note also that input is NOT automatically null-terminated.

process() must not block indefinitely. If it cannot proceed for an extended period of time, it should return KEEP_GOING. It will be called again shortly. Failure to do this will, among other things, prevent the query from being canceled by the user.

virtual void Vertica::UDChunker::setup(ServerInterface & srvInterface, SizedColumnTypes & returnType)

inlinevirtual

UDChunker::setup()

Will be invoked during query execution, prior to the first time that process() is called on this UDChunker instance for a particular input source.

May optionally be overridden to perform setup/initialzation.

Note that UDChunkers MUST BE RESTARTABLE! If loading large numbers of files, a given UDChunker may be re-used for multiple files. Vertica follows the worker-pool design pattern: At the start of COPY execution, several Chunkers and several Filters are instantiated per node, by calling the corresponding prepare() method multiple times. Each Filter/Chunker pair is then internally assigned to an initial Source (UDSource or internal). At that point, setup() is called; then process() is called until it is finished; then destroy() is called. If there are still sources in the pool waiting to be processed, then the UDFilter/UDChunker pair will be given a second Source; setup() will be called a second time, then process() until it is finished, then destroy(). This repeats until all sources have been read.

222 - Vertica::UDChunker Member List

This is the complete list of members for Vertica::UDChunker, including all inherited members.

alignPortion(ServerInterface &srvInterface, DataBuffer &input, InputState inputState) Vertica::UDChunker inlinevirtual
cancel(ServerInterface &srvInterface) Vertica::UDXObject inlineprotectedvirtual
cancelUDX(ServerInterface &srvInterface) Vertica::UDXObject inline
destroy(ServerInterface &srvInterface, SizedColumnTypes &returnType) Vertica::UDChunker inlinevirtual
destroy(ServerInterface &srvInterface, SizedColumnTypes &returnType, SessionParamWriterMap &udSessionParams) (defined in Vertica::UDChunker) Vertica::UDChunker inlinevirtual
getPortion() const Vertica::UDChunker inlineprotected
isCanceled() const Vertica::UDXObject inline
process(ServerInterface &srvInterface, DataBuffer &input, InputState input_state)=0 Vertica::UDChunker pure virtual
setup(ServerInterface &srvInterface, SizedColumnTypes &returnType) Vertica::UDChunker inlinevirtual
UDXObject() (defined in Vertica::UDXObject) Vertica::UDXObject inline
~UDChunker() Vertica::UDChunker inlinevirtual
~UDXObject() Vertica::UDXObject inlinevirtual

223 - Vertica::UDFileOperator Class Reference

Collaboration diagram for Vertica::UDFileOperator:

Public Member Functions
virtual size_t append (const void *buf, size_t count)=0
void appendWithRetry (const void *buffer, size_t size)
virtual void doHurryUp ()
virtual bool eof ()
virtual void fsync ()
virtual off_t getOffset () const =0
virtual void * mmap (void *addr, size_t length, int prot, int flags, off_t offset)
virtual void munmap (void *addr, size_t length)
virtual size_t read (void *buf, size_t count)=0
virtual off_t seek (off_t offset, int whence)=0

Member Function Documentation

void Vertica::UDFileOperator::appendWithRetry(const void * buffer, size_t size)

A wrapper around the append(). Attempt to write the specified data to disk. Retry in cases that didn't succeed in writing all data, but that stand a decent chance of succeeding on a retry. Throws on error.

224 - Vertica::UDFileOperator Member List

This is the complete list of members for Vertica::UDFileOperator, including all inherited members.

append(const void *buf, size_t count)=0 (defined in Vertica::UDFileOperator) Vertica::UDFileOperator pure virtual
appendWithRetry(const void *buffer, size_t size) Vertica::UDFileOperator
doHurryUp() (defined in Vertica::UDFileOperator) Vertica::UDFileOperator virtual
eof() (defined in Vertica::UDFileOperator) Vertica::UDFileOperator virtual
fsync() (defined in Vertica::UDFileOperator) Vertica::UDFileOperator virtual
getOffset() const =0 (defined in Vertica::UDFileOperator) Vertica::UDFileOperator pure virtual
mmap(void *addr, size_t length, int prot, int flags, off_t offset) (defined in Vertica::UDFileOperator) Vertica::UDFileOperator virtual
munmap(void *addr, size_t length) (defined in Vertica::UDFileOperator) Vertica::UDFileOperator virtual
read(void *buf, size_t count)=0 (defined in Vertica::UDFileOperator) Vertica::UDFileOperator pure virtual
seek(off_t offset, int whence)=0 (defined in Vertica::UDFileOperator) Vertica::UDFileOperator pure virtual
UDFileOperator() (defined in Vertica::UDFileOperator) Vertica::UDFileOperator inline
~UDFileOperator() (defined in Vertica::UDFileOperator) Vertica::UDFileOperator inlinevirtual

225 - Vertica::UDFileSystem Class Reference

Collaboration diagram for Vertica::UDFileSystem:

Public Member Functions
virtual std::string canonicalizePath (const std::string &path) const
virtual void close (UDFileOperator *udfo) const =0
virtual void copy (const char *srcpath, const char *dstpath) const =0
virtual void copyFrom (const std::string &srcpath, const std::string &destpath, size_t bufsize, size_t srcsize=INVALID_UINT64) const =0
virtual bool deleteSnapshot (const std::string &snapshot_handle) const
virtual std::string getDescription () const
virtual std::string getDisplayName () const
virtual std::string getEncodedURI (const char *path) const
virtual std::string getFanoutDirectory (uint64_t id) const
virtual uint32 getSlowRequestThreshold () const
virtual UDFileSystemStats * getStats () const
virtual std::string getURIEncodedStr (const char *str) const
virtual bool isFanoutDirectory (const std::string &fileName) const
virtual void link (const char *oldpath, const char *newpath) const
virtual void listFiles (const char *path, std::vector &result) const =0
virtual void listStat (const char *dir, std::vector &result) const
virtual void mkdirs (const char *path, mode_t mode) const =0
virtual UDFileOperator * open () const =0
virtual UDFileOperator * open (const char *path, int flags, mode_t mode, const OpenOptions &options=OpenOptions()) const =0
virtual size_t readBufferSizeHint () const
virtual void remove (const char *path) const =0
virtual void rename (const char *oldpath, const char *newpath) const =0
virtual bool restoreSnapshot (const std::string &snapshot_handle, const std::string &path) const
virtual void rmdir (const char *path) const =0
virtual void rmdirRecursive (const char *path) const =0
virtual void setTempPath (const std::string &path)
virtual bool snapshotDirectory (const std::string &path, std::string &snapshot_handle) const
virtual void stat (const char *path, struct::stat *buf) const =0
virtual void statvfs (const char *path, struct::statvfs *buf) const =0
virtual bool supportsAtomicReplacement () const
virtual bool supportsBatchRemove () const
virtual bool supportsDirectories () const
virtual bool supportsDirectorySnapshots () const
virtual void symlink (const char *oldpath, const char *newpath) const
virtual void truncate (const char *path, off_t length) const
virtual void unmount ()
virtual bool validatePath (const std::string &path) const
Static Public Attributes
static const size_t UDFS_DEFAULT_READ_SIZE_HINT = 1024 * 1024

226 - Vertica::UDFileSystem Member List

This is the complete list of members for Vertica::UDFileSystem, including all inherited members.

canonicalizePath(const std::string &path) const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem inlinevirtual
close(UDFileOperator *udfo) const =0 (defined in Vertica::UDFileSystem) Vertica::UDFileSystem pure virtual
copy(const char *srcpath, const char *dstpath) const =0 (defined in Vertica::UDFileSystem) Vertica::UDFileSystem pure virtual
copyFrom(const std::string &srcpath, const std::string &destpath, size_t bufsize, size_t srcsize=INVALID_UINT64) const =0 (defined in Vertica::UDFileSystem) Vertica::UDFileSystem pure virtual
deleteSnapshot(const std::string &snapshot_handle) const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem virtual
getDescription() const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem inlinevirtual
getDisplayName() const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem inlinevirtual
getEncodedURI(const char *path) const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem inlinevirtual
getFanoutDirectory(uint64_t id) const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem virtual
getSlowRequestThreshold() const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem inlinevirtual
getStats() const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem inlinevirtual
getURIEncodedStr(const char *str) const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem inlinevirtual
isFanoutDirectory(const std::string &fileName) const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem virtual
link(const char *oldpath, const char *newpath) const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem virtual
listFiles(const char *path, std::vector &result) const =0 (defined in Vertica::UDFileSystem) Vertica::UDFileSystem pure virtual
listStat(const char *dir, std::vector &result) const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem virtual
mkdirs(const char *path, mode_t mode) const =0 (defined in Vertica::UDFileSystem) Vertica::UDFileSystem pure virtual
open() const =0 (defined in Vertica::UDFileSystem) Vertica::UDFileSystem pure virtual
open(const char *path, int flags, mode_t mode, const OpenOptions &options=OpenOptions()) const =0 (defined in Vertica::UDFileSystem) Vertica::UDFileSystem pure virtual
readBufferSizeHint() const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem inlinevirtual
remove(const char *path) const =0 (defined in Vertica::UDFileSystem) Vertica::UDFileSystem pure virtual
rename(const char *oldpath, const char *newpath) const =0 (defined in Vertica::UDFileSystem) Vertica::UDFileSystem pure virtual
restoreSnapshot(const std::string &snapshot_handle, const std::string &path) const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem virtual
rmdir(const char *path) const =0 (defined in Vertica::UDFileSystem) Vertica::UDFileSystem pure virtual
rmdirRecursive(const char *path) const =0 (defined in Vertica::UDFileSystem) Vertica::UDFileSystem pure virtual
setTempPath(const std::string &path) (defined in Vertica::UDFileSystem) Vertica::UDFileSystem inlinevirtual
snapshotDirectory(const std::string &path, std::string &snapshot_handle) const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem virtual
stat(const char *path, struct::stat *buf) const =0 (defined in Vertica::UDFileSystem) Vertica::UDFileSystem pure virtual
statvfs(const char *path, struct::statvfs *buf) const =0 (defined in Vertica::UDFileSystem) Vertica::UDFileSystem pure virtual
supportsAtomicReplacement() const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem inlinevirtual
supportsBatchRemove() const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem inlinevirtual
supportsDirectories() const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem inlinevirtual
supportsDirectorySnapshots() const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem virtual
symlink(const char *oldpath, const char *newpath) const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem virtual
truncate(const char *path, off_t length) const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem virtual
UDFileSystem() (defined in Vertica::UDFileSystem) Vertica::UDFileSystem inline
UDFS_DEFAULT_READ_SIZE_HINT (defined in Vertica::UDFileSystem) Vertica::UDFileSystem static
unmount() (defined in Vertica::UDFileSystem) Vertica::UDFileSystem inlinevirtual
validatePath(const std::string &path) const (defined in Vertica::UDFileSystem) Vertica::UDFileSystem inlinevirtual
~UDFileSystem() (defined in Vertica::UDFileSystem) Vertica::UDFileSystem inlinevirtual

227 - Vertica::UDFileSystemFactory Class Reference

Inheritance diagram for Vertica::UDFileSystemFactory:

Collaboration diagram for Vertica::UDFileSystemFactory:

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 UDFileSystem * createUDFileSystem (ServerInterface &srvInterface)=0
virtual void getParameterType (ServerInterface &srvInterface, SizedColumnTypes meterTypes)
virtual void getPerInstanceResources (ServerInterface &srvInterface, VResources &res)
virtual void getPerInstanceResources (ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes)
void getPrototype (ServerInterface &srvInterface, ColumnTypes &argTypes, ColumnTypes &returnType)
virtual void getReturnType (ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType)
Protected Member Functions
virtual UDXType getUDXFactoryType () override
Protected Attributes
Oid libOid
std::string sqlName

Member Enumeration Documentation

enum Vertica::UDXFactory::UDXType

inherited The type of UDX instance this factory produces

Member Function Documentation

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

inlinevirtualinherited

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.

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

inlinevirtualinherited

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 Vertica::UDXFactory::getPerInstanceResources().

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

inlinevirtualinherited

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.

void Vertica::UDFileSystemFactory::getPrototype(ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes & returnType)

inline UDFileSystems take no input tuples; as such, their prototype must be empty.

virtual void Vertica::UDFileSystemFactory::getReturnType(ServerInterface & srvInterface, const SizedColumnTypes & argTypes, SizedColumnTypes & returnType)

inlinevirtual

UDFileSystems return no output; as such, their prototype must be empty.

virtual UDXType Vertica::UDFileSystemFactory::getUDXFactoryType()

inlineprotectedvirtual

Returns the object type internally used by Vertica

Implements Vertica::UDXFactory.

228 - Vertica::UDFileSystemFactory Member List

This is the complete list of members for Vertica::UDFileSystemFactory, including all inherited members.

AGGREGATE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
ANALYTIC enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
createUDFileSystem(ServerInterface &srvInterface)=0 (defined in Vertica::UDFileSystemFactory) Vertica::UDFileSystemFactory pure virtual
CURSOR_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
FILESYSTEM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
getParameterType(ServerInterface &srvInterface, SizedColumnTypes meterTypes) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) Vertica::UDXFactory inlinevirtual
getPrototype(ServerInterface &srvInterface, ColumnTypes &argTypes, ColumnTypes &returnType) Vertica::UDFileSystemFactory inline
getReturnType(ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType) Vertica::UDFileSystemFactory inlinevirtual
getUDXFactoryType() override Vertica::UDFileSystemFactory inlineprotectedvirtual
KEYMANAGER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
libOid (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
LOAD_FILTER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_PARSER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_SOURCE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
MULTI_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
SCALAR enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
sqlName (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
TYPE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
UDXType enum name Vertica::UDXFactory
~UDFileSystemFactory() (defined in Vertica::UDFileSystemFactory) Vertica::UDFileSystemFactory inlinevirtual
~UDXFactory() (defined in Vertica::UDXFactory) Vertica::UDXFactory inlinevirtual

229 - Vertica::UDFileSystemStats Class Reference

Collaboration diagram for Vertica::UDFileSystemStats:

Public Member Functions
int64_t getDataReadCount () const
int64_t getDataWriteCount () const
int64_t getDownstreamBytes () const
int64_t getFailureCount () const
int64_t getMappedCount () const
int64_t getMetadataReadCount () const
int64_t getMetadataWriteCount () const
int64_t getOpenHandleCount () const
int64_t getReadingCount () const
int64_t getRetryCount () const
int64_t getSuccessCount () const
int64_t getUpstreamBytes () const
int64_t getWritingCount () const
void incDataRead ()
void incDataWrite ()
void incDownstreamBytes (int64_t size)
void incFailure ()
void incMappedCount (int64_t cnt)
void incMetadataRead ()
void incMetadataWrite ()
void incOpenHandleCount (int64_t cnt)
void incReadingCount (int64_t cnt)
void incRetry ()
void incSuccess ()
void incUpstreamBytes (int64_t size)
void incWritingCount (int64_t cnt)
void resetCounters ()
Protected Member Functions
template
T incrementCounter (T *ptr, T by=1)
Protected Attributes
int64_t dataReadCount_
int64_t dataWriteCount_
int64_t downstreamBytes_
int64_t failureCount_
int64_t mappedCount_
int64_t metadataReadCount_
int64_t metadataWriteCount_
int64_t openHandleCount_
int64_t readingCount_
int64_t retryCount_
int64_t successCount_
int64_t upstreamBytes_
int64_t writingCount_

230 - Vertica::UDFileSystemStats Member List

This is the complete list of members for Vertica::UDFileSystemStats, including all inherited members.

dataReadCount_ (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats protected
dataWriteCount_ (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats protected
downstreamBytes_ (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats protected
failureCount_ (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats protected
getDataReadCount() const (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
getDataWriteCount() const (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
getDownstreamBytes() const (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
getFailureCount() const (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
getMappedCount() const (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
getMetadataReadCount() const (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
getMetadataWriteCount() const (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
getOpenHandleCount() const (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
getReadingCount() const (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
getRetryCount() const (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
getSuccessCount() const (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
getUpstreamBytes() const (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
getWritingCount() const (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
incDataRead() (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
incDataWrite() (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
incDownstreamBytes(int64_t size) (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
incFailure() (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
incMappedCount(int64_t cnt) (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
incMetadataRead() (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
incMetadataWrite() (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
incOpenHandleCount(int64_t cnt) (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
incReadingCount(int64_t cnt) (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
incrementCounter(T *ptr, T by=1) (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inlineprotected
incRetry() (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
incSuccess() (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
incUpstreamBytes(int64_t size) (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
incWritingCount(int64_t cnt) (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
mappedCount_ (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats protected
metadataReadCount_ (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats protected
metadataWriteCount_ (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats protected
openHandleCount_ (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats protected
readingCount_ (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats protected
resetCounters() (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
retryCount_ (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats protected
successCount_ (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats protected
UDFileSystemStats() (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats inline
upstreamBytes_ (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats protected
writingCount_ (defined in Vertica::UDFileSystemStats) Vertica::UDFileSystemStats protected

231 - Vertica::UDFilter Class Reference

Reads input data from a UDSource or another UDFilter and transforms it.

Inheritance diagram for Vertica::UDFilter:

Collaboration diagram for Vertica::UDFilter:

Public Member Functions
void cancelUDX (ServerInterface &srvInterface)
virtual void destroy (ServerInterface &srvInterface)
virtual void destroy (ServerInterface &srvInterface, SessionParamWriterMap &udSessionParams)
bool isCanceled () const
virtual StreamState process (ServerInterface &srvInterface, DataBuffer &input, InputState input_state, DataBuffer &output)=0
virtual StreamState processWithMetadata (ServerInterface &srvInterface, DataBuffer &input, LengthBuffer &input_lengths, InputState input_state, DataBuffer &output, LengthBuffer &output_lengths)
virtual void setup (ServerInterface &srvInterface)
virtual bool useSideChannel ()
Protected Member Functions
virtual void cancel (ServerInterface &srvInterface)

Detailed Description

Reads input data from a UDSource or another UDFilter and transforms it.

For example, a UDFilter might unzip a file, convert UTF-16 to UTF-8, or remove personally identifying information such as social security numbers. UDFilters can be chained, for example unzipping, converting encodings, and then stripping personal information. The first UDFilter in a chain receives its input from a UDSource, and the output of the last one in the chain is sent to a UDParser.

UDFilter is part of the load pipeline. The load pipeline consists of up to one UDSource, any number of UDFilters, and up to one UDParser.

Note that it is UNSAFE to maintain pointers or references to any of these arguments (or any other argument passed by reference into any other function in this API) beyond the scope of the function call in question. For example, do not store a reference to the server interface or the input block on an instance variable. Vertica may free and replace these objects.

Member Function Documentation

virtual void Vertica::UDXObject::cancel(ServerInterface & srvInterface)

inlineprotectedvirtualinherited

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

Note

  • 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 or destructor). 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.

Referenced by Vertica::UDXObject::cancelUDX().

void Vertica::UDXObject::cancelUDX(ServerInterface & srvInterface)

inline inherited Cancel callback invoked when the query running the UDX has been canceled. See cancel().

virtual void Vertica::UDFilter::destroy(ServerInterface & srvInterface)

inlinevirtual

UDFilter::destroy()

Will be invoked during query execution, after the last time that process() is called on this UDFilter instance for a particular input file.

May optionally be overridden to perform tear-down/destruction.

See UDFilter::setup() for a note about the restartability of UDFilters.

bool Vertica::UDXObject::isCanceled() const

inline inherited Returns true iff this UDX has been canceled

virtual StreamState Vertica::UDFilter::process(ServerInterface & srvInterface, DataBuffer & input, InputState input_state, DataBuffer & output)

pure virtual UDFilter::process()

Reads data from the input stream and emits data to the output stream. Vertica invokes this method repeatedly during query execution until it returns DONE, or until the query is canceled by the user.

Input: a stream of bytes.

Output: a stream of bytes.

Returns INPUT_NEEDED

OUTPUT_NEEDED

DONE

KEEP_GOING

See Vertica::StreamState for details about return values.

On each invocation, process() is handed some input data and a buffer to write output data to. It is expected to read and process some amount of the input data, write some amount of output data, and return a value that informs Vertica what needs to happen next.

process() must set input.offset to the number of bytes that were successfully read from the input buffer that do not need to be re-consumed by a subsequent invocation of process(). This might not be larger than input.size (input.size is the size of the buffer). If it is set to 0, this indicates that process() cannot process any part of an input buffer of this size, and requires more data per invocation. For example, a block-based decompression algorithm might return 0 if the input buffer does not contain a complete block.

Note that input might contain null bytes if the source file contains null bytes. Additionally, note that input is NOT automatically null-terminated.

If input_state == END_OF_FILE, then the last byte in input is the last byte in the input stream. Returning INPUT_NEEDED does not result in any new input appearing. In this case, process() should return DONE as soon as this operator finishes producing all of the output that it is going to produce.

process() should set output.offset (an output parameter) to the number of bytes that were written to the output buffer. It is common, though not necessary, for this to be the same as output.size (an input parameter). When process() is called, output.offset is uninitialized. To indicate that the buffer is too small to hold a record, process() should set output.offset to 0 and return OUTPUT_NEEDED. Then, process() is called again with a larger buffer.

In general, process() code should assume that buffers, input, and INPUT_NEEDED start at output.buf[output.offset].

As a performance optimization, upstream operators might start processing emitted data (data between output.buf[0] and output.buf[output.offset]) before OUTPUT_NEEDED is returned. For this reason, output.offset must be strictly increasing.

Referenced by processWithMetadata().

virtual StreamState Vertica::UDFilter::processWithMetadata(ServerInterface & srvInterface, DataBuffer & input, LengthBuffer & input_lengths, InputState input_state, DataBuffer & output, LengthBuffer & output_lengths)

inlinevirtual

UDFilter::processWithMetadata()

Reads data from the input stream and emits data to the output stream, and reads record length metadata from the input_lengths stream and outputs it to the output_lengths stream in the side channel. To implement processWithMetadata(), you must override useSideChannel() to return true. Vertica invokes this method repeatedly during query execution, until it returns DONE or until the query is canceled by the user.

Input: a stream of data bytes, and a stream of bytes containing message length metadata.

Output: a stream of data bytes, and a stream of bytes containing message length metadata.

Returns INPUT_NEEDED

OUTPUT_NEEDED

DONE

KEEP_GOING

See Vertica::StreamState for details about return values.

On each invocation, processWithMetadata() is handed some input data and a data buffer to write output data to, and record length metadata and a length buffer to write metadata to. It is expected to read and process some amount of the input data and input metadata, write some amount of output data and output metadata, and return a value that informs Vertica what needs to happen next.

For the DataBuffer, processWithMetadata() must set input.offset to the number of bytes that were successfully read from the input buffer that do not need to be re-consumed by a subsequent invocation of processWithMetadata(). This might not be larger than input.size (input.size is the size of DataBuffer). If it is set to 0, this indicates that processWithMetadata() cannot process any part of an input buffer of this size, and requires more data per invocation. For example, a block-based decompression algorithm might return 0 if the input buffer does not contain a complete block.

For the LengthBuffer, processWithMetadata() must set input_lengths.offset to the number of length values that were successfully read from the input_lengths buffer that do not need to be re-consumed by a subsequent invocation of processWithMetadata(). This cannot be larger than input_lengths.size (input_lengths.size is the number of length values that the LengthBuffer can hold). If it is set to 0, this indicates that processWithMetadata() cannot process any part of an input_lengths buffer of this size, and requires more data per invocation.

Note that input might contain null bytes if the source file contains null bytes. Additionally, note that input is NOT automatically null-terminated.

If input_state == END_OF_FILE, then the last byte in input is the last byte in the input stream. Returning INPUT_NEEDED does not result in any new input appearing. In this case, processWithMetadata() should return DONE as soon as this operator has finished producing all output that it can produce.

For the DataBuffer, processWithMetadata() should set output.offset (an output parameter) to the number of bytes that were written to the output buffer. It is common, though not necessary, for this to be the same as output.size (an input parameter). When processWithMetadata() is called, output.offset is uninitialized. To indicate that the buffer is too small to hold a record, processWithMetadata() should set output.offset and output_lengths.offset to 0 and return OUTPUT_NEEDED. Then, processWithMetadata() is called again with a larger buffer.

For the LengthBuffer, processWithMetadata() should set output_lengths.offset to the number of length values that were written to the output_lengths buffer. If output.offset is set to 0, then output_lengths.offset should also be set to 0.

In general, processWithMetadata() code should assume that data buffers and INPUT_NEEDED start at output.buff[output.offset], and length buffers start at output_lengths.buf[output_lengths.offset].

As a performance optimization, upstream operators might start processing emitted data (data between output.buf[0] and output.buf[output.offset] in the DataBuffer, and between output_lengths.buf[0] and output_lengths.buf[output_lengths.offset] in the LengthBuffer) before OUTPUT_NEEDED is returned. For this reason, output.offset and output_lengths.offset must be strictly increasing.

virtual void Vertica::UDFilter::setup(ServerInterface & srvInterface)

inlinevirtual

UDFilter::setup()

Will be invoked during query execution, prior to the first time that process() is called on this UDFilter instance for a particular input file.

May optionally be overridden to perform setup/initialzation.

Note that UDFilters MUST BE RESTARTABLE! If loading large numbers of files, a given UDFilter may be re-used for multiple files. Vertica follows the worker-pool design pattern: At the start of COPY execution, several Parsers and several Filters are instantiated per node, by calling the corresponding prepare() method multiple times. Each Filter/Parser pair is then internally assigned to an initial Source (UDSource or internal). At that point, setup() is called; then process() is called until it is finished; then destroy() is called. setup() will be called a second time, then process() until it is finished, then destroy(). This repeats until all sources have been read.

virtual bool Vertica::UDFilter::useSideChannel()

inlinevirtual

UDFilter::useSideChannel()

Provides access to the side channel containing record length metadata, when the data source has metadata about record boundaries available in a structured format that is separate from the data payload, and it is retained throughout the load stack.

Override and return true to indicate that processWithMetadata() should be called instead of process().

Return false to implement process().

Returns false by default.

232 - Vertica::UDFilter Member List

This is the complete list of members for Vertica::UDFilter, including all inherited members.

cancel(ServerInterface &srvInterface) Vertica::UDXObject inlineprotectedvirtual
cancelUDX(ServerInterface &srvInterface) Vertica::UDXObject inline
destroy(ServerInterface &srvInterface) Vertica::UDFilter inlinevirtual
destroy(ServerInterface &srvInterface, SessionParamWriterMap &udSessionParams) (defined in Vertica::UDFilter) Vertica::UDFilter inlinevirtual
isCanceled() const Vertica::UDXObject inline
process(ServerInterface &srvInterface, DataBuffer &input, InputState input_state, DataBuffer &output)=0 Vertica::UDFilter pure virtual
processWithMetadata(ServerInterface &srvInterface, DataBuffer &input, LengthBuffer &input_lengths, InputState input_state, DataBuffer &output, LengthBuffer &output_lengths) Vertica::UDFilter inlinevirtual
setup(ServerInterface &srvInterface) Vertica::UDFilter inlinevirtual
UDXObject() (defined in Vertica::UDXObject) Vertica::UDXObject inline
useSideChannel() Vertica::UDFilter inlinevirtual
~UDFilter() (defined in Vertica::UDFilter) Vertica::UDFilter inlinevirtual
~UDXObject() Vertica::UDXObject inlinevirtual

233 - Vertica::UDKeyManager Class Reference

Collaboration diagram for Vertica::UDKeyManager:

Public Member Functions
virtual void cleanup ()
do any cleanup tasks that may thow and so shouldn't be in the destructor
virtual void deleteKey (const std::string &name, const std::map &conf={})
drop the key created by generateKey() for name
virtual AESKey generateKey (const std::string &name, const std::map &conf={})
create a new key for object name
virtual std::string getDescription () const
override to get better representation in error message/log/system table
virtual std::string getDisplayName () const
override to get better representation in error message/log/system table
virtual AESKey getKey (const std::string &id, bool internal, const std::map &conf={})=0
return key identified by id; if internal then should use database identity for permissions checks
virtual AESKey getStartupKey (const std::string &password, const std::map &config={}, const std::string &id="")=0
called during startup; returned key is used to decrypt the catalog
virtual std::vector persistParams ()=0
returns the keys for parameters it is safe to write to a configuration file

234 - Vertica::UDKeyManager Member List

This is the complete list of members for Vertica::UDKeyManager, including all inherited members.

cleanup() Vertica::UDKeyManager inlinevirtual
deleteKey(const std::string &name, const std::map &conf={}) Vertica::UDKeyManager inlinevirtual
generateKey(const std::string &name, const std::map &conf={}) Vertica::UDKeyManager inlinevirtual
getDescription() const Vertica::UDKeyManager inlinevirtual
getDisplayName() const Vertica::UDKeyManager inlinevirtual
getKey(const std::string &id, bool internal, const std::map &conf={})=0 Vertica::UDKeyManager pure virtual
getStartupKey(const std::string &password, const std::map &config={}, const std::string &id="")=0 Vertica::UDKeyManager pure virtual
persistParams()=0 Vertica::UDKeyManager pure virtual
UDKeyManager() (defined in Vertica::UDKeyManager) Vertica::UDKeyManager inline
~UDKeyManager() (defined in Vertica::UDKeyManager) Vertica::UDKeyManager inlinevirtual

235 - Vertica::UDKeyManagerFactory Class Reference

Inheritance diagram for Vertica::UDKeyManagerFactory:

Collaboration diagram for Vertica::UDKeyManagerFactory:

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 UDKeyManager * createUDKeyManager (ServerInterface &srvInterface)=0
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 void getPrototype (ServerInterface &srvInterface, ColumnTypes &argTypes, ColumnTypes &returnType)
virtual void getReturnType (ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType)
Protected Member Functions
virtual UDXType getUDXFactoryType () override
Protected Attributes
Oid libOid
std::string sqlName

Member Enumeration Documentation

enum Vertica::UDXFactory::UDXType

inherited The type of UDX instance this factory produces

Member Function Documentation

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

inlinevirtualinherited

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.

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

inlinevirtualinherited

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 Vertica::UDXFactory::getPerInstanceResources().

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

inlinevirtualinherited

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.

virtual void Vertica::UDKeyManagerFactory::getPrototype(ServerInterface & srvInterface, ColumnTypes & argTypes, ColumnTypes & returnType)

inlinevirtual

UDKeyManagers take no input tuples; as such, their prototype must be empty.

virtual void Vertica::UDKeyManagerFactory::getReturnType(ServerInterface & srvInterface, const SizedColumnTypes & argTypes, SizedColumnTypes & returnType)

inlinevirtual

UDKeyManagers return no output; as such, their prototype must be empty.

virtual UDXType Vertica::UDKeyManagerFactory::getUDXFactoryType()

inlineprotectedvirtual

Returns the object type internally used by Vertica

Implements Vertica::UDXFactory.

236 - Vertica::UDKeyManagerFactory Member List

This is the complete list of members for Vertica::UDKeyManagerFactory, including all inherited members.

AGGREGATE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
ANALYTIC enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
createUDKeyManager(ServerInterface &srvInterface)=0 (defined in Vertica::UDKeyManagerFactory) Vertica::UDKeyManagerFactory pure virtual
CURSOR_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
FILESYSTEM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
getParameterType(ServerInterface &srvInterface, SizedColumnTypes meterTypes) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) Vertica::UDXFactory inlinevirtual
getPrototype(ServerInterface &srvInterface, ColumnTypes &argTypes, ColumnTypes &returnType) Vertica::UDKeyManagerFactory inlinevirtual
getReturnType(ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SizedColumnTypes &returnType) Vertica::UDKeyManagerFactory inlinevirtual
getUDXFactoryType() override Vertica::UDKeyManagerFactory inlineprotectedvirtual
KEYMANAGER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
libOid (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
LOAD_FILTER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_PARSER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_SOURCE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
MULTI_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
SCALAR enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
sqlName (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
TYPE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
UDXType enum name Vertica::UDXFactory
~UDKeyManagerFactory() (defined in Vertica::UDKeyManagerFactory) Vertica::UDKeyManagerFactory inlinevirtual
~UDXFactory() (defined in Vertica::UDXFactory) Vertica::UDXFactory inlinevirtual

237 - Vertica::UDLFactory Class Reference

Inheritance diagram for Vertica::UDLFactory:

Collaboration diagram for Vertica::UDLFactory:

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) override
virtual void getPerInstanceResources (ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) override
virtual UDXType getUDXFactoryType ()=0
Protected Attributes
Oid libOid
std::string sqlName

Member Enumeration Documentation

enum Vertica::UDXFactory::UDXType

inherited The type of UDX instance this factory produces

Member Function Documentation

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

inlinevirtualinherited

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.

virtual void Vertica::UDLFactory::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 from Vertica::UDXFactory.

Referenced by getPerInstanceResources().

virtual void Vertica::UDLFactory::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 from Vertica::UDXFactory.

virtual UDXType Vertica::UDXFactory::getUDXFactoryType()

pure virtual inherited 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.

238 - Vertica::UDLFactory Member List

This is the complete list of members for Vertica::UDLFactory, including all inherited members.

AGGREGATE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
ANALYTIC enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
CURSOR_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
FILESYSTEM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
getParameterType(ServerInterface &srvInterface, SizedColumnTypes meterTypes) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res) override Vertica::UDLFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) override Vertica::UDLFactory inlinevirtual
getUDXFactoryType()=0 Vertica::UDXFactory pure virtual
KEYMANAGER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
libOid (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
LOAD_FILTER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_PARSER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_SOURCE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
MULTI_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
SCALAR enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
sqlName (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
TYPE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
UDXType enum name Vertica::UDXFactory
~UDLFactory() (defined in Vertica::UDLFactory) Vertica::UDLFactory inlinevirtual
~UDXFactory() (defined in Vertica::UDXFactory) Vertica::UDXFactory inlinevirtual

239 - Vertica::UDParser Class Reference

Parses an input stream into Vertica tuples (rows to be inserted into a table).

Inheritance diagram for Vertica::UDParser:

Collaboration diagram for Vertica::UDParser:

Public Member Functions
void cancelUDX (ServerInterface &srvInterface)
virtual void destroy (ServerInterface &srvInterface, SizedColumnTypes &returnType)
virtual void destroy (ServerInterface &srvInterface, SizedColumnTypes &returnType, SessionParamWriterMap &udSessionParams)
virtual RejectedRecord getRejectedRecord ()
bool isCanceled () const
virtual bool isReadyToCooperate (ServerInterface &srvInterface)
virtual void prepareToCooperate (ServerInterface &srvInterface, bool isLeader)
virtual StreamState process (ServerInterface &srvInterface, DataBuffer &input, InputState input_state)=0
virtual StreamState processWithMetadata (ServerInterface &srvInterface, DataBuffer &input, LengthBuffer &input_lengths, InputState input_state)
virtual void setup (ServerInterface &srvInterface, SizedColumnTypes &returnType)
virtual bool useSideChannel ()
Protected Member Functions
virtual void cancel (ServerInterface &srvInterface)
Portion getPortion ()
Protected Attributes
Portion portion
vint recordsAcceptedInBatch
bool seen_eob
std::string srcname
StreamWriter * writer

Detailed Description

Parses an input stream into Vertica tuples (rows to be inserted into a table).

A UDParser can be used with up to one UDSource and any number of UDfilters.

Note that it is UNSAFE to maintain pointers or references to any of these arguments (or any other argument passed by reference into any other function in this API) beyond the scope of the function call in question. For example, do not store a reference to the server interface or the input block on an instance variable. Vertica may free and replace these objects.

Member Function Documentation

virtual void Vertica::UDXObject::cancel(ServerInterface & srvInterface)

inlineprotectedvirtualinherited

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

Note

  • 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 or destructor). 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.

Referenced by Vertica::UDXObject::cancelUDX().

void Vertica::UDXObject::cancelUDX(ServerInterface & srvInterface)

inline inherited Cancel callback invoked when the query running the UDX has been canceled. See cancel().

virtual void Vertica::UDParser::destroy(ServerInterface & srvInterface, SizedColumnTypes & returnType)

inlinevirtual

UDParser::destroy()

Will be invoked during query execution, after the last time that process() is called on this UDParser instance for a particular input file.

May optionally be overridden to perform tear-down/destruction.

See UDParser::setup() for a note about the restartability of UDParsers.

Portion Vertica::UDParser::getPortion()

inlineprotected

Return a description of the portion of the input source which is being processed by the active load stack. This can be called by the UDParser implementation to determine how much data to process.

This can be invoked during setup(), process() or destroy().

The Portion object returned will be a valid portion if any part of the load stack is processing portions. This UDParser instance will see input states START_OF_PORTION and/or END_OF_PORTION if it is the stack element directly processing portions.

virtual RejectedRecord Vertica::UDParser::getRejectedRecord()

inlinevirtual

Returns information about the rejected record

bool Vertica::UDXObject::isCanceled() const

inline inherited Returns true iff this UDX has been canceled

virtual bool Vertica::UDParser::isReadyToCooperate(ServerInterface & srvInterface)

inlinevirtual

UDParser::isReadyToCooperate()

Called after UDParser::prepareToCooperate(), returns false if this parser is not yet ready to cooperate. Once this method returns true the parser can begin to cooperate. Default implementation returns true, override if some preparation is required before the parser can cooperate (e.g. a certain # of rows must be skipped).

virtual void Vertica::UDParser::prepareToCooperate(ServerInterface & srvInterface, bool isLeader)

inlinevirtual

UDParser::prepareToCooperate()

Notification to this parser that it should prepare to share parsing input with another. This can only happen when a parser has an associated chunker. Default implementation does nothing.

virtual StreamState Vertica::UDParser::process(ServerInterface & srvInterface, DataBuffer & input, InputState input_state)

pure virtual UDParser::process()

Reads data from the input stream and produces tuples to load. Vertica invokes this method repeatedly during query execution until it returns DONE, or until the query is canceled by the user.

Input: a stream of bytes.

Output: a stream of tuples.

Returns INPUT_NEEDED

DONE

REJECT

KEEP_GOING

See Vertica::StreamState for details about return values.

On each invocation, process() is given an input buffer. It must read data from the input buffer, convert the data to fields and tuples, then write those tuples with writer. After it has consumed as much as it reasonably can (for example, after it consumes the last complete row in the input buffer), it must return INPUT_NEEDED to indicate that more data is needed, or DONE to indicate that it has completed parsing the input stream and will not read more bytes.

If input_state == END_OF_FILE, then the last byte in input is the last byte in the input stream. Returning INPUT_NEEDED does not result in any new input. In this case, process() must return DONE as soon as this operator finishes producing all output that it is going to produce.

Note that input might contain null bytes, if the source file contains null bytes. Additionally, note that input is NOT automatically null-terminated.

process() must not block indefinitely. If it cannot proceed for an extended period of time, it should return KEEP_GOING so that it can be called again. Failure to do this causes issues, including preventing the user from canceling the query.

Note that unless INPUT_NEEDED is returned, input is UNMODIFIED the next time process() is called. This means that pointers into the buffer are still valid. It also means that input.offset may be set. In general, process() code should assume that buffers start at input.buf[input.offset].

Row Rejection

process() can "reject" a row, which logs it using Vertica's rejected-rows mechanism. Rejected rows should not be emitted as tuples. All previous input must have been consumed by a call to process(). To reject a row, set input.offset to the position of the row, and return REJECT.

Referenced by processWithMetadata().

virtual StreamState Vertica::UDParser::processWithMetadata(ServerInterface & srvInterface, DataBuffer & input, LengthBuffer & input_lengths, InputState input_state)

inlinevirtual

UDParser::processWithMetadata()

Reads data from the input stream and record length metadata from the side channel and produces tuples to load. To implement processWithMetadata(), you must override useSideChannel() to return true. Vertica invokes this method repeately during query execution until it returns DONE, or until the query is canceled by the user.

Input: a stream of data bytes, and a stream of bytes containing message length metadata.

Output: a stream of tuples.

Returns INPUT_NEEDED

DONE

REJECT

KEEP_GOING

See Vertica::StreamState for details about return values.

On each invocation, processWithMetadata() is given an input buffer and a length buffer. It must read data from the input buffer and metadata from the length buffer, convert the data to fields and tuples, then write the tuples with writer. After it has consumed as much as it reasonably can (for example, after it consumes the last complete row in the input buffer), it must return INPUT_NEEDED to indicate that more data is needed, or DONE to indicate that parsing this input stream is complete and it will not read any more bytes.

If input_state == END_OF_FILE, then the last byte in input is the last byte in the input stream. Returning INPUT_NEEDED does not result in any new input. In this case, processWithMetadata() must return DONE as soon as this operator finishes producing all output that it is going to produce.

Note that input might contain null bytes if the source file contains null bytes. Additionally, note that input are NOT automatically null-terminated.

processWithMetadata() must not block indefinitely. If it cannot proceed for an extended period of time, it should return KEEP_GOING so that it can be called again. Failure to do this causes issues, including preventing the user from canceling the query.

In general, processWithMetadata() code should assume that the DataBuffer starts at input.buf[input.offset] and the LengthBuffer starts at `input_lengths.buf[input_lengths.offset].

Row Rejection

processWithMetadata() can "reject" a row, which logs it using Vertica's rejected-rows mechanism. Rejected rows should not be emitted as tuples. All previous input must have been consumed by a call to process(). To reject a row, set input.offset to the position of the row, and return REJECT.

virtual void Vertica::UDParser::setup(ServerInterface & srvInterface, SizedColumnTypes & returnType)

inlinevirtual

UDParser::setup()

Will be invoked during query execution, prior to the first time that process() is called on this UDParser instance for a particular input source.

May optionally be overridden to perform setup/initialzation.

Note that UDParsers MUST BE RESTARTABLE! If loading large numbers of files, a given UDParsers may be re-used for multiple files. Vertica follows the worker-pool design pattern: At the start of COPY execution, several Parsers and several Filters are instantiated per node, by calling the corresponding prepare() method multiple times. Each Filter/Parser pair is then internally assigned to an initial Source (UDSource or internal). At that point, setup() is called; then process() is called until it is finished; then destroy() is called. If there are still sources in the pool waiting to be processed, then the UDFilter/UDSource pair will be given a second Source; setup() will be called a second time, then process() until it is finished, then destroy(). This repeats until all sources have been read.

virtual bool Vertica::UDParser::useSideChannel()

inlinevirtual

UDParser::useSideChannel()

Provides access to the side channel containing record length metadata, when the data source has metadata about record boundaries available in a structured format that is separate from the data payload, and it is retained throughout the load stack.

Override and return true to indicate that processWithMetadata() should be called instead of process().

Return false to implement process()

Returns false by default.

Member Data Documentation

StreamWriter* Vertica::UDParser::writer

protected

Writer to write parsed tuples to. Has the same API as PartitionWriter, from the UDT framework.

240 - Vertica::UDParser Member List

This is the complete list of members for Vertica::UDParser, including all inherited members.

cancel(ServerInterface &srvInterface) Vertica::UDXObject inlineprotectedvirtual
cancelUDX(ServerInterface &srvInterface) Vertica::UDXObject inline
destroy(ServerInterface &srvInterface, SizedColumnTypes &returnType) Vertica::UDParser inlinevirtual
destroy(ServerInterface &srvInterface, SizedColumnTypes &returnType, SessionParamWriterMap &udSessionParams) (defined in Vertica::UDParser) Vertica::UDParser inlinevirtual
getPortion() Vertica::UDParser inlineprotected
getRejectedRecord() Vertica::UDParser inlinevirtual
isCanceled() const Vertica::UDXObject inline
isReadyToCooperate(ServerInterface &srvInterface) Vertica::UDParser inlinevirtual
portion (defined in Vertica::UDParser) Vertica::UDParser protected
prepareToCooperate(ServerInterface &srvInterface, bool isLeader) Vertica::UDParser inlinevirtual
process(ServerInterface &srvInterface, DataBuffer &input, InputState input_state)=0 Vertica::UDParser pure virtual
processWithMetadata(ServerInterface &srvInterface, DataBuffer &input, LengthBuffer &input_lengths, InputState input_state) Vertica::UDParser inlinevirtual
recordsAcceptedInBatch (defined in Vertica::UDParser) Vertica::UDParser protected
seen_eob (defined in Vertica::UDParser) Vertica::UDParser protected
setup(ServerInterface &srvInterface, SizedColumnTypes &returnType) Vertica::UDParser inlinevirtual
srcname (defined in Vertica::UDParser) Vertica::UDParser protected
UDParser() (defined in Vertica::UDParser) Vertica::UDParser inline
UDXObject() (defined in Vertica::UDXObject) Vertica::UDXObject inline
useSideChannel() Vertica::UDParser inlinevirtual
writer Vertica::UDParser protected
~UDParser() (defined in Vertica::UDParser) Vertica::UDParser inlinevirtual
~UDXObject() Vertica::UDXObject inlinevirtual

241 - Vertica::UDSource Class Reference

Acquires data from an external source (such as a file or URL) and produces that data in a streaming manner.

Inheritance diagram for Vertica::UDSource:

Collaboration diagram for Vertica::UDSource:

Public Member Functions
void cancelUDX (ServerInterface &srvInterface)
virtual void destroy (ServerInterface &srvInterface) override
virtual void destroy (ServerInterface &srvInterface, SessionParamWriterMap &udSessionParams) override
virtual Portion getPortion () override
virtual vint getSize ()
virtual std::string getUri ()
bool isCanceled () const
virtual StreamState process (ServerInterface &srvInterface, DataBuffer &output) override=0
virtual StreamState processWithMetadata (ServerInterface &srvInterface, DataBuffer &output, LengthBuffer &output_lengths)
virtual size_t requestMinBufferSize (ServerInterface &srvInterface)
virtual void setup (ServerInterface &srvInterface) override
virtual bool useSideChannel ()
Static Public Attributes
static const size_t DEFAULT_MIN_BUFFER_SIZE = 1024 * 1024
Protected Member Functions
virtual void cancel (ServerInterface &srvInterface)

Detailed Description

Acquires data from an external source (such as a file or URL) and produces that data in a streaming manner.

The output of a UDSource can be sent through one or more UDFilters followed by one UDParser.

Note that it is UNSAFE to maintain pointers or references to any of these arguments (or any other argument passed by reference into any other function in this API) beyond the scope of the function call in question. For example, do not store a reference to the server interface or the input block on an instance variable. Vertica may free and replace these objects.

Member Function Documentation

virtual void Vertica::UDXObject::cancel(ServerInterface & srvInterface)

inlineprotectedvirtualinherited

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

Note

  • 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 or destructor). 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.

Referenced by Vertica::UDXObject::cancelUDX().

void Vertica::UDXObject::cancelUDX(ServerInterface & srvInterface)

inline inherited Cancel callback invoked when the query running the UDX has been canceled. See cancel().

virtual void Vertica::UDSource::destroy(ServerInterface & srvInterface)

inlinevirtual

UDSource::destroy()

Will be invoked during query execution, after the last time that process() is called on this UDSource instance.

May optionally be overridden to perform tear-down/destruction.

Reimplemented from Vertica::UnsizedUDSource.

virtual Portion Vertica::UDSource::getPortion()

inlinevirtual

UDSource::getPortion()

Gets this source's split if the source is apportioned. Default implementation return a Portion instance from default constructor {o=-1, s=-1, t=false}.

Implements Vertica::UnsizedUDSource.

virtual vint Vertica::UDSource::getSize()

inlinevirtual

UDSource::getSize()

Returns the estimated number of bytes that process() will return.

This value is treated as advisory only. It is used to indicate the file size in the LOAD_STREAMS and LOAD_SOURCES tables.

IMPORTANT: getSize() can be called at any time, even before setup() is called! (Though not before or during the constructor.)

In the case of Sources whose factories can potentially produce many UDSource instances, getSize() should avoid acquiring resources that last for the life of the object. Doing otherwise can defeat Vertica's attempts to limit the maximum number of Sources that are consuming system resources at any given time. For example, if it opens a file handle and leaves that file handle open for use by process(), and if a large number of UDSources are loaded in a single statement, the query may exceed the operating system limit on file handles and crash, even though Vertica only operates on a small number of files at once. This doesn't apply to singleton Sources, Sources whose factory will only ever produce one UDSource instance.

virtual std::string Vertica::UnsizedUDSource::getUri()

inlinevirtualinherited

UnsizedUDSource::getUri()

Return the URI of the current source of data.

This function will be invoked during execution to fill in monitoring information.

bool Vertica::UDXObject::isCanceled() const

inline inherited Returns true iff this UDX has been canceled

virtual StreamState Vertica::UDSource::process(ServerInterface & srvInterface, DataBuffer & output)

pure virtual UDSource::process()

Reads data from the input source and processes it. Vertica invokes this method repeatedly until it returns DONE or the query is canceled by the user.

Input: an external data source.

Output: a stream of bytes.

Returns OUTPUT_NEEDED

DONE

KEEP_GOING

See Vertica::StreamState for details about return values.

On each invocation, process() should acquire more data and write that data to the buffer specified by output.

process() should set output.offset (an output parameter) to the number of bytes that were written to the output buffer. It is common, though not necessary, for this to be the same as output.size (an input parameter). When process() is called, output.offset is uninitialized. To indicate that the buffer is too small to hold a record, process() should set output.offset to 0 and return OUTPUT_NEEDED. Then, process() is called again with a larger buffer.

In general, process() code should assume that buffers start at output.buf[output.offset]. As a performance optimization, upstream operators might start processing emitted data (data between output.buf[0] and output.buf[output.offset]) before OUTPUT_NEEDED is returned. For this reason, output.offset must be strictly increasing.

Implements Vertica::UnsizedUDSource.

virtual StreamState Vertica::UnsizedUDSource::processWithMetadata(ServerInterface & srvInterface, DataBuffer & output, LengthBuffer & output_lengths)

inlinevirtualinherited

UnsizedUDSource::processWithMetadata()

Reads data from the input source and record length metadata from the side channel and processes it. To implement processWithMetadata(), you must override useSideChannel() to return true. Vertica invokes this method repeatedly until it returns DONE or the query is canceled by the user.

Input: an external data source.

Output: a stream of data bytes, and a stream of bytes containing message length metadata from the data source.

Returns OUTPUT_NEEDED

DONE

KEEP_GOING

See Vertica::StreamState for details about return values.

On each invocation, processWithMetadata() should acquire more data and write that data to the buffer specified by output, and write the message lengths to output_lengths.

For the DataBuffer, processWithMetadata() should set output.offset (an output parameter) to the number of bytes that were written to the output buffer. It is common, though not necessary, for this to be the same as output.size (an input parameter). When processWithMetadata() is called, output.offset is uninitialized. To indicate that the buffer is too small to hold a record, processWithMetadata() should set output.offset and output_length.offset to 0 and return OUTPUT_NEEDED. Then processWithMetadata() is called again with a larger buffer.

For the LengthBuffer, processWithMetadata() should set output_lengths.offset to the number of length values that were written to the output_lengths buffer. If output.offset is set to 0, then output_lengths.offset should also be set to 0.

In general, processWithMetadata() code should assume that data buffers start at output.buf[output.offset] and length buffers start at output_lengths.buf[output_lengths.offset].

As a performance optimization, upstream operators might start processing emitted data (data between output.buf[0] and output.buf[output.offset] in the DataBuffer, and between output_lengths.buf[0] and output_lengths.buf[output.offset] in the LengthBuffer) before OUTPUT_NEEDED is returned. For this reason, output.offset and output_lengths.offset must be strictly increasing.

virtual size_t Vertica::UnsizedUDSource::requestMinBufferSize(ServerInterface & srvInterface)

inlinevirtualinherited

Request a minimum buffer size into which this source will read data. This will be called after setup(), before the first call to process().

virtual void Vertica::UDSource::setup(ServerInterface & srvInterface)

inlinevirtual

UDSource::setup()

Will be invoked during query execution, prior to the first time that process() is called on this UDSource instance.

May optionally be overridden to perform setup/initialzation.

Reimplemented from Vertica::UnsizedUDSource.

virtual bool Vertica::UnsizedUDSource::useSideChannel()

inlinevirtualinherited

UnsizedUDSource::useSideChannel()

Provides access to the side channel containing record length metadata, when the UnsizedUDSource has metadata about record boundaries available in a structured format that is separate from the data payload.

Override and return true to indicate that processWithMetadata() should be called instead of process().

Return false to implement process().

Returns false by default.

242 - Vertica::UDSource Member List

This is the complete list of members for Vertica::UDSource, including all inherited members.

cancel(ServerInterface &srvInterface) Vertica::UDXObject inlineprotectedvirtual
cancelUDX(ServerInterface &srvInterface) Vertica::UDXObject inline
DEFAULT_MIN_BUFFER_SIZE (defined in Vertica::UnsizedUDSource) Vertica::UnsizedUDSource static
destroy(ServerInterface &srvInterface) override Vertica::UDSource inlinevirtual
destroy(ServerInterface &srvInterface, SessionParamWriterMap &udSessionParams) override (defined in Vertica::UDSource) Vertica::UDSource inlinevirtual
getPortion() override Vertica::UDSource inlinevirtual
getSize() Vertica::UDSource inlinevirtual
getUri() Vertica::UnsizedUDSource inlinevirtual
isCanceled() const Vertica::UDXObject inline
process(ServerInterface &srvInterface, DataBuffer &output) override=0 Vertica::UDSource pure virtual
processWithMetadata(ServerInterface &srvInterface, DataBuffer &output, LengthBuffer &output_lengths) Vertica::UnsizedUDSource inlinevirtual
requestMinBufferSize(ServerInterface &srvInterface) Vertica::UnsizedUDSource inlinevirtual
setup(ServerInterface &srvInterface) override Vertica::UDSource inlinevirtual
UDXObject() (defined in Vertica::UDXObject) Vertica::UDXObject inline
useSideChannel() Vertica::UnsizedUDSource inlinevirtual
~UDSource() (defined in Vertica::UDSource) Vertica::UDSource inlinevirtual
~UDXObject() Vertica::UDXObject inlinevirtual
~UnsizedUDSource() (defined in Vertica::UnsizedUDSource) Vertica::UnsizedUDSource inlinevirtual

243 - Vertica::UDxCounterRequest Member List

This is the complete list of members for Vertica::UDxCounterRequest, including all inherited members.

CounterType enum name Vertica::UDxCounterRequest
CT_END_TIME enum value (defined in Vertica::UDxCounterRequest) Vertica::UDxCounterRequest
CT_EXECUTION_TIME enum value (defined in Vertica::UDxCounterRequest) Vertica::UDxCounterRequest
CT_INPUT_SIZE_BYTES enum value (defined in Vertica::UDxCounterRequest) Vertica::UDxCounterRequest
CT_INPUT_SIZE_ROWS enum value (defined in Vertica::UDxCounterRequest) Vertica::UDxCounterRequest
CT_MISC_SCALAR enum value (defined in Vertica::UDxCounterRequest) Vertica::UDxCounterRequest
CT_PROCESSED_BYTES enum value (defined in Vertica::UDxCounterRequest) Vertica::UDxCounterRequest
CT_PROCESSED_ROWS enum value (defined in Vertica::UDxCounterRequest) Vertica::UDxCounterRequest
CT_RESOURCES enum value (defined in Vertica::UDxCounterRequest) Vertica::UDxCounterRequest
CT_START_TIME enum value (defined in Vertica::UDxCounterRequest) Vertica::UDxCounterRequest
isTimer() (defined in Vertica::UDxCounterRequest) Vertica::UDxCounterRequest inline
isTimeStamper() (defined in Vertica::UDxCounterRequest) Vertica::UDxCounterRequest inline
name Vertica::UDxCounterRequest
tag Vertica::UDxCounterRequest
type (defined in Vertica::UDxCounterRequest) Vertica::UDxCounterRequest
UDxCounterRequest() (defined in Vertica::UDxCounterRequest) Vertica::UDxCounterRequest inline
UDxCounterRequest(std::string _name, std::string _tag, CounterType _type) (defined in Vertica::UDxCounterRequest) Vertica::UDxCounterRequest inline

244 - Vertica::UDxCounterRequest Struct Reference

Collaboration diagram for Vertica::UDxCounterRequest:

Public Types
enum CounterType { CT_START_TIME, CT_END_TIME, CT_EXECUTION_TIME, CT_INPUT_SIZE_ROWS, CT_INPUT_SIZE_BYTES, CT_PROCESSED_ROWS, CT_PROCESSED_BYTES, CT_RESOURCES, CT_MISC_SCALAR }
Public Member Functions
UDxCounterRequest (std::string _name, std::string _tag, CounterType _type)
bool isTimer ()
bool isTimeStamper ()
Public Attributes
std::string name
std::string tag
enum Vertica::UDxCounterRequest::CounterType type

Detailed Description

Request for a counter

Member Enumeration Documentation

enum Vertica::UDxCounterRequest::CounterType

Type of value held by the counter

Member Data Documentation

std::string Vertica::UDxCounterRequest::name

Name of the counter, describing what is counted

std::string Vertica::UDxCounterRequest::tag

Tag, for cases where the counter name has multiple instances per UDx

245 - 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

enum Vertica::UDXFactory::UDXType

The type of UDX instance this factory produces

Member Function Documentation

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.

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().

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.

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.

246 - Vertica::UDXFactory Member List

This is the complete list of members for Vertica::UDXFactory, including all inherited members.

::UdfSupport (defined in Vertica::UDXFactory) Vertica::UDXFactory friend
AGGREGATE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
ANALYTIC enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
CURSOR_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
FILESYSTEM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
getParameterType(ServerInterface &srvInterface, SizedColumnTypes meterTypes) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res) Vertica::UDXFactory inlinevirtual
getPerInstanceResources(ServerInterface &srvInterface, VResources &res, const SizedColumnTypes &inputTypes) Vertica::UDXFactory inlinevirtual
getUDXFactoryType()=0 Vertica::UDXFactory pure virtual
KEYMANAGER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
libOid (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
LOAD_FILTER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_PARSER enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
LOAD_SOURCE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
MULTI_TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
SCALAR enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
sqlName (defined in Vertica::UDXFactory) Vertica::UDXFactory protected
TRANSFORM enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
TYPE enum value (defined in Vertica::UDXFactory) Vertica::UDXFactory
UDXType enum name Vertica::UDXFactory
~UDXFactory() (defined in Vertica::UDXFactory) Vertica::UDXFactory inlinevirtual

247 - Vertica::UDXFunction Class Reference

Inheritance diagram for Vertica::UDXFunction:

Collaboration diagram for Vertica::UDXFunction:

Public Member Functions
void cancelUDX (ServerInterface &srvInterface)
virtual void destroy (ServerInterface &srvInterface, const SizedColumnTypes &argTypes)
virtual void destroy (ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SessionParamWriterMap &udSessionParams)
bool isCanceled () const
virtual void setup (ServerInterface &srvInterface, const SizedColumnTypes &argTypes)
Protected Member Functions
virtual void cancel (ServerInterface &srvInterface)

Member Function Documentation

virtual void Vertica::UDXObject::cancel(ServerInterface & srvInterface)

inlineprotectedvirtualinherited

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

Note

  • 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 or destructor). 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.

Referenced by Vertica::UDXObject::cancelUDX().

void Vertica::UDXObject::cancelUDX(ServerInterface & srvInterface)

inline inherited Cancel callback invoked when the query running the UDX has been canceled. See cancel().

virtual void Vertica::UDXFunction::destroy(ServerInterface & srvInterface, const SizedColumnTypes & argTypes)

inlinevirtual

Perform per instance destruction. This function may throw errors

Referenced by destroy().

virtual void Vertica::UDXFunction::destroy(ServerInterface & srvInterface, const SizedColumnTypes & argTypes, SessionParamWriterMap & udSessionParams)

inlinevirtual

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::UDXObject::isCanceled() const

inline inherited Returns true iff this UDX has been canceled

virtual void Vertica::UDXFunction::setup(ServerInterface & srvInterface, const SizedColumnTypes & argTypes)

inlinevirtual

Perform per instance initialization. This function may throw errors.

248 - Vertica::UDXFunction Member List

This is the complete list of members for Vertica::UDXFunction, including all inherited members.

cancel(ServerInterface &srvInterface) Vertica::UDXObject inlineprotectedvirtual
cancelUDX(ServerInterface &srvInterface) Vertica::UDXObject inline
destroy(ServerInterface &srvInterface, const SizedColumnTypes &argTypes) Vertica::UDXFunction inlinevirtual
destroy(ServerInterface &srvInterface, const SizedColumnTypes &argTypes, SessionParamWriterMap &udSessionParams) Vertica::UDXFunction inlinevirtual
isCanceled() const Vertica::UDXObject inline
setup(ServerInterface &srvInterface, const SizedColumnTypes &argTypes) Vertica::UDXFunction inlinevirtual
UDXObject() (defined in Vertica::UDXObject) Vertica::UDXObject inline
~UDXObject() Vertica::UDXObject inlinevirtual

249 - Vertica::UDXObject Class Reference

Base class for Vertica User-Defined extensions (the function classes themselves). Not intended for direct use by applications.

Inheritance diagram for Vertica::UDXObject:

Collaboration diagram for Vertica::UDXObject:

Public Member Functions
virtual ~UDXObject ()
void cancelUDX (ServerInterface &srvInterface)
bool isCanceled () const
Protected Member Functions
virtual void cancel (ServerInterface &srvInterface)

Detailed Description

Base class for Vertica User-Defined extensions (the function classes themselves). Not intended for direct use by applications.

Constructor & Destructor Documentation

virtual Vertica::UDXObject::~UDXObject()

inlinevirtual

Destructors MAY NOT throw errors / exceptions. Exceptions thrown during the destructor will be ignored.

Member Function Documentation

virtual void Vertica::UDXObject::cancel(ServerInterface & srvInterface)

inlineprotectedvirtual

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

Note

  • 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 or destructor). 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.

Referenced by cancelUDX().

void Vertica::UDXObject::cancelUDX(ServerInterface & srvInterface)

inline Cancel callback invoked when the query running the UDX has been canceled. See cancel().

bool Vertica::UDXObject::isCanceled() const

inline Returns true iff this UDX has been canceled

250 - Vertica::UDXObject Member List

This is the complete list of members for Vertica::UDXObject, including all inherited members.

cancel(ServerInterface &srvInterface) Vertica::UDXObject inlineprotectedvirtual
cancelUDX(ServerInterface &srvInterface) Vertica::UDXObject inline
isCanceled() const Vertica::UDXObject inline
UDXObject() (defined in Vertica::UDXObject) Vertica::UDXObject inline
~UDXObject() Vertica::UDXObject inlinevirtual

251 - Vertica::UDxRegistrar Member List

This is the complete list of members for Vertica::UDxRegistrar, including all inherited members.

UDxRegistrar(const char *name) (defined in Vertica::UDxRegistrar) Vertica::UDxRegistrar inline

252 - Vertica::UDxRegistrar Struct Reference

Collaboration diagram for Vertica::UDxRegistrar:

Public Member Functions
UDxRegistrar (const char *name)

253 - Vertica::UnsizedUDSource Class Reference

Base class for UDSource. Use, with IterativeSourceFactory, if computing the size of a source up front would be prohibitively expensive, or if the number of distinct sources would be prohibitively large to use the standard API. Typically you should use UDSource instead.

Inheritance diagram for Vertica::UnsizedUDSource:

Collaboration diagram for Vertica::UnsizedUDSource:

Public Member Functions
void cancelUDX (ServerInterface &srvInterface)
virtual void destroy (ServerInterface &srvInterface)
virtual void destroy (ServerInterface &srvInterface, SessionParamWriterMap &udSessionParams)
virtual Portion getPortion ()=0
virtual std::string getUri ()
bool isCanceled () const
virtual StreamState process (ServerInterface &srvInterface, DataBuffer &output)=0
virtual StreamState processWithMetadata (ServerInterface &srvInterface, DataBuffer &output, LengthBuffer &output_lengths)
virtual size_t requestMinBufferSize (ServerInterface &srvInterface)
virtual void setup (ServerInterface &srvInterface)
virtual bool useSideChannel ()
Static Public Attributes
static const size_t DEFAULT_MIN_BUFFER_SIZE = 1024 * 1024
Protected Member Functions
virtual void cancel (ServerInterface &srvInterface)

Detailed Description

Base class for UDSource. Use, with IterativeSourceFactory, if computing the size of a source up front would be prohibitively expensive, or if the number of distinct sources would be prohibitively large to use the standard API. Typically you should use UDSource instead.

Not intended or optimized for typical applications.

Note that it is UNSAFE to maintain pointers or references to any of these arguments (or any other argument passed by reference into any other function in this API) beyond the scope of the function call in question. For example, do not store a reference to the server interface or the input block on an instance variable. Vertica may free and replace these objects.

Member Function Documentation

virtual void Vertica::UDXObject::cancel(ServerInterface & srvInterface)

inlineprotectedvirtualinherited

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

Note

  • 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 or destructor). 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.

Referenced by Vertica::UDXObject::cancelUDX().

void Vertica::UDXObject::cancelUDX(ServerInterface & srvInterface)

inline inherited Cancel callback invoked when the query running the UDX has been canceled. See cancel().

virtual Portion Vertica::UnsizedUDSource::getPortion()

pure virtual Return the portion this source object is responsible for (if any).

This can be used by other elements of the load stack to determine how much data to process. It also will uniquely identify a source in the load_sources view. As such, this will be called BEFORE setup() (for load_sources) and again after setup() (for data processing).

Implemented in Vertica::UDSource.

virtual std::string Vertica::UnsizedUDSource::getUri()

inlinevirtual

UnsizedUDSource::getUri()

Return the URI of the current source of data.

This function will be invoked during execution to fill in monitoring information.

bool Vertica::UDXObject::isCanceled() const

inline inherited Returns true iff this UDX has been canceled

virtual StreamState Vertica::UnsizedUDSource::processWithMetadata(ServerInterface & srvInterface, DataBuffer & output, LengthBuffer & output_lengths)

inlinevirtual

UnsizedUDSource::processWithMetadata()

Reads data from the input source and record length metadata from the side channel and processes it. To implement processWithMetadata(), you must override useSideChannel() to return true. Vertica invokes this method repeatedly until it returns DONE or the query is canceled by the user.

Input: an external data source.

Output: a stream of data bytes, and a stream of bytes containing message length metadata from the data source.

Returns OUTPUT_NEEDED

DONE

KEEP_GOING

See Vertica::StreamState for details about return values.

On each invocation, processWithMetadata() should acquire more data and write that data to the buffer specified by output, and write the message lengths to output_lengths.

For the DataBuffer, processWithMetadata() should set output.offset (an output parameter) to the number of bytes that were written to the output buffer. It is common, though not necessary, for this to be the same as output.size (an input parameter). When processWithMetadata() is called, output.offset is uninitialized. To indicate that the buffer is too small to hold a record, processWithMetadata() should set output.offset and output_length.offset to 0 and return OUTPUT_NEEDED. Then processWithMetadata() is called again with a larger buffer.

For the LengthBuffer, processWithMetadata() should set output_lengths.offset to the number of length values that were written to the output_lengths buffer. If output.offset is set to 0, then output_lengths.offset should also be set to 0.

In general, processWithMetadata() code should assume that data buffers start at output.buf[output.offset] and length buffers start at output_lengths.buf[output_lengths.offset].

As a performance optimization, upstream operators might start processing emitted data (data between output.buf[0] and output.buf[output.offset] in the DataBuffer, and between output_lengths.buf[0] and output_lengths.buf[output.offset] in the LengthBuffer) before OUTPUT_NEEDED is returned. For this reason, output.offset and output_lengths.offset must be strictly increasing.

virtual size_t Vertica::UnsizedUDSource::requestMinBufferSize(ServerInterface & srvInterface)

inlinevirtual

Request a minimum buffer size into which this source will read data. This will be called after setup(), before the first call to process().

virtual bool Vertica::UnsizedUDSource::useSideChannel()

inlinevirtual

UnsizedUDSource::useSideChannel()

Provides access to the side channel containing record length metadata, when the UnsizedUDSource has metadata about record boundaries available in a structured format that is separate from the data payload.

Override and return true to indicate that processWithMetadata() should be called instead of process().

Return false to implement process().

Returns false by default.

254 - Vertica::UnsizedUDSource Member List

This is the complete list of members for Vertica::UnsizedUDSource, including all inherited members.

cancel(ServerInterface &srvInterface) Vertica::UDXObject inlineprotectedvirtual
cancelUDX(ServerInterface &srvInterface) Vertica::UDXObject inline
DEFAULT_MIN_BUFFER_SIZE (defined in Vertica::UnsizedUDSource) Vertica::UnsizedUDSource static
destroy(ServerInterface &srvInterface) (defined in Vertica::UnsizedUDSource) Vertica::UnsizedUDSource inlinevirtual
destroy(ServerInterface &srvInterface, SessionParamWriterMap &udSessionParams) (defined in Vertica::UnsizedUDSource) Vertica::UnsizedUDSource inlinevirtual
getPortion()=0 Vertica::UnsizedUDSource pure virtual
getUri() Vertica::UnsizedUDSource inlinevirtual
isCanceled() const Vertica::UDXObject inline
process(ServerInterface &srvInterface, DataBuffer &output)=0 (defined in Vertica::UnsizedUDSource) Vertica::UnsizedUDSource pure virtual
processWithMetadata(ServerInterface &srvInterface, DataBuffer &output, LengthBuffer &output_lengths) Vertica::UnsizedUDSource inlinevirtual
requestMinBufferSize(ServerInterface &srvInterface) Vertica::UnsizedUDSource inlinevirtual
setup(ServerInterface &srvInterface) (defined in Vertica::UnsizedUDSource) Vertica::UnsizedUDSource inlinevirtual
UDXObject() (defined in Vertica::UDXObject) Vertica::UDXObject inline
useSideChannel() Vertica::UnsizedUDSource inlinevirtual
~UDXObject() Vertica::UDXObject inlinevirtual
~UnsizedUDSource() (defined in Vertica::UnsizedUDSource) Vertica::UnsizedUDSource inlinevirtual

255 - Vertica::ValueRangeReader Class Reference

This class represents the value ranges of the arguments of a UDSF, one range per argument.

Inheritance diagram for Vertica::ValueRangeReader:

Collaboration diagram for Vertica::ValueRangeReader:

Public Types
enum BoundType { LO_BOUND, UP_BOUND }
Public Member Functions
ValueRangeReader (size_t narg)
bool canHaveNulls (size_t idx) const
Indicates if there can be NULL values in the range.
const vbool * getBoolPtrLo (size_t idx) const
Get a pointer to a BOOLEAN value from a range bound.
const vbool * getBoolPtrUp (size_t idx) const
const vbool & getBoolRefLo (size_t idx) const
Get a reference to a BOOLEAN value from a range bound.
const vbool & getBoolRefUp (size_t idx) const
template
const T * getColPtr (size_t idx) const
template
T * getColPtrForWrite (size_t idx)
const DateADT * getDatePtrLo (size_t idx) const
Get a pointer to a DATE value from a range bound.
const DateADT * getDatePtrUp (size_t idx) const
const DateADT & getDateRefLo (size_t idx) const
Get a reference to a DATE value from a range bound.
const DateADT & getDateRefUp (size_t idx) const
const vfloat * getFloatPtrLo (size_t idx) const
Get a pointer to a FLOAT value from a range bound.
const vfloat * getFloatPtrUp (size_t idx) const
const vfloat & getFloatRefLo (size_t idx) const
Get a reference to a FLOAT value from a range bound.
const vfloat & getFloatRefUp (size_t idx) const
const Interval * getIntervalPtrLo (size_t idx) const
Get a pointer to an INTERVAL value from a range bound.
const Interval * getIntervalPtrUp (size_t idx) const
const Interval & getIntervalRefLo (size_t idx) const
Get a reference to an INTERVAL value from a range bound.
const Interval & getIntervalRefUp (size_t idx) const
const IntervalYM * getIntervalYMPtrLo (size_t idx) const
Get a pointer to a INTERVAL YEAR TO MONTH value from a range bound.
const IntervalYM * getIntervalYMPtrUp (size_t idx) const
const IntervalYM & getIntervalYMRefLo (size_t idx) const
Get a reference to an INTERVAL YEAR TO MONTH value from a range bound.
const IntervalYM & getIntervalYMRefUp (size_t idx) const
const vint * getIntPtrLo (size_t idx) const
Get a pointer to an INTEGER value from a range bound.
const vint * getIntPtrUp (size_t idx) const
const vint & getIntRefLo (size_t idx) const
Get a reference to an INTEGER value from a range bound.
const vint & getIntRefUp (size_t idx) const
const VNumeric * getNumericPtrLo (size_t idx) const
Get a pointer to a VNumeric value from a range bound.
const VNumeric * getNumericPtrUp (size_t idx) const
const VNumeric & getNumericRefLo (size_t idx) const
Get a reference to a VNumeric value from a range bound.
const VNumeric & getNumericRefUp (size_t idx) const
size_t getNumRanges () const
Retrieve the number of range arguments.
const VerticaType & getRangeType (size_t idx) const
Returns the data type of the values in a range.
EE::ValueSort getSortedness (size_t idx) const
const VString * getStringPtrLo (size_t idx) const
Get a pointer to a VString value from a range bound.
const VString * getStringPtrUp (size_t idx) const
const VString & getStringRefLo (size_t idx) const
Get a reference to an VString value from a range bound.
const VString & getStringRefUp (size_t idx) const
const TimeADT * getTimePtrLo (size_t idx) const
Get a pointer to a TIME value from a range bound.
const TimeADT * getTimePtrUp (size_t idx) const
const TimeADT & getTimeRefLo (size_t idx) const
Get a reference to a TIME value from a range bound.
const TimeADT & getTimeRefUp (size_t idx) const
const Timestamp * getTimestampPtrLo (size_t idx) const
Get a pointer to a TIMESTAMP value from a range bound.
const Timestamp * getTimestampPtrUp (size_t idx) const
const Timestamp & getTimestampRefLo (size_t idx) const
Get a reference to a TIMESTAMP value from a range bound.
const Timestamp & getTimestampRefUp (size_t idx) const
const TimestampTz * getTimestampTzPtrLo (size_t idx) const
Get a pointer to a TIMESTAMP WITH TIMEZONE value from a range bound.
const TimestampTz * getTimestampTzPtrUp (size_t idx) const
const TimestampTz & getTimestampTzRefLo (size_t idx) const
Get a reference to a TIMESTAMP WITH TIMEZONE value from a range bound.
const TimestampTz & getTimestampTzRefUp (size_t idx) const
const TimeTzADT * getTimeTzPtrLo (size_t idx) const
Get a pointer to a TIME WITH TIMEZONE value from a range bound.
const TimeTzADT * getTimeTzPtrUp (size_t idx) const
const TimeTzADT & getTimeTzRefLo (size_t idx) const
Get a reference to a TIME WITH TIMEZONE value from a range bound.
const TimeTzADT & getTimeTzRefUp (size_t idx) const
const VUuid * getUuidPtrLo (size_t idx) const
Get a pointer to a VUuid value from a range bound.
const VUuid * getUuidPtrUp (size_t idx) const
const VUuid & getUuidRefLo (size_t idx) const
Get a reference to a VUuid value from a range bound.
const VUuid & getUuidRefUp (size_t idx) const
bool hasBounds (size_t idx) const
Check if this range has lower and upper bounds set.
bool isNull (int idx) const
Check if all values in the idx'th input range are NULL.
Protected Member Functions
void addArg (char *loBound, char *upBound, const VerticaType &dt, EE::ValueSort sortedness, bool canHaveNulls)
void setCanHaveNulls (size_t idx, bool u)
Set a flag to indicate that some values in this range can be NULL.
void setSortedness (size_t idx, EE::ValueSort s)
Protected Attributes
size_t narg
std::vector ranges
std::vector svWrappersLo
std::vector svWrappersUp
std::vector uuWrappersLo
std::vector uuWrappersUp
std::vector vnWrappersLo
std::vector vnWrappersUp
Friends
class EE::VEval

Detailed Description

This class represents the value ranges of the arguments of a UDSF, one range per argument.

Instances of this class are used to let UDSF developers specify the output range of UDSFs via the optional ScalarFunction::getOutputRange() function.

Member Function Documentation

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

inlineprotectedinherited

Add a value range of a particular function argument

Parameters

  • loBound: Base location to find the lower bound data
  • upBound: Base location to find the upper bound data
  • sortedness: Sortedness of values in the range
  • dt: The data type of range bounds
bool Vertica::VerticaValueRange::canHaveNulls(size_t idx) const

inline inherited Indicates if there can be NULL values in the range.

Parameters

  • idx: the range argument number.

Returns TRUE if some range values can be NULL, else FALSE.

const vbool* Vertica::ValueRangeReader::getBoolPtrLo(size_t idx) const

inline Get a pointer to a BOOLEAN value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns A pointer to the retrieved value cast as a BOOLEAN.

Referenced by getBoolRefLo().

const vbool& Vertica::ValueRangeReader::getBoolRefLo(size_t idx) const

inline Get a reference to a BOOLEAN value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns a reference to the idx'th argument, cast as BOOLEAN.

Referenced by isNull().

const DateADT* Vertica::ValueRangeReader::getDatePtrLo(size_t idx) const

inline Get a pointer to a DATE value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns A pointer to the retrieved value cast as a DATE.

Referenced by getDateRefLo().

const DateADT& Vertica::ValueRangeReader::getDateRefLo(size_t idx) const

inline Get a reference to a DATE value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns a reference to the idx'th argument, cast as DATE.

Referenced by isNull().

const vfloat* Vertica::ValueRangeReader::getFloatPtrLo(size_t idx) const

inline Get a pointer to a FLOAT value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns A pointer to the retrieved value cast as a FLOAT.

Referenced by getFloatRefLo().

const vfloat& Vertica::ValueRangeReader::getFloatRefLo(size_t idx) const

inline Get a reference to a FLOAT value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns A reference to the idx'th argument, cast as FLOAT.

Referenced by isNull().

const Interval* Vertica::ValueRangeReader::getIntervalPtrLo(size_t idx) const

inline Get a pointer to an INTERVAL value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns A pointer to the retrieved value cast as an INTERVAL.

Referenced by getIntervalRefLo().

const Interval& Vertica::ValueRangeReader::getIntervalRefLo(size_t idx) const

inline Get a reference to an INTERVAL value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns a reference to the idx'th argument, cast as an INTERVAL.

Referenced by isNull().

const IntervalYM* Vertica::ValueRangeReader::getIntervalYMPtrLo(size_t idx) const

inline Get a pointer to a INTERVAL YEAR TO MONTH value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.

Referenced by getIntervalYMRefLo().

const IntervalYM& Vertica::ValueRangeReader::getIntervalYMRefLo(size_t idx) const

inline Get a reference to an INTERVAL YEAR TO MONTH value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns a reference to the idx'th argument, cast as INTERVAL YEAR TO MONTH.

Referenced by isNull().

const vint* Vertica::ValueRangeReader::getIntPtrLo(size_t idx) const

inline Get a pointer to an INTEGER value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns a pointer to a chosen bound value, cast appropriately.

Example:

const vint *a = range->getIntPtrLo(0); // gets a pointer to the lower bound of 1st arg

Referenced by getIntRefLo().

const vint& Vertica::ValueRangeReader::getIntRefLo(size_t idx) const

inline Get a reference to an INTEGER value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns a reference to the chosen bound value, cast as INTEGER.

Example:

const vint& a = range->getIntRefUp(0); // get upper bound of the 1st range argument

Referenced by isNull().

const VNumeric* Vertica::ValueRangeReader::getNumericPtrLo(size_t idx) const

inline Get a pointer to a VNumeric value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns A pointer to the retrieved value cast as a Numeric.

Referenced by getNumericRefLo().

const VNumeric& Vertica::ValueRangeReader::getNumericRefLo(size_t idx) const

inline Get a reference to a VNumeric value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns a reference to the idx'th argument, cast as VNumeric.

Referenced by isNull().

size_t Vertica::VerticaValueRange::getNumRanges() const

inline inherited Retrieve the number of range arguments.

Returns the number of range arguments held by this object.

const VerticaType& Vertica::VerticaValueRange::getRangeType(size_t idx) const

inline inherited Returns the data type of the values in a range.

Parameters

  • idx: The index of the range

Returns a VerticaType object describing the data type of the range values.

const VString* Vertica::ValueRangeReader::getStringPtrLo(size_t idx) const

inline Get a pointer to a VString value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns A pointer to the retrieved value cast as a VString.

Referenced by getStringRefLo().

const VString& Vertica::ValueRangeReader::getStringRefLo(size_t idx) const

inline Get a reference to an VString value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns a reference to the idx'th argument, cast as VString.

Note the returned object is a variable-length prefix of the actual string values in the range. For example, if the range values are {'abc', 'abb', 'bc', 'cab'} the range bounds may be like: Lo='a' and Up='cb'. In the example, the upper bound is not even a prefix of any value in the range, but all values in the range are greater than or equal than Lo and less than or equal to Up.

Referenced by isNull().

const TimeADT* Vertica::ValueRangeReader::getTimePtrLo(size_t idx) const

inline Get a pointer to a TIME value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns A pointer to the retrieved value cast as a TIME.

Referenced by getTimeRefLo().

const TimeADT& Vertica::ValueRangeReader::getTimeRefLo(size_t idx) const

inline Get a reference to a TIME value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns a reference to the idx'th argument, cast as TIME.

Referenced by isNull().

const Timestamp* Vertica::ValueRangeReader::getTimestampPtrLo(size_t idx) const

inline Get a pointer to a TIMESTAMP value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns A pointer to the retrieved value cast as a TIMESTAMP.

Referenced by getTimestampRefLo().

const Timestamp& Vertica::ValueRangeReader::getTimestampRefLo(size_t idx) const

inline Get a reference to a TIMESTAMP value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns a reference to the idx'th argument, cast as TIMESTAMP.

Referenced by isNull().

const TimestampTz* Vertica::ValueRangeReader::getTimestampTzPtrLo(size_t idx) const

inline Get a pointer to a TIMESTAMP WITH TIMEZONE value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE.

Referenced by getTimestampTzRefLo().

const TimestampTz& Vertica::ValueRangeReader::getTimestampTzRefLo(size_t idx) const

inline Get a reference to a TIMESTAMP WITH TIMEZONE value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns a reference to the idx'th argument, cast as TIMESTAMP WITH TIMEZONE.

Referenced by isNull().

const TimeTzADT* Vertica::ValueRangeReader::getTimeTzPtrLo(size_t idx) const

inline Get a pointer to a TIME WITH TIMEZONE value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns A pointer to the retrieved value cast as a TIME WITH TIMEZONE.

Referenced by getTimeTzRefLo().

const TimeTzADT& Vertica::ValueRangeReader::getTimeTzRefLo(size_t idx) const

inline Get a reference to a TIME WITH TIMEZONE value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns a reference to the idx'th argument, cast as TIME WITH TIMEZONE.

Referenced by isNull().

const VUuid* Vertica::ValueRangeReader::getUuidPtrLo(size_t idx) const

inline Get a pointer to a VUuid value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns A pointer to the retrieved value cast as a Uuid.

Referenced by getUuidRefLo().

const VUuid& Vertica::ValueRangeReader::getUuidRefLo(size_t idx) const

inline Get a reference to a VUuid value from a range bound.

Parameters

  • idx: The argument number to retrieve the range bound.

Returns a reference to the idx'th argument, cast as VUuid.

Referenced by isNull().

bool Vertica::ValueRangeReader::hasBounds(size_t idx) const

inline Check if this range has lower and upper bounds set.

Note Callers of the get reference or get pointer functions should always first call this method, and only access the range bounds when this function returns TRUE.

Example:

if (rangeReader.hasBounds(0)) { // Check if bounds of the 1st range argument are set
// OK to access bounds
const vint& i = rangeReader.getIntRefLo(0);
const vint& j = rangeReader.getIntRefUp(0);
}

Returns TRUE if the range bounds are safe to access, else FALSE.

bool Vertica::ValueRangeReader::isNull(int idx) const

inline Check if all values in the idx'th input range are NULL.

Parameters

  • idx: The argument range number.

Returns true if all values in the range are NULL, false otherwise.

void Vertica::VerticaValueRange::setCanHaveNulls(size_t idx, bool u)

inlineprotectedinherited

Set a flag to indicate that some values in this range can be NULL.

Parameters

  • idx: The argument range number.
  • u: true if there can be NULL values in the range, else false.

256 - Vertica::ValueRangeReader Member List

This is the complete list of members for Vertica::ValueRangeReader, including all inherited members.

addArg(char *loBound, char *upBound, const VerticaType &dt, EE::ValueSort sortedness, bool canHaveNulls) Vertica::VerticaValueRange inlineprotected
BoundType enum name (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange
canHaveNulls(size_t idx) const Vertica::VerticaValueRange inline
EE::VEval (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader friend
getBoolPtrLo(size_t idx) const Vertica::ValueRangeReader inline
getBoolPtrUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getBoolRefLo(size_t idx) const Vertica::ValueRangeReader inline
getBoolRefUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getColPtr(size_t idx) const (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inline
getDatePtrLo(size_t idx) const Vertica::ValueRangeReader inline
getDatePtrUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getDateRefLo(size_t idx) const Vertica::ValueRangeReader inline
getDateRefUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getFloatPtrLo(size_t idx) const Vertica::ValueRangeReader inline
getFloatPtrUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getFloatRefLo(size_t idx) const Vertica::ValueRangeReader inline
getFloatRefUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getIntervalPtrLo(size_t idx) const Vertica::ValueRangeReader inline
getIntervalPtrUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getIntervalRefLo(size_t idx) const Vertica::ValueRangeReader inline
getIntervalRefUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getIntervalYMPtrLo(size_t idx) const Vertica::ValueRangeReader inline
getIntervalYMPtrUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getIntervalYMRefLo(size_t idx) const Vertica::ValueRangeReader inline
getIntervalYMRefUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getIntPtrLo(size_t idx) const Vertica::ValueRangeReader inline
getIntPtrUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getIntRefLo(size_t idx) const Vertica::ValueRangeReader inline
getIntRefUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getNumericPtrLo(size_t idx) const Vertica::ValueRangeReader inline
getNumericPtrUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getNumericRefLo(size_t idx) const Vertica::ValueRangeReader inline
getNumericRefUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getNumRanges() const Vertica::VerticaValueRange inline
getRangeType(size_t idx) const Vertica::VerticaValueRange inline
getSortedness(size_t idx) const (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inline
getStringPtrLo(size_t idx) const Vertica::ValueRangeReader inline
getStringPtrUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getStringRefLo(size_t idx) const Vertica::ValueRangeReader inline
getStringRefUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getTimePtrLo(size_t idx) const Vertica::ValueRangeReader inline
getTimePtrUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getTimeRefLo(size_t idx) const Vertica::ValueRangeReader inline
getTimeRefUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getTimestampPtrLo(size_t idx) const Vertica::ValueRangeReader inline
getTimestampPtrUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getTimestampRefLo(size_t idx) const Vertica::ValueRangeReader inline
getTimestampRefUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getTimestampTzPtrLo(size_t idx) const Vertica::ValueRangeReader inline
getTimestampTzPtrUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getTimestampTzRefLo(size_t idx) const Vertica::ValueRangeReader inline
getTimestampTzRefUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getTimeTzPtrLo(size_t idx) const Vertica::ValueRangeReader inline
getTimeTzPtrUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getTimeTzRefLo(size_t idx) const Vertica::ValueRangeReader inline
getTimeTzRefUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getUuidPtrLo(size_t idx) const Vertica::ValueRangeReader inline
getUuidPtrUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
getUuidRefLo(size_t idx) const Vertica::ValueRangeReader inline
getUuidRefUp(size_t idx) const (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
hasBounds(size_t idx) const Vertica::ValueRangeReader inline
isNull(int idx) const Vertica::ValueRangeReader inline
LO_BOUND enum value (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange
narg (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange protected
ranges (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange protected
setCanHaveNulls(size_t idx, bool u) Vertica::VerticaValueRange inlineprotected
setSortedness(size_t idx, EE::ValueSort s) (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inlineprotected
svWrappersLo (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
svWrappersUp (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
UP_BOUND enum value (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange
uuWrappersLo (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
uuWrappersUp (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
ValueRangeReader(size_t narg) (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inline
VerticaValueRange(size_t narg) (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inline
vnWrappersLo (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
vnWrappersUp (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
~ValueRangeReader() (defined in Vertica::ValueRangeReader) Vertica::ValueRangeReader inlinevirtual
~VerticaValueRange() (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inlinevirtual

257 - Vertica::ValueRangeWriter Class Reference

This class represents the output value range of a UDSF.

Inheritance diagram for Vertica::ValueRangeWriter:

Collaboration diagram for Vertica::ValueRangeWriter:

Public Types
enum BoundType { LO_BOUND, UP_BOUND }
Public Member Functions
ValueRangeWriter (char *outLoBound, char *outUpBound, const VerticaType &dt, EE::ValueSort sortedness, bool canHaveNulls)
bool canHaveNulls (size_t idx) const
Indicates if there can be NULL values in the range.
bool canHaveNulls () const
template
const T * getColPtr (size_t idx) const
template
T * getColPtrForWrite (size_t idx)
VNumeric & getNumericRefLo ()
Gets a VNumeric object reference to set the range lower bound.
VNumeric & getNumericRefUp ()
Gets a VNumeric object reference to set the range upper bound.
size_t getNumRanges () const
Retrieve the number of range arguments.
const VerticaType & getRangeType (size_t idx) const
Returns the data type of the values in a range.
EE::ValueSort getSortedness (size_t idx) const
EE::ValueSort getSortedness () const
VString & getStringRefLo ()
Gets a VString object reference to set the range lower bound.
VString & getStringRefUp ()
Gets a VString object reference to set the range upper bound.
VUuid & getUuidRefLo ()
Gets a VUuid object reference to set the range lower bound.
VUuid & getUuidRefUp ()
Gets a VUuid object reference to set the range upper bound.
bool hasBounds () const
void setBoolLo (vbool r)
Sets a range bound as a BOOLEAN value.
void setBoolUp (vbool r)
void setCanHaveNulls (bool u)
void setDateLo (DateADT r)
Sets a range bound as a DATE value.
void setDateUp (DateADT r)
void setFloatLo (vfloat r)
Sets a range bound as a FLOAT value to the output row.
void setFloatUp (vfloat r)
void setHasBounds ()
Lets Vertica know that this output range has user-defined bounds.
void setIntervalLo (Interval r)
Sets a range bound as an INTERVAL value.
void setIntervalUp (Interval r)
void setIntervalYMLo (IntervalYM r)
Sets a range bound as an INTERVAL YEAR TO MONTH value.
void setIntervalYMUp (IntervalYM r)
void setIntLo (vint r)
Sets a range bound as an INTEGER value.
void setIntUp (vint r)
void setNull ()
Sets to NULL all values in this range.
void setSortedness (EE::ValueSort s)
void setTimeLo (TimeADT r)
Sets a range bound as a TIMESTAMP value.
void setTimestampLo (Timestamp r)
Sets a range bound as a TIMESTAMP value.
void setTimestampTzLo (TimestampTz r)
Sets a range bound as a TIMESTAMP WITH TIMEZONE value.
void setTimestampTzUp (TimestampTz r)
void setTimestampUp (Timestamp r)
void setTimeTzLo (TimeTzADT r)
Sets a range bound as a TIMESTAMP WITH TIMEZONE value.
void setTimeTzUp (TimeTzADT r)
void setTimeUp (TimeADT r)
Protected Member Functions
void addArg (char *loBound, char *upBound, const VerticaType &dt, EE::ValueSort sortedness, bool canHaveNulls)
void setCanHaveNulls (size_t idx, bool u)
Set a flag to indicate that some values in this range can be NULL.
void setSortedness (size_t idx, EE::ValueSort s)
Protected Attributes
size_t narg
std::vector ranges
std::vector svWrappersLo
std::vector svWrappersUp
std::vector uuWrappersLo
std::vector uuWrappersUp
std::vector vnWrappersLo
std::vector vnWrappersUp
Friends
class EE::VEval

Detailed Description

This class represents the output value range of a UDSF.

Instances of this class are used to allow UDSF developers specify the output range of UDSFs via the optional ScalarFunction::getOutputRange() function.

Member Function Documentation

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

inlineprotectedinherited

Add a value range of a particular function argument

Parameters

  • loBound: Base location to find the lower bound data
  • upBound: Base location to find the upper bound data
  • sortedness: Sortedness of values in the range
  • dt: The data type of range bounds
bool Vertica::VerticaValueRange::canHaveNulls(size_t idx) const

inline inherited Indicates if there can be NULL values in the range.

Parameters

  • idx: the range argument number.

Returns TRUE if some range values can be NULL, else FALSE.

VNumeric& Vertica::ValueRangeWriter::getNumericRefLo()

inline Gets a VNumeric object reference to set the range lower bound.

Returns A VNumeric object reference.

Referenced by setNull().

VNumeric& Vertica::ValueRangeWriter::getNumericRefUp()

inline Gets a VNumeric object reference to set the range upper bound.

Returns A VNumeric object reference.

Referenced by setNull().

size_t Vertica::VerticaValueRange::getNumRanges() const

inline inherited Retrieve the number of range arguments.

Returns the number of range arguments held by this object.

const VerticaType& Vertica::VerticaValueRange::getRangeType(size_t idx) const

inline inherited Returns the data type of the values in a range.

Parameters

  • idx: The index of the range

Returns a VerticaType object describing the data type of the range values.

VString& Vertica::ValueRangeWriter::getStringRefLo()

inline Gets a VString object reference to set the range lower bound.

Returns A VString object reference.

Referenced by setNull().

VString& Vertica::ValueRangeWriter::getStringRefUp()

inline Gets a VString object reference to set the range upper bound.

Returns A VString object reference.

Referenced by setNull().

VUuid& Vertica::ValueRangeWriter::getUuidRefLo()

inline Gets a VUuid object reference to set the range lower bound.

Returns A VUuid object reference.

Referenced by setNull().

VUuid& Vertica::ValueRangeWriter::getUuidRefUp()

inline Gets a VUuid object reference to set the range upper bound.

Returns A VUuid object reference.

Referenced by setNull().

void Vertica::ValueRangeWriter::setBoolLo(vbool r)

inline Sets a range bound as a BOOLEAN value.

Parameters

  • r: The BOOLEAN value to set the range bound.

Referenced by setNull().

void Vertica::VerticaValueRange::setCanHaveNulls(size_t idx, bool u)

inlineprotectedinherited

Set a flag to indicate that some values in this range can be NULL.

Parameters

  • idx: The argument range number.
  • u: true if there can be NULL values in the range, else false.
void Vertica::ValueRangeWriter::setDateLo(DateADT r)

inline Sets a range bound as a DATE value.

Parameters

  • r: The DATE value to set the range bound.

Referenced by setNull().

void Vertica::ValueRangeWriter::setFloatLo(vfloat r)

inline Sets a range bound as a FLOAT value to the output row.

Parameters

  • r: The FLOAT value to set the range bound.

Referenced by setNull().

void Vertica::ValueRangeWriter::setIntervalLo(Interval r)

inline Sets a range bound as an INTERVAL value.

Parameters

  • r: The INTERVAL value to set the range bound.

Referenced by setNull().

void Vertica::ValueRangeWriter::setIntervalYMLo(IntervalYM r)

inline Sets a range bound as an INTERVAL YEAR TO MONTH value.

Parameters

  • r: The INTERVAL YEAR TO MONTH value to set the range bound.
void Vertica::ValueRangeWriter::setIntLo(vint r)

inline Sets a range bound as an INTEGER value.

Parameters

  • r: The INTEGER value to set the range bound.

Referenced by setNull().

void Vertica::ValueRangeWriter::setNull()

inline Sets to NULL all values in this range.

Note As side effect of this method, this range will be marked as having NULL values and its sortedness set to EE::SORT_CONSTANT.

void Vertica::ValueRangeWriter::setTimeLo(TimeADT r)

inline Sets a range bound as a TIMESTAMP value.

Parameters

  • r: The TIMESTAMP value to set the range bound.

Referenced by setNull().

void Vertica::ValueRangeWriter::setTimestampLo(Timestamp r)

inline Sets a range bound as a TIMESTAMP value.

Parameters

  • r: The TIMESTAMP value to set the range bound.

Referenced by setNull().

void Vertica::ValueRangeWriter::setTimestampTzLo(TimestampTz r)

inline Sets a range bound as a TIMESTAMP WITH TIMEZONE value.

Parameters

  • r: The TIMESTAMP WITH TIMEZONE value to set the range bound.

Referenced by setNull().

void Vertica::ValueRangeWriter::setTimeTzLo(TimeTzADT r)

inline Sets a range bound as a TIMESTAMP WITH TIMEZONE value.

Parameters

  • r: The TIMESTAMP WITH TIMEZONE value to set the range bound.

Referenced by setNull().

258 - Vertica::ValueRangeWriter Member List

This is the complete list of members for Vertica::ValueRangeWriter, including all inherited members.

addArg(char *loBound, char *upBound, const VerticaType &dt, EE::ValueSort sortedness, bool canHaveNulls) Vertica::VerticaValueRange inlineprotected
BoundType enum name (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange
canHaveNulls() const (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter inline
Vertica::VerticaValueRange::canHaveNulls(size_t idx) const Vertica::VerticaValueRange inline
EE::VEval (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter friend
getColPtr(size_t idx) const (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inline
getNumericRefLo() Vertica::ValueRangeWriter inline
getNumericRefUp() Vertica::ValueRangeWriter inline
getNumRanges() const Vertica::VerticaValueRange inline
getRangeType(size_t idx) const Vertica::VerticaValueRange inline
getSortedness() const (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter inline
getSortedness(size_t idx) const (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inline
getStringRefLo() Vertica::ValueRangeWriter inline
getStringRefUp() Vertica::ValueRangeWriter inline
getUuidRefLo() Vertica::ValueRangeWriter inline
getUuidRefUp() Vertica::ValueRangeWriter inline
hasBounds() const (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter inline
LO_BOUND enum value (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange
narg (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange protected
ranges (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange protected
setBoolLo(vbool r) Vertica::ValueRangeWriter inline
setBoolUp(vbool r) (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter inline
setCanHaveNulls(bool u) (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter inline
Vertica::VerticaValueRange::setCanHaveNulls(size_t idx, bool u) Vertica::VerticaValueRange inlineprotected
setDateLo(DateADT r) Vertica::ValueRangeWriter inline
setDateUp(DateADT r) (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter inline
setFloatLo(vfloat r) Vertica::ValueRangeWriter inline
setFloatUp(vfloat r) (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter inline
setHasBounds() Vertica::ValueRangeWriter inline
setIntervalLo(Interval r) Vertica::ValueRangeWriter inline
setIntervalUp(Interval r) (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter inline
setIntervalYMLo(IntervalYM r) Vertica::ValueRangeWriter inline
setIntervalYMUp(IntervalYM r) (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter inline
setIntLo(vint r) Vertica::ValueRangeWriter inline
setIntUp(vint r) (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter inline
setNull() Vertica::ValueRangeWriter inline
setSortedness(EE::ValueSort s) (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter inline
setSortedness(size_t idx, EE::ValueSort s) (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inlineprotected
setTimeLo(TimeADT r) Vertica::ValueRangeWriter inline
setTimestampLo(Timestamp r) Vertica::ValueRangeWriter inline
setTimestampTzLo(TimestampTz r) Vertica::ValueRangeWriter inline
setTimestampTzUp(TimestampTz r) (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter inline
setTimestampUp(Timestamp r) (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter inline
setTimeTzLo(TimeTzADT r) Vertica::ValueRangeWriter inline
setTimeTzUp(TimeTzADT r) (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter inline
setTimeUp(TimeADT r) (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter inline
svWrappersLo (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
svWrappersUp (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
UP_BOUND enum value (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange
uuWrappersLo (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
uuWrappersUp (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
ValueRangeWriter(char *outLoBound, char *outUpBound, const VerticaType &dt, EE::ValueSort sortedness, bool canHaveNulls) (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter inline
VerticaValueRange(size_t narg) (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inline
vnWrappersLo (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
vnWrappersUp (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
~ValueRangeWriter() (defined in Vertica::ValueRangeWriter) Vertica::ValueRangeWriter inlinevirtual
~VerticaValueRange() (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inlinevirtual

259 - Vertica::VerticaBlock Class Reference

: Represents an in-memory block of tuples

Inheritance diagram for Vertica::VerticaBlock:

Collaboration diagram for Vertica::VerticaBlock:

Classes
struct NestedBlockPtr
Public Member Functions
VerticaBlock (size_t ncols, int rowcount, const int *indices)
void copy (const VerticaBlock &other)
template
const T * getColPtr (size_t idx) const
template<>
const VString * getColPtr (size_t idx) const
template<>
const VNumeric * getColPtr (size_t idx) const
template<>
const VUuid * getColPtr (size_t idx) const
template<>
const BlockReader * getColPtr (size_t idx) const
template
T * getColPtrForWrite (size_t idx)
template<>
VString * getColPtrForWrite (size_t idx)
template<>
VNumeric * getColPtrForWrite (size_t idx)
template<>
VUuid * getColPtrForWrite (size_t idx)
template<>
BlockWriter * getColPtrForWrite (size_t idx)
template
const T & getColRef (size_t idx) const
template
T & getColRefForWrite (size_t idx)
int getColStride (size_t idx) const
const EE::DataArea * getDataArea (size_t idx) const
size_t getNumCols () const
int getNumRows () const
const SizedColumnTypes & getTypeMetaData () const
SizedColumnTypes & getTypeMetaData ()
void * getVoidPtr (size_t idx=0)
const void * getVoidPtr (size_t idx=0) const
bool remaining () const
void setDataArea (size_t idx, void *dataarea)
Protected Member Functions
void addCol (char *arg, int colstride, const Field &field)
void addCol (const char *arg, int colstride, const Field &field)
bool checkStringUserBlockInfo (size_t idx) const
bool checkTimeUserBlockInfo (size_t idx) const
EE::DataArea ** getArrayIntermediateDataArea (size_t c)
void reset ()
void resetIndex ()
void setRowCount (int rowCount)
void validateStringColumn (size_t idx, const VString &s, size_t colLength) const
Protected Attributes
std::vector cols
std::vector colstrides
int count
std::vector ctWrappers
int index
const int * indices
size_t ncols
int nrows
std::vector processBlockUserInfoVector
std::vector svWrappers
SizedColumnTypes typeMetaData
std::vector uuWrappers
std::vector vnWrappers
Friends
class ::EE::Loader::OrcParser
class ::EE::Loader::ParquetParser
class ::EE::MVExprSupport
class ::EE::UserDefinedAggregate
class ::EE::UserDefinedAnalytic
class ::EE::UserDefinedProcess
class ::EE::UserDefinedTransform
class ::EE::VEval
class AggregateFunction
class Array::BlockSaver
struct CPPExecContext
class VerticaBlockSerializer

Detailed Description

: Represents an in-memory block of tuples

Member Function Documentation

void Vertica::VerticaBlock::addCol(char * arg, int colstride, const Field & field)

protected

Add the location for reading a particular argument.

Parameters

  • arg: The base location to find data.
  • colstride: The stride between data instances.
  • field: metadata for the added column
  • dt: The type of input.
  • fieldname: the name of the field

Referenced by Vertica::ParamReader::addParameter().

EE::DataArea** Vertica::VerticaBlock::getArrayIntermediateDataArea(size_t c)

inlineprotected

Returns a pointer to a DataArea for accumulating an intermediate result

template<class T >
const T* Vertica::VerticaBlock::getColPtr(size_t idx) const

inline Returns a pointer to the idx'th argument, cast appropriately.

Example:

const vint *a = arg_reader->getColPtr(0);
template<class T >
const T& Vertica::VerticaBlock::getColRef(size_t idx) const

inline Returns a pointer to the idx'th argument, cast appropriately.

Example

const vint a = arg_reader->getColRef<vint>(0);
size_t Vertica::VerticaBlock::getNumCols() const

inline Returns the number of columns held by this block.

Referenced by

int Vertica::VerticaBlock::getNumRows() const

inline Returns the number of rows held by this block.

const SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData() const

inline Returns information about the types and numbers of arguments

Referenced by

SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData()

inline Returns information about the types and numbers of arguments

bool Vertica::VerticaBlock::remaining() const

inline Returns the number of entries remaining in the block

260 - Vertica::VerticaBlock Member List

This is the complete list of members for Vertica::VerticaBlock, including all inherited members.

::EE::Loader::OrcParser (defined in Vertica::VerticaBlock) Vertica::VerticaBlock friend
::EE::Loader::ParquetParser (defined in Vertica::VerticaBlock) Vertica::VerticaBlock friend
::EE::MVExprSupport (defined in Vertica::VerticaBlock) Vertica::VerticaBlock friend
::EE::UserDefinedAggregate (defined in Vertica::VerticaBlock) Vertica::VerticaBlock friend
::EE::UserDefinedAnalytic (defined in Vertica::VerticaBlock) Vertica::VerticaBlock friend
::EE::UserDefinedProcess (defined in Vertica::VerticaBlock) Vertica::VerticaBlock friend
::EE::UserDefinedTransform (defined in Vertica::VerticaBlock) Vertica::VerticaBlock friend
::EE::VEval (defined in Vertica::VerticaBlock) Vertica::VerticaBlock friend
addCol(char *arg, int colstride, const Field &field) Vertica::VerticaBlock protected
addCol(const char *arg, int colstride, const Field &field) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
AggregateFunction (defined in Vertica::VerticaBlock) Vertica::VerticaBlock friend
Array::BlockSaver (defined in Vertica::VerticaBlock) Vertica::VerticaBlock friend
checkStringUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
checkTimeUserBlockInfo(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
cols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
colstrides (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
copy(const VerticaBlock &other) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
count (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
CPPExecContext (defined in Vertica::VerticaBlock) Vertica::VerticaBlock friend
ctWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
getArrayIntermediateDataArea(size_t c) Vertica::VerticaBlock inlineprotected
getColPtr(size_t idx) const Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtr(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColRef(size_t idx) const Vertica::VerticaBlock inline
getColRefForWrite(size_t idx) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getColStride(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getDataArea(size_t idx) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getNumCols() const Vertica::VerticaBlock inline
getNumRows() const Vertica::VerticaBlock inline
getTypeMetaData() const Vertica::VerticaBlock inline
getTypeMetaData() Vertica::VerticaBlock inline
getVoidPtr(size_t idx=0) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
getVoidPtr(size_t idx=0) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
index (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
indices (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
ncols (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
nrows (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
processBlockUserInfoVector (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
remaining() const Vertica::VerticaBlock inline
reset() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
resetIndex() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
setDataArea(size_t idx, void *dataarea) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
setRowCount(int rowCount) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlineprotected
svWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
typeMetaData (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
uuWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
validateStringColumn(size_t idx, const VString &s, size_t colLength) const (defined in Vertica::VerticaBlock) Vertica::VerticaBlock protected
VerticaBlock(size_t ncols, int rowcount, const int *indices) (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inline
VerticaBlockSerializer (defined in Vertica::VerticaBlock) Vertica::VerticaBlock friend
vnWrappers (defined in Vertica::VerticaBlock) Vertica::VerticaBlock mutableprotected
~VerticaBlock() (defined in Vertica::VerticaBlock) Vertica::VerticaBlock inlinevirtual

261 - Vertica::VerticaBlock::NestedBlockPtr Member List

This is the complete list of members for Vertica::VerticaBlock::NestedBlockPtr, including all inherited members.

NestedBlockPtr(VerticaBlock *block) (defined in Vertica::VerticaBlock::NestedBlockPtr) Vertica::VerticaBlock::NestedBlockPtr inline
NestedBlockPtr(NestedBlockPtr &&movefrom) noexcept (defined in Vertica::VerticaBlock::NestedBlockPtr) Vertica::VerticaBlock::NestedBlockPtr inline
NestedBlockPtr(const NestedBlockPtr &other) (defined in Vertica::VerticaBlock::NestedBlockPtr) Vertica::VerticaBlock::NestedBlockPtr inline
operator=(const T &other)=delete (defined in Vertica::VerticaBlock::NestedBlockPtr) Vertica::VerticaBlock::NestedBlockPtr
operator=(const NestedBlockPtr &other) (defined in Vertica::VerticaBlock::NestedBlockPtr) Vertica::VerticaBlock::NestedBlockPtr inline

262 - Vertica::VerticaBlock::NestedBlockPtr Struct Reference

Inheritance diagram for Vertica::VerticaBlock::NestedBlockPtr:

Collaboration diagram for Vertica::VerticaBlock::NestedBlockPtr:

Public Member Functions
NestedBlockPtr (VerticaBlock *block)
NestedBlockPtr (NestedBlockPtr &&movefrom) noexcept
NestedBlockPtr (const NestedBlockPtr &other)
template
NestedBlockPtr & operator= (const T &other)=delete
NestedBlockPtr & operator= (const NestedBlockPtr &other)

Detailed Description

Wraps a nested VerticaBlock, as for a complex type or array column. Assignment does a deep copy of the source block.

263 - Vertica::VerticaBuildInfo Member List

This is the complete list of members for Vertica::VerticaBuildInfo, including all inherited members.

branch (defined in Vertica::VerticaBuildInfo) Vertica::VerticaBuildInfo
brand_name (defined in Vertica::VerticaBuildInfo) Vertica::VerticaBuildInfo
brand_version (defined in Vertica::VerticaBuildInfo) Vertica::VerticaBuildInfo
build_date (defined in Vertica::VerticaBuildInfo) Vertica::VerticaBuildInfo
build_machine (defined in Vertica::VerticaBuildInfo) Vertica::VerticaBuildInfo
checksum (defined in Vertica::VerticaBuildInfo) Vertica::VerticaBuildInfo
codename (defined in Vertica::VerticaBuildInfo) Vertica::VerticaBuildInfo
revision (defined in Vertica::VerticaBuildInfo) Vertica::VerticaBuildInfo
sdk_version (defined in Vertica::VerticaBuildInfo) Vertica::VerticaBuildInfo
VerticaBuildInfo() (defined in Vertica::VerticaBuildInfo) Vertica::VerticaBuildInfo inline

264 - Vertica::VerticaBuildInfo Struct Reference

Collaboration diagram for Vertica::VerticaBuildInfo:

Public Attributes
const char * branch
const char * brand_name
const char * brand_version
const char * build_date
const char * build_machine
const char * checksum
const char * codename
const char * revision
const char * sdk_version

265 - Vertica::VerticaType Class Reference

Represents types of data that are passed into and returned back from user's code.

Collaboration diagram for Vertica::VerticaType:

Public Member Functions
VerticaType (Oid oid, Typemod typmod)
VerticaType (const VerticaType &other)
Oid getArray1DOid () const
VerticaType getArray1DType () const
int32 getCollectionBinarySize (bool checkType=true) const
For Collection data types, returns the length of the binary backing the array/set.
Field getElementField () const
Oid getElementOid () const
VerticaType getElementType () const
Field getField (size_t idx) const
std::string getFieldName (size_t idx) const
VerticaType getFieldType (size_t idx) const
int32 getIntervalPrecision () const
For INTERVAL data types, returns the precision.
int32 getIntervalRange () const
For INTERVAL data types, returns the range.
int32 getMaxSize () const
Returns the maximum size, in bytes, of a data element of this type.
int32 getNumericFractional () const
For NUMERIC data types, returns the number of fractional digits (i.e., digits right of the decimal point)
int32 getNumericIntegral () const
For NUMERIC data types, returns the number of integral digits (i.e., digits left of the decimal point)
int32 getNumericLength () const
For NUMERIC data types, returns the number of bytes required to store an element. Calling this with a non-numeric data type can cause a crash.
int32 getNumericPrecision () const
For NUMERIC data types, returns the precision.
int32 getNumericScale () const
For NUMERIC data types, returns the scale.
int32 getNumericWordCount () const
size_t getNumFields () const
std::string getPrettyPrintStr () const
Return human readable type string.
Oid getSetOid () const
VerticaType getSetType () const
int32 getStringLength (bool checkType=true) const
For VARCHAR/CHAR/VARBINARY/BINARY data types, returns the length of the string.
int32 getTimePrecision () const
For TIMESTAMP data types, returns the precision.
int32 getTimestampPrecision () const
For TIMESTAMP data types, returns the precision.
const char * getTypeStr () const
Oid getUnderlyingType () const
bool isArray1DType () const
bool isArrayType () const
bool isBinary () const
Returns true if this type is BINARY, false otherwise.
bool isBool () const
Returns true if this type is BOOLEAN, false otherwise.
bool isChar () const
Returns true if this type is CHAR, false otherwise.
bool iscoercedStringType () const
Return true if it is of string type or it is uuid, date, time, etc..
bool isCollection1DType () const
bool isCollectionType () const
bool isComplexArrayType () const
bool isComplexRowArrayType () const
bool isComplexRowType () const
bool isComplexType () const
bool isDate () const
Returns true if this type is DATE, false otherwise.
bool isFloat () const
Returns true if this type is FLOAT, false otherwise.
bool isInt () const
Returns true if this type is INTEGER, false otherwise.
bool isInterval () const
Returns true if this type is INTERVAL, false otherwise.
bool isIntervalYM () const
Returns true if this type is INTERVAL YEAR TO MONTH, false otherwise.
bool isLongVarbinary () const
Returns true if this type is LONG VARCHAR, false otherwise.
bool isLongVarchar () const
Returns true if this type is LONG VARCHAR, false otherwise.
bool isNestedArrayType () const
bool isNumeric () const
Returns true if this type is NUMERIC, false otherwise.
bool isSetType () const
bool isStringCollectionType () const
bool isStringOid (Oid typeOid) const
bool isStringType () const
Return true for VARCHAR/CHAR/VARBINARY/BINARY/LONG VARCHAR/LONG VARBINARY data types.
bool isTime () const
Returns true if this type is TIME, false otherwise.
bool isTimestamp () const
Returns true if this type is TIMESTAMP, false otherwise.
bool isTimestampTz () const
Returns true if this type is TIMESTAMP WITH TIMEZONE, false otherwise.
bool isTimeTz () const
Returns true if this type is TIME WITH TIMEZONE, false otherwise.
bool isUuid () const
Returns true if this type is UUID, false otherwise.
bool isVarbinary () const
Returns true if this type is VARBINARY, false otherwise.
bool isVarchar () const
Returns true if this type is VARCHAR, false otherwise.
bool operator!= (const VerticaType &rhs) const
bool operator== (const VerticaType &rhs) const
void setIntervalPrecision (int32 precision)
For INTERVAL data types, sets the precision.
void setIntervalRange (int32 range)
For INTERVAL data types, sets the range.
void setNumericPrecision (int32 precision)
For NUMERIC data types, sets the precision.
void setNumericScale (int32 scale)
For NUMERIC data types, sets the scale.
void setTimePrecision (int32 precision)
For TIMESTAMP data types, sets the precision.
void setTimestampPrecision (int32 precision)
For TIMESTAMP data types, sets the precision.
Static Public Member Functions
static VerticaType ArrayType (const Field &element, int maxElems=-1)
static const char * getTypeStr (Oid typeOid)
static Oid isBuiltInType (const Oid typeOid)
static VerticaType RowType (const Fields &rowfields)

Detailed Description

Represents types of data that are passed into and returned back from user's code.

Member Function Documentation

Field Vertica::VerticaType::getElementField() const

Returns A Field representing the element type of this collection or complex array. The returned Field's getType() will be this->getElementType().

VerticaType Vertica::VerticaType::getElementType() const

Returns A type representing the element type of this collection or complex array. Throws an exception if this is not a collection or complex array type.

Referenced by

Field Vertica::VerticaType::getField(size_t idx) const

Parameters

  • idx: The position of the field type to look up.

Returns A Field representing the field type at position idx of this ROW type. The returned Field's getType() will be this->getFieldType(idx).

Referenced by getFieldName().

std::string Vertica::VerticaType::getFieldName(size_t idx) const

Parameters

  • idx: The position of the field name to look up.

Returns The name of the field at the provided index.

VerticaType Vertica::VerticaType::getFieldType(size_t idx) const

Parameters

  • idx: The position of the field type to look up.

Returns A type representing the field type at position idx of this ROW type. Throws an exception if this is not a row type, or if idx is out of range.

Referenced by getField().

size_t Vertica::VerticaType::getNumFields() const

Returns The number of fields for this ROW type. Should only be called on ROW types.

Oid Vertica::VerticaType::getUnderlyingType() const

inline Returns If this is a built in type, returns the typeOid. Otherwise, returns the base type oid on which the type is based.

Referenced by

bool Vertica::VerticaType::isCollection1DType() const

inline Returns true if this is a one-dimension collection type, e.g. ARRAY[INTEGER] or SET[VARCHAR]

Returns false if this type is an element of a complex array, even if it itself a 1D array type.

Referenced by

bool Vertica::VerticaType::isComplexRowArrayType() const

Returns true if this type is an ARRAY[ROW(...)] type

Referenced by getMaxSize().

bool Vertica::VerticaType::isComplexRowType() const

inline Returns true if this is a ROW(...) type

Referenced by

bool Vertica::VerticaType::isNestedArrayType() const

Returns true if this type is an ARRAY[ARRAY[...]] type

bool Vertica::VerticaType::isStringCollectionType() const

inline Returns true if this is a one-dimension collection type whose element is a string type. See isCollection1DType().

266 - Vertica::VerticaType Member List

This is the complete list of members for Vertica::VerticaType, including all inherited members.

ArrayType(const Field &element, int maxElems=-1) (defined in Vertica::VerticaType) Vertica::VerticaType static
getArray1DOid() const (defined in Vertica::VerticaType) Vertica::VerticaType inline
getArray1DType() const (defined in Vertica::VerticaType) Vertica::VerticaType inline
getCollectionBinarySize(bool checkType=true) const Vertica::VerticaType
getElementField() const Vertica::VerticaType
getElementOid() const (defined in Vertica::VerticaType) Vertica::VerticaType inline
getElementType() const Vertica::VerticaType
getField(size_t idx) const Vertica::VerticaType
getFieldName(size_t idx) const Vertica::VerticaType
getFieldType(size_t idx) const Vertica::VerticaType
getIntervalPrecision() const Vertica::VerticaType inline
getIntervalRange() const Vertica::VerticaType inline
getMaxSize() const Vertica::VerticaType inline
getNumericFractional() const Vertica::VerticaType inline
getNumericIntegral() const Vertica::VerticaType inline
getNumericLength() const Vertica::VerticaType inline
getNumericPrecision() const Vertica::VerticaType inline
getNumericScale() const Vertica::VerticaType inline
getNumericWordCount() const (defined in Vertica::VerticaType) Vertica::VerticaType inline
getNumFields() const Vertica::VerticaType
getPrettyPrintStr() const Vertica::VerticaType inline
getSetOid() const (defined in Vertica::VerticaType) Vertica::VerticaType inline
getSetType() const (defined in Vertica::VerticaType) Vertica::VerticaType inline
getStringLength(bool checkType=true) const Vertica::VerticaType inline
getTimePrecision() const Vertica::VerticaType inline
getTimestampPrecision() const Vertica::VerticaType inline
getTypeStr(Oid typeOid) (defined in Vertica::VerticaType) Vertica::VerticaType inlinestatic
getTypeStr() const (defined in Vertica::VerticaType) Vertica::VerticaType inline
getUnderlyingType() const Vertica::VerticaType inline
isArray1DType() const (defined in Vertica::VerticaType) Vertica::VerticaType inline
isArrayType() const (defined in Vertica::VerticaType) Vertica::VerticaType inline
isBinary() const Vertica::VerticaType inline
isBool() const Vertica::VerticaType inline
isBuiltInType(const Oid typeOid) (defined in Vertica::VerticaType) Vertica::VerticaType inlinestatic
isChar() const Vertica::VerticaType inline
iscoercedStringType() const Vertica::VerticaType inline
isCollection1DType() const Vertica::VerticaType inline
isCollectionType() const (defined in Vertica::VerticaType) Vertica::VerticaType inline
isComplexArrayType() const (defined in Vertica::VerticaType) Vertica::VerticaType inline
isComplexRowArrayType() const Vertica::VerticaType
isComplexRowType() const Vertica::VerticaType inline
isComplexType() const (defined in Vertica::VerticaType) Vertica::VerticaType inline
isDate() const Vertica::VerticaType inline
isFloat() const Vertica::VerticaType inline
isInt() const Vertica::VerticaType inline
isInterval() const Vertica::VerticaType inline
isIntervalYM() const Vertica::VerticaType inline
isLongVarbinary() const Vertica::VerticaType inline
isLongVarchar() const Vertica::VerticaType inline
isNestedArrayType() const Vertica::VerticaType
isNumeric() const Vertica::VerticaType inline
isSetType() const (defined in Vertica::VerticaType) Vertica::VerticaType inline
isStringCollectionType() const Vertica::VerticaType inline
isStringOid(Oid typeOid) const (defined in Vertica::VerticaType) Vertica::VerticaType inline
isStringType() const Vertica::VerticaType inline
isTime() const Vertica::VerticaType inline
isTimestamp() const Vertica::VerticaType inline
isTimestampTz() const Vertica::VerticaType inline
isTimeTz() const Vertica::VerticaType inline
isUuid() const Vertica::VerticaType inline
isVarbinary() const Vertica::VerticaType inline
isVarchar() const Vertica::VerticaType inline
operator!=(const VerticaType &rhs) const (defined in Vertica::VerticaType) Vertica::VerticaType inline
operator==(const VerticaType &rhs) const (defined in Vertica::VerticaType) Vertica::VerticaType inline
RowType(const Fields &rowfields) (defined in Vertica::VerticaType) Vertica::VerticaType inlinestatic
setIntervalPrecision(int32 precision) Vertica::VerticaType inline
setIntervalRange(int32 range) Vertica::VerticaType inline
setNumericPrecision(int32 precision) Vertica::VerticaType inline
setNumericScale(int32 scale) Vertica::VerticaType inline
setTimePrecision(int32 precision) Vertica::VerticaType inline
setTimestampPrecision(int32 precision) Vertica::VerticaType inline
VerticaType(Oid oid, Typemod typmod) (defined in Vertica::VerticaType) Vertica::VerticaType inline
VerticaType(const VerticaType &other) (defined in Vertica::VerticaType) Vertica::VerticaType inline

267 - 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.

Inheritance diagram for Vertica::VerticaValueRange:

Collaboration diagram for Vertica::VerticaValueRange:

Classes
struct ValueRange
Public Types
enum BoundType { LO_BOUND, UP_BOUND }
Public Member Functions
VerticaValueRange (size_t narg)
bool canHaveNulls (size_t idx) const
Indicates if there can be NULL values in the range.
template
const T * getColPtr (size_t idx) const
template
T * getColPtrForWrite (size_t idx)
size_t getNumRanges () const
Retrieve the number of range arguments.
const VerticaType & getRangeType (size_t idx) const
Returns the data type of the values in a range.
EE::ValueSort getSortedness (size_t idx) const
Protected Member Functions
void addArg (char *loBound, char *upBound, const VerticaType &dt, EE::ValueSort sortedness, bool canHaveNulls)
void setCanHaveNulls (size_t idx, bool u)
Set a flag to indicate that some values in this range can be NULL.
void setSortedness (size_t idx, EE::ValueSort s)
Protected Attributes
size_t narg
std::vector ranges
std::vector svWrappersLo
std::vector svWrappersUp
std::vector uuWrappersLo
std::vector uuWrappersUp
std::vector vnWrappersLo
std::vector vnWrappersUp
Friends
struct ::AnalyzeUDSFHandler
struct ::UDxExecContext

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

  • loBound: Base location to find the lower bound data
  • upBound: Base location to find the upper bound data
  • sortedness: Sortedness of values in the range
  • dt: The data type of range bounds
bool Vertica::VerticaValueRange::canHaveNulls(size_t idx) const

inline Indicates if there can be NULL values in the range.

Parameters

  • idx: the range argument number.

Returns TRUE if some range values can be NULL, else FALSE.

size_t Vertica::VerticaValueRange::getNumRanges() const

inline Retrieve the number of range arguments.

Returns the number of range arguments held by this object.

const VerticaType& Vertica::VerticaValueRange::getRangeType(size_t idx) const

inline Returns the data type of the values in a range.

Parameters

  • idx: The index of the range

Returns a VerticaType object describing the data type of the range values.

void Vertica::VerticaValueRange::setCanHaveNulls(size_t idx, bool u)

inlineprotected

Set a flag to indicate that some values in this range can be NULL.

Parameters

  • idx: The argument range number.
  • u: true if there can be NULL values in the range, else false.

268 - Vertica::VerticaValueRange Member List

This is the complete list of members for Vertica::VerticaValueRange, including all inherited members.

::AnalyzeUDSFHandler (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange friend
::UDxExecContext (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange friend
addArg(char *loBound, char *upBound, const VerticaType &dt, EE::ValueSort sortedness, bool canHaveNulls) Vertica::VerticaValueRange inlineprotected
BoundType enum name (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange
canHaveNulls(size_t idx) const Vertica::VerticaValueRange inline
getColPtr(size_t idx) const (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inline
getColPtrForWrite(size_t idx) (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inline
getNumRanges() const Vertica::VerticaValueRange inline
getRangeType(size_t idx) const Vertica::VerticaValueRange inline
getSortedness(size_t idx) const (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inline
LO_BOUND enum value (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange
narg (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange protected
ranges (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange protected
setCanHaveNulls(size_t idx, bool u) Vertica::VerticaValueRange inlineprotected
setSortedness(size_t idx, EE::ValueSort s) (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inlineprotected
svWrappersLo (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
svWrappersUp (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
UP_BOUND enum value (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange
uuWrappersLo (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
uuWrappersUp (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
VerticaValueRange(size_t narg) (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inline
vnWrappersLo (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
vnWrappersUp (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange mutableprotected
~VerticaValueRange() (defined in Vertica::VerticaValueRange) Vertica::VerticaValueRange inlinevirtual

269 - Vertica::VerticaValueRange::ValueRange Member List

This is the complete list of members for Vertica::VerticaValueRange::ValueRange, including all inherited members.

canHaveNulls (defined in Vertica::VerticaValueRange::ValueRange) Vertica::VerticaValueRange::ValueRange
dt (defined in Vertica::VerticaValueRange::ValueRange) Vertica::VerticaValueRange::ValueRange
loBound (defined in Vertica::VerticaValueRange::ValueRange) Vertica::VerticaValueRange::ValueRange
sortedness (defined in Vertica::VerticaValueRange::ValueRange) Vertica::VerticaValueRange::ValueRange
upBound (defined in Vertica::VerticaValueRange::ValueRange) Vertica::VerticaValueRange::ValueRange
ValueRange(char *loBound, char *upBound, VerticaType dt, EE::ValueSort sortedness, bool canHaveNulls) (defined in Vertica::VerticaValueRange::ValueRange) Vertica::VerticaValueRange::ValueRange inline

270 - Vertica::VerticaValueRange::ValueRange Struct Reference

Collaboration diagram for Vertica::VerticaValueRange::ValueRange:

Public Member Functions
ValueRange (char *loBound, char *upBound, VerticaType dt, EE::ValueSort sortedness, bool canHaveNulls)
Public Attributes
bool canHaveNulls
VerticaType dt
char * loBound
EE::ValueSort sortedness
char * upBound

271 - Vertica::VInterval Class Reference

Representation of an Interval in Vertica.

Collaboration diagram for Vertica::VInterval:

Static Public Member Functions
static void breakUp (Interval i, int64 &days, int64 &hour, int64 &min, float &sec)
Break up an Interval and set the arguments.
static Interval combine (int64 days, int64 hour, int64 min, double sec)
Compute an Interval from its components.

Detailed Description

Representation of an Interval in Vertica.

Member Function Documentation

static void Vertica::VInterval::breakUp(Interval i, int64 & days, int64 & hour, int64 & min, float & sec)

inlinestatic

Break up an Interval and set the arguments.

Returns None

Parameters

  • i]: Vertica Interval.
  • days]: Number of days in the interval.
  • hour]: Number of hours in the interval.
  • min]: Number of minutes in the interval.
  • sec]: Number of seconds including fractions of a second.
static Interval Vertica::VInterval::combine(int64 days, int64 hour, int64 min, double sec)

inlinestatic

Compute an Interval from its components.

Returns the value of the specified Interval

Parameters

  • days]: Number of days in the interval.
  • hour]: Number of hours in the interval.
  • min]: Number of minutes in the interval.
  • sec]: Number of seconds including fractions of a second.

272 - Vertica::VInterval Member List

This is the complete list of members for Vertica::VInterval, including all inherited members.

breakUp(Interval i, int64 &days, int64 &hour, int64 &min, float &sec) Vertica::VInterval inlinestatic
combine(int64 days, int64 hour, int64 min, double sec) Vertica::VInterval inlinestatic

273 - Vertica::VIntervalYM Class Reference

Representation of an IntervalYM in Vertica. An Interval can be broken up into years and months.

Collaboration diagram for Vertica::VIntervalYM:

Static Public Member Functions
static void breakUp (IntervalYM i, int64 &years, int64 &months)
Break up an Interval and set the arguments.

Detailed Description

Representation of an IntervalYM in Vertica. An Interval can be broken up into years and months.

Member Function Documentation

static void Vertica::VIntervalYM::breakUp(IntervalYM i, int64 & years, int64 & months)

inlinestatic

Break up an Interval and set the arguments.

Returns None

Parameters

  • i]: Vertica IntervalYM.
  • years]: Number of years in the interval.
  • months]: Number of months in the interval.

274 - Vertica::VIntervalYM Member List

This is the complete list of members for Vertica::VIntervalYM, including all inherited members.

breakUp(IntervalYM i, int64 &years, int64 &months) Vertica::VIntervalYM inlinestatic

275 - Vertica::VNumeric Class Reference

Representation of NUMERIC, fixed point data types in Vertica.

Inheritance diagram for Vertica::VNumeric:

Collaboration diagram for Vertica::VNumeric:

Public Member Functions
VNumeric (uint64 *words, int32 precision, int32 scale)
Create a VNumeric with the provided storage location, precision and scale.
VNumeric (const VNumeric &other)
void accumulate (const VNumeric *from)
Adds another VNumeric to this VNumeric.
void add (const VNumeric *a, const VNumeric *b)
int compare (const VNumeric *from) const
Compares this (signed) VNumeric to another.
int compareUnsigned (const VNumeric *from) const
Compares this (unsigned) VNumeric to another.
void copy (const VNumeric *from)
Copy data from another VNumeric.
bool copy (ifloat value, bool round=true)
Copy data from a floating-point number.
void div (const VNumeric *a, const VNumeric *b)
bool equal (const VNumeric *from) const
Indicates whether some other VNumeric is equal to this one.
int32 getPrecision () const
int32 getScale () const
void incr ()
void invertSign ()
Inverts the sign of this VNumeric (equivalent to multiplying this VNumeric by -1)
bool isNeg () const
Indicates if this VNumeric is negative.
bool isNull () const
Indicates if this VNumeric is the SQL NULL value.
bool isZero () const
Indicates if this VNumeric is zero.
void mul (const VNumeric *a, const VNumeric *b)
VNumeric & operator*= (const VNumeric &other)
VNumeric & operator+= (const VNumeric &other)
VNumeric & operator-= (const VNumeric &other)
VNumeric & operator/= (const VNumeric &other)
bool operator (const VNumeric &other) const
bool operator>= (const VNumeric &other) const
VNumeric & operator>>= (unsigned shift)
void setNull ()
Sets this VNumeric to the SQL NULL value.
void setZero ()
Sets this VNumeric to zero.
void shiftLeft (unsigned bitsToShift)
void shiftRight (unsigned bitsToShift)
void sub (const VNumeric *a, const VNumeric *b)
ifloat toFloat () const
Convert the VNumeric value into floating-point.
size_t toString (char *outBuf, int olen) const

Detailed Description

Representation of NUMERIC, fixed point data types in Vertica.

Constructor & Destructor Documentation

Vertica::VNumeric::VNumeric(uint64 * words, int32 precision, int32 scale)

inline Create a VNumeric with the provided storage location, precision and scale.

Note It is the callers responsibility to allocate enough memory for the words parameter

Member Function Documentation

int Vertica::VNumeric::compare(const VNumeric * from) const

inline Compares this (signed) VNumeric to another.

Returns -1 if this < other, 0 if equal, 1 if this > other

Note SQL NULL compares less than anything else; two SQL NULLs are considered equal

int Vertica::VNumeric::compareUnsigned(const VNumeric * from) const

inline Compares this (unsigned) VNumeric to another.

Returns -1 if this < other, 0 if equal, 1 if this > other

Note SQL NULL compares less than anything else; two SQL NULLs are considered equal

void Vertica::VNumeric::copy(const VNumeric * from)

inline Copy data from another VNumeric.

Parameters

  • from: The source VNumeric
bool Vertica::VNumeric::copy(ifloat value, bool round = true)

inline Copy data from a floating-point number.

Parameters

  • value: The source floating-point number
  • round: Truncates if false; otherwise the numeric result is rounded

Returns false if conversion failed (precision lost or overflow, etc); true otherwise

ifloat Vertica::VNumeric::toFloat() const

inline Convert the VNumeric value into floating-point.

Returns the value in 80-bit floating-point

276 - Vertica::VNumeric Member List

This is the complete list of members for Vertica::VNumeric, including all inherited members.

accumulate(const VNumeric *from) Vertica::VNumeric inline
add(const VNumeric *a, const VNumeric *b) (defined in Vertica::VNumeric) Vertica::VNumeric inline
compare(const VNumeric *from) const Vertica::VNumeric inline
compareUnsigned(const VNumeric *from) const Vertica::VNumeric inline
copy(const VNumeric *from) Vertica::VNumeric inline
copy(ifloat value, bool round=true) Vertica::VNumeric inline
div(const VNumeric *a, const VNumeric *b) (defined in Vertica::VNumeric) Vertica::VNumeric inline
equal(const VNumeric *from) const Vertica::VNumeric inline
getPrecision() const (defined in Vertica::VNumeric) Vertica::VNumeric inline
getScale() const (defined in Vertica::VNumeric) Vertica::VNumeric inline
incr() (defined in Vertica::VNumeric) Vertica::VNumeric inline
invertSign() Vertica::VNumeric inline
isNeg() const Vertica::VNumeric inline
isNull() const Vertica::VNumeric inline
isZero() const Vertica::VNumeric inline
mul(const VNumeric *a, const VNumeric *b) (defined in Vertica::VNumeric) Vertica::VNumeric inline
operator*=(const VNumeric &other) (defined in Vertica::VNumeric) Vertica::VNumeric inline
operator+=(const VNumeric &other) (defined in Vertica::VNumeric) Vertica::VNumeric inline
operator-=(const VNumeric &other) (defined in Vertica::VNumeric) Vertica::VNumeric inline
operator/=(const VNumeric &other) (defined in Vertica::VNumeric) Vertica::VNumeric inline
operator(const VNumeric &other) const (defined in Vertica::VNumeric) Vertica::VNumeric inline
operator>=(const VNumeric &other) const (defined in Vertica::VNumeric) Vertica::VNumeric inline
operator>>=(unsigned shift) (defined in Vertica::VNumeric) Vertica::VNumeric inline
setNull() Vertica::VNumeric inline
setZero() Vertica::VNumeric inline
shiftLeft(unsigned bitsToShift) (defined in Vertica::VNumeric) Vertica::VNumeric inline
shiftRight(unsigned bitsToShift) (defined in Vertica::VNumeric) Vertica::VNumeric inline
sub(const VNumeric *a, const VNumeric *b) (defined in Vertica::VNumeric) Vertica::VNumeric inline
toFloat() const Vertica::VNumeric inline
toString(char *outBuf, int olen) const (defined in Vertica::VNumeric) Vertica::VNumeric inline
VNumeric(uint64 *words, int32 precision, int32 scale) Vertica::VNumeric inline
VNumeric(const VNumeric &other) (defined in Vertica::VNumeric) Vertica::VNumeric inline

277 - Vertica::VNumericTemp< Alloc > Class Template Reference

Inheritance diagram for Vertica::VNumericTemp< Alloc >:

Collaboration diagram for Vertica::VNumericTemp< Alloc >:

Public Member Functions
VNumericTemp (int32 precision, int32 scale, const Alloc &alloc=Alloc())
VNumericTemp (Typemod typmod, const Alloc &alloc=Alloc())
VNumericTemp (int32 attr, const Alloc &alloc=Alloc())
VNumericTemp (VNumericTemp &&from)
void accumulate (const VNumeric *from)
Adds another VNumeric to this VNumeric.
void add (const VNumeric *a, const VNumeric *b)
int compare (const VNumeric *from) const
Compares this (signed) VNumeric to another.
int compareUnsigned (const VNumeric *from) const
Compares this (unsigned) VNumeric to another.
void copy (const VNumeric *from)
Copy data from another VNumeric.
bool copy (ifloat value, bool round=true)
Copy data from a floating-point number.
void div (const VNumeric *a, const VNumeric *b)
bool equal (const VNumeric *from) const
Indicates whether some other VNumeric is equal to this one.
int32 getPrecision () const
int32 getScale () const
void incr ()
void invertSign ()
Inverts the sign of this VNumeric (equivalent to multiplying this VNumeric by -1)
bool isNeg () const
Indicates if this VNumeric is negative.
bool isNull () const
Indicates if this VNumeric is the SQL NULL value.
bool isZero () const
Indicates if this VNumeric is zero.
void mul (const VNumeric *a, const VNumeric *b)
VNumericTemp & operator*= (const VNumeric &other)
VNumericTemp & operator+= (const VNumeric &other)
VNumericTemp & operator-= (const VNumeric &other)
VNumericTemp & operator/= (const VNumeric &other)
bool operator (const VNumeric &other) const
bool operator>= (const VNumeric &other) const
VNumericTemp & operator>>= (unsigned shift)
void setNull ()
Sets this VNumeric to the SQL NULL value.
void setZero ()
Sets this VNumeric to zero.
void shiftLeft (unsigned bitsToShift)
void shiftRight (unsigned bitsToShift)
void sub (const VNumeric *a, const VNumeric *b)
ifloat toFloat () const
Convert the VNumeric value into floating-point.
size_t toString (char *outBuf, int olen) const
Static Public Member Functions
static int32 getCoveringTypeMod (int32 attra, int32 attrb)

Detailed Description

template>

class Vertica::VNumericTemp

Represents an intermediate result in an arithmetic expression of VNumerics

Member Function Documentation

int Vertica::VNumeric::compare(const VNumeric * from) const

inline inherited Compares this (signed) VNumeric to another.

Returns -1 if this < other, 0 if equal, 1 if this > other

Note SQL NULL compares less than anything else; two SQL NULLs are considered equal

int Vertica::VNumeric::compareUnsigned(const VNumeric * from) const

inline inherited Compares this (unsigned) VNumeric to another.

Returns -1 if this < other, 0 if equal, 1 if this > other

Note SQL NULL compares less than anything else; two SQL NULLs are considered equal

void Vertica::VNumeric::copy(const VNumeric * from)

inline inherited Copy data from another VNumeric.

Parameters

  • from: The source VNumeric
bool Vertica::VNumeric::copy(ifloat value, bool round = true)

inline inherited Copy data from a floating-point number.

Parameters

  • value: The source floating-point number
  • round: Truncates if false; otherwise the numeric result is rounded

Returns false if conversion failed (precision lost or overflow, etc); true otherwise

template<class Alloc = std::allocator<uint64>>
static int32 Vertica::VNumericTemp::getCoveringTypeMod(int32 attra, int32 attrb)

inlinestatic

Returns the typmod needed for a result of adding/subtracting numeric values with typmods a and b respectively

ifloat Vertica::VNumeric::toFloat() const

inline inherited Convert the VNumeric value into floating-point.

Returns the value in 80-bit floating-point

278 - Vertica::VNumericTemp< Alloc > Member List

This is the complete list of members for Vertica::VNumericTemp, including all inherited members.

accumulate(const VNumeric *from) Vertica::VNumeric inline
add(const VNumeric *a, const VNumeric *b) (defined in Vertica::VNumeric) Vertica::VNumeric inline
compare(const VNumeric *from) const Vertica::VNumeric inline
compareUnsigned(const VNumeric *from) const Vertica::VNumeric inline
copy(const VNumeric *from) Vertica::VNumeric inline
copy(ifloat value, bool round=true) Vertica::VNumeric inline
div(const VNumeric *a, const VNumeric *b) (defined in Vertica::VNumeric) Vertica::VNumeric inline
equal(const VNumeric *from) const Vertica::VNumeric inline
getCoveringTypeMod(int32 attra, int32 attrb) Vertica::VNumericTemp inlinestatic
getPrecision() const (defined in Vertica::VNumeric) Vertica::VNumeric inline
getScale() const (defined in Vertica::VNumeric) Vertica::VNumeric inline
incr() (defined in Vertica::VNumeric) Vertica::VNumeric inline
invertSign() Vertica::VNumeric inline
isNeg() const Vertica::VNumeric inline
isNull() const Vertica::VNumeric inline
isZero() const Vertica::VNumeric inline
mul(const VNumeric *a, const VNumeric *b) (defined in Vertica::VNumeric) Vertica::VNumeric inline
operator*=(const VNumeric &other) (defined in Vertica::VNumericTemp) Vertica::VNumericTemp inline
operator+=(const VNumeric &other) (defined in Vertica::VNumericTemp) Vertica::VNumericTemp inline
operator-=(const VNumeric &other) (defined in Vertica::VNumericTemp) Vertica::VNumericTemp inline
operator/=(const VNumeric &other) (defined in Vertica::VNumericTemp) Vertica::VNumericTemp inline
operator) Vertica::VNumericTemp inline
operator) Vertica::VNumericTemp inline
operator=(const VNumeric &other) (defined in Vertica::VNumericTemp) Vertica::VNumericTemp inline
operator==(const VNumeric &other) const (defined in Vertica::VNumeric) Vertica::VNumeric inline
operator>(const VNumeric &other) const (defined in Vertica::VNumeric) Vertica::VNumeric inline
operator>=(const VNumeric &other) const (defined in Vertica::VNumeric) Vertica::VNumeric inline
operator>>=(unsigned shift) (defined in Vertica::VNumericTemp) Vertica::VNumericTemp inline
setNull() Vertica::VNumeric inline
setZero() Vertica::VNumeric inline
shiftLeft(unsigned bitsToShift) (defined in Vertica::VNumeric) Vertica::VNumeric inline
shiftRight(unsigned bitsToShift) (defined in Vertica::VNumeric) Vertica::VNumeric inline
sub(const VNumeric *a, const VNumeric *b) (defined in Vertica::VNumeric) Vertica::VNumeric inline
toFloat() const Vertica::VNumeric inline
toString(char *outBuf, int olen) const (defined in Vertica::VNumeric) Vertica::VNumeric inline
VNumeric(uint64 *words, int32 precision, int32 scale) Vertica::VNumeric inline
VNumeric(const VNumeric &other) (defined in Vertica::VNumeric) Vertica::VNumeric inline
VNumericTemp(int32 precision, int32 scale, const Alloc &alloc=Alloc()) (defined in Vertica::VNumericTemp) Vertica::VNumericTemp inline
VNumericTemp(Typemod typmod, const Alloc &alloc=Alloc()) (defined in Vertica::VNumericTemp) Vertica::VNumericTemp inline
VNumericTemp(int32 attr, const Alloc &alloc=Alloc()) (defined in Vertica::VNumericTemp) Vertica::VNumericTemp inline
VNumericTemp(VNumericTemp &&from) (defined in Vertica::VNumericTemp) Vertica::VNumericTemp inline
~VNumericTemp() (defined in Vertica::VNumericTemp) Vertica::VNumericTemp inline

279 - Vertica::VResources Member List

This is the complete list of members for Vertica::VResources, including all inherited members.

nFileHandles Vertica::VResources
nHelperThreads Vertica::VResources
scratchMemory Vertica::VResources
VResources() (defined in Vertica::VResources) Vertica::VResources inline

280 - Vertica::VResources Struct Reference

Collaboration diagram for Vertica::VResources:

Public Attributes
int nFileHandles
int nHelperThreads
vint scratchMemory

Detailed Description

Representation of the resources user code can ask Vertica for

Member Data Documentation

int Vertica::VResources::nFileHandles

Number of file handles / sockets required

int Vertica::VResources::nHelperThreads

Number of suggested helper threads

vint Vertica::VResources::scratchMemory

Amount of RAM in bytes used by User defined function

Referenced by Vertica::UDXFactory::getPerInstanceResources().

281 - Vertica::VString Class Reference

Representation of a String in Vertica. All character data is internally encoded as UTF-8 characters and is not NULL terminated.

Collaboration diagram for Vertica::VString:

Public Member Functions
VString (const VString &other)
void alloc (vsize len)
Allocate the VString's internal buffer and initialize to 'len' 0 bytes.
int compare (const VString *other) const
Compares this VString to another.
void copy (const char *s, vsize len)
Copy character data from C string to the VString's internal buffer.
void copy (const char *s)
Copy character data from null terminated C string to the VString's internal buffer.
void copy (const std::string &s)
Copy character data from std::string.
void copy (const VString *from)
Copy data from another VString.
void copy (const VString &from)
Copy data from another VString.
const char * data () const
Provides a read-only pointer to this VString's internal data.
char * data ()
Provides a writeable pointer to this VString's internal data.
int equal (const VString *other) const
Indicates whether some other VString is equal to this one.
bool isNull () const
Indicates if this VString contains the SQL NULL value.
vsize length () const
Returns the length of this VString.
bool operator
VString & operator= (const stringtype &s)
VString & operator= (const VString &other)
bool operator== (const VString &other) const
bool operator> (const VString &other) const
bool operator>= (const VString &other) const
void setNull ()
Sets this VString to the SQL NULL value.
template
stringtype str () const
Provides a copy of this VString's data as a std::string.

Detailed Description

Representation of a String in Vertica. All character data is internally encoded as UTF-8 characters and is not NULL terminated.

Member Function Documentation

void Vertica::VString::alloc(vsize len)

inline Allocate the VString's internal buffer and initialize to 'len' 0 bytes.

The VString is allocated and set to 'len' zero bytes. It is the caller's responsibility to not provide a value of 'len' that is larger than the maximum size of this VString

Parameters

  • len: length in bytes
int Vertica::VString::compare(const VString * other) const

inline Compares this VString to another.

Returns -1 if this < other, 0 if equal, 1 if this > other (just like memcmp)

Note SQL NULL compares greater than anything else; two SQL NULLs are considered equal

void Vertica::VString::copy(const char * s, vsize len)

inline Copy character data from C string to the VString's internal buffer.

Data is copied from s into this VString. It is the caller's responsibility to not provide a value of 'len' that is larger than the maximum size of this VString

Parameters

  • s: character input data
  • len: length in bytes, not including the terminating null character

Referenced by

void Vertica::VString::copy(const char * s)

inline Copy character data from null terminated C string to the VString's internal buffer.

Parameters

  • s: null-terminated character input data

Referenced by copy().

void Vertica::VString::copy(const std::string & s)

inline Copy character data from std::string.

Parameters

  • s: null-terminated character input data

Referenced by copy().

void Vertica::VString::copy(const VString * from)

inline Copy data from another VString.

Parameters

  • from: The source VString
void Vertica::VString::copy(const VString & from)

inline Copy data from another VString.

Parameters

  • from: The source VString

Referenced by copy().

const char* Vertica::VString::data() const

inline Provides a read-only pointer to this VString's internal data.

Returns the read only character data for this string, as a pointer.

Note The returned string is not null terminated

Referenced by

char* Vertica::VString::data()

inline Provides a writeable pointer to this VString's internal data.

Returns the writeable character data for this string, as a pointer.

Note The returned string is not null terminated

int Vertica::VString::equal(const VString * other) const

inline Indicates whether some other VString is equal to this one.

Returns -1 if both are SQL NULL, 0 if not equal, 1 if equal so you can easily consider two NULL values to be equal to each other, or not

bool Vertica::VString::isNull() const

inline Indicates if this VString contains the SQL NULL value.

Returns true if this string contains the SQL NULL value, false otherwise

Referenced by

vsize Vertica::VString::length() const

inline Returns the length of this VString.

Returns the length of the string, in bytes. Does not include any extra space for null characters.

Referenced by

template<typename stringtype >
VString& Vertica::VString::operator=(const stringtype & s)

inline Set this object to have the contents of any string object

VString& Vertica::VString::operator=(const VString & other)

inline Copy this object to have the same contents of another VString

template<typename stringtype = std::string>
stringtype Vertica::VString::str() const

inline Provides a copy of this VString's data as a std::string.

Returns a std::string copy of the data in this VString

Referenced by Vertica::operator+().

282 - Vertica::VString Member List

This is the complete list of members for Vertica::VString, including all inherited members.

alloc(vsize len) Vertica::VString inline
compare(const VString *other) const Vertica::VString inline
copy(const char *s, vsize len) Vertica::VString inline
copy(const char *s) Vertica::VString inline
copy(const std::string &s) Vertica::VString inline
copy(const VString *from) Vertica::VString inline
copy(const VString &from) Vertica::VString inline
data() const Vertica::VString inline
data() Vertica::VString inline
equal(const VString *other) const Vertica::VString inline
isNull() const Vertica::VString inline
length() const Vertica::VString inline
operator(const VString &other) const (defined in Vertica::VString) Vertica::VString inline
operator>=(const VString &other) const (defined in Vertica::VString) Vertica::VString inline
setNull() Vertica::VString inline
str() const Vertica::VString inline
VString(const VString &other) (defined in Vertica::VString) Vertica::VString inline

283 - Vertica::VTAllocator Class Reference

A pool-based allocator that is provided to simplify memory management for UDF implementors.

Collaboration diagram for Vertica::VTAllocator:

Public Member Functions
virtual void * alloc (size_t size)=0
virtual void free (void *ptr, size_t size)

Detailed Description

A pool-based allocator that is provided to simplify memory management for UDF implementors.

Member Function Documentation

virtual void* Vertica::VTAllocator::alloc(size_t size)

pure virtual Allocate size_t bytes of memory on a pool. This memory is guaranteed to persist beyond the destroy call but might have been destroyed when the dtor is run or freed explicitly.

virtual void Vertica::VTAllocator::free(void * ptr, size_t size)

inlinevirtual

Free size_t bytes of memory allocated for ptr. Caution: safety is only guaranteed if free() is called on the same VTAllocator object that performed the alloc()

284 - Vertica::VTAllocator Member List

This is the complete list of members for Vertica::VTAllocator, including all inherited members.

alloc(size_t size)=0 Vertica::VTAllocator pure virtual
free(void *ptr, size_t size) Vertica::VTAllocator inlinevirtual
~VTAllocator() (defined in Vertica::VTAllocator) Vertica::VTAllocator inlinevirtual

285 - Vertica::VUuid Class Reference

Representation of Universally Unique Identifier (UUID) data type in Vertica.

Collaboration diagram for Vertica::VUuid:

Public Member Functions
VUuid (vuuid_t *data)
Create a Universally Unique Identifier type from a vuuid_t array.
VUuid (const VUuid &other)
int compare (const VUuid &from) const
Compares this VUuid to another.
void copy (const VUuid &from)
Copy data from another VUuid.
bool equal (const VUuid &from) const
Indicates whether another VUuid is equal to this one.
bool fromCharArray (const char *str)
Populate this UUID's data array from a string representation.
bool fromString (const std::string &str)
Populate this UUID's data array from a string representation.
vuuid_t & getData ()
Get a reference to the data array.
const vuuid_t & getData () const
Get a const reference to the data array.
bool isNull () const
Indicates if this VUuid is the SQL NULL value.
bool operator (const VUuid &other) const
bool operator>= (const VUuid &other) const
void setNull ()
Sets this VUuid to the SQL NULL value.
void toCharArray (char *buf, size_t bufLen) const
Return a string representation of this UUID.
std::string toString () const
Return a string representation of this UUID.

Detailed Description

Representation of Universally Unique Identifier (UUID) data type in Vertica.

Constructor & Destructor Documentation

Vertica::VUuid::VUuid(vuuid_t * data)

inline Create a Universally Unique Identifier type from a vuuid_t array.

Note It is the callers responsibility to allocate and manage the lifetime of the data array, which is UUID_LEN bytes long.

Example:

vuuid_t data = {
0x06, 0xbe, 0x07, 0x79, 0xc0, 0xb7, 0x46, 0xcb,
0x8a, 0x16, 0x99, 0x09, 0x26, 0x99, 0x9a, 0xfd,
};
VUuid uuid(data);

Member Function Documentation

int Vertica::VUuid::compare(const VUuid & from) const

inline Compares this VUuid to another.

Parameters

  • from: The VUuid to compare to

Returns -1 if this < other, 0 if equal, 1 if this > other

Note SQL NULL compares less than anything else; two SQL NULLs are considered equal

Referenced by equal().

void Vertica::VUuid::copy(const VUuid & from)

inline Copy data from another VUuid.

Parameters

  • from: The source VUuid
bool Vertica::VUuid::equal(const VUuid & from) const

inline Indicates whether another VUuid is equal to this one.

Parameters

  • other: The VUuid to compare to
bool Vertica::VUuid::fromCharArray(const char * str)

inline Populate this UUID's data array from a string representation.

Note str should be valid UUID format

Returns true on success

bool Vertica::VUuid::fromString(const std::string & str)

inline Populate this UUID's data array from a string representation.

Returns true on success

bool Vertica::VUuid::isNull() const

inline Indicates if this VUuid is the SQL NULL value.

Note NULL is the UUID NIL value 00000000-0000-0000-0000-000000000000

Referenced by Vertica::BlockReader::isNull().

void Vertica::VUuid::setNull()

inline Sets this VUuid to the SQL NULL value.

Note NULL is the UUID NIL value 00000000-0000-0000-0000-000000000000

Referenced by

void Vertica::VUuid::toCharArray(char * buf, size_t bufLen) const

inline Return a string representation of this UUID.

Parameters

  • Buffer: for result, must be at least UUID_PRINT_LEN bytes

Note Format is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

std::string Vertica::VUuid::toString() const

inline Return a string representation of this UUID.

Note Format is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

286 - Vertica::VUuid Member List

This is the complete list of members for Vertica::VUuid, including all inherited members.

compare(const VUuid &from) const Vertica::VUuid inline
copy(const VUuid &from) Vertica::VUuid inline
equal(const VUuid &from) const Vertica::VUuid inline
fromCharArray(const char *str) Vertica::VUuid inline
fromString(const std::string &str) Vertica::VUuid inline
getData() Vertica::VUuid inline
getData() const Vertica::VUuid inline
isNull() const Vertica::VUuid inline
operator(const VUuid &other) const (defined in Vertica::VUuid) Vertica::VUuid inline
operator>=(const VUuid &other) const (defined in Vertica::VUuid) Vertica::VUuid inline
setNull() Vertica::VUuid inline
toCharArray(char *buf, size_t bufLen) const Vertica::VUuid inline
toString() const Vertica::VUuid inline
VUuid(vuuid_t *data) Vertica::VUuid inline
VUuid(const VUuid &other) (defined in Vertica::VUuid) Vertica::VUuid inline
~VUuid() (defined in Vertica::VUuid) Vertica::VUuid inline