C++ SDK Documentation  9.0
Vertica::IntermediateAggs Class Reference

A wrapper around a single intermediate aggregate value. More...

Inheritance diagram for Vertica::IntermediateAggs:
Inheritance graph
Collaboration diagram for Vertica::IntermediateAggs:
Collaboration graph

Public Member Functions

 IntermediateAggs (size_t ninter)
 
void copy (const VerticaBlock &other)
 
vboolgetBoolPtr (size_t idx)
 Get a pointer to a BOOLEAN value from the intermediate results set. More...
 
vboolgetBoolRef (size_t idx)
 Get a reference to a BOOLEAN value from the intermediate results set. More...
 
template<class T >
const T * getColPtr (size_t idx) const
 
template<class T >
T * getColPtrForWrite (size_t idx)
 
template<class T >
const T & getColRef (size_t idx)
 
template<class T >
T & getColRefForWrite (size_t idx)
 
int getColStride (size_t idx) const
 
const EE::DataAreagetDataArea (size_t idx)
 
DateADTgetDatePtr (size_t idx)
 Get a pointer to a DATE value from the intermediate results set. More...
 
DateADTgetDateRef (size_t idx)
 Get a reference to a DATE value from the intermediate results set. More...
 
vfloatgetFloatPtr (size_t idx)
 Get a pointer to a FLOAT value from the intermediate results set. More...
 
vfloatgetFloatRef (size_t idx)
 Get a reference to a FLOAT value from the intermediate results set. More...
 
IntervalgetIntervalPtr (size_t idx)
 Get a pointer to an INTERVAL value from the intermediate results set. More...
 
IntervalgetIntervalRef (size_t idx)
 Get a reference to an INTERVAL value from the intermediate results set. More...
 
IntervalYMgetIntervalYMPtr (size_t idx)
 Get a pointer to a INTERVAL YEAR TO MONTH value from the intermediate results set. More...
 
IntervalYMgetIntervalYMRef (size_t idx)
 Get a reference to an INTERVAL YEAR TO MONTH value from the intermediate results set. More...
 
vintgetIntPtr (size_t idx)
 Get a pointer to an INTEGER value from the intermediate results set. More...
 
vintgetIntRef (size_t idx)
 Get a reference to an INTEGER value from the intermediate results set. More...
 
size_t getNumCols () const
 
VNumericgetNumericPtr (size_t idx)
 Get a pointer to a VNumeric value from the intermediate results set. More...
 
VNumericgetNumericRef (size_t idx)
 Get a reference to a VNumeric value from the intermediate results set. More...
 
int getNumRows () const
 
VStringgetStringPtr (size_t idx)
 Get a pointer to a VString value from the intermediate results set. More...
 
VStringgetStringRef (size_t idx)
 Get a reference to an VString value from the intermediate results set. More...
 
TimeADTgetTimePtr (size_t idx)
 Get a pointer to a TIME value from the intermediate results set. More...
 
TimeADTgetTimeRef (size_t idx)
 Get a reference to a TIME value from the intermediate results set. More...
 
TimestampgetTimestampPtr (size_t idx)
 Get a pointer to a TIMESTAMP value from the intermediate results set. More...
 
TimestampgetTimestampRef (size_t idx)
 Get a reference to a TIMESTAMP value from the intermediate results set. More...
 
TimestampTzgetTimestampTzPtr (size_t idx)
 Get a pointer to a TIMESTAMP WITH TIMEZONE value from the intermediate results set. More...
 
TimestampTzgetTimestampTzRef (size_t idx)
 Get a reference to a TIMESTAMP WITH TIMEZONE value from the intermediate results set. More...
 
TimeTzADTgetTimeTzPtr (size_t idx)
 Get a pointer to a TIME WITH TIMEZONE value from the intermediate results set. More...
 
TimeTzADTgetTimeTzRef (size_t idx)
 Get a reference to a TIME WITH TIMEZONE value from the intermediate results set. More...
 
const SizedColumnTypesgetTypeMetaData () const
 
SizedColumnTypesgetTypeMetaData ()
 
VUuidgetUuidPtr (size_t idx)
 Get a pointer to a VUuid value from the intermediate results set. More...
 
VUuidgetUuidRef (size_t idx)
 Get a reference to a VUuid value from the intermediate results set. More...
 
void * getVoidPtr ()
 
void setDataArea (size_t idx, void *dataarea)
 

Protected Member Functions

void addCol (char *arg, int colstride, const VerticaType &dt, const std::string fieldName="")
 
void addCol (const char *arg, int colstride, const VerticaType &dt, const std::string fieldName="")
 
bool checkStringUserBlockInfo (size_t idx) const
 
bool checkTimeUserBlockInfo (size_t idx) const
 
void reset ()
 
void resetIndex ()
 
void setRowCount (int rowCount)
 
void validateStringColumn (size_t idx, const VString &s, size_t colLength) const
 

Protected Attributes

std::vector< char * > cols
 
std::vector< int > colstrides
 
int count
 
int index
 
const int * indices
 
size_t ncols
 
int nrows
 
std::vector< BaseDataOID > processBlockUserInfoVector
 
std::vector< VStringsvWrappers
 
SizedColumnTypes typeMetaData
 
std::vector< VUuiduuWrappers
 
std::vector< VNumericvnWrappers
 

Detailed Description

A wrapper around a single intermediate aggregate value.

Member Function Documentation

void Vertica::VerticaBlock::addCol ( char *  arg,
int  colstride,
const VerticaType dt,
const std::string  fieldName = "" 
)
inlineprotectedinherited

Add the location for reading a particular argument.

Parameters
argThe base location to find data.
colstrideThe stride between data instances.
dtThe type of input.
fieldnamethe name of the field
vbool* Vertica::IntermediateAggs::getBoolPtr ( size_t  idx)
inline

Get a pointer to a BOOLEAN value from the intermediate results set.

Parameters
idxThe column number in the intermediate results set to retrieve.
Returns
A pointer to the retrieved value cast as a BOOLEAN.
vbool& Vertica::IntermediateAggs::getBoolRef ( size_t  idx)
inline

Get a reference to a BOOLEAN value from the intermediate results set.

Parameters
idxThe 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
inlineinherited
Returns
a pointer to the idx'th argument, cast appropriately.

Example:

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

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

template<class T >
const T& Vertica::VerticaBlock::getColRef ( size_t  idx)
inlineinherited
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
idxThe column number in the intermediate results set to retrieve.
Returns
A pointer to the retrieved value cast as a DATE.
DateADT& Vertica::IntermediateAggs::getDateRef ( size_t  idx)
inline

Get a reference to a DATE value from the intermediate results set.

Parameters
idxThe 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
idxThe column number in the intermediate results set to retrieve.
Returns
A pointer to the retrieved value cast as a FLOAT.
vfloat& Vertica::IntermediateAggs::getFloatRef ( size_t  idx)
inline

Get a reference to a FLOAT value from the intermediate results set.

Parameters
idxThe 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
idxThe column number in the intermediate results set to retrieve.
Returns
A pointer to the retrieved value cast as an INTERVAL.
Interval& Vertica::IntermediateAggs::getIntervalRef ( size_t  idx)
inline

Get a reference to an INTERVAL value from the intermediate results set.

Parameters
idxThe 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
idxThe column number in the intermediate results set to retrieve.
Returns
A point to the retrieved value cast as a INTERVAL YEAR TO MONTH.
IntervalYM& Vertica::IntermediateAggs::getIntervalYMRef ( size_t  idx)
inline

Get a reference to an INTERVAL YEAR TO MONTH value from the intermediate results set.

Parameters
idxThe 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
idxThe column number to retrieve from the intermediate results set.

Example:

vint *a = arg_reader->getIntPtr(0);
vint& Vertica::IntermediateAggs::getIntRef ( size_t  idx)
inline

Get a reference to an INTEGER value from the intermediate results set.

Parameters
idxThe 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
inlineinherited
Returns
the number of columns held by this block.
VNumeric* Vertica::IntermediateAggs::getNumericPtr ( size_t  idx)
inline

Get a pointer to a VNumeric value from the intermediate results set.

Parameters
idxThe column number to retrieve from the intermediate results set.
Returns
A pointer to the retrieved value cast as a Numeric.
VNumeric& Vertica::IntermediateAggs::getNumericRef ( size_t  idx)
inline

Get a reference to a VNumeric value from the intermediate results set.

Parameters
idxThe 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
inlineinherited
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
idxThe column number to retrieve from the intermediate results set.
Returns
A pointer to the retrieved value cast as a VString.
VString& Vertica::IntermediateAggs::getStringRef ( size_t  idx)
inline

Get a reference to an VString value from the intermediate results set.

Parameters
idxThe 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
idxThe column number in the intermediate results set to retrieve.
Returns
A pointer to the retrieved value cast as a TIME.
TimeADT& Vertica::IntermediateAggs::getTimeRef ( size_t  idx)
inline

Get a reference to a TIME value from the intermediate results set.

Parameters
idxThe 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
idxThe column number in the intermediate results set to retrieve.
Returns
A pointer to the retrieved value cast as a TIMESTAMP.
Timestamp& Vertica::IntermediateAggs::getTimestampRef ( size_t  idx)
inline

Get a reference to a TIMESTAMP value from the intermediate results set.

Parameters
idxThe 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
idxThe column number in the intermediate results set to retrieve.
Returns
A pointer to the retrieved value cast as a TIMESTAMP WITH TIMEZONE .
TimestampTz& Vertica::IntermediateAggs::getTimestampTzRef ( size_t  idx)
inline

Get a reference to a TIMESTAMP WITH TIMEZONE value from the intermediate results set.

Parameters
idxThe 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
idxThe column number in the intermediate results set to retrieve.
Returns
A pointer to the retrieved value cast as a TIME WITH TIMEZONE.
TimeTzADT& Vertica::IntermediateAggs::getTimeTzRef ( size_t  idx)
inline

Get a reference to a TIME WITH TIMEZONE value from the intermediate results set.

Parameters
idxThe 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
inlineinherited
Returns
information about the types and numbers of arguments

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

SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData ( )
inlineinherited
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
idxThe column number to retrieve from the intermediate results set.
Returns
A pointer to the retrieved value cast as a VUuid.
VUuid& Vertica::IntermediateAggs::getUuidRef ( size_t  idx)
inline

Get a reference to a VUuid value from the intermediate results set.

Parameters
idxThe column number to retrieve from the intermediate results set.
Returns
a reference to the idx'th argument, cast as an VUuid.