Artifact e13dc9b878fc2ab3cc88c0a8fc4c332225955b9b
- File
src/win32/sqltypes.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
/***********************************************************************\ * sqltypes.d * * * * Windows API header module * * * * Translated from MinGW Windows headers * * * * Placed into public domain * \***********************************************************************/ module win32.sqltypes; /* Conversion notes: It's assumed that ODBC >= 0x0300. */ private import win32.windef; private import win32.basetyps; // for GUID alias byte SCHAR, SQLSCHAR; alias int SDWORD, SLONG, SQLINTEGER; alias short SWORD, SSHORT, RETCODE, SQLSMALLINT; alias ULONG UDWORD; alias USHORT UWORD, SQLUSMALLINT; alias double SDOUBLE, LDOUBLE; alias float SFLOAT; alias PVOID PTR, HENV, HDBC, HSTMT, SQLPOINTER; alias UCHAR SQLCHAR; // #ifndef _WIN64 alias UDWORD SQLUINTEGER; // #endif //static if (ODBCVER >= 0x0300) { alias TypeDef!(HANDLE) SQLHANDLE; alias SQLHANDLE SQLHENV, SQLHDBC, SQLHSTMT, SQLHDESC; /* } else { alias void* SQLHENV; alias void* SQLHDBC; alias void* SQLHSTMT; } */ alias SQLSMALLINT SQLRETURN; alias HWND SQLHWND; alias ULONG BOOKMARK; alias SQLINTEGER SQLLEN, SQLROWOFFSET; alias SQLUINTEGER SQLROWCOUNT, SQLULEN; alias DWORD SQLTRANSID; alias SQLUSMALLINT SQLSETPOSIROW; alias wchar SQLWCHAR; version(Unicode) { alias SQLWCHAR SQLTCHAR; } else { alias SQLCHAR SQLTCHAR; } //static if (ODBCVER >= 0x0300) { alias ubyte SQLDATE, SQLDECIMAL; alias double SQLDOUBLE, SQLFLOAT; alias ubyte SQLNUMERIC; alias float SQLREAL; alias ubyte SQLTIME, SQLTIMESTAMP, SQLVARCHAR; alias long ODBCINT64, SQLBIGINT; alias ulong SQLUBIGINT; //} struct DATE_STRUCT { SQLSMALLINT year; SQLUSMALLINT month; SQLUSMALLINT day; } struct TIME_STRUCT { SQLUSMALLINT hour; SQLUSMALLINT minute; SQLUSMALLINT second; } struct TIMESTAMP_STRUCT { SQLSMALLINT year; SQLUSMALLINT month; SQLUSMALLINT day; SQLUSMALLINT hour; SQLUSMALLINT minute; SQLUSMALLINT second; SQLUINTEGER fraction; } //static if (ODBCVER >= 0x0300) { alias DATE_STRUCT SQL_DATE_STRUCT; alias TIME_STRUCT SQL_TIME_STRUCT; alias TIMESTAMP_STRUCT SQL_TIMESTAMP_STRUCT; enum SQLINTERVAL { SQL_IS_YEAR = 1, SQL_IS_MONTH, SQL_IS_DAY, SQL_IS_HOUR, SQL_IS_MINUTE, SQL_IS_SECOND, SQL_IS_YEAR_TO_MONTH, SQL_IS_DAY_TO_HOUR, SQL_IS_DAY_TO_MINUTE, SQL_IS_DAY_TO_SECOND, SQL_IS_HOUR_TO_MINUTE, SQL_IS_HOUR_TO_SECOND, SQL_IS_MINUTE_TO_SECOND } struct SQL_YEAR_MONTH_STRUCT { SQLUINTEGER year; SQLUINTEGER month; } struct SQL_DAY_SECOND_STRUCT { SQLUINTEGER day; SQLUINTEGER hour; SQLUINTEGER minute; SQLUINTEGER second; SQLUINTEGER fraction; } struct SQL_INTERVAL_STRUCT { SQLINTERVAL interval_type; SQLSMALLINT interval_sign; union _intval { SQL_YEAR_MONTH_STRUCT year_month; SQL_DAY_SECOND_STRUCT day_second; } _intval intval; } const SQL_MAX_NUMERIC_LEN = 16; struct SQL_NUMERIC_STRUCT { SQLCHAR precision; SQLSCHAR scale; SQLCHAR sign; SQLCHAR[SQL_MAX_NUMERIC_LEN] val; } // } ODBCVER >= 0x0300 alias GUID SQLGUID;