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