SQL Column Attributes - ODBC Driver for Teradata

ODBC Driver for Teradata User Guide

Product
ODBC Driver for Teradata
Release Number
16.10
Published
May 2017
Language
English (United States)
Last Update
2018-07-11
dita:mapPath
smj1488824663219.ditamap
dita:ditavalPath
Audience_PDF_product_legacy_odbc_include.ditaval
dita:id
B035-2526
lifecycle
previous
Product Category
Teradata Tools and Utilities

SQLColAttribute supports several Teradata ODBC driver-defined column attributes as the FieldIdentifier argument. Additionally, using SQL_COLUMN_NAME returns the Teradata TITLE (if available) instead of the name because this makes most report writers work more sensibly.

When using SQLColAttribute to obtain driver-defined attribute values the type of the attribute must be specified in the BufferLength argument. In addition, SQLColAttribute returns the value through one of two pointers depending on the type: Integer information is returned in *NumericAttributePtr as a SQLLEN value; all other formats of information are returned in *CharacterAttributePtr. The pointer not being used for a particular attribute should be set to NULL in the call. For example, to obtain the value of the attribute SQL_DESC_TD_ODBC_TYPE:

rc = SQLColAttribute(hstmt, colno, SQL_DESC_TD_ODBC_TYPE, NULL, SQL_IS_SMALLINT, NULL, &NumAttrPtr);

The pointer used for each of the attributes defined by the Teradata ODBC driver is indicated in the list below.

Driver-defined FieldIdentifier values are:

  • SQL_COLUMN_ACTIVITY_TYPE is an integer that specifies the kind of SQL statement executed. Value is returned in NumericAttributePtr.
  • SQL_COLUMN_COST_ESTIMATE is an integer with a cost estimate for running the SQL statement. The value returned represents the time estimate in seconds. Value is returned in NumericAttributePtr.
  • SQL_COLUMN_FORMAT returns the Teradata FORMAT clause associated with the column. Value is returned in CharacterAttributePtr.
  • SQL_COLUMN_ACTUAL_NAME is the name associated with the result column. This FieldIdentifier value is necessary because the meaning of SQL_COLUMN_NAME has changed. Value is returned in CharacterAttributePtr.
  • SQL_COLUMN_CHARACTER_SET is an integer containing the character set of the column. Value is returned in NumericAttributePtr.
  • SQL_COLUMN_EXPORT_WIDTH is an integer containing the database export width for character columns. Value is returned in NumericAttributePtr.
  • SQL_COLUMN_EXPORT_WIDTH_ADJ is an integer containing the database export width adjustment for character columns. Value is returned in NumericAttributePtr.
  • SQL_COLUMN_EXPORT_BYTES is an integer containing the number of bytes that the database provides for a character column. Value is returned in NumericAttributePtr.
  • SQL_DESC_TD_ODBC_TYPE is an SQLSMALLINT that contains the Teradata ODBC-specific SQL data type code. If multiple database types have the same standard ODBC SQL type, then the Teradata ODBC-specific SQL data type code can be used to distinguish between the types. Value is returned in NumericAttributePtr.

For additional information about these attributes, see SQL Descriptor Fields.