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

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

getArrayRef()

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.

getBoolPtr()

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

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

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

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

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

getFloatPtr()

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

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

getIntervalPtr()

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

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

getIntervalYMPtr()

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

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

getIntPtr()

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

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

getNumCols()

size_t Vertica::VerticaBlock::getNumCols() const

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

Referenced by

getNumericPtr()

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

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

getNumRows()

int Vertica::VerticaBlock::getNumRows() const

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

getPosition()

int Vertica::BlockReader::getPosition() const

inline inherited Returns the current row position or array index

getRowPtr()

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

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.

getStringPtr()

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

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

getTimePtr()

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

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

getTimestampPtr()

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

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

getTimestampTzPtr()

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

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

getTimeTzPtr()

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

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

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

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

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

hasData()

bool Vertica::BlockReader::hasData() const

inline inherited Returns true if there is data available

Referenced by Vertica::copyBlockColumn().

isNull()

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

next()

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

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.