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