Vertica::AnalyticPartitionWriter Class Reference
Partition writer for all input data in a single partition. It automatically makes space as needed.
Inheritance diagram for Vertica::AnalyticPartitionWriter:
Collaboration diagram for Vertica::AnalyticPartitionWriter:
| Public Member Functions | |
|---|---|
| AnalyticPartitionWriter (size_t narg, EE::UserDefinedProcess *udx_object) | |
| void | copy (const VerticaBlock &other) |
| void | copyFromInput (size_t dstIdx, const BlockReader &input_reader, size_t srcIdx) |
| void | copyFromInput (const BlockReader &input_reader) |
| Array::ArrayWriter | getArrayRef (size_t idx) |
| 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 |
| PartitionWriterColumns | getColumns () |
| const EE::DataArea * | getDataArea (size_t idx) const |
| size_t | getNumCols () const |
| VNumeric & | getNumericRef (size_t idx) |
| int | getNumRows () const |
| BlockWriter * | getRowPtr (size_t idx) |
| BlockWriter & | getRowRef (size_t idx) |
| Get a reference for writing an output Row value. | |
| VString & | getStringRef (size_t idx) |
| VString & | getStringRefNoClear (size_t idx) |
| const SizedColumnTypes & | getTypeMetaData () const |
| SizedColumnTypes & | getTypeMetaData () |
| VUuid & | getUuidRef (size_t idx) |
| const void * | getVoidPtr (size_t idx=0) const |
| void * | getVoidPtr (size_t idx) |
| virtual bool | getWriteableBlock () override |
| bool | next () |
| bool | remaining () const |
| void | setBool (size_t idx, vbool r) |
| void | setDataArea (size_t idx, void *dataarea) |
| void | setDate (size_t idx, DateADT r) |
| void | setFloat (size_t idx, vfloat r) |
| void | setInt (size_t idx, vint r) |
| void | setInterval (size_t idx, Interval r) |
| void | setIntervalYM (size_t idx, IntervalYM r) |
| void | setNull (size_t idx) |
| Set the idx'th argument to null. If a column has the canBeNull attribute set to false, then this throws an exception. | |
| void | setNull (size_t idx, bool enforceNotNullProperty) |
| Set the idx'th argument to null. | |
| void | setTime (size_t idx, TimeADT r) |
| void | setTimestamp (size_t idx, Timestamp r) |
| void | setTimestampTz (size_t idx, TimestampTz r) |
| void | setTimeTz (size_t idx, TimeTzADT r) |
| void | throwIncorrectUsageError (size_t idx) |
| 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 |
| bool | commitPrefilledRows (int nRows) |
| 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 | |
|---|---|
| union { | |
| EE::UserDefinedAnalytic * udan | |
| EE::UserDefinedTransform * udt | |
| EE::UserDefinedProcess * udx_object | |
| }; | |
| std::vector | cols |
| std::vector | colstrides |
| int | count |
| std::vector | ctWrappers |
| int | index |
| const int * | indices |
| size_t | ncols |
| int | nrows |
| std::vector | processBlockUserInfoVector |
| int | pstart |
| std::vector | svWrappers |
| SizedColumnTypes | typeMetaData |
| std::vector | uuWrappers |
| std::vector | vnWrappers |
Detailed Description
Partition writer for all input data in a single partition. It automatically makes space as needed.
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 columndt: The type of input.fieldname: the name of the field
Referenced by Vertica::ParamReader::addParameter().
void Vertica::PartitionWriter::copyFromInput(size_t dstIdx, const BlockReader & input_reader, size_t srcIdx)
inherited Copies a column from the input reader to the output writer. Raises an error if the input and output data types are not compatible.
Parameters
dstIdx: The destination column index (in the output writer)input_reader: The input reader from which to copy a columnsrcIdx: The source column index (in the input reader)
EE::DataArea** Vertica::VerticaBlock::getArrayIntermediateDataArea(size_t c)
inlineprotectedinherited
Returns a pointer to a DataArea for accumulating an intermediate result
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);
size_t Vertica::VerticaBlock::getNumCols() const
inline inherited Returns the number of columns held by this block.
Referenced by
- Vertica::BlockWriter::copyFromInput()
- Vertica::BlockReader::isNull()
- Vertica::BlockWriter::setNull()
int Vertica::VerticaBlock::getNumRows() const
inline inherited Returns the number of rows held by this block.
BlockWriter& Vertica::PartitionWriter::getRowRef(size_t idx)
inline inherited Get a reference for writing an output Row value.
Parameters
idx: the output column
Returns a reference to a BlockWriter which holds output data for the Row value's fields
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
virtual bool Vertica::AnalyticPartitionWriter::getWriteableBlock()
virtual
Gets a writeable block of data and positions cursor at the beginning.
Reimplemented from Vertica::PartitionWriter.
bool Vertica::VerticaBlock::remaining() const
inline inherited Returns the number of entries remaining in the block
void Vertica::PartitionWriter::setInt(size_t idx, vint r)
inline inherited Setter methods
void Vertica::PartitionWriter::setNull(size_t idx)
inline inherited Set the idx'th argument to null. If a column has the canBeNull attribute set to false, then this throws an exception.
Parameters
idx: The column number in the row to set to null
void Vertica::PartitionWriter::setNull(size_t idx, bool enforceNotNullProperty)
inline inherited Set the idx'th argument to null.
Parameters
idx: The column number in the row to set to nullenforceNotNullProperty: If false, do not throw an exception if canBeNull is false.