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

Represents (unsized) types of the columns used as input/output of a User Defined Function/Transform Function. More...

Collaboration diagram for Vertica::ColumnTypes:
Collaboration graph

Public Member Functions

void addAny ()
 Indicates that function can take any number and type of arguments.
 
ColumnTypesaddArrayType (Oid elementOid)
 Adds a column of 1D array type. More...
 
ColumnTypesaddArrayType (const ColumnTypes &elementprototype)
 Adds a column of complex array type. More...
 
ColumnTypesaddBinary ()
 Adds a column of type BINARY. More...
 
ColumnTypesaddBool ()
 Adds a column of type BOOLEAN. More...
 
ColumnTypesaddChar ()
 Adds a column of type CHAR. More...
 
ColumnTypesaddDate ()
 Adds a column of type DATE. More...
 
ColumnTypesaddFloat ()
 Adds a column of type FLOAT. More...
 
ColumnTypesaddInt ()
 Adds a column of type INTEGER. More...
 
ColumnTypesaddInterval ()
 Adds a column of type INTERVAL/INTERVAL DAY TO SECOND. More...
 
ColumnTypesaddIntervalYM ()
 Adds a column of type INTERVAL YEAR TO MONTH. More...
 
ColumnTypesaddLongVarbinary ()
 Adds a column of type VARBINARY. More...
 
ColumnTypesaddLongVarchar ()
 Adds a column of type VARBINARY. More...
 
ColumnTypesaddNumeric ()
 Adds a column of type NUMERIC. More...
 
ColumnTypesaddRowType (const ColumnTypes &rowprototype)
 Adds a column of complex row type. More...
 
ColumnTypesaddTime ()
 Adds a column of type TIME. More...
 
ColumnTypesaddTimestamp ()
 Adds a column of type TIMESTAMP. More...
 
ColumnTypesaddTimestampTz ()
 Adds a column of type TIMESTAMP WITH TIMEZONE. More...
 
ColumnTypesaddTimeTz ()
 Adds a column of type TIME WITH TIMEZONE. More...
 
ColumnTypesaddType (Oid typeOid, const ColumnTypes &complexFields=ColumnTypes())
 
ColumnTypesaddUserDefinedType (const char *typeName)
 Adds a column of user-defined type. More...
 
ColumnTypesaddUuid ()
 Adds a column of type UUID. More...
 
ColumnTypesaddVarbinary ()
 Adds a column of type VARBINARY. More...
 
ColumnTypesaddVarchar ()
 Adds a column of type VARCHAR. More...
 
template<typename strtype = std::string>
strtype toString () const
 

Detailed Description

Represents (unsized) types of the columns used as input/output of a User Defined Function/Transform Function.

This class is used only for generating the function or transform function prototype, where the sizes and/or precisions of the data types are not known.

Member Function Documentation

◆ addArrayType() [1/2]

ColumnTypes& Vertica::ColumnTypes::addArrayType ( Oid  elementOid)
inline

Adds a column of 1D array type.

Parameters
elementOidthe type of the array element
Returns
this

Referenced by addArrayType().

◆ addArrayType() [2/2]

ColumnTypes& Vertica::ColumnTypes::addArrayType ( const ColumnTypes elementprototype)
inline

Adds a column of complex array type.

Parameters
rowprototypethe fields of the complex array element
Returns
this

◆ addBinary()

ColumnTypes& Vertica::ColumnTypes::addBinary ( )
inline

Adds a column of type BINARY.

Returns
this

◆ addBool()

ColumnTypes& Vertica::ColumnTypes::addBool ( )
inline

Adds a column of type BOOLEAN.

Returns
this

◆ addChar()

ColumnTypes& Vertica::ColumnTypes::addChar ( )
inline

Adds a column of type CHAR.

Returns
this

◆ addDate()

ColumnTypes& Vertica::ColumnTypes::addDate ( )
inline

Adds a column of type DATE.

Returns
this

◆ addFloat()

ColumnTypes& Vertica::ColumnTypes::addFloat ( )
inline

Adds a column of type FLOAT.

Returns
this

◆ addInt()

ColumnTypes& Vertica::ColumnTypes::addInt ( )
inline

Adds a column of type INTEGER.

Returns
this

◆ addInterval()

ColumnTypes& Vertica::ColumnTypes::addInterval ( )
inline

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

Returns
this

◆ addIntervalYM()

ColumnTypes& Vertica::ColumnTypes::addIntervalYM ( )
inline

Adds a column of type INTERVAL YEAR TO MONTH.

Returns
this

◆ addLongVarbinary()

ColumnTypes& Vertica::ColumnTypes::addLongVarbinary ( )
inline

Adds a column of type VARBINARY.

Returns
this

◆ addLongVarchar()

ColumnTypes& Vertica::ColumnTypes::addLongVarchar ( )
inline

Adds a column of type VARBINARY.

Returns
this

◆ addNumeric()

ColumnTypes& Vertica::ColumnTypes::addNumeric ( )
inline

Adds a column of type NUMERIC.

Returns
this

◆ addRowType()

ColumnTypes& Vertica::ColumnTypes::addRowType ( const ColumnTypes rowprototype)
inline

Adds a column of complex row type.

Parameters
rowprototypethe fields of the complex row type
Returns
this

◆ addTime()

ColumnTypes& Vertica::ColumnTypes::addTime ( )
inline

Adds a column of type TIME.

Returns
this

◆ addTimestamp()

ColumnTypes& Vertica::ColumnTypes::addTimestamp ( )
inline

Adds a column of type TIMESTAMP.

Returns
this

◆ addTimestampTz()

ColumnTypes& Vertica::ColumnTypes::addTimestampTz ( )
inline

Adds a column of type TIMESTAMP WITH TIMEZONE.

Returns
this

◆ addTimeTz()

ColumnTypes& Vertica::ColumnTypes::addTimeTz ( )
inline

Adds a column of type TIME WITH TIMEZONE.

Returns
this

◆ addType()

ColumnTypes& Vertica::ColumnTypes::addType ( Oid  typeOid,
const ColumnTypes complexFields = ColumnTypes() 
)
inline

Add a generic column to the prototype. Complex type fields are allowed only for complex types.

Returns
this

◆ addUserDefinedType()

ColumnTypes& Vertica::ColumnTypes::addUserDefinedType ( const char *  typeName)
inline

Adds a column of user-defined type.

Returns
this

◆ addUuid()

ColumnTypes& Vertica::ColumnTypes::addUuid ( )
inline

Adds a column of type UUID.

Returns
this

◆ addVarbinary()

ColumnTypes& Vertica::ColumnTypes::addVarbinary ( )
inline

Adds a column of type VARBINARY.

Returns
this

◆ addVarchar()

ColumnTypes& Vertica::ColumnTypes::addVarchar ( )
inline

Adds a column of type VARCHAR.

Returns
this