2 * Windows API header module
4 * Translated from MinGW Windows headers
6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
7 * Source: $(DRUNTIMESRC core/sys/windows/_sqltypes.d)
9 module core.sys.windows.sqltypes;
12 version (ANSI) {} else version = Unicode;
15 It's assumed that ODBC >= 0x0300.
18 import core.sys.windows.windef;
19 import core.sys.windows.basetyps; // for GUID
21 alias byte SCHAR, SQLSCHAR;
22 alias int SDWORD, SLONG, SQLINTEGER;
23 alias short SWORD, SSHORT, RETCODE, SQLSMALLINT;
25 alias USHORT UWORD, SQLUSMALLINT;
26 alias double SDOUBLE, LDOUBLE;
28 alias PVOID PTR, HENV, HDBC, HSTMT, SQLPOINTER;
31 alias UDWORD SQLUINTEGER;
34 //static if (ODBCVER >= 0x0300) {
35 alias HANDLE SQLHANDLE;
36 alias SQLHANDLE SQLHENV, SQLHDBC, SQLHSTMT, SQLHDESC;
44 alias SQLSMALLINT SQLRETURN;
48 alias SQLINTEGER SQLLEN, SQLROWOFFSET;
49 alias SQLUINTEGER SQLROWCOUNT, SQLULEN;
50 alias DWORD SQLTRANSID;
51 alias SQLUSMALLINT SQLSETPOSIROW;
55 alias SQLWCHAR SQLTCHAR;
57 alias SQLCHAR SQLTCHAR;
59 //static if (ODBCVER >= 0x0300) {
60 alias ubyte SQLDATE, SQLDECIMAL;
61 alias double SQLDOUBLE, SQLFLOAT;
62 alias ubyte SQLNUMERIC;
64 alias ubyte SQLTIME, SQLTIMESTAMP, SQLVARCHAR;
65 alias long ODBCINT64, SQLBIGINT;
66 alias ulong SQLUBIGINT;
81 struct TIMESTAMP_STRUCT {
91 //static if (ODBCVER >= 0x0300) {
92 alias DATE_STRUCT SQL_DATE_STRUCT;
93 alias TIME_STRUCT SQL_TIME_STRUCT;
94 alias TIMESTAMP_STRUCT SQL_TIMESTAMP_STRUCT;
103 SQL_IS_YEAR_TO_MONTH,
105 SQL_IS_DAY_TO_MINUTE,
106 SQL_IS_DAY_TO_SECOND,
107 SQL_IS_HOUR_TO_MINUTE,
108 SQL_IS_HOUR_TO_SECOND,
109 SQL_IS_MINUTE_TO_SECOND
112 struct SQL_YEAR_MONTH_STRUCT {
117 struct SQL_DAY_SECOND_STRUCT {
122 SQLUINTEGER fraction;
125 struct SQL_INTERVAL_STRUCT {
126 SQLINTERVAL interval_type;
127 SQLSMALLINT interval_sign;
129 SQL_YEAR_MONTH_STRUCT year_month;
130 SQL_DAY_SECOND_STRUCT day_second;
135 enum SQL_MAX_NUMERIC_LEN = 16;
137 struct SQL_NUMERIC_STRUCT {
141 SQLCHAR[SQL_MAX_NUMERIC_LEN] val;
143 // } ODBCVER >= 0x0300