C++ SDK Documentation  24.2.0
Vertica::SizedColumnTypes Class Reference

Represents types and information to determine the size of the columns as input/output of a User Defined Function/Transform. More...

Inheritance diagram for Vertica::SizedColumnTypes:
Inheritance graph
Collaboration diagram for Vertica::SizedColumnTypes:
Collaboration graph

Public Types

using Properties = Field::Properties
 

Public Member Functions

FieldsaddArrayType (const Field &element, const std::string &fieldName="", int maxElems=-1, const Properties &props=Properties())
 
FieldsaddBinary (int32 len, const std::string &fieldName="")
 Adds a column of type BINARY. More...
 
FieldsaddBinary (int32 len, const std::string &fieldName, const Properties &props)
 
void addBinaryOrderColumn (int32 len, const std::string &fieldName="")
 Adds an order column of type BINARY. More...
 
void addBinaryPartitionColumn (int32 len, const std::string &fieldName="")
 Adds a partition column of type BINARY. More...
 
FieldsaddBool (const std::string &fieldName="")
 Adds a column of type BOOLEAN. More...
 
FieldsaddBool (const std::string &fieldName, const Properties &props)
 
void addBoolOrderColumn (const std::string &fieldName="")
 Adds an order column of type BOOLEAN. More...
 
void addBoolPartitionColumn (const std::string &fieldName="")
 Adds a partition column of type BOOLEAN. More...
 
FieldsaddChar (int32 len, const std::string &fieldName="")
 Adds a column of type CHAR. More...
 
FieldsaddChar (int32 len, const std::string &fieldName, const Properties &props)
 
void addCharOrderColumn (int32 len, const std::string &fieldName="")
 Adds an order column of type CHAR. More...
 
void addCharPartitionColumn (int32 len, const std::string &fieldName="")
 Adds a partition column of type CHAR. More...
 
FieldsaddDate (const std::string &fieldName="")
 Adds a column of type DATE. More...
 
FieldsaddDate (const std::string &fieldName, const Properties &props)
 
void addDateOrderColumn (const std::string &fieldName="")
 Adds an order column of type DATE. More...
 
void addDatePartitionColumn (const std::string &fieldName="")
 Adds a partition column of type DATE. More...
 
FieldsaddFloat (const std::string &fieldName="")
 Adds a column of type FLOAT. More...
 
FieldsaddFloat (const std::string &fieldName, const Properties &props)
 
void addFloatOrderColumn (const std::string &fieldName="")
 Adds an order column of type FLOAT. More...
 
void addFloatPartitionColumn (const std::string &fieldName="")
 Adds a partition column of type FLOAT. More...
 
FieldsaddInt (const std::string &fieldName="")
 Adds a column of type INTEGER. More...
 
FieldsaddInt (const std::string &fieldName, const Properties &props)
 
FieldsaddInterval (int32 precision, int32 range, const std::string &fieldName="")
 Adds a column of type INTERVAL/INTERVAL DAY TO SECOND. More...
 
FieldsaddInterval (int32 precision, int32 range, const std::string &fieldName, const Properties &props)
 
void addIntervalOrderColumn (int32 precision, int32 range, const std::string &fieldName="")
 Adds an order column of type INTERVAL/INTERVAL DAY TO SECOND. More...
 
void addIntervalPartitionColumn (int32 precision, int32 range, const std::string &fieldName="")
 Adds a partition column of type INTERVAL/INTERVAL DAY TO SECOND. More...
 
FieldsaddIntervalYM (int32 range, const std::string &fieldName="")
 Adds a column of type INTERVAL YEAR TO MONTH. More...
 
FieldsaddIntervalYM (int32 range, const std::string &fieldName, const Properties &props)
 
void addIntervalYMOrderColumn (int32 range, const std::string &fieldName="")
 Adds an order column of type INTERVAL YEAR TO MONTH. More...
 
void addIntervalYMPartitionColumn (int32 range, const std::string &fieldName="")
 Adds a partition column of type INTERVAL YEAR TO MONTH. More...
 
void addIntOrderColumn (const std::string &fieldName="")
 Adds an order column of type INTEGER. More...
 
void addIntPartitionColumn (const std::string &fieldName="")
 Adds a partition column of type INTEGER. More...
 
FieldsaddLongVarbinary (int32 len, const std::string &fieldName="")
 Adds a column of type LONG VARBINARY. More...
 
FieldsaddLongVarbinary (int32 len, const std::string &fieldName, const Properties &props)
 
void addLongVarbinaryOrderColumn (int32 len, const std::string &fieldName="")
 Adds an order column of type VARBINARY. More...
 
void addLongVarbinaryPartitionColumn (int32 len, const std::string &fieldName="")
 Adds a partition column of type VARBINARY. More...
 
FieldsaddLongVarchar (int32 len, const std::string &fieldName="")
 Adds a column of type LONG VARCHAR. More...
 
FieldsaddLongVarchar (int32 len, const std::string &fieldName, const Properties &props)
 
void addLongVarcharOrderColumn (int32 len, const std::string &fieldName="")
 Adds an order column of type VARCHAR. More...
 
void addLongVarcharPartitionColumn (int32 len, const std::string &fieldName="")
 Adds a partition column of type VARCHAR. More...
 
FieldsaddNumeric (int32 precision, int32 scale, const std::string &fieldName="")
 Adds a column of type NUMERIC. More...
 
FieldsaddNumeric (int32 precision, int32 scale, const std::string &fieldName, const Properties &props)
 
void addNumericOrderColumn (int32 precision, int32 scale, const std::string &fieldName="")
 Adds an order column of type NUMERIC. More...
 
void addNumericPartitionColumn (int32 precision, int32 scale, const std::string &fieldName="")
 Adds a partition column of type NUMERIC. More...
 
void addOrderColumn (const VerticaType &dt, const std::string &fieldName="")
 Adds an order column of the specified type. (only relevant to multiphase UDTs.)
 
void addPartitionColumn (const VerticaType &dt, const std::string &fieldName="")
 Adds a partition column of the specified type (only relevant to multiphase UDTs.)
 
FieldsaddRowType (const Fields &rowfields, const std::string &fieldName="")
 Adds a column of complex row type, with the provided fields. More...
 
FieldsaddRowType (const Fields &rowfields, const std::string &fieldName, const Properties &props)
 
void addRowType (const SizedColumnTypes &rowfields, const std::string &fieldName="", const Properties &props=Properties())
 Adds a column of complex row type, with the provided fields. More...
 
FieldsaddTime (int32 precision, const std::string &fieldName="")
 Adds a column of type TIME. More...
 
FieldsaddTime (int32 precision, const std::string &fieldName, const Properties &props)
 
void addTimeOrderColumn (int32 precision, const std::string &fieldName="")
 Adds an order column of type TIME. More...
 
void addTimePartitionColumn (int32 precision, const std::string &fieldName="")
 Adds a partition column of type TIME. More...
 
FieldsaddTimestamp (int32 precision, const std::string &fieldName="")
 Adds a column of type TIMESTAMP. More...
 
FieldsaddTimestamp (int32 precision, const std::string &fieldName, const Properties &props)
 
void addTimestampOrderColumn (int32 precision, const std::string &fieldName="")
 Adds an order column of type TIMESTAMP. More...
 
void addTimestampPartitionColumn (int32 precision, const std::string &fieldName="")
 Adds a partition column of type TIMESTAMP. More...
 
FieldsaddTimestampTz (int32 precision, const std::string &fieldName="")
 Adds a column of type TIMESTAMP WITH TIMEZONE. More...
 
FieldsaddTimestampTz (int32 precision, const std::string &fieldName, const Properties &props)
 
void addTimestampTzOrderColumn (int32 precision, const std::string &fieldName="")
 Adds an order column of type TIMESTAMP WITH TIMEZONE. More...
 
void addTimestampTzPartitionColumn (int32 precision, const std::string &fieldName="")
 Adds a partition column of type TIMESTAMP WITH TIMEZONE. More...
 
FieldsaddTimeTz (int32 precision, const std::string &fieldName="")
 Adds a column of type TIME WITH TIMEZONE. More...
 
FieldsaddTimeTz (int32 precision, const std::string &fieldName, const Properties &props)
 
void addTimeTzOrderColumn (int32 precision, const std::string &fieldName="")
 Adds an order column of type TIME WITH TIMEZONE. More...
 
void addTimeTzPartitionColumn (int32 precision, const std::string &fieldName="")
 Adds a partition column of type TIME WITH TIMEZONE. More...
 
FieldsaddUserDefinedType (const char *typeName, int32 len, const std::string &fieldName="")
 Adds a column of a user-defined type. More...
 
FieldsaddUserDefinedType (const char *typeName, int32 len, const std::string &fieldName, const Properties &props)
 
FieldsaddUuid (const std::string &fieldName="")
 Adds a column of type UUID. More...
 
FieldsaddUuid (const std::string &fieldName, const Properties &props)
 
void addUuidOrderColumn (const std::string &fieldName="")
 Adds an order column of type UUID. More...
 
FieldsaddVarbinary (int32 len, const std::string &fieldName="")
 Adds a column of type VARBINARY. More...
 
FieldsaddVarbinary (int32 len, const std::string &fieldName, const Properties &props)
 
void addVarbinaryOrderColumn (int32 len, const std::string &fieldName="")
 Adds an order column of type VARBINARY. More...
 
void addVarbinaryPartitionColumn (int32 len, const std::string &fieldName="")
 Adds a partition column of type VARBINARY. More...
 
FieldsaddVarchar (int32 len, const std::string &fieldName="")
 Adds a column of type VARCHAR. More...
 
FieldsaddVarchar (int32 len, const std::string &fieldName, const Properties &props)
 
void addVarcharOrderColumn (int32 len, const std::string &fieldName="")
 Adds an order column of type VARCHAR. More...
 
void addVarcharPartitionColumn (int32 len, const std::string &fieldName="")
 Adds a partition column of type VARCHAR. More...
 
void getArgumentColumns (std::vector< size_t > &cols) const
 Retrieves indexes of argument columns. Indexes in cols can be used in conjunction with other functions, e.g. getColumnType(size_t) and getColumnName(size_t). More...
 
size_t getColumnCount () const
 Returns the number of columns.
 
const std::string & getColumnName (size_t idx) const
 Returns the name of the column at the specified index. More...
 
const PropertiesgetColumnProperties (size_t idx) const
 Returns column properties. More...
 
const VerticaTypegetColumnType (size_t idx) const
 Returns the type of the column at the specified index. More...
 
VerticaTypegetColumnType (size_t idx)
 Returns the type of the column at the specified index. More...
 
size_t getFixedPartSize () const
 Retrieves the fixed-part size, computing and stashing it if needed.
 
int getLastOrderColumnIdx () const
 Gets the last ORDER BY column index.
 
int getLastPartitionColumnIdx () const
 Gets the last PARTITION BY column index.
 
void getOrderByColumns (std::vector< size_t > &cols) const
 Retrieves indexes of ORDER BY columns in the OVER() clause. Indexes in cols can be used in conjunction with other functions, e.g. getColumnType(size_t) and getColumnName(size_t). More...
 
void getPartitionByColumns (std::vector< size_t > &cols) const
 Retrieves indexes of PARTITION BY columns in the OVER() clause. Indexes in cols can be used in conjunction with other functions, e.g. getColumnType(size_t) and getColumnName(size_t). More...
 
bool isOrderByColumn (int idx) const
 Indicates whether the column at the specified index is an ORDER BY column. More...
 
bool isPartitionByColumn (int idx) const
 Indicates whether the column at the specified index is a PARTITION BY column. More...
 
void setColumnProperties (size_t idx, const Properties &props)
 Sets column properties. More...
 
void setPartitionOrderColumnIdx (int partition_idx, int order_idx)
 Sets the PARTITION BY and ORDER BY column indexes. More...
 
void setPartitionOrderColumnIdx (const SizedColumnTypes &other)
 Sets the PARTITION BY and ORDER BY column indexes from another SizedColumnTypes object. More...
 

Protected Member Functions

void validateStringLengthOrThrow (int32 len, const char *typeStr, int32 maxLength)
 
void validateUDTypeLengthOrThrow (Oid udTypeOid, const char *typeName, int32 len)
 

Detailed Description

Represents types and information to determine the size of the columns as input/output of a User Defined Function/Transform.

This class is used to exchange size and precision information between Vertica and the user defined function/transform function. Vertica provides the user code with size/precision information about the particular data types that it has been called with, and expects the user code to provide size/precision information about what it will return.

Member Function Documentation

◆ addBinary()

Fields & Vertica::Fields::addBinary ( int32  len,
const std::string &  fieldName = "" 
)
inherited

Adds a column of type BINARY.

Parameters
lenThe length of the binary string.
fieldNameThe name for the output column.

◆ addBinaryOrderColumn()

void Vertica::SizedColumnTypes::addBinaryOrderColumn ( int32  len,
const std::string &  fieldName = "" 
)
inline

Adds an order column of type BINARY.

Parameters
lenThe length of the binary string.
fieldNameThe name for the output column.

◆ addBinaryPartitionColumn()

void Vertica::SizedColumnTypes::addBinaryPartitionColumn ( int32  len,
const std::string &  fieldName = "" 
)
inline

Adds a partition column of type BINARY.

Parameters
lenThe length of the binary string.
fieldNameThe name for the output column.

◆ addBool()

Fields & Vertica::Fields::addBool ( const std::string &  fieldName = "")
inherited

Adds a column of type BOOLEAN.

Parameters
fieldNameThe name for the output column.

◆ addBoolOrderColumn()

void Vertica::SizedColumnTypes::addBoolOrderColumn ( const std::string &  fieldName = "")
inline

Adds an order column of type BOOLEAN.

Parameters
fieldNameThe name for the output column.

◆ addBoolPartitionColumn()

void Vertica::SizedColumnTypes::addBoolPartitionColumn ( const std::string &  fieldName = "")
inline

Adds a partition column of type BOOLEAN.

Parameters
fieldNameThe name for the output column.

◆ addChar()

Fields & Vertica::Fields::addChar ( int32  len,
const std::string &  fieldName = "" 
)
inherited

Adds a column of type CHAR.

Parameters
lenThe length of the string.
fieldNameThe name for the output column.

◆ addCharOrderColumn()

void Vertica::SizedColumnTypes::addCharOrderColumn ( int32  len,
const std::string &  fieldName = "" 
)
inline

Adds an order column of type CHAR.

Parameters
lenThe length of the string.
fieldNameThe name for the output column.

◆ addCharPartitionColumn()

void Vertica::SizedColumnTypes::addCharPartitionColumn ( int32  len,
const std::string &  fieldName = "" 
)
inline

Adds a partition column of type CHAR.

Parameters
lenThe length of the string.
fieldNameThe name for the output column.

◆ addDate()

Fields & Vertica::Fields::addDate ( const std::string &  fieldName = "")
inherited

Adds a column of type DATE.

Parameters
fieldNameThe name for the output column.

◆ addDateOrderColumn()

void Vertica::SizedColumnTypes::addDateOrderColumn ( const std::string &  fieldName = "")
inline

Adds an order column of type DATE.

Parameters
fieldNameThe name for the output column.

◆ addDatePartitionColumn()

void Vertica::SizedColumnTypes::addDatePartitionColumn ( const std::string &  fieldName = "")
inline

Adds a partition column of type DATE.

Parameters
fieldNameThe name for the output column.

◆ addFloat()

Fields & Vertica::Fields::addFloat ( const std::string &  fieldName = "")
inherited

Adds a column of type FLOAT.

Parameters
fieldNameThe name for the output column.

◆ addFloatOrderColumn()

void Vertica::SizedColumnTypes::addFloatOrderColumn ( const std::string &  fieldName = "")
inline

Adds an order column of type FLOAT.

Parameters
fieldNameThe name for the output column.

◆ addFloatPartitionColumn()

void Vertica::SizedColumnTypes::addFloatPartitionColumn ( const std::string &  fieldName = "")
inline

Adds a partition column of type FLOAT.

Parameters
fieldNameThe name for the output column.

◆ addInt()

Fields & Vertica::Fields::addInt ( const std::string &  fieldName = "")
inherited

Adds a column of type INTEGER.

Parameters
fieldNameThe name for the output column.

◆ addInterval()

Fields & Vertica::Fields::addInterval ( int32  precision,
int32  range,
const std::string &  fieldName = "" 
)
inherited

Adds a column of type INTERVAL/INTERVAL DAY TO SECOND.

Parameters
precisionThe precision for the interval.
rangeThe range for the interval.
fieldNameThe name for the output column.

◆ addIntervalOrderColumn()

void Vertica::SizedColumnTypes::addIntervalOrderColumn ( int32  precision,
int32  range,
const std::string &  fieldName = "" 
)
inline

Adds an order column of type INTERVAL/INTERVAL DAY TO SECOND.

Parameters
precisionThe precision for the interval.
rangeThe range for the interval.
fieldNameThe name for the output column.

◆ addIntervalPartitionColumn()

void Vertica::SizedColumnTypes::addIntervalPartitionColumn ( int32  precision,
int32  range,
const std::string &  fieldName = "" 
)
inline

Adds a partition column of type INTERVAL/INTERVAL DAY TO SECOND.

Parameters
precisionThe precision for the interval.
rangeThe range for the interval.
fieldNameThe name for the output column.

◆ addIntervalYM()

Fields & Vertica::Fields::addIntervalYM ( int32  range,
const std::string &  fieldName = "" 
)
inherited

Adds a column of type INTERVAL YEAR TO MONTH.

Parameters
rangeThe range for the interval.
fieldNameThe name for the output column.

◆ addIntervalYMOrderColumn()

void Vertica::SizedColumnTypes::addIntervalYMOrderColumn ( int32  range,
const std::string &  fieldName = "" 
)
inline

Adds an order column of type INTERVAL YEAR TO MONTH.

Parameters
rangeThe range for the interval.
fieldNameThe name for the output column.

◆ addIntervalYMPartitionColumn()

void Vertica::SizedColumnTypes::addIntervalYMPartitionColumn ( int32  range,
const std::string &  fieldName = "" 
)
inline

Adds a partition column of type INTERVAL YEAR TO MONTH.

Parameters
rangeThe range for the interval.
fieldNameThe name for the output column.

◆ addIntOrderColumn()

void Vertica::SizedColumnTypes::addIntOrderColumn ( const std::string &  fieldName = "")
inline

Adds an order column of type INTEGER.

Parameters
fieldNameThe name for the output column.

◆ addIntPartitionColumn()

void Vertica::SizedColumnTypes::addIntPartitionColumn ( const std::string &  fieldName = "")
inline

Adds a partition column of type INTEGER.

Parameters
fieldNameThe name for the output column.

◆ addLongVarbinary()

Fields & Vertica::Fields::addLongVarbinary ( int32  len,
const std::string &  fieldName = "" 
)
inherited

Adds a column of type LONG VARBINARY.

Parameters
lenThe length of the binary string.
fieldNameThe name for the output column.

◆ addLongVarbinaryOrderColumn()

void Vertica::SizedColumnTypes::addLongVarbinaryOrderColumn ( int32  len,
const std::string &  fieldName = "" 
)
inline

Adds an order column of type VARBINARY.

Parameters
lenThe length of the binary string.
fieldNameThe name for the output column.

◆ addLongVarbinaryPartitionColumn()

void Vertica::SizedColumnTypes::addLongVarbinaryPartitionColumn ( int32  len,
const std::string &  fieldName = "" 
)
inline

Adds a partition column of type VARBINARY.

Parameters
lenThe length of the binary string.
fieldNameThe name for the output column.

◆ addLongVarchar()

Fields & Vertica::Fields::addLongVarchar ( int32  len,
const std::string &  fieldName = "" 
)
inherited

Adds a column of type LONG VARCHAR.

Parameters
lenThe length of the string.
fieldNameThe name for the output column.

◆ addLongVarcharOrderColumn()

void Vertica::SizedColumnTypes::addLongVarcharOrderColumn ( int32  len,
const std::string &  fieldName = "" 
)
inline

Adds an order column of type VARCHAR.

Parameters
lenThe length of the string.
fieldNameThe name for the output column.

◆ addLongVarcharPartitionColumn()

void Vertica::SizedColumnTypes::addLongVarcharPartitionColumn ( int32  len,
const std::string &  fieldName = "" 
)
inline

Adds a partition column of type VARCHAR.

Parameters
lenThe length of the string.
fieldNameThe name for the output column.

◆ addNumeric()

Fields & Vertica::Fields::addNumeric ( int32  precision,
int32  scale,
const std::string &  fieldName = "" 
)
inherited

Adds a column of type NUMERIC.

Parameters
precisionThe precision for the numeric value.
scaleThe scale for the numeric value.
fieldNameThe name for the output column.

◆ addNumericOrderColumn()

void Vertica::SizedColumnTypes::addNumericOrderColumn ( int32  precision,
int32  scale,
const std::string &  fieldName = "" 
)
inline

Adds an order column of type NUMERIC.

Parameters
precisionThe precision for the numeric value.
scaleThe scale for the numeric value.
fieldNameThe name for the output column.

◆ addNumericPartitionColumn()

void Vertica::SizedColumnTypes::addNumericPartitionColumn ( int32  precision,
int32  scale,
const std::string &  fieldName = "" 
)
inline

Adds a partition column of type NUMERIC.

Parameters
precisionThe precision for the numeric value.
scaleThe scale for the numeric value.
fieldNameThe name for the output column.

◆ addRowType() [1/2]

Fields & Vertica::Fields::addRowType ( const Fields rowfields,
const std::string &  fieldName = "" 
)
inherited

Adds a column of complex row type, with the provided fields.

Parameters
rowfieldsthe fields of the complex row type
fieldNamethe name of the added field

Referenced by addRowType().

◆ addRowType() [2/2]

void Vertica::SizedColumnTypes::addRowType ( const SizedColumnTypes rowfields,
const std::string &  fieldName = "",
const Properties props = Properties() 
)
inline

Adds a column of complex row type, with the provided fields.

Parameters
rowfieldsthe fields of the complex type row
fieldNamethe name of the complex row field
propsoptional field properties

◆ addTime()

Fields & Vertica::Fields::addTime ( int32  precision,
const std::string &  fieldName = "" 
)
inherited

Adds a column of type TIME.

Parameters
precisionThe precision for the time.
fieldNameThe name for the output column.

◆ addTimeOrderColumn()

void Vertica::SizedColumnTypes::addTimeOrderColumn ( int32  precision,
const std::string &  fieldName = "" 
)
inline

Adds an order column of type TIME.

Parameters
precisionThe precision for the time.
fieldNameThe name for the output column.

◆ addTimePartitionColumn()

void Vertica::SizedColumnTypes::addTimePartitionColumn ( int32  precision,
const std::string &  fieldName = "" 
)
inline

Adds a partition column of type TIME.

Parameters
precisionThe precision for the time.
fieldNameThe name for the output column.

◆ addTimestamp()

Fields & Vertica::Fields::addTimestamp ( int32  precision,
const std::string &  fieldName = "" 
)
inherited

Adds a column of type TIMESTAMP.

Parameters
precisionThe precision for the timestamp.
fieldNameThe name for the output column.

◆ addTimestampOrderColumn()

void Vertica::SizedColumnTypes::addTimestampOrderColumn ( int32  precision,
const std::string &  fieldName = "" 
)
inline

Adds an order column of type TIMESTAMP.

Parameters
precisionThe precision for the timestamp.
fieldNameThe name for the output column.

◆ addTimestampPartitionColumn()

void Vertica::SizedColumnTypes::addTimestampPartitionColumn ( int32  precision,
const std::string &  fieldName = "" 
)
inline

Adds a partition column of type TIMESTAMP.

Parameters
precisionThe precision for the timestamp.
fieldNameThe name for the output column.

◆ addTimestampTz()

Fields & Vertica::Fields::addTimestampTz ( int32  precision,
const std::string &  fieldName = "" 
)
inherited

Adds a column of type TIMESTAMP WITH TIMEZONE.

Parameters
precisionThe precision for the timestamp.
fieldNameThe name for the output column.

◆ addTimestampTzOrderColumn()

void Vertica::SizedColumnTypes::addTimestampTzOrderColumn ( int32  precision,
const std::string &  fieldName = "" 
)
inline

Adds an order column of type TIMESTAMP WITH TIMEZONE.

Parameters
precisionThe precision for the timestamp.
fieldNameThe name for the output column.

◆ addTimestampTzPartitionColumn()

void Vertica::SizedColumnTypes::addTimestampTzPartitionColumn ( int32  precision,
const std::string &  fieldName = "" 
)
inline

Adds a partition column of type TIMESTAMP WITH TIMEZONE.

Parameters
precisionThe precision for the timestamp.
fieldNameThe name for the output column.

◆ addTimeTz()

Fields & Vertica::Fields::addTimeTz ( int32  precision,
const std::string &  fieldName = "" 
)
inherited

Adds a column of type TIME WITH TIMEZONE.

Parameters
precisionThe precision for the time.
fieldNameThe name for the output column.

◆ addTimeTzOrderColumn()

void Vertica::SizedColumnTypes::addTimeTzOrderColumn ( int32  precision,
const std::string &  fieldName = "" 
)
inline

Adds an order column of type TIME WITH TIMEZONE.

Parameters
precisionThe precision for the time.
fieldNameThe name for the output column.

◆ addTimeTzPartitionColumn()

void Vertica::SizedColumnTypes::addTimeTzPartitionColumn ( int32  precision,
const std::string &  fieldName = "" 
)
inline

Adds a partition column of type TIME WITH TIMEZONE.

Parameters
precisionThe precision for the time.
fieldNameThe name for the output column.

◆ addUserDefinedType()

Fields & Vertica::Fields::addUserDefinedType ( const char *  typeName,
int32  len,
const std::string &  fieldName = "" 
)
inherited

Adds a column of a user-defined type.

Parameters
typeNamethe name of the type
lenthe length of the type field, in bytes
fieldNamethe name of the field
fieldNameThe name for the output column.

◆ addUuid()

Fields & Vertica::Fields::addUuid ( const std::string &  fieldName = "")
inherited

Adds a column of type UUID.

Parameters
fieldNameThe name for the output column.

◆ addUuidOrderColumn()

void Vertica::SizedColumnTypes::addUuidOrderColumn ( const std::string &  fieldName = "")
inline

Adds an order column of type UUID.

Parameters
fieldNameThe name for the output column.

◆ addVarbinary()

Fields & Vertica::Fields::addVarbinary ( int32  len,
const std::string &  fieldName = "" 
)
inherited

Adds a column of type VARBINARY.

Parameters
lenThe length of the binary string.
fieldNameThe name for the output column.

◆ addVarbinaryOrderColumn()

void Vertica::SizedColumnTypes::addVarbinaryOrderColumn ( int32  len,
const std::string &  fieldName = "" 
)
inline

Adds an order column of type VARBINARY.

Parameters
lenThe length of the binary string.
fieldNameThe name for the output column.

◆ addVarbinaryPartitionColumn()

void Vertica::SizedColumnTypes::addVarbinaryPartitionColumn ( int32  len,
const std::string &  fieldName = "" 
)
inline

Adds a partition column of type VARBINARY.

Parameters
lenThe length of the binary string.
fieldNameThe name for the output column.

◆ addVarchar()

Fields & Vertica::Fields::addVarchar ( int32  len,
const std::string &  fieldName = "" 
)
inherited

Adds a column of type VARCHAR.

Parameters
lenThe length of the string.
fieldNameThe name for the output column.

◆ addVarcharOrderColumn()

void Vertica::SizedColumnTypes::addVarcharOrderColumn ( int32  len,
const std::string &  fieldName = "" 
)
inline

Adds an order column of type VARCHAR.

Parameters
lenThe length of the string.
fieldNameThe name for the output column.

◆ addVarcharPartitionColumn()

void Vertica::SizedColumnTypes::addVarcharPartitionColumn ( int32  len,
const std::string &  fieldName = "" 
)
inline

Adds a partition column of type VARCHAR.

Parameters
lenThe length of the string.
fieldNameThe name for the output column.

◆ getArgumentColumns()

void Vertica::SizedColumnTypes::getArgumentColumns ( std::vector< size_t > &  cols) const
inline

Retrieves indexes of argument columns. Indexes in cols can be used in conjunction with other functions, e.g. getColumnType(size_t) and getColumnName(size_t).

Parameters
colsA vector to store the retrieved column indexes.

◆ getColumnName()

const std::string& Vertica::SizedColumnTypes::getColumnName ( size_t  idx) const
inline

Returns the name of the column at the specified index.

Parameters
idxThe index of the column

Referenced by Vertica::ParserFactory::getParserReturnType().

◆ getColumnProperties()

const Properties& Vertica::SizedColumnTypes::getColumnProperties ( size_t  idx) const
inline

Returns column properties.

Parameters
idxThe index of the column

◆ getColumnType() [1/2]

const VerticaType& Vertica::SizedColumnTypes::getColumnType ( size_t  idx) const
inline

Returns the type of the column at the specified index.

Parameters
idxThe index of the column
Returns
a VerticaType object describing the column's data type.

Referenced by Vertica::ParserFactory::getParserReturnType(), Vertica::ParamReader::getType(), Vertica::BlockReader::isNull(), and Vertica::BlockWriter::setNull().

◆ getColumnType() [2/2]

VerticaType& Vertica::SizedColumnTypes::getColumnType ( size_t  idx)
inline

Returns the type of the column at the specified index.

Parameters
idxThe index of the column

◆ getOrderByColumns()

void Vertica::SizedColumnTypes::getOrderByColumns ( std::vector< size_t > &  cols) const
inline

Retrieves indexes of ORDER BY columns in the OVER() clause. Indexes in cols can be used in conjunction with other functions, e.g. getColumnType(size_t) and getColumnName(size_t).

Parameters
colsA vector to store the retrieved column indexes.

◆ getPartitionByColumns()

void Vertica::SizedColumnTypes::getPartitionByColumns ( std::vector< size_t > &  cols) const
inline

Retrieves indexes of PARTITION BY columns in the OVER() clause. Indexes in cols can be used in conjunction with other functions, e.g. getColumnType(size_t) and getColumnName(size_t).

Parameters
colsA vector to store the retrieved column indexes.

◆ isOrderByColumn()

bool Vertica::SizedColumnTypes::isOrderByColumn ( int  idx) const
inline

Indicates whether the column at the specified index is an ORDER BY column.

Parameters
idxThe index of the column

◆ isPartitionByColumn()

bool Vertica::SizedColumnTypes::isPartitionByColumn ( int  idx) const
inline

Indicates whether the column at the specified index is a PARTITION BY column.

Parameters
idxThe index of the column

◆ setColumnProperties()

void Vertica::SizedColumnTypes::setColumnProperties ( size_t  idx,
const Properties props 
)
inline

Sets column properties.

Parameters
idxThe index of the column

◆ setPartitionOrderColumnIdx() [1/2]

void Vertica::SizedColumnTypes::setPartitionOrderColumnIdx ( int  partition_idx,
int  order_idx 
)
inline

Sets the PARTITION BY and ORDER BY column indexes.

Parameters
partition_idxIndex of the last partition-by column
order_idxIndex of the last order-by column

◆ setPartitionOrderColumnIdx() [2/2]

void Vertica::SizedColumnTypes::setPartitionOrderColumnIdx ( const SizedColumnTypes other)
inline

Sets the PARTITION BY and ORDER BY column indexes from another SizedColumnTypes object.

Parameters
otherThe SizedColumnTypes object to set the indexes from