C++ SDK Documentation
23.3.0
|
Iterator interface for writing rows to a Vertica block. More...
Public Member Functions | |
BlockWriter (int rowcount) | |
BlockWriter (char *outArr, int stride, int rowcount, const int *indices, const VerticaType &dt) | |
int | capacity () const |
void | copy (const VerticaBlock &other) |
void | copyFromInput (size_t dstIdx, const BlockReader &vblock, size_t srcIdx) |
void | copyFromInput (const BlockReader &vblock) |
Array::ArrayWriter | getArrayRef (size_t idx=0) |
Get a handle for writing an output array value. More... | |
template<class T > | |
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<class T > | |
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<class T > | |
const T & | getColRef (size_t idx) const |
template<class T > | |
T & | getColRefForWrite (size_t idx) |
int | getColStride (size_t idx) const |
const EE::DataArea * | getDataArea (size_t idx) const |
size_t | getNumCols () const |
VNumeric & | getNumericRef (size_t idx=0) |
Allocates a new VNumeric object to use as output. More... | |
int | getNumRows () const |
BlockWriter * | getRowPtr (size_t idx=0) |
Get a pointer for writing an output Row value. More... | |
BlockWriter & | getRowRef (size_t idx=0) |
Get a reference for writing an output Row value. More... | |
int | getRowsWritten () const |
VString * | getStringPtr (size_t idx=0) |
Get a pointer for writing output. More... | |
VString & | getStringRef (size_t idx=0) |
Allocates a new VString object to use as output. More... | |
const SizedColumnTypes & | getTypeMetaData () const |
SizedColumnTypes & | getTypeMetaData () |
VUuid & | getUuidRef (size_t idx=0) |
Allocates a new VUuid object to use as output. More... | |
void * | getVoidPtr (size_t idx=0) |
const void * | getVoidPtr (size_t idx=0) const |
bool | hasMoreSpace () const |
bool | next () |
Complete writing this row of output and move to the next row. More... | |
bool | remaining () const |
void | setBool (vbool r) |
Adds a BOOLEAN value to the output row. More... | |
void | setBool (size_t idx, vbool r) |
Adds a BOOLEAN value to the indicated column of the output row. More... | |
void | setDataArea (size_t idx, void *dataarea) |
void | setDate (DateADT r) |
Adds a DATE value to the output row. More... | |
void | setDate (size_t idx, DateADT r) |
Adds a DATE value to the indicated column of the output row. More... | |
void | setFloat (vfloat r) |
Adds a FLOAT value to the output row. More... | |
void | setFloat (size_t idx, vfloat r) |
Adds a FLOAT value to the indicated column of the output row. More... | |
void | setInt (vint r) |
Adds an INTEGER value to the output row. More... | |
void | setInt (size_t idx, vint r) |
Adds an INTEGER value to the indicated column of the output row. More... | |
void | setInterval (Interval r) |
Adds an INTERVAL value to the output row. More... | |
void | setInterval (size_t idx, Interval r) |
Adds an INTERVAL value to the indicated column of the output row. More... | |
void | setIntervalYM (IntervalYM r) |
Adds an INTERVAL YEAR TO MONTH value to the output row. More... | |
void | setIntervalYM (size_t idx, IntervalYM r) |
Adds an INTERVAL YEAR TO MONTH value to the indicated column of the output row. More... | |
void | setNull (size_t idx=0, bool enforceNotNullProperty=true) |
Set the column to null. More... | |
void | setTime (TimeADT r) |
Adds a TIME value to the output row. More... | |
void | setTime (size_t idx, TimeADT r) |
Adds an TIME value to the indicated column of the output row. More... | |
void | setTimestamp (Timestamp r) |
Adds a TIMESTAMP value to the output row. More... | |
void | setTimestamp (size_t idx, Timestamp r) |
Adds an TIMESTAMP value to the indicated column of the output row. More... | |
void | setTimestampTz (TimestampTz r) |
Adds a TIMESTAMP WITH TIMEZONE value to the output row. More... | |
void | setTimestampTz (size_t idx, TimestampTz r) |
Adds an TIMESTAMP WITH TIMEZONE value to the indicated column of the output row. More... | |
void | setTimeTz (TimeTzADT r) |
Adds a TIME WITH TIMEZONE value to the output row. More... | |
void | setTimeTz (size_t idx, TimeTzADT r) |
Adds an TIME WITH TIMEZONE value to the indicated column of the output row. More... | |
void | throwIncorrectUsageError () |
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< char * > | cols |
std::vector< int > | colstrides |
int | count |
std::vector< NestedBlockPtr > | ctWrappers |
int | index |
const int * | indices |
size_t | ncols |
int | nrows |
std::vector< BaseDataOID > | processBlockUserInfoVector |
std::vector< VString > | svWrappers |
SizedColumnTypes | typeMetaData |
std::vector< VUuid > | uuWrappers |
std::vector< VNumeric > | vnWrappers |
Friends | |
class | Array::ArrayWriter |
class | EE::VEval |
class | PartitionWriter |
Iterator interface for writing rows to a Vertica block.
This class provides the output rows that ScalarFunction.processBlock() writes to.
|
protectedinherited |
Add the location for reading a particular argument.
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().
void Vertica::BlockWriter::copyFromInput | ( | size_t | dstIdx, |
const BlockReader & | vblock, | ||
size_t | srcIdx | ||
) |
Copies a column from the input reader to the output writer. Raises an error if the input and output data types are not compatible.
dstIdx | The destination column index in the output writer (this) |
vblock | The source data block |
srcIdx | The source column index in the input reader |
Referenced by Vertica::copyBlockColumn(), and copyFromInput().
|
inline |
Copy all columns from the source block to this block
|
inlineprotectedinherited |
Array::ArrayWriter Vertica::BlockWriter::getArrayRef | ( | size_t | idx = 0 | ) |
Get a handle for writing an output array value.
idx | the output column |
|
inlineinherited |
|
inlineinherited |
Example: const vint a = arg_reader->getColRef<vint>(0);
|
inlineinherited |
Referenced by copyFromInput(), Vertica::BlockReader::isNull(), and setNull().
|
inline |
|
inlineinherited |
|
inline |
Get a pointer for writing an output Row value.
idx | the output column |
|
inline |
Get a reference for writing an output Row value.
idx | the output column |
Referenced by getRowPtr(), and Vertica::PartitionWriter::getRowRef().
|
inline |
Get a pointer for writing output.
idx | the output column |
|
inline |
Allocates a new VString object to use as output.
idx | the column to reference (default 0) |
Referenced by getStringPtr(), and setNull().
|
inlineinherited |
Referenced by Vertica::ParamReader::getType(), Vertica::BlockReader::isNull(), and setNull().
|
inlineinherited |
|
inline |
|
inline |
Complete writing this row of output and move to the next row.
Referenced by Vertica::copyBlockColumn().
|
inlineinherited |
|
inline |
Adds a BOOLEAN value to the output row.
r | The BOOLEAN value to insert into the output row. |
Referenced by setNull().
|
inline |
Adds a BOOLEAN value to the indicated column of the output row.
idx | the column index |
r | the BOOLEAN value to insert |
|
inline |
Adds a DATE value to the output row.
r | The DATE value to insert into the output row. |
Referenced by setNull().
|
inline |
Adds a DATE value to the indicated column of the output row.
idx | the column index |
r | the DATE value to insert |
|
inline |
Adds a FLOAT value to the output row.
r | The FLOAT value to insert into the output row. |
Referenced by setNull().
|
inline |
Adds a FLOAT value to the indicated column of the output row.
idx | the column index |
r | the FLOAT value to insert |
|
inline |
Adds an INTEGER value to the output row.
Setter methods
r | The INTEGER value to insert into the output row. |
Referenced by setNull().
|
inline |
Adds an INTEGER value to the indicated column of the output row.
idx | the column index |
r | the INTEGER value to insert |
|
inline |
Adds an INTERVAL value to the output row.
r | The INTERVAL value to insert into the output row. |
Referenced by setNull().
|
inline |
Adds an INTERVAL value to the indicated column of the output row.
idx | the column index |
r | the INTERVAL value to insert |
|
inline |
Adds an INTERVAL YEAR TO MONTH value to the output row.
r | The INTERVAL YEAR TO MONTH value to insert into the output row. |
Referenced by setNull().
|
inline |
Adds an INTERVAL YEAR TO MONTH value to the indicated column of the output row.
idx | the column index |
r | the INTERVAL YEAR TO MONTH value to insert |
|
inline |
Set the column to null.
idx | The column number in the row to set to null |
enforceNotNullProperty | if true, raise an error if the target field has the canBeNull property set to false. |
Referenced by Vertica::PartitionWriter::setNull().
|
inline |
Adds a TIME value to the output row.
r | The TIME value to insert into the output row. |
Referenced by setNull().
|
inline |
Adds an TIME value to the indicated column of the output row.
idx | the column index |
r | the TIME value to insert |
|
inline |
Adds a TIMESTAMP value to the output row.
r | The TIMESTAMP value to insert into the output row. |
Referenced by setNull().
|
inline |
Adds an TIMESTAMP value to the indicated column of the output row.
idx | the column index |
r | the TIMESTAMP value to insert |
|
inline |
Adds a TIMESTAMP WITH TIMEZONE value to the output row.
r | The TIMESTAMP WITH TIMEZONE value to insert into the output row. |
Referenced by setNull().
|
inline |
Adds an TIMESTAMP WITH TIMEZONE value to the indicated column of the output row.
idx | the column index |
r | the TIMESTAMP WITH TIMEZONE value to insert |
|
inline |
Adds a TIME WITH TIMEZONE value to the output row.
r | The TIME WITH TIMEZONE value to insert into the output row. |
Referenced by setNull().
|
inline |
Adds an TIME WITH TIMEZONE value to the indicated column of the output row.
idx | the column index |
r | the TIME WITH TIMEZONE value to insert |