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
virtual void resetForDataAreaFlush ()
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

addCol()

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().

getArrayIntermediateDataArea()

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

inlineprotectedinherited

Returns a pointer to a DataArea for accumulating an intermediate result

getBoolPtr()

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().

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.

getColPtr()

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);

getColRef()

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);

getDatePtr()

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().

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.

getFloatPtr()

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().

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.

getIntervalPtr()

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().

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.

getIntervalYMPtr()

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().

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.

getIntPtr()

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().

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);

getNumCols()

size_t Vertica::VerticaBlock::getNumCols() const

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

Referenced by

getNumericPtr()

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().

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.

getNumRows()

int Vertica::VerticaBlock::getNumRows() const

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

getStringPtr()

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().

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.

getTimePtr()

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().

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.

getTimestampPtr()

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().

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.

getTimestampTzPtr()

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().

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.

getTimeTzPtr()

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().

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.

getTypeMetaData() [1/2]

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

inline inherited Returns information about the types and numbers of arguments

Referenced by

getTypeMetaData() [2/2]

SizedColumnTypes& Vertica::VerticaBlock::getTypeMetaData()

inline inherited Returns information about the types and numbers of arguments

getUuidPtr()

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().

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.

remaining()

bool Vertica::VerticaBlock::remaining() const

inline inherited Returns the number of entries remaining in the block

resetForDataAreaFlush()

virtual void Vertica::VerticaBlock::resetForDataAreaFlush()

inlinevirtualinherited

Virtual method to be called when the Data Area fills up in a load. Should be called from the StreamWriter class.

Reimplemented in Vertica::StreamWriter.