C++ SDK Documentation  9.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...

Collaboration diagram for Vertica::SizedColumnTypes:
Collaboration graph

Classes

struct  Properties
 Sets column properties. Properties have specific meaning in a given contexts (e.g., in UDx parameter declaration) and may not apply in every context. More...
 

Public Member Functions

void addBinary (int32 len, const std::string &fieldName="")
 Adds a column of type BINARY. More...
 
void addBinary (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...
 
void addBool (const std::string &fieldName="")
 Adds a column of type BOOLEAN. More...
 
void addBool (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...
 
void addChar (int32 len, const std::string &fieldName="")
 Adds a column of type CHAR. More...
 
void addChar (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...
 
void addDate (const std::string &fieldName="")
 Adds a column of type DATE. More...
 
void addDate (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...
 
void addFloat (const std::string &fieldName="")
 Adds a column of type FLOAT. More...
 
void addFloat (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...
 
void addInt (const std::string &fieldName="")
 Adds a column of type INTEGER. More...
 
void addInt (const std::string &fieldName, const Properties &props)
 
void addInterval (int32 precision, int32 range, const std::string &fieldName="")
 Adds a column of type INTERVAL/INTERVAL DAY TO SECOND. More...
 
void addInterval (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...
 
void addIntervalYM (int32 range, const std::string &fieldName="")
 Adds a column of type INTERVAL YEAR TO MONTH. More...
 
void addIntervalYM (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...
 
void addLongVarbinary (int32 len, const std::string &fieldName="")
 Adds a column of type LONG VARBINARY. More...
 
void addLongVarbinary (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...
 
void addLongVarchar (int32 len, const std::string &fieldName="")
 Adds a column of type LONG VARCHAR. More...
 
void addLongVarchar (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...
 
void addNumeric (int32 precision, int32 scale, const std::string &fieldName="")
 Adds a column of type NUMERIC. More...
 
void addNumeric (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.)
 
void addTime (int32 precision, const std::string &fieldName="")
 Adds a column of type TIME. More...
 
void addTime (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...
 
void addTimestamp (int32 precision, const std::string &fieldName="")
 Adds a column of type TIMESTAMP. More...
 
void addTimestamp (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...
 
void addTimestampTz (int32 precision, const std::string &fieldName="")
 Adds a column of type TIMESTAMP WITH TIMEZONE. More...
 
void addTimestampTz (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...
 
void addTimeTz (int32 precision, const std::string &fieldName="")
 Adds a column of type TIME WITH TIMEZONE. More...
 
void addTimeTz (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...
 
void addUserDefinedType (const char *typeName, int32 len, const std::string &fieldName="")
 Adds a column of a user-defined type. More...
 
void addUserDefinedType (const char *typeName, int32 len, const std::string &fieldName, const Properties &props)
 
void addUuid (const std::string &fieldName="")
 Adds a column of type UUID. More...
 
void addUuid (const std::string &fieldName, const Properties &props)
 
void addUuidOrderColumn (const std::string &fieldName="")
 Adds an order column of type UUID. More...
 
void addVarbinary (int32 len, const std::string &fieldName="")
 Adds a column of type VARBINARY. More...
 
void addVarbinary (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...
 
void addVarchar (int32 len, const std::string &fieldName="")
 Adds a column of type VARCHAR. More...
 
void addVarchar (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...
 
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...
 

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

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

Adds a column of type BINARY.

Parameters
lenThe length of the binary string.
fieldNameThe name for the output column.
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.
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.
void Vertica::SizedColumnTypes::addBool ( const std::string &  fieldName = "")
inline

Adds a column of type BOOLEAN.

Parameters
fieldNameThe name for the output column.
void Vertica::SizedColumnTypes::addBoolOrderColumn ( const std::string &  fieldName = "")
inline

Adds an order column of type BOOLEAN.

Parameters
fieldNameThe name for the output column.
void Vertica::SizedColumnTypes::addBoolPartitionColumn ( const std::string &  fieldName = "")
inline

Adds a partition column of type BOOLEAN.

Parameters
fieldNameThe name for the output column.
void Vertica::SizedColumnTypes::addChar ( int32  len,
const std::string &  fieldName = "" 
)
inline

Adds a column of type CHAR.

Parameters
lenThe length of the string.
fieldNameThe name for the output column.
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.
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.
void Vertica::SizedColumnTypes::addDate ( const std::string &  fieldName = "")
inline

Adds a column of type DATE.

Parameters
fieldNameThe name for the output column.
void Vertica::SizedColumnTypes::addDateOrderColumn ( const std::string &  fieldName = "")
inline

Adds an order column of type DATE.

Parameters
fieldNameThe name for the output column.
void Vertica::SizedColumnTypes::addDatePartitionColumn ( const std::string &  fieldName = "")
inline

Adds a partition column of type DATE.

Parameters
fieldNameThe name for the output column.
void Vertica::SizedColumnTypes::addFloat ( const std::string &  fieldName = "")
inline

Adds a column of type FLOAT.

Parameters
fieldNameThe name for the output column.
void Vertica::SizedColumnTypes::addFloatOrderColumn ( const std::string &  fieldName = "")
inline

Adds an order column of type FLOAT.

Parameters
fieldNameThe name for the output column.
void Vertica::SizedColumnTypes::addFloatPartitionColumn ( const std::string &  fieldName = "")
inline

Adds a partition column of type FLOAT.

Parameters
fieldNameThe name for the output column.
void Vertica::SizedColumnTypes::addInt ( const std::string &  fieldName = "")
inline

Adds a column of type INTEGER.

Parameters
fieldNameThe name for the output column.
void Vertica::SizedColumnTypes::addInterval ( int32  precision,
int32  range,
const std::string &  fieldName = "" 
)
inline

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.
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.
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.
void Vertica::SizedColumnTypes::addIntervalYM ( int32  range,
const std::string &  fieldName = "" 
)
inline

Adds a column of type INTERVAL YEAR TO MONTH.

Parameters
rangeThe range for the interval.
fieldNameThe name for the output column.
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.
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.
void Vertica::SizedColumnTypes::addIntOrderColumn ( const std::string &  fieldName = "")
inline

Adds an order column of type INTEGER.

Parameters
fieldNameThe name for the output column.
void Vertica::SizedColumnTypes::addIntPartitionColumn ( const std::string &  fieldName = "")
inline

Adds a partition column of type INTEGER.

Parameters
fieldNameThe name for the output column.
void Vertica::SizedColumnTypes::addLongVarbinary ( int32  len,
const std::string &  fieldName = "" 
)
inline

Adds a column of type LONG VARBINARY.

Parameters
lenThe length of the binary string.
fieldNameThe name for the output column.
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.
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.
void Vertica::SizedColumnTypes::addLongVarchar ( int32  len,
const std::string &  fieldName = "" 
)
inline

Adds a column of type LONG VARCHAR.

Parameters
lenThe length of the string.
fieldNameThe name for the output column.
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.
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.
void Vertica::SizedColumnTypes::addNumeric ( int32  precision,
int32  scale,
const std::string &  fieldName = "" 
)
inline

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.
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.
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.
void Vertica::SizedColumnTypes::addTime ( int32  precision,
const std::string &  fieldName = "" 
)
inline

Adds a column of type TIME.

Parameters
precisionThe precision for the time.
fieldNameThe name for the output column.
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.
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.
void Vertica::SizedColumnTypes::addTimestamp ( int32  precision,
const std::string &  fieldName = "" 
)
inline

Adds a column of type TIMESTAMP.

Parameters
precisionThe precision for the timestamp.
fieldNameThe name for the output column.
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.
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.
void Vertica::SizedColumnTypes::addTimestampTz ( int32  precision,
const std::string &  fieldName = "" 
)
inline

Adds a column of type TIMESTAMP WITH TIMEZONE.

Parameters
precisionThe precision for the timestamp.
fieldNameThe name for the output column.
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.
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.
void Vertica::SizedColumnTypes::addTimeTz ( int32  precision,
const std::string &  fieldName = "" 
)
inline

Adds a column of type TIME WITH TIMEZONE.

Parameters
precisionThe precision for the time.
fieldNameThe name for the output column.
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.
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.
void Vertica::SizedColumnTypes::addUserDefinedType ( const char *  typeName,
int32  len,
const std::string &  fieldName = "" 
)
inline

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.
void Vertica::SizedColumnTypes::addUuid ( const std::string &  fieldName = "")
inline

Adds a column of type UUID.

Parameters
fieldNameThe name for the output column.

Referenced by Vertica::ScalarFunctionFactory::getReturnType().

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

Adds an order column of type UUID.

Parameters
fieldNameThe name for the output column.
void Vertica::SizedColumnTypes::addVarbinary ( int32  len,
const std::string &  fieldName = "" 
)
inline

Adds a column of type VARBINARY.

Parameters
lenThe length of the binary string.
fieldNameThe name for the output column.
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.
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.
void Vertica::SizedColumnTypes::addVarchar ( int32  len,
const std::string &  fieldName = "" 
)
inline

Adds a column of type VARCHAR.

Parameters
lenThe length of the string.
fieldNameThe name for the output column.
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.
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.
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.
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().

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

Returns column properties.

Parameters
idxThe index of the column
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::PartitionWriter::copyFromInput(), Vertica::ParserFactory::getParserReturnType(), Vertica::BlockReader::isNull(), Vertica::BlockWriter::setNull(), and Vertica::PartitionWriter::setNull().

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

Returns the type of the column at the specified index.

Parameters
idxThe index of the column
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.
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.
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
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
void Vertica::SizedColumnTypes::setColumnProperties ( size_t  idx,
const Properties props 
)
inline

Sets column properties.

Parameters
idxThe index of the column
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
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