Current section
Files
Jump to
Current section
Files
include/TDS_constants.hrl
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% TDS 5.0 Packet types %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-define(TDS_PKT_LANG, 1).
-define(TDS_PKT_LOGIN, 2).
-define(TDS_PKT_RPC, 3).
-define(TDS_PKT_RESPONSE, 4).
-define(TDS_PKT_UNFMT, 5).
-define(TDS_PKT_ATTN, 6).
-define(TDS_PKT_BULK, 7).
-define(TDS_PKT_SETUP, 8).
-define(TDS_PKT_CLOSE, 9).
-define(TDS_PKT_ERROR, 10).
-define(TDS_PKT_PROTACK, 11).
-define(TDS_PKT_ECHO, 12).
-define(TDS_PKT_LOGOUT, 13).
-define(TDS_PKT_ENDPARAM, 14).
-define(TDS_PKT_NORMAL, 15).
-define(TDS_PKT_URGENT, 16).
-define(TDS_PKT_MIGRATE, 17).
-define(TDS_PKT_CMDSEQ_NORMAL, 24).
-define(TDS_PKT_CMDSEQ_LOGIN, 25).
-define(TDS_PKT_CMDSEQ_LIVENESS, 26).
-define(TDS_PKT_CMDSEQ_RESERVED1, 27).
-define(TDS_PKT_CMDSEQ_RESERVED2, 28).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% TDS 5.0 Tokens %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-define(TDS_TOKEN_CURDECLARE3, 16).
-define(TDS_TOKEN_PARAMFMT2, 32).
-define(TDS_TOKEN_LANGUAGE, 33).
-define(TDS_TOKEN_ORDERBY2, 34).
-define(TDS_TOKEN_CURDECLARE2, 35).
-define(TDS_TOKEN_COLFMTOLD, 42). %% obsolete (tds 5.0 rev 3.8)
-define(TDS_TOKEN_DEBUGCMD, 96). %% obsolete (tds 5.0 rev 3.8)
-define(TDS_TOKEN_ROWFMT2, 97).
-define(TDS_TOKEN_DYNAMIC2, 98).
-define(TDS_TOKEN_OPTIONCMD2, 99). %% reserved (tds 5.0 rev 3.8)
-define(TDS_TOKEN_MSG, 101).
-define(TDS_TOKEN_LOGOUT, 113).
-define(TDS_TOKEN_OFFSET, 120).
-define(TDS_TOKEN_RETURNSTATUS, 121).
-define(TDS_TOKEN_PROCID, 124). %% obsolete (tds 5.0 rev 3.8), dropped. never used.
-define(TDS_TOKEN_CURCLOSE, 128).
-define(TDS_TOKEN_CURDELETE, 129).
-define(TDS_TOKEN_CURFETCH, 130).
-define(TDS_TOKEN_CURINFO, 131).
-define(TDS_TOKEN_CUROPEN, 132).
-define(TDS_TOKEN_CURUPDATE, 133).
-define(TDS_TOKEN_CURDECLARE, 134).
-define(TDS_TOKEN_CURINFO2, 135).
-define(TDS_TOKEN_CURINFO3, 136).
-define(TDS_TOKEN_COLNAME, 160). %% obsolete (tds 5.0 rev 3.8), replaced by rowfmt
-define(TDS_TOKEN_COLFMT, 161). %% obsolete (tds 5.0 rev 3.8), replaced by rowfmt
-define(TDS_TOKEN_EVENTNOTICE, 162).
-define(TDS_TOKEN_TABNAME, 164).
-define(TDS_TOKEN_COLINFO, 165). %% obsolete (tds 5.0 rev 3.8)
-define(TDS_TOKEN_OPTIONCMD, 166).
-define(TDS_TOKEN_ALTNAME, 167).
-define(TDS_TOKEN_ALTFMT, 168).
-define(TDS_TOKEN_ORDERBY, 169).
-define(TDS_TOKEN_ERROR, 170). %% obsolete (tds 5.0 rev 3.8)
-define(TDS_TOKEN_INFO, 171). %% obsolete (tds 5.0 rev 3.8)
-define(TDS_TOKEN_RETURNVALUE, 172). %% obsolete (tds 5.0 rev 3.8)
-define(TDS_TOKEN_LOGINACK, 173).
-define(TDS_TOKEN_CONTROL, 174).
-define(TDS_TOKEN_ALTCONTROL, 175). %% obsolete (tds 5.0 rev 3.8), Was never implemented.
-define(TDS_TOKEN_KEY, 202).
-define(TDS_TOKEN_ROW, 209).
-define(TDS_TOKEN_ALTROW, 211).
-define(TDS_TOKEN_PARAMS, 215).
-define(TDS_TOKEN_RPC, 224). %% obsolete (tds 5.0 rev 3.8)
-define(TDS_TOKEN_CAPABILITY, 226).
-define(TDS_TOKEN_ENVCHANGE, 227).
-define(TDS_TOKEN_EED, 229). %% Extended Error Data token
-define(TDS_TOKEN_DBRPC, 230).
-define(TDS_TOKEN_DYNAMIC, 231).
-define(TDS_TOKEN_DBRPC2, 232).
-define(TDS_TOKEN_PARAMFMT, 236).
-define(TDS_TOKEN_ROWFMT, 238).
-define(TDS_TOKEN_DONE, 253).
-define(TDS_TOKEN_DONEPROC, 254).
-define(TDS_TOKEN_DONEINPROC, 255).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% TDS 5.0 Data types %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-define(TDS_TYPE_VOID, 31).
-define(TDS_TYPE_IMAGE, 34).
-define(TDS_TYPE_TEXT, 35).
-define(TDS_TYPE_BLOB, 36).
-define(TDS_TYPE_VARBINARY, 37).
-define(TDS_TYPE_INTN, 38).
-define(TDS_TYPE_VARCHAR, 39).
-define(TDS_TYPE_BINARY, 45).
-define(TDS_TYPE_INTERVAL, 46).
-define(TDS_TYPE_CHAR, 47).
-define(TDS_TYPE_INT1, 48).
-define(TDS_TYPE_DATE, 49).
-define(TDS_TYPE_BIT, 50).
-define(TDS_TYPE_TIME, 51).
-define(TDS_TYPE_INT2, 52).
-define(TDS_TYPE_INT4, 56).
-define(TDS_TYPE_SHORTDATE, 58).
-define(TDS_TYPE_FLT4, 59).
-define(TDS_TYPE_MONEY, 60).
-define(TDS_TYPE_DATETIME, 61).
-define(TDS_TYPE_FLT8, 62).
-define(TDS_TYPE_UINT2, 65).
-define(TDS_TYPE_UINT4, 66).
-define(TDS_TYPE_UINT8, 67).
-define(TDS_TYPE_UINTN, 68).
-define(TDS_TYPE_SENSITIVITY, 103).
-define(TDS_TYPE_BOUNDARY, 104).
-define(TDS_TYPE_DECN, 106).
-define(TDS_TYPE_NUMN, 108).
-define(TDS_TYPE_FLTN, 109).
-define(TDS_TYPE_MONEYN, 110).
-define(TDS_TYPE_DATETIMEN, 111).
-define(TDS_TYPE_SHORTMONEY, 122).
-define(TDS_TYPE_DATEN, 123).
-define(TDS_TYPE_TIMEN, 147).
-define(TDS_TYPE_XML, 163).
-define(TDS_TYPE_UNITEXT, 174).
-define(TDS_TYPE_LONGCHAR, 175).
-define(TDS_TYPE_SINT1, 176).
-define(TDS_TYPE_INT8, 191).
-define(TDS_TYPE_LONGBINARY, 225).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% TDS 5.0 User types %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-define(USER_TYPE_CHAR, 1). %% blank pad to the length in the format
-define(USER_TYPE_VARCHAR, 2).
-define(USER_TYPE_BINARY, 3).
-define(USER_TYPE_VARBINARY, 4). %% null pad to the length in the format
-define(USER_TYPE_TINYINT, 5).
-define(USER_TYPE_SMALLINT, 6).
-define(USER_TYPE_INT, 7).
-define(USER_TYPE_FLOAT, 8).
-define(USER_TYPE_NUMERIC, 10).
-define(USER_TYPE_MONEY, 11).
-define(USER_TYPE_DATETIME, 12).
-define(USER_TYPE_INTN, 13).
-define(USER_TYPE_FLOATN, 14).
-define(USER_TYPE_DATETIMEN, 15).
-define(USER_TYPE_BIT, 16).
-define(USER_TYPE_MONEYN, 17).
-define(USER_TYPE_SYSNAME, 18). %% Internal ASE datatype
-define(USER_TYPE_TEXT, 19).
-define(USER_TYPE_IMAGE, 20).
-define(USER_TYPE_SMALLMONEY, 21).
-define(USER_TYPE_SMALLDATETIME, 22).
-define(USER_TYPE_REAL, 23).
-define(USER_TYPE_NCHAR, 24).
-define(USER_TYPE_NVARCHAR, 25).
-define(USER_TYPE_DECIMAL, 26). %% decimal and numeric datatypes
%% are identical on ASE, but we maintain
%% the distinction on how they were
%% declared so that clients can report
%% column types in a way that is
%% consistent with how they were declared
-define(USER_TYPE_DECIMALN, 27).
-define(USER_TYPE_NUMERICN, 28).
-define(USER_TYPE_UNICHAR, 34). %% fixed length UTF-16 encoded data
-define(USER_TYPE_UNIVARCHAR, 35). %% variable length UTF-16 encoded data
-define(USER_TYPE_UNITEXT, 36). %% UTF-16 encoded data
-define(USER_TYPE_DATE, 37).
-define(USER_TYPE_TIME, 38).
-define(USER_TYPE_INTERVAL, 39).
-define(USER_TYPE_DATEN, 40).
-define(USER_TYPE_TIMEN, 41).
%-define(USER_TYPE_BIGINT, 42). shifted to one
-define(USER_TYPE_BIGINT, 43).
-define(USER_TYPE_USMALLINT, 44).
-define(USER_TYPE_UINT, 45).
-define(USER_TYPE_UBIGINT, 46).
-define(USER_TYPE_XML, 47). %% Treated like text and image.
-define(USER_TYPE_LONGDATE, 50). %% The hh:mm:ss.nnnn information (should be ignored)
-define(USER_TYPE_LONGTIME, 51). %% The mm/dd/yyyy information (should be ignored)
-define(USER_TYPE_UNSIGNED_SHORT, 52). %% Deprecated
-define(USER_TYPE_UNSIGNED_INT, 53). %% Deprecate
-define(USER_TYPE_UNSIGNED_LONG, 54). %% Deprecate
-define(USER_TYPE_SERIALIZATION, 55). %% serialized java object or instance (i.e. java object)
-define(USER_TYPE_SERIALIZED_JAVA_CLASS, 56). %% serialized java class (i.e. byte code)
-define(USER_TYPE_STRING, 57). %% internally generated varchar strings
%% (e.g. select @@version),
%% not table columns
-define(USER_TYPE_UNKNOWN, 58). %% a describe input will return
%% TDS_INT4 (as a simple placeholder)
%% for all columns where it does not know the datatype.
%% This usertype indicates that the actual type is unknown
-define(USER_TYPE_SMALLBINARY, 59). %% 64K max length binary data (ASA)
-define(USER_TYPE_SMALLCHAR, 60). %% 64K maximum length char data (ASA)
-define(USER_TYPE_TIMESTAMP, 80). %% This has nothing to do with date or time,
%% it is an ASE unique value for use with optimistic concurrency
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% TDS 5.0 Environment Variables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-define(ENV_DB, 1).
-define(ENV_LANG, 2).
-define(ENV_CHARSET, 3).
-define(ENV_PACKETSIZE, 4).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% TDS 5.0 Capability Token Types %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-define(TDS_CAP_REQUEST, 1). %% Requests and data types that can be sent on this dialog
-define(TDS_CAP_RESPONSE, 2). %% Responses and data types that should not be sent on this dialog
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% TDS 5.0 Capability Token Request Capabilities %%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% byte 1
-define(TDS_REQ_LANG, 1). %% Language requests
-define(TDS_REQ_RPC, 2). %% RPC requests
-define(TDS_REQ_EVT, 3). %% Registered procedure event notification
-define(TDS_REQ_MSTMT, 4). %% Support multiple commands per request
-define(TDS_REQ_BCP, 5). %% Bulk copy requests
-define(TDS_REQ_CURSOR, 6). %% Cursor command requests
-define(TDS_REQ_DYNF, 7). %% Dynamic SQL requests
%% byte 2
-define(TDS_REQ_MSG, 8). %% TDS_MSG requests
-define(TDS_REQ_PARAM, 9). %% RPC requests will use the TDS_DBRPC token and TDS_PARAMFMT / TDS_PARAM
%% to send parameters.
-define(TDS_DATA_INT1, 10). %% Support 1 byte unsigned integers
-define(TDS_DATA_INT2, 11). %% Support 2 byte integers
-define(TDS_DATA_INT4, 12). %% Support 4 byte integers
-define(TDS_DATA_BIT, 13). %% Support bit data types
-define(TDS_DATA_CHAR, 14). %% Support fixed length character data types
-define(TDS_DATA_VCHAR, 15). %% Support variable length character data types
%% byte 3
-define(TDS_DATA_BIN, 16). %% Support fixed length character data types
-define(TDS_DATA_VBIN, 17). %% Support variable length binary data types
-define(TDS_DATA_MNY8, 18). %% Support 8 byte money data types
-define(TDS_DATA_MNY4, 19). %% Support 4 byte money data types
-define(TDS_DATA_DATE8, 20). %% Support 8 byte date/time data types
-define(TDS_DATA_DATE4, 21). %% Support 4 byte date/time data types
-define(TDS_DATA_FLT4, 22). %% Support 4 byte floating point data types
-define(TDS_DATA_FLT8, 23). %% Support 8 byte floating point data types
%% byte 4
-define(TDS_DATA_NUM, 24). %% Support numeric data types
-define(TDS_DATA_TEXT, 25). %% Support text data types
-define(TDS_DATA_IMAGE, 26). %% Support image data types
-define(TDS_DATA_DEC, 27). %% Support decimal data types
-define(TDS_DATA_LCHAR, 28). %% Support long variable length character data types
-define(TDS_DATA_LBIN, 29). %% Support long variable length binary data types.
-define(TDS_DATA_INTN, 30). %% Support NULL integers
-define(TDS_DATA_DATETIMEN, 31). %% Support NULL date/time
%% byte 5
-define(TDS_DATA_MONEYN, 32). %% Support NULL money
-define(TDS_CSR_PREV, 33). %% Obsolete, will not be used
-define(TDS_CSR_FIRST, 34). %% Obsolete, will not be used
-define(TDS_CSR_LAST, 35). %% Obsolete, will not be used
-define(TDS_CSR_ABS, 36). %% Obsolete, will not be used
-define(TDS_CSR_REL, 37). %% Obsolete, will not be used
-define(TDS_CSR_MULTI, 38). %% This is possibly obsolete
-define(TDS_CON_OOB, 39). %% Support expedited attentions
%% byte 6
-define(TDS_CON_INBAND, 40). %% Support non-expedited attentions
-define(TDS_CON_LOGICAL, 41). %% Support logical logout
-define(TDS_PROTO_TEXT, 42). %% Support tokenized text and image
-define(TDS_PROTO_BULK, 43). %% Support tokenized bulk copy
-define(TDS_REQ_URGEVT, 44). %% Use new event notification protocol
-define(TDS_DATA_SENSITIVITY, 45). %% Support sensitivity security data types
-define(TDS_DATA_BOUNDARY, 46). %% Support boundary security data types
-define(TDS_PROTO_DYNAMIC, 47). %% Use DESCIN/DESCOUT dynamic protocol
%% byte 7
-define(TDS_PROTO_DYNPROC, 48). %% Pre-pend “create proc” to dynamic prepare statements
-define(TDS_DATA_FLTN, 49). %% Support NULL floats
-define(TDS_DATA_BITN, 50). %% Support NULL bits
-define(TDS_DATA_INT8, 51). %% Support 8 byte integers
-define(TDS_DATA_VOID, 52). %% ?
-define(TDS_DOL_BULK, 53). %% ?
-define(TDS_OBJECT_JAVA1, 54). %% Support Serialized Java Objects
-define(TDS_OBJECT_CHAR, 55). %% Support Streaming character data
%% byte 8
%-define(RESERVED, 56). %% Reserved for future use
-define(TDS_OBJECT_BINARY, 57). %% Streaming Binary data
-define(TDS_DATA_COLUMNSTATUS, 58). %% Indicates that a one-byte status field can follow any length or data (etc.)
%% for every column within a row using TDS_ROW or TDS_PARAMS.
%% Note that when this capability is on, the ROWFMT* and PARAMFMT* tokens
%% indicate in their status byte fields whether a particular column will
%% contain the columnstatus byte.
-define(TDS_WIDETABLE, 59). %% The client may send requests using the CURDECLARE2, DYNAMIC2, PARAMFMT2 tokens
%-define(RESERVED, 60). %% Reserved
-define(TDS_DATA_UINT2, 61). %% Support for unsigned 2-byte integers
-define(TDS_DATA_UINT4, 62). %% Support for unsigned 4-byte integers
-define(TDS_DATA_UINT8, 63). %% Support for unsigned 8-byte integers
%% byte 9
-define(TDS_DATA_UINTN, 64). %% Support for NULL unsigned integers
-define(TDS_CUR_IMPLICIT, 65). %% Support for TDS_CUR_DOPT_IMPLICIT cursor declare option
-define(TDS_DATA_NLBIN, 66). %% Support for LONGBINARY data containing
%% UTF-16 encoded data (USER_TYPE_UNICHAR and USER_TYPE_UNIVARCHAR)
-define(TDS_IMAGE_NCHAR, 67). %% Support for IMAGE data containing
%% UTF-16 encoded data (USER_TYPE_UNITEXT)
-define(TDS_BLOB_NCHAR_16, 68). %% Support for BLOB subtype 0x05 (unichar) with serialization type 0
-define(TDS_BLOB_NCHAR_8, 69). %% Support for BLOB subtype 0x05 (unichar) with serialization type 1
-define(TDS_BLOB_NCHAR_SCSU, 70). %% Support for BLOB subtype 0x05 (unichar) with serialization type2
-define(TDS_DATA_DATE, 71). %% Support for Date
%% byte 10
-define(TDS_DATA_TIME, 72). %% Support for Time.
-define(TDS_DATA_INTERVAL, 73). %% Support for Interval
-define(TDS_CSR_SCROLL, 74). %% Support for Scrollable Cursor. This bit must be
%% on for the following four capability bits to have meaning
-define(TDS_CSR_SENSITIVE, 75). %% Support for Scrollable Sensitive Cursor
-define(TDS_CSR_INSENSITIVE, 76). %% Support for Scrollable Insensitive Cursor
-define(TDS_CSR_SEMISENSITIVE, 77). %% Support for Scrollable Semisensitive Cursor
-define(TDS_CSR_KEYSETDRIVEN, 78). %% Support for Scrollable Keysetdriven Cursor
-define(TDS_REQ_SRVPKTSIZE, 79). %% Support for server specified packet size
%% byte 11
-define(TDS_DATA_UNITEXT, 80). %% Support for Unicode UTF-16 Text
-define(TDS_CAP_CLUSTERFAILOVER, 81). %% Support Cluster Failover Extensions
-define(TDS_DATA_SINT1, 82). %% Support for 1 byte signed integer
-define(TDS_REQ_LARGEIDENT, 83). %% Support for large identifiers
-define(TDS_REQ_BLOB_NCHAR_16, 84). %% Support for BLOB subtype 0x05 (unichar) with serialization type 0
%% Replaces TDS_BLOB_NCHAR_16.
%% Added to deal with ASE coding issue in old servers
-define(TDS_DATA_XML, 85). %% Support for XML datatype
-define(TDS_REQ_CURINFO3, 86). %% Support for TDS_CURINFO3 token
-define(TDS_REQ_DBRPC2, 87). %% Support for TDS_DBRPC2 token
%% byte 12
%-define(UNKNOWN, 88). %% Unknown
-define(TDS_REQ_MIGRATE, 89). %% Client can be migrated to another server
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%
%%%% TDS 5.0 Capability Token Response Capabilities %%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% byte 1
-define(TDS_RES_NOMSG, 1). %% No support for TDS_MSG results
-define(TDS_RES_NOEED, 2). %% No support for TDS_EED token
-define(TDS_RES_NOPARAM, 3). %% No support for TDS_PARAM / TDS_PARAMFMT for return parameter.
%% Use TDS_RETURNVALUE to return parameters to this client.
-define(TDS_DATA_NOINT1, 4). %% No support for 1 byte unsigned integers
-define(TDS_DATA_NOINT2, 5). %% No support for 2 byte integers
-define(TDS_DATA_NOINT4, 6). %% No support for 4 byte integers
-define(TDS_DATA_NOBIT, 7). %% No support for bit data types
%% byte 2
-define(TDS_DATA_NOCHAR, 8). %% No support for fixed length character data types
-define(TDS_DATA_NOVCHAR, 9). %% No support for variable length character data types
-define(TDS_DATA_NOBIN, 10). %% No support for fixed length binary data types
-define(TDS_DATA_NOVBIN, 11). %% No support for variable length binary data types
-define(TDS_DATA_NOMNY8, 12). %% No support for 8 byte money data types
-define(TDS_DATA_NOMNY4, 13). %% No support for 4 byte money data types
-define(TDS_DATA_NODATE8, 14). %% No support for 8 byte date/time data types
-define(TDS_DATA_NODATE4, 15). %% No support for 4 byte date/time data types
%% byte 3
-define(TDS_DATA_NOFLT4, 16). %% No support for 4 byte float data types
-define(TDS_DATA_NOFLT8, 17). %% No support for 8 byte float data types
-define(TDS_DATA_NONUM, 18). %% No support for numeric data types
-define(TDS_DATA_NOTEXT, 19). %% No support for text data types
-define(TDS_DATA_NOIMAGE, 20). %% No support for image data types
-define(TDS_DATA_NODEC, 21). %% No support for decimal data types
-define(TDS_DATA_NOLCHAR, 22). %% No support for long variable length character data types
-define(TDS_DATA_NOLBIN, 23). %% No support for long variable length binary data types
%% byte 4
-define(TDS_DATA_NOINTN, 24). %% No support for nullable integers
-define(TDS_DATA_NODATETIMEN, 25). %% No support for nullable date/time data types
-define(TDS_DATA_NOMONEYN, 26). %% No support for nullable money data types
-define(TDS_CON_NOOOB, 27). %% No support for expedited attentions
-define(TDS_CON_NOINBAND, 28). %% No support for non-expedited attentions
-define(TDS_PROTO_NOTEXT, 29). %% No support for tokenized text and image
-define(TDS_PROTO_NOBULK, 30). %% No support for tokenized bulk copy
-define(TDS_DATA_NOSENSITIVITY, 31). %% No support for the security sensitivity data type
%% byte 5
-define(TDS_DATA_NOBOUNDARY, 32). %% No support for the security boundary data type
-define(TDS_RES_NOTDSDEBUG, 33). %% No support for TDS_DEBUG token. Use image data instead
-define(TDS_RES_NOSTRIPBLANKS, 34). %% Do not strip blank from fixed length character data
-define(TDS_DATA_NOINT8, 35). %% No support for 8 byte integers
-define(TDS_OBJECT_NOJAVA1, 36). %% No Support Serialized Java Objects
-define(TDS_OBJECT_NOCHAR, 37). %% No Support Streaming character data
-define(TDS_DATA_NOCOLUMNSTATUS, 38). %% No Support for the columnstatus byte
-define(TDS_OBJECT_NOBINARY, 39). %% No Streaming Binary data
%% byte 5
%-define(RESERVED, 40). %% Reserved for future use
-define(TDS_DATA_NOUINT2, 41). %% No Support for unsigned 2-byte integers
-define(TDS_DATA_NOUINT4, 42). %% No Support for unsigned 4-byte integers
-define(TDS_DATA_NOUINT8, 43). %% No Support for unsigned 8-byte integers
-define(TDS_DATA_NOUINTN, 44). %% No Support for NULL unsigned integers
-define(TDS_NO_WIDETABLES, 45). %% Client cannot process the TDS_ORDERBY2, TDS_PARAMFMT2, and TDS_ROWFMT2
%% tokens required to support tables with a LARGE number of columns
%% The server should not send them.
-define(TDS_DATA_NONLBIN, 46). %% No Support for LONGBINARY data containing
%% UTF-16 encoded data (USER_TYPE_UNICHAR and USER_TYPE_UNIVARCHAR)
-define(TDS_IMAGE_NONCHAR, 47). %% No Support for IMAGE data containing
%% UTF-16 encoded data (USER_TYPE_UNITEXT)
%% byte 6
-define(TDS_BLOB_NONCHAR_16, 48). %% No Support for BLOB subtype 0x05/0
-define(TDS_BLOB_NONCHAR_8, 49). %% No Support for BLOB subtype 0x05/1
-define(TDS_BLOB_NONCHAR_SCSU, 50). %% No Support for BLOB subtype 0x05/2
-define(TDS_DATA_NODATE, 51). %% No Support for Date
-define(TDS_DATA_NOTIME, 52). %% No Support for Time
-define(TDS_DATA_NOINTERVAL, 53). %% No Support for Interval
-define(TDS_DATA_NOUNITEXT, 54). %% No Support for Unicode UTF-16 Text
-define(TDS_DATA_NOSINT1, 55). %% No Support for 1 byte signed integers
%% byte 7
-define(TDS_NO_LARGEIDENT, 56). %% No Support for Large Identifiers
-define(TDS_NO_BLOB_NCHAR_16, 57). %% No Support for BLOB subtype 0x05/0. Replaces TDS_BLOB_NONCHAR_16
%% Added to work around ASE coding issue
-define(TDS_NO_SRVPKTSIZE, 58). %% No Support for Server specified packet size larger than the client requested
%% If the TDS_REQ_PKTSIZE capability is set, the server may still specify
%% the packet size as long as it is not larger than suggested by the client
-define(TDS_DATA_NOXML, 59). %% No Support for XML datatype
-define(TDS_NONINT_RETURN_VALUE, 60). %% Client support for non-integer return values from TDS_RETURNVALUE
-define(TDS_RES_NOXNLDATA, 61). %% Client does not need additional metadata in TDS_ROWFMT2
%% Also, server should use TDS_ROWFMT instead of TDS_ROWFMT2
-define(TDS_RES_SUPPRESS_FMT, 62). %% Server will suppress TDS_ROWFMT (or TDS_ROWFMT2) tokens
%% if the appropriate status bit is set in TDS_DYNAMIC
-define(TDS_RES_SUPPRESS_DONEINPROC, 63). %% Server can suppress TDS_DONEINPROC tokens
%% This allows TDS_ROW to be followed by TDS_ROWFMT(2) instead of
%% TDS_DONEINPROC / TDS_ROWFMT(2)
%% Final done count will be provided by TDS_DONEPROC
%% byte 8
-define(TDS_RES_FORCE_ROWFMT2, 64). %% Force usage of TDS_ROWFMT2 even if TDS_ROWFMT could be used
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% TDS 5.0 Done Token Status Flags %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-define(TDS_DONE_FINAL, 0).
-define(TDS_DONE_MORE, 1).
-define(TDS_DONE_ERROR, 2).
-define(TDS_DONE_INXACT, 4).
-define(TDS_DONE_PROC, 8).
-define(TDS_DONE_COUNT, 16).
-define(TDS_DONE_ATTN, 32).
-define(TDS_DONE_EVENT, 64).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% TDS 5.0 LoginAck Token Statuses %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-define(TDS_LOG_SUCCEED, 5).
-define(TDS_LOG_FAIL, 6).
-define(TDS_LOG_NEGOTIATE, 7).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% TDS 5.0 RowFmt Token Status Flags %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-define(TDS_ROW_HIDDEN, 1).
-define(TDS_ROW_KEY, 2).
-define(TDS_ROW_VERSION, 4).
-define(TDS_ROW_COLUMNSTATUS, 8).
-define(TDS_ROW_UPDATABLE, 16).
-define(TDS_ROW_NULLALLOWED, 32).
-define(TDS_ROW_IDENTITY, 64).
-define(TDS_ROW_PADCHAR, 128).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% TDS 5.0 ParamFmt Token Status Flags %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-define(TDS_PARAM_RETURN, 1).
-define(TDS_PARAM_COLUMNSTATUS, 8).
-define(TDS_PARAM_NULLALLOWED, 32).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% TDS 5.0 Dynamic Token Operation Types %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-define(TDS_DYN_PREPARE, 1). %% This is a request to prepare stmt
-define(TDS_DYN_EXEC, 2). %% This is a request to execute a prepared statement
-define(TDS_DYN_DEALLOC, 4). %% Request to deallocate a prepared statement
-define(TDS_DYN_EXEC_IMMED, 8). %% This a request to prepare and execute stmt immediately
-define(TDS_DYN_PROCNAME, 16). %% It this used? If so what for?
-define(TDS_DYN_ACK, 32). %% Acknowledge a dynamic command
-define(TDS_DYN_DESCIN, 64). %% Send input format description
-define(TDS_DYN_DESCOUT, 128). %% Send output format description
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% TDS 5.0 Dynamic Token Status Flags %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-define(TDS_DYNAMIC_UNUSED, 0). %% No status associated with this dynamic command
-define(TDS_DYNAMIC_HASARGS, 1). %% Parameter data stream follows the dynamic command
-define(TDS_DYNAMIC_SUPPRESS_FMT, 2). %% If this statement, as identified by id,
%% has previously sent TDS_ROWFMT information
%% and this information has not changed,
%% do not resend TDS_ROWFMT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% TDS 5.0 DBRPC Token Options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-define(TDS_RPC_UNUSED, 0).
-define(TDS_RPC_RECOMPILE, 1).
-define(TDS_RPC_PARAMS, 2).