FreeTDS API
Loading...
Searching...
No Matches
tds_column Struct Reference

Metadata about columns in regular and compute rows. More...

#include <tds.h>

Collaboration diagram for tds_column:
[legend]

Public Attributes

BCPCOLDATA * bcp_column_data
TDS_INT bcp_prefix_len
 The length, in bytes, of any length prefix this column may have.
TDS_INT bcp_term_len
TDS_CHAR * bcp_terminator
TDSICONV * char_conv
 refers to previously allocated iconv information
TDS_SMALLINT column_bindfmt
TDS_INT column_bindlen
TDS_SMALLINT column_bindtype
TDS_UCHAR column_collation [5]
unsigned char column_computed:1
TDS_INT column_cur_size
 size written in variable (ie: char, text, binary).
unsigned char * column_data
void(* column_data_free )(struct tds_column *column)
TDS_INT column_flags
unsigned char column_hidden:1
char column_iconv_buf [9]
unsigned char column_iconv_left
unsigned char column_identity:1
unsigned char column_key:1
TDS_INT * column_lenbind
DSTR column_name
unsigned char column_nullable:1
TDS_SMALLINT * column_nullbind
TDS_SMALLINT column_operand
TDS_TINYINT column_operator
unsigned char column_output:1
TDS_TINYINT column_prec
 precision for decimal/numeric
TDS_TINYINT column_scale
 scale for decimal/numeric
TDS_INT column_size
 maximun size of data.
TDS_INT column_text_sqlgetdatapos
TDS_CHAR column_text_sqlputdatainfo
TDS_INT column_textpos
unsigned char column_timestamp:1
TDS_SERVER_TYPE column_type
 This type can be different from wire type because conversion (e.g.
TDS_INT column_usertype
TDS_CHAR * column_varaddr
TDS_TINYINT column_varint_size
 size of length when reading from wire (0, 1, 2 or 4)
unsigned char column_writeable:1
const TDSCOLUMNFUNCS * funcs
struct { 
   TDS_INT   column_size 
   TDS_SERVER_TYPE   column_type 
 type of data, saved from wire
on_server
DSTR table_column_name
DSTR table_name

Detailed Description

Metadata about columns in regular and compute rows.

Member Data Documentation

◆ bcp_prefix_len

TDS_INT tds_column::bcp_prefix_len

The length, in bytes, of any length prefix this column may have.

For example, strings in some non-C programming languages are made up of a one-byte length prefix, followed by the string data itself. If the data do not have a length prefix, set prefixlen to 0. Currently not very used in code, however do not remove.

◆ column_cur_size

TDS_INT tds_column::column_cur_size

size written in variable (ie: char, text, binary).

-1 if NULL.

◆ column_size

TDS_INT tds_column::column_size

maximun size of data.

For fixed is the size.

◆ column_type

TDS_SERVER_TYPE tds_column::column_type

This type can be different from wire type because conversion (e.g.

type of data, saved from wire

UCS-2->Ascii) can be applied. I'm beginning to wonder about the wisdom of this, however. April 2003 jkl


The documentation for this struct was generated from the following file: