ColMetadata token

A ColMetadata is sent by the server as the first packet in a result set, either from the execution of a SQL command, or of a stored procedure. The complete definition can be found in the Microsoft documentation.


byte tokenType: the type code for this token (0x81).

String tokenTypeName: the name corresponding to this token's type ("ColMetadata").

List<EncryptionKeyInfo> keyInfos: returns information on encrypted columns. This feature is not yet supported.

List<ColumnMetadata> columns: the definition of the columns in the result set.


String columnName: the name of the column. This can be blank in the case of unnamed derived columns (e.g. "select count(*) from mytable")

int userType: the user-defined type number.

boolean fNullable: whether this type can be set to null.

boolean fCaseSen: whether this type is case-sensitive.

byte usUpdateable: whether this column is updatable, and how. Column is read-only = 0, column is read/write = 1, updateable unknown = 2. Any other value is invalid.

boolean fIdentity: whether this column is an identity column.

boolean fComputed: whether this column is computed.

boolean fFixedLenCLRType: whether this column is a fixed-length common language runtime user-defined type.

boolean fSparseColumnSet: whether this column is the special column for a sparse column set.

boolean fEncrypted: whether this column is encrypted.

boolean fHidden: whether this column is part of a hidden primary key.

boolean fKey: whether this column is part of a primary key for the row and the T-SQL SELECT statement contains FOR BROWSE.

boolean fNullableUnknown: if this is set, it is unknown whether this column is nullable or not.

TypeInfo typeInfo: the TypeInfo object for this column.

String tableName: the name of the table for this column. This is often empty, but when it's not, it can be qualified with the schema (e.g "myschema.mytable").