else
-PHOBOS_DSOURCES = etc/c/curl.d etc/c/zlib.d std/algorithm/comparison.d \
- std/algorithm/internal.d std/algorithm/iteration.d \
- std/algorithm/mutation.d std/algorithm/package.d \
- std/algorithm/searching.d std/algorithm/setops.d \
- std/algorithm/sorting.d std/array.d std/ascii.d std/base64.d \
- std/bigint.d std/bitmanip.d std/checkedint.d std/compiler.d \
- std/complex.d std/concurrency.d std/container/array.d \
+PHOBOS_DSOURCES = etc/c/curl.d etc/c/odbc/odbc32.d etc/c/odbc/odbc64.d \
+ etc/c/odbc/package.d etc/c/odbc/sql.d etc/c/odbc/sqlext.d \
+ etc/c/odbc/sqltypes.d etc/c/odbc/sqlucode.d etc/c/sqlite3.d \
+ etc/c/zlib.d std/algorithm/comparison.d std/algorithm/internal.d \
+ std/algorithm/iteration.d std/algorithm/mutation.d \
+ std/algorithm/package.d std/algorithm/searching.d \
+ std/algorithm/setops.d std/algorithm/sorting.d std/array.d std/ascii.d \
+ std/base64.d std/bigint.d std/bitmanip.d std/checkedint.d \
+ std/compiler.d std/complex.d std/concurrency.d std/container/array.d \
std/container/binaryheap.d std/container/dlist.d \
std/container/package.d std/container/rbtree.d std/container/slist.d \
std/container/util.d std/conv.d std/csv.d std/datetime/date.d \
am__DEPENDENCIES_1 =
am__dirstamp = $(am__leading_dot)dirstamp
@ENABLE_LIBDRUNTIME_ONLY_FALSE@am__objects_1 = etc/c/curl.lo \
-@ENABLE_LIBDRUNTIME_ONLY_FALSE@ etc/c/zlib.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ etc/c/odbc/odbc32.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ etc/c/odbc/odbc64.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ etc/c/odbc/package.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ etc/c/odbc/sql.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ etc/c/odbc/sqlext.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ etc/c/odbc/sqltypes.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ etc/c/odbc/sqlucode.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ etc/c/sqlite3.lo etc/c/zlib.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/comparison.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/internal.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/iteration.lo \
$(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \
$(libgphobos_la_LDFLAGS) $(LDFLAGS) -o $@
-@ENABLE_LIBDRUNTIME_ONLY_FALSE@PHOBOS_DSOURCES = etc/c/curl.d etc/c/zlib.d std/algorithm/comparison.d \
-@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/internal.d std/algorithm/iteration.d \
-@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/mutation.d std/algorithm/package.d \
-@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/searching.d std/algorithm/setops.d \
-@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/sorting.d std/array.d std/ascii.d std/base64.d \
-@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/bigint.d std/bitmanip.d std/checkedint.d std/compiler.d \
-@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/complex.d std/concurrency.d std/container/array.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@PHOBOS_DSOURCES = etc/c/curl.d etc/c/odbc/odbc32.d etc/c/odbc/odbc64.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ etc/c/odbc/package.d etc/c/odbc/sql.d etc/c/odbc/sqlext.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ etc/c/odbc/sqltypes.d etc/c/odbc/sqlucode.d etc/c/sqlite3.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ etc/c/zlib.d std/algorithm/comparison.d std/algorithm/internal.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/iteration.d std/algorithm/mutation.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/package.d std/algorithm/searching.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/setops.d std/algorithm/sorting.d std/array.d std/ascii.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/base64.d std/bigint.d std/bitmanip.d std/checkedint.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/compiler.d std/complex.d std/concurrency.d std/container/array.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/container/binaryheap.d std/container/dlist.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/container/package.d std/container/rbtree.d std/container/slist.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/container/util.d std/conv.d std/csv.d std/datetime/date.d \
@$(MKDIR_P) etc/c
@: > etc/c/$(am__dirstamp)
etc/c/curl.lo: etc/c/$(am__dirstamp)
+etc/c/odbc/$(am__dirstamp):
+ @$(MKDIR_P) etc/c/odbc
+ @: > etc/c/odbc/$(am__dirstamp)
+etc/c/odbc/odbc32.lo: etc/c/odbc/$(am__dirstamp)
+etc/c/odbc/odbc64.lo: etc/c/odbc/$(am__dirstamp)
+etc/c/odbc/package.lo: etc/c/odbc/$(am__dirstamp)
+etc/c/odbc/sql.lo: etc/c/odbc/$(am__dirstamp)
+etc/c/odbc/sqlext.lo: etc/c/odbc/$(am__dirstamp)
+etc/c/odbc/sqltypes.lo: etc/c/odbc/$(am__dirstamp)
+etc/c/odbc/sqlucode.lo: etc/c/odbc/$(am__dirstamp)
+etc/c/sqlite3.lo: etc/c/$(am__dirstamp)
etc/c/zlib.lo: etc/c/$(am__dirstamp)
std/algorithm/$(am__dirstamp):
@$(MKDIR_P) std/algorithm
-rm -f *.$(OBJEXT)
-rm -f etc/c/*.$(OBJEXT)
-rm -f etc/c/*.lo
+ -rm -f etc/c/odbc/*.$(OBJEXT)
+ -rm -f etc/c/odbc/*.lo
-rm -f std/*.$(OBJEXT)
-rm -f std/*.lo
-rm -f std/algorithm/*.$(OBJEXT)
clean-libtool:
-rm -rf .libs _libs
-rm -rf etc/c/.libs etc/c/_libs
+ -rm -rf etc/c/odbc/.libs etc/c/odbc/_libs
-rm -rf std/.libs std/_libs
-rm -rf std/algorithm/.libs std/algorithm/_libs
-rm -rf std/container/.libs std/container/_libs
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-rm -f etc/c/$(am__dirstamp)
+ -rm -f etc/c/odbc/$(am__dirstamp)
-rm -f std/$(am__dirstamp)
-rm -f std/algorithm/$(am__dirstamp)
-rm -f std/container/$(am__dirstamp)
--- /dev/null
+module etc.c.odbc.odbc32;
+public:
+
+extern (C)
+{
+ alias SQLCHAR = ubyte;
+ alias SQLSCHAR = byte;
+ alias SQLDATE = ubyte;
+ alias SQLDECIMAL = ubyte;
+ alias SQLDOUBLE = double;
+ alias SQLFLOAT = double;
+ alias SQLINTEGER = int;
+ alias SQLUINTEGER = uint;
+ alias SQLNUMERIC = ubyte;
+ alias SQLPOINTER = void*;
+ alias SQLREAL = float;
+ alias SQLSMALLINT = short;
+ alias SQLUSMALLINT = ushort;
+ alias SQLTIME = ubyte;
+ alias SQLTIMESTAMP = ubyte;
+ alias SQLVARCHAR = ubyte;
+ alias SQLTIMEWITHTIMEZONE = ubyte;
+ alias SQLTIMESTAMPWITHTIMEZONE = ubyte;
+ alias SQLRETURN = short;
+ alias SQLHANDLE = int;
+ alias SQLHENV = int;
+ alias SQLHDBC = int;
+ alias SQLHSTMT = int;
+ alias SQLHDESC = int;
+ alias RETCODE = short;
+ alias SQLHWND = void*;
+ struct tagDATE_STRUCT
+ {
+ SQLSMALLINT year = void;
+ SQLUSMALLINT month = void;
+ SQLUSMALLINT day = void;
+ }
+ alias DATE_STRUCT = tagDATE_STRUCT;
+ alias SQL_DATE_STRUCT = tagDATE_STRUCT;
+ struct tagTIME_STRUCT
+ {
+ SQLUSMALLINT hour = void;
+ SQLUSMALLINT minute = void;
+ SQLUSMALLINT second = void;
+ }
+ alias TIME_STRUCT = tagTIME_STRUCT;
+ alias SQL_TIME_STRUCT = tagTIME_STRUCT;
+ struct tagTIMESTAMP_STRUCT
+ {
+ SQLSMALLINT year = void;
+ SQLUSMALLINT month = void;
+ SQLUSMALLINT day = void;
+ SQLUSMALLINT hour = void;
+ SQLUSMALLINT minute = void;
+ SQLUSMALLINT second = void;
+ SQLUINTEGER fraction = void;
+ }
+ alias TIMESTAMP_STRUCT = tagTIMESTAMP_STRUCT;
+ alias SQL_TIMESTAMP_STRUCT = tagTIMESTAMP_STRUCT;
+ struct tagTIME_WITH_TIMEZONE_STRUCT
+ {
+ SQLUSMALLINT hour = void;
+ SQLUSMALLINT minute = void;
+ SQLUSMALLINT second = void;
+ SQLSMALLINT timezone_hours = void;
+ SQLUSMALLINT timezone_minutes = void;
+ }
+ alias TIME_WITH_TIMEZONE_STRUCT = tagTIME_WITH_TIMEZONE_STRUCT;
+ alias SQL_TIME_WITH_TIMEZONE_STRUCT = tagTIME_WITH_TIMEZONE_STRUCT;
+ struct tagTIMESTAMP_WITH_TIMEZONE_STRUCT
+ {
+ SQLSMALLINT year = void;
+ SQLUSMALLINT month = void;
+ SQLUSMALLINT day = void;
+ SQLUSMALLINT hour = void;
+ SQLUSMALLINT minute = void;
+ SQLUSMALLINT second = void;
+ SQLUINTEGER fraction = void;
+ SQLSMALLINT timezone_hours = void;
+ SQLUSMALLINT timezone_minutes = void;
+ }
+ alias TIMESTAMP_WITH_TIMEZONE_STRUCT = tagTIMESTAMP_WITH_TIMEZONE_STRUCT;
+ alias SQL_TIMESTAMP_WITH_TIMEZONE_STRUCT = tagTIMESTAMP_WITH_TIMEZONE_STRUCT;
+ enum SQLINTERVAL
+ {
+ SQL_IS_YEAR = 1,
+ SQL_IS_MONTH = 2,
+ SQL_IS_DAY = 3,
+ SQL_IS_HOUR = 4,
+ SQL_IS_MINUTE = 5,
+ SQL_IS_SECOND = 6,
+ SQL_IS_YEAR_TO_MONTH = 7,
+ SQL_IS_DAY_TO_HOUR = 8,
+ SQL_IS_DAY_TO_MINUTE = 9,
+ SQL_IS_DAY_TO_SECOND = 10,
+ SQL_IS_HOUR_TO_MINUTE = 11,
+ SQL_IS_HOUR_TO_SECOND = 12,
+ SQL_IS_MINUTE_TO_SECOND = 13,
+ }
+ alias SQL_IS_YEAR = SQLINTERVAL.SQL_IS_YEAR;
+ alias SQL_IS_MONTH = SQLINTERVAL.SQL_IS_MONTH;
+ alias SQL_IS_DAY = SQLINTERVAL.SQL_IS_DAY;
+ alias SQL_IS_HOUR = SQLINTERVAL.SQL_IS_HOUR;
+ alias SQL_IS_MINUTE = SQLINTERVAL.SQL_IS_MINUTE;
+ alias SQL_IS_SECOND = SQLINTERVAL.SQL_IS_SECOND;
+ alias SQL_IS_YEAR_TO_MONTH = SQLINTERVAL.SQL_IS_YEAR_TO_MONTH;
+ alias SQL_IS_DAY_TO_HOUR = SQLINTERVAL.SQL_IS_DAY_TO_HOUR;
+ alias SQL_IS_DAY_TO_MINUTE = SQLINTERVAL.SQL_IS_DAY_TO_MINUTE;
+ alias SQL_IS_DAY_TO_SECOND = SQLINTERVAL.SQL_IS_DAY_TO_SECOND;
+ alias SQL_IS_HOUR_TO_MINUTE = SQLINTERVAL.SQL_IS_HOUR_TO_MINUTE;
+ alias SQL_IS_HOUR_TO_SECOND = SQLINTERVAL.SQL_IS_HOUR_TO_SECOND;
+ alias SQL_IS_MINUTE_TO_SECOND = SQLINTERVAL.SQL_IS_MINUTE_TO_SECOND;
+ struct tagSQL_YEAR_MONTH
+ {
+ SQLUINTEGER year = void;
+ SQLUINTEGER month = void;
+ }
+ alias SQL_YEAR_MONTH_STRUCT = tagSQL_YEAR_MONTH;
+ struct tagSQL_DAY_SECOND
+ {
+ SQLUINTEGER day = void;
+ SQLUINTEGER hour = void;
+ SQLUINTEGER minute = void;
+ SQLUINTEGER second = void;
+ SQLUINTEGER fraction = void;
+ }
+ alias SQL_DAY_SECOND_STRUCT = tagSQL_DAY_SECOND;
+ struct tagSQL_INTERVAL_STRUCT
+ {
+ SQLINTERVAL interval_type = void;
+ SQLSMALLINT interval_sign = void;
+ union intval { SQL_YEAR_MONTH_STRUCT year_month = void; SQL_DAY_SECOND_STRUCT day_second = void; }
+ }
+ alias SQL_INTERVAL_STRUCT = tagSQL_INTERVAL_STRUCT;
+ alias SQLBIGINT = long;
+ alias SQLUBIGINT = ulong;
+ struct tagSQL_NUMERIC_STRUCT
+ {
+ SQLCHAR precision = void;
+ SQLSCHAR scale = void;
+ SQLCHAR sign = void;
+ SQLCHAR[SQL_MAX_NUMERIC_LEN] val = void;
+ }
+ alias SQL_NUMERIC_STRUCT = tagSQL_NUMERIC_STRUCT;
+ struct tagSQLGUID
+ {
+ SQLUINTEGER Data1 = void;
+ SQLUSMALLINT Data2 = void;
+ SQLUSMALLINT Data3 = void;
+ SQLCHAR[8] Data4 = void;
+ }
+ alias SQLGUID = tagSQLGUID;
+ alias BOOKMARK = uint;
+ alias SQLWCHAR = ushort;
+ alias SQLTCHAR = ubyte;
+ nothrow @nogc SQLRETURN SQLAllocConnect(SQLHENV EnvironmentHandle, SQLHDBC* ConnectionHandle);
+ nothrow @nogc SQLRETURN SQLAllocEnv(SQLHENV* EnvironmentHandle);
+ nothrow @nogc SQLRETURN SQLAllocHandle(SQLSMALLINT HandleType, SQLHANDLE InputHandle, SQLHANDLE* OutputHandle);
+ nothrow @nogc SQLRETURN SQLAllocStmt(SQLHDBC ConnectionHandle, SQLHSTMT* StatementHandle);
+ nothrow @nogc SQLRETURN SQLBindCol(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType, SQLPOINTER TargetValue, SQLINTEGER BufferLength, SQLINTEGER* StrLen_or_Ind);
+ deprecated("ODBC API: SQLBindParam is deprecated. Please use SQLBindParameter instead.") deprecated nothrow @nogc SQLRETURN SQLBindParam(SQLHSTMT StatementHandle, SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType, SQLSMALLINT ParameterType, SQLUINTEGER LengthPrecision, SQLSMALLINT ParameterScale, SQLPOINTER ParameterValue, SQLINTEGER* StrLen_or_Ind);
+ nothrow @nogc SQLRETURN SQLCancel(SQLHSTMT StatementHandle);
+ nothrow @nogc SQLRETURN SQLCancelHandle(SQLSMALLINT HandleType, SQLHANDLE InputHandle);
+ nothrow @nogc SQLRETURN SQLCloseCursor(SQLHSTMT StatementHandle);
+ nothrow @nogc SQLRETURN SQLColAttribute(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier, SQLPOINTER CharacterAttribute, SQLSMALLINT BufferLength, SQLSMALLINT* StringLength, SQLPOINTER NumericAttribute);
+ nothrow @nogc SQLRETURN SQLColumns(SQLHSTMT StatementHandle, SQLCHAR* CatalogName, SQLSMALLINT NameLength1, SQLCHAR* SchemaName, SQLSMALLINT NameLength2, SQLCHAR* TableName, SQLSMALLINT NameLength3, SQLCHAR* ColumnName, SQLSMALLINT NameLength4);
+ nothrow @nogc SQLRETURN SQLCompleteAsync(SQLSMALLINT HandleType, SQLHANDLE Handle, RETCODE* AsyncRetCodePtr);
+ nothrow @nogc SQLRETURN SQLConnect(SQLHDBC ConnectionHandle, SQLCHAR* ServerName, SQLSMALLINT NameLength1, SQLCHAR* UserName, SQLSMALLINT NameLength2, SQLCHAR* Authentication, SQLSMALLINT NameLength3);
+ nothrow @nogc SQLRETURN SQLCopyDesc(SQLHDESC SourceDescHandle, SQLHDESC TargetDescHandle);
+ nothrow @nogc SQLRETURN SQLDataSources(SQLHENV EnvironmentHandle, SQLUSMALLINT Direction, SQLCHAR* ServerName, SQLSMALLINT BufferLength1, SQLSMALLINT* NameLength1Ptr, SQLCHAR* Description, SQLSMALLINT BufferLength2, SQLSMALLINT* NameLength2Ptr);
+ nothrow @nogc SQLRETURN SQLDescribeCol(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLCHAR* ColumnName, SQLSMALLINT BufferLength, SQLSMALLINT* NameLength, SQLSMALLINT* DataType, SQLUINTEGER* ColumnSize, SQLSMALLINT* DecimalDigits, SQLSMALLINT* Nullable);
+ nothrow @nogc SQLRETURN SQLDisconnect(SQLHDBC ConnectionHandle);
+ nothrow @nogc SQLRETURN SQLEndTran(SQLSMALLINT HandleType, SQLHANDLE Handle, SQLSMALLINT CompletionType);
+ nothrow @nogc SQLRETURN SQLError(SQLHENV EnvironmentHandle, SQLHDBC ConnectionHandle, SQLHSTMT StatementHandle, SQLCHAR* Sqlstate, SQLINTEGER* NativeError, SQLCHAR* MessageText, SQLSMALLINT BufferLength, SQLSMALLINT* TextLength);
+ nothrow @nogc SQLRETURN SQLExecDirect(SQLHSTMT StatementHandle, SQLCHAR* StatementText, SQLINTEGER TextLength);
+ nothrow @nogc SQLRETURN SQLExecute(SQLHSTMT StatementHandle);
+ nothrow @nogc SQLRETURN SQLFetch(SQLHSTMT StatementHandle);
+ nothrow @nogc SQLRETURN SQLFetchScroll(SQLHSTMT StatementHandle, SQLSMALLINT FetchOrientation, SQLINTEGER FetchOffset);
+ nothrow @nogc SQLRETURN SQLFreeConnect(SQLHDBC ConnectionHandle);
+ nothrow @nogc SQLRETURN SQLFreeEnv(SQLHENV EnvironmentHandle);
+ nothrow @nogc SQLRETURN SQLFreeHandle(SQLSMALLINT HandleType, SQLHANDLE Handle);
+ nothrow @nogc SQLRETURN SQLFreeStmt(SQLHSTMT StatementHandle, SQLUSMALLINT Option);
+ nothrow @nogc SQLRETURN SQLGetConnectAttr(SQLHDBC ConnectionHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER BufferLength, SQLINTEGER* StringLengthPtr);
+ deprecated("ODBC API: SQLGetConnectOption is deprecated. Please use SQLGetConnectAttr instead.") deprecated nothrow @nogc SQLRETURN SQLGetConnectOption(SQLHDBC ConnectionHandle, SQLUSMALLINT Option, SQLPOINTER Value);
+ nothrow @nogc SQLRETURN SQLGetCursorName(SQLHSTMT StatementHandle, SQLCHAR* CursorName, SQLSMALLINT BufferLength, SQLSMALLINT* NameLengthPtr);
+ nothrow @nogc SQLRETURN SQLGetData(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType, SQLPOINTER TargetValue, SQLINTEGER BufferLength, SQLINTEGER* StrLen_or_IndPtr);
+ nothrow @nogc SQLRETURN SQLGetDescField(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier, SQLPOINTER Value, SQLINTEGER BufferLength, SQLINTEGER* StringLength);
+ nothrow @nogc SQLRETURN SQLGetDescRec(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, SQLCHAR* Name, SQLSMALLINT BufferLength, SQLSMALLINT* StringLengthPtr, SQLSMALLINT* TypePtr, SQLSMALLINT* SubTypePtr, SQLINTEGER* LengthPtr, SQLSMALLINT* PrecisionPtr, SQLSMALLINT* ScalePtr, SQLSMALLINT* NullablePtr);
+ nothrow @nogc SQLRETURN SQLGetDiagField(SQLSMALLINT HandleType, SQLHANDLE Handle, SQLSMALLINT RecNumber, SQLSMALLINT DiagIdentifier, SQLPOINTER DiagInfo, SQLSMALLINT BufferLength, SQLSMALLINT* StringLength);
+ nothrow @nogc SQLRETURN SQLGetDiagRec(SQLSMALLINT HandleType, SQLHANDLE Handle, SQLSMALLINT RecNumber, SQLCHAR* Sqlstate, SQLINTEGER* NativeError, SQLCHAR* MessageText, SQLSMALLINT BufferLength, SQLSMALLINT* TextLength);
+ nothrow @nogc SQLRETURN SQLGetEnvAttr(SQLHENV EnvironmentHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER BufferLength, SQLINTEGER* StringLength);
+ nothrow @nogc SQLRETURN SQLGetFunctions(SQLHDBC ConnectionHandle, SQLUSMALLINT FunctionId, SQLUSMALLINT* Supported);
+ nothrow @nogc SQLRETURN SQLGetInfo(SQLHDBC ConnectionHandle, SQLUSMALLINT InfoType, SQLPOINTER InfoValue, SQLSMALLINT BufferLength, SQLSMALLINT* StringLengthPtr);
+ nothrow @nogc SQLRETURN SQLGetStmtAttr(SQLHSTMT StatementHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER BufferLength, SQLINTEGER* StringLength);
+ deprecated("ODBC API: SQLGetStmtOption is deprecated. Please use SQLGetStmtAttr instead.") deprecated nothrow @nogc SQLRETURN SQLGetStmtOption(SQLHSTMT StatementHandle, SQLUSMALLINT Option, SQLPOINTER Value);
+ nothrow @nogc SQLRETURN SQLGetTypeInfo(SQLHSTMT StatementHandle, SQLSMALLINT DataType);
+ nothrow @nogc SQLRETURN SQLNumResultCols(SQLHSTMT StatementHandle, SQLSMALLINT* ColumnCount);
+ nothrow @nogc SQLRETURN SQLParamData(SQLHSTMT StatementHandle, SQLPOINTER* Value);
+ nothrow @nogc SQLRETURN SQLPrepare(SQLHSTMT StatementHandle, SQLCHAR* StatementText, SQLINTEGER TextLength);
+ nothrow @nogc SQLRETURN SQLPutData(SQLHSTMT StatementHandle, SQLPOINTER Data, SQLINTEGER StrLen_or_Ind);
+ nothrow @nogc SQLRETURN SQLRowCount(SQLHSTMT StatementHandle, SQLINTEGER* RowCount);
+ nothrow @nogc SQLRETURN SQLSetConnectAttr(SQLHDBC ConnectionHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER StringLength);
+ deprecated("ODBC API: SQLSetConnectOption is deprecated. Please use SQLSetConnectAttr instead.") deprecated nothrow @nogc SQLRETURN SQLSetConnectOption(SQLHDBC ConnectionHandle, SQLUSMALLINT Option, SQLUINTEGER Value);
+ nothrow @nogc SQLRETURN SQLSetCursorName(SQLHSTMT StatementHandle, SQLCHAR* CursorName, SQLSMALLINT NameLength);
+ nothrow @nogc SQLRETURN SQLSetDescField(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier, SQLPOINTER Value, SQLINTEGER BufferLength);
+ nothrow @nogc SQLRETURN SQLSetDescRec(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, SQLSMALLINT Type, SQLSMALLINT SubType, SQLINTEGER Length, SQLSMALLINT Precision, SQLSMALLINT Scale, SQLPOINTER Data, SQLINTEGER* StringLength, SQLINTEGER* Indicator);
+ nothrow @nogc SQLRETURN SQLSetEnvAttr(SQLHENV EnvironmentHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER StringLength);
+ deprecated("ODBC API: SQLSetParam is deprecated. Please use SQLBindParameter instead.") deprecated nothrow @nogc SQLRETURN SQLSetParam(SQLHSTMT StatementHandle, SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType, SQLSMALLINT ParameterType, SQLUINTEGER LengthPrecision, SQLSMALLINT ParameterScale, SQLPOINTER ParameterValue, SQLINTEGER* StrLen_or_Ind);
+ nothrow @nogc SQLRETURN SQLSetStmtAttr(SQLHSTMT StatementHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER StringLength);
+ deprecated("ODBC API: SQLSetStmtOption is deprecated. Please use SQLSetStmtAttr instead.") deprecated nothrow @nogc SQLRETURN SQLSetStmtOption(SQLHSTMT StatementHandle, SQLUSMALLINT Option, SQLUINTEGER Value);
+ nothrow @nogc SQLRETURN SQLSpecialColumns(SQLHSTMT StatementHandle, SQLUSMALLINT IdentifierType, SQLCHAR* CatalogName, SQLSMALLINT NameLength1, SQLCHAR* SchemaName, SQLSMALLINT NameLength2, SQLCHAR* TableName, SQLSMALLINT NameLength3, SQLUSMALLINT Scope, SQLUSMALLINT Nullable);
+ nothrow @nogc SQLRETURN SQLStatistics(SQLHSTMT StatementHandle, SQLCHAR* CatalogName, SQLSMALLINT NameLength1, SQLCHAR* SchemaName, SQLSMALLINT NameLength2, SQLCHAR* TableName, SQLSMALLINT NameLength3, SQLUSMALLINT Unique, SQLUSMALLINT Reserved);
+ nothrow @nogc SQLRETURN SQLTables(SQLHSTMT StatementHandle, SQLCHAR* CatalogName, SQLSMALLINT NameLength1, SQLCHAR* SchemaName, SQLSMALLINT NameLength2, SQLCHAR* TableName, SQLSMALLINT NameLength3, SQLCHAR* TableType, SQLSMALLINT NameLength4);
+ nothrow @nogc SQLRETURN SQLTransact(SQLHENV EnvironmentHandle, SQLHDBC ConnectionHandle, SQLUSMALLINT CompletionType);
+ alias SQLSTATE = ubyte[SQL_SQLSTATE_SIZE + 1];
+ nothrow @nogc SQLRETURN SQLDriverConnect(SQLHDBC hdbc, SQLHWND hwnd, SQLCHAR* szConnStrIn, SQLSMALLINT cchConnStrIn, SQLCHAR* szConnStrOut, SQLSMALLINT cchConnStrOutMax, SQLSMALLINT* pcchConnStrOut, SQLUSMALLINT fDriverCompletion);
+ nothrow @nogc SQLRETURN SQLBrowseConnect(SQLHDBC hdbc, SQLCHAR* szConnStrIn, SQLSMALLINT cchConnStrIn, SQLCHAR* szConnStrOut, SQLSMALLINT cchConnStrOutMax, SQLSMALLINT* pcchConnStrOut);
+ nothrow @nogc SQLRETURN SQLBulkOperations(SQLHSTMT StatementHandle, SQLSMALLINT Operation);
+ nothrow @nogc SQLRETURN SQLColAttributes(SQLHSTMT hstmt, SQLUSMALLINT icol, SQLUSMALLINT fDescType, SQLPOINTER rgbDesc, SQLSMALLINT cbDescMax, SQLSMALLINT* pcbDesc, SQLINTEGER* pfDesc);
+ nothrow @nogc SQLRETURN SQLColumnPrivileges(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLCHAR* szTableName, SQLSMALLINT cchTableName, SQLCHAR* szColumnName, SQLSMALLINT cchColumnName);
+ nothrow @nogc SQLRETURN SQLDescribeParam(SQLHSTMT hstmt, SQLUSMALLINT ipar, SQLSMALLINT* pfSqlType, SQLUINTEGER* pcbParamDef, SQLSMALLINT* pibScale, SQLSMALLINT* pfNullable);
+ nothrow @nogc SQLRETURN SQLExtendedFetch(SQLHSTMT hstmt, SQLUSMALLINT fFetchType, SQLINTEGER irow, SQLUINTEGER* pcrow, SQLUSMALLINT* rgfRowStatus);
+ nothrow @nogc SQLRETURN SQLForeignKeys(SQLHSTMT hstmt, SQLCHAR* szPkCatalogName, SQLSMALLINT cchPkCatalogName, SQLCHAR* szPkSchemaName, SQLSMALLINT cchPkSchemaName, SQLCHAR* szPkTableName, SQLSMALLINT cchPkTableName, SQLCHAR* szFkCatalogName, SQLSMALLINT cchFkCatalogName, SQLCHAR* szFkSchemaName, SQLSMALLINT cchFkSchemaName, SQLCHAR* szFkTableName, SQLSMALLINT cchFkTableName);
+ nothrow @nogc SQLRETURN SQLMoreResults(SQLHSTMT hstmt);
+ nothrow @nogc SQLRETURN SQLNativeSql(SQLHDBC hdbc, SQLCHAR* szSqlStrIn, SQLINTEGER cchSqlStrIn, SQLCHAR* szSqlStr, SQLINTEGER cchSqlStrMax, SQLINTEGER* pcbSqlStr);
+ nothrow @nogc SQLRETURN SQLNumParams(SQLHSTMT hstmt, SQLSMALLINT* pcpar);
+ nothrow @nogc SQLRETURN SQLParamOptions(SQLHSTMT hstmt, SQLUINTEGER crow, SQLUINTEGER* pirow);
+ nothrow @nogc SQLRETURN SQLPrimaryKeys(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLCHAR* szTableName, SQLSMALLINT cchTableName);
+ nothrow @nogc SQLRETURN SQLProcedureColumns(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLCHAR* szProcName, SQLSMALLINT cchProcName, SQLCHAR* szColumnName, SQLSMALLINT cchColumnName);
+ nothrow @nogc SQLRETURN SQLProcedures(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLCHAR* szProcName, SQLSMALLINT cchProcName);
+ nothrow @nogc SQLRETURN SQLSetPos(SQLHSTMT hstmt, SQLUSMALLINT irow, SQLUSMALLINT fOption, SQLUSMALLINT fLock);
+ nothrow @nogc SQLRETURN SQLTablePrivileges(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLCHAR* szTableName, SQLSMALLINT cchTableName);
+ nothrow @nogc SQLRETURN SQLDrivers(SQLHENV henv, SQLUSMALLINT fDirection, SQLCHAR* szDriverDesc, SQLSMALLINT cchDriverDescMax, SQLSMALLINT* pcchDriverDesc, SQLCHAR* szDriverAttributes, SQLSMALLINT cchDrvrAttrMax, SQLSMALLINT* pcchDrvrAttr);
+ nothrow @nogc SQLRETURN SQLBindParameter(SQLHSTMT hstmt, SQLUSMALLINT ipar, SQLSMALLINT fParamType, SQLSMALLINT fCType, SQLSMALLINT fSqlType, SQLUINTEGER cbColDef, SQLSMALLINT ibScale, SQLPOINTER rgbValue, SQLINTEGER cbValueMax, SQLINTEGER* pcbValue);
+ nothrow @nogc SQLRETURN SQLAllocHandle(SQLSMALLINT HandleType, SQLHANDLE InputHandle, SQLHANDLE* OutputHandle);
+ nothrow @nogc SQLRETURN SQLGetNestedHandle(SQLHSTMT ParentStatementHandle, SQLUSMALLINT Col_or_Param_Num, SQLHSTMT* OutputChildStatementHandle);
+ nothrow @nogc SQLRETURN SQLStructuredTypes(SQLHSTMT StatementHandle, SQLCHAR* CatalogName, SQLSMALLINT NameLength1, SQLCHAR* SchemaName, SQLSMALLINT NameLength2, SQLCHAR* TypeName, SQLSMALLINT NameLength3);
+ nothrow @nogc SQLRETURN SQLStructuredTypeColumns(SQLHSTMT StatementHandle, SQLCHAR* CatalogName, SQLSMALLINT NameLength1, SQLCHAR* SchemaName, SQLSMALLINT NameLength2, SQLCHAR* TypeName, SQLSMALLINT NameLength3, SQLCHAR* ColumnName, SQLSMALLINT NameLength4);
+ nothrow @nogc SQLRETURN SQLNextColumn(SQLHSTMT StatementHandle, SQLUSMALLINT* ColumnCount);
+ nothrow @nogc SQLRETURN SQLAllocHandleStd(SQLSMALLINT fHandleType, SQLHANDLE hInput, SQLHANDLE* phOutput);
+ nothrow @nogc SQLRETURN SQLColAttributeW(SQLHSTMT hstmt, SQLUSMALLINT iCol, SQLUSMALLINT iField, SQLPOINTER pCharAttr, SQLSMALLINT cbDescMax, SQLSMALLINT* pcbCharAttr, SQLPOINTER pNumAttr);
+ nothrow @nogc SQLRETURN SQLColAttributesW(SQLHSTMT hstmt, SQLUSMALLINT icol, SQLUSMALLINT fDescType, SQLPOINTER rgbDesc, SQLSMALLINT cbDescMax, SQLSMALLINT* pcbDesc, SQLINTEGER* pfDesc);
+ nothrow @nogc SQLRETURN SQLConnectW(SQLHDBC hdbc, SQLWCHAR* szDSN, SQLSMALLINT cchDSN, SQLWCHAR* szUID, SQLSMALLINT cchUID, SQLWCHAR* szAuthStr, SQLSMALLINT cchAuthStr);
+ nothrow @nogc SQLRETURN SQLDescribeColW(SQLHSTMT hstmt, SQLUSMALLINT icol, SQLWCHAR* szColName, SQLSMALLINT cchColNameMax, SQLSMALLINT* pcchColName, SQLSMALLINT* pfSqlType, SQLUINTEGER* pcbColDef, SQLSMALLINT* pibScale, SQLSMALLINT* pfNullable);
+ nothrow @nogc SQLRETURN SQLErrorW(SQLHENV henv, SQLHDBC hdbc, SQLHSTMT hstmt, SQLWCHAR* wszSqlState, SQLINTEGER* pfNativeError, SQLWCHAR* wszErrorMsg, SQLSMALLINT cchErrorMsgMax, SQLSMALLINT* pcchErrorMsg);
+ nothrow @nogc SQLRETURN SQLExecDirectW(SQLHSTMT hstmt, SQLWCHAR* szSqlStr, SQLINTEGER TextLength);
+ nothrow @nogc SQLRETURN SQLGetConnectAttrW(SQLHDBC hdbc, SQLINTEGER fAttribute, SQLPOINTER rgbValue, SQLINTEGER cbValueMax, SQLINTEGER* pcbValue);
+ nothrow @nogc SQLRETURN SQLGetCursorNameW(SQLHSTMT hstmt, SQLWCHAR* szCursor, SQLSMALLINT cchCursorMax, SQLSMALLINT* pcchCursor);
+ nothrow @nogc SQLRETURN SQLSetDescFieldW(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier, SQLPOINTER Value, SQLINTEGER BufferLength);
+ nothrow @nogc SQLRETURN SQLGetDescFieldW(SQLHDESC hdesc, SQLSMALLINT iRecord, SQLSMALLINT iField, SQLPOINTER rgbValue, SQLINTEGER cbBufferLength, SQLINTEGER* StringLength);
+ nothrow @nogc SQLRETURN SQLGetDescRecW(SQLHDESC hdesc, SQLSMALLINT iRecord, SQLWCHAR* szName, SQLSMALLINT cchNameMax, SQLSMALLINT* pcchName, SQLSMALLINT* pfType, SQLSMALLINT* pfSubType, SQLINTEGER* pLength, SQLSMALLINT* pPrecision, SQLSMALLINT* pScale, SQLSMALLINT* pNullable);
+ nothrow @nogc SQLRETURN SQLGetDiagFieldW(SQLSMALLINT fHandleType, SQLHANDLE handle, SQLSMALLINT iRecord, SQLSMALLINT fDiagField, SQLPOINTER rgbDiagInfo, SQLSMALLINT cbBufferLength, SQLSMALLINT* pcbStringLength);
+ nothrow @nogc SQLRETURN SQLGetDiagRecW(SQLSMALLINT fHandleType, SQLHANDLE handle, SQLSMALLINT iRecord, SQLWCHAR* szSqlState, SQLINTEGER* pfNativeError, SQLWCHAR* szErrorMsg, SQLSMALLINT cchErrorMsgMax, SQLSMALLINT* pcchErrorMsg);
+ nothrow @nogc SQLRETURN SQLPrepareW(SQLHSTMT hstmt, SQLWCHAR* szSqlStr, SQLINTEGER cchSqlStr);
+ nothrow @nogc SQLRETURN SQLSetConnectAttrW(SQLHDBC hdbc, SQLINTEGER fAttribute, SQLPOINTER rgbValue, SQLINTEGER cbValue);
+ nothrow @nogc SQLRETURN SQLSetCursorNameW(SQLHSTMT hstmt, SQLWCHAR* szCursor, SQLSMALLINT cchCursor);
+ nothrow @nogc SQLRETURN SQLColumnsW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTableName, SQLSMALLINT cchTableName, SQLWCHAR* szColumnName, SQLSMALLINT cchColumnName);
+ nothrow @nogc SQLRETURN SQLGetConnectOptionW(SQLHDBC hdbc, SQLUSMALLINT fOption, SQLPOINTER pvParam);
+ nothrow @nogc SQLRETURN SQLGetInfoW(SQLHDBC hdbc, SQLUSMALLINT fInfoType, SQLPOINTER rgbInfoValue, SQLSMALLINT cbInfoValueMax, SQLSMALLINT* pcbInfoValue);
+ nothrow @nogc SQLRETURN SQLGetTypeInfoW(SQLHSTMT StatementHandle, SQLSMALLINT DataType);
+ nothrow @nogc SQLRETURN SQLSetConnectOptionW(SQLHDBC hdbc, SQLUSMALLINT fOption, SQLUINTEGER vParam);
+ nothrow @nogc SQLRETURN SQLSpecialColumnsW(SQLHSTMT hstmt, SQLUSMALLINT fColType, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTableName, SQLSMALLINT cchTableName, SQLUSMALLINT fScope, SQLUSMALLINT fNullable);
+ nothrow @nogc SQLRETURN SQLStatisticsW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTableName, SQLSMALLINT cchTableName, SQLUSMALLINT fUnique, SQLUSMALLINT fAccuracy);
+ nothrow @nogc SQLRETURN SQLTablesW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTableName, SQLSMALLINT cchTableName, SQLWCHAR* szTableType, SQLSMALLINT cchTableType);
+ nothrow @nogc SQLRETURN SQLDataSourcesW(SQLHENV henv, SQLUSMALLINT fDirection, SQLWCHAR* szDSN, SQLSMALLINT cchDSNMax, SQLSMALLINT* pcchDSN, SQLWCHAR* wszDescription, SQLSMALLINT cchDescriptionMax, SQLSMALLINT* pcchDescription);
+ nothrow @nogc SQLRETURN SQLDriverConnectW(SQLHDBC hdbc, SQLHWND hwnd, SQLWCHAR* szConnStrIn, SQLSMALLINT cchConnStrIn, SQLWCHAR* szConnStrOut, SQLSMALLINT cchConnStrOutMax, SQLSMALLINT* pcchConnStrOut, SQLUSMALLINT fDriverCompletion);
+ nothrow @nogc SQLRETURN SQLBrowseConnectW(SQLHDBC hdbc, SQLWCHAR* szConnStrIn, SQLSMALLINT cchConnStrIn, SQLWCHAR* szConnStrOut, SQLSMALLINT cchConnStrOutMax, SQLSMALLINT* pcchConnStrOut);
+ nothrow @nogc SQLRETURN SQLColumnPrivilegesW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTableName, SQLSMALLINT cchTableName, SQLWCHAR* szColumnName, SQLSMALLINT cchColumnName);
+ nothrow @nogc SQLRETURN SQLGetStmtAttrW(SQLHSTMT hstmt, SQLINTEGER fAttribute, SQLPOINTER rgbValue, SQLINTEGER cbValueMax, SQLINTEGER* pcbValue);
+ nothrow @nogc SQLRETURN SQLSetStmtAttrW(SQLHSTMT hstmt, SQLINTEGER fAttribute, SQLPOINTER rgbValue, SQLINTEGER cbValueMax);
+ nothrow @nogc SQLRETURN SQLForeignKeysW(SQLHSTMT hstmt, SQLWCHAR* szPkCatalogName, SQLSMALLINT cchPkCatalogName, SQLWCHAR* szPkSchemaName, SQLSMALLINT cchPkSchemaName, SQLWCHAR* szPkTableName, SQLSMALLINT cchPkTableName, SQLWCHAR* szFkCatalogName, SQLSMALLINT cchFkCatalogName, SQLWCHAR* szFkSchemaName, SQLSMALLINT cchFkSchemaName, SQLWCHAR* szFkTableName, SQLSMALLINT cchFkTableName);
+ nothrow @nogc SQLRETURN SQLNativeSqlW(SQLHDBC hdbc, SQLWCHAR* szSqlStrIn, SQLINTEGER cchSqlStrIn, SQLWCHAR* szSqlStr, SQLINTEGER cchSqlStrMax, SQLINTEGER* pcchSqlStr);
+ nothrow @nogc SQLRETURN SQLPrimaryKeysW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTableName, SQLSMALLINT cchTableName);
+ nothrow @nogc SQLRETURN SQLProcedureColumnsW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szProcName, SQLSMALLINT cchProcName, SQLWCHAR* szColumnName, SQLSMALLINT cchColumnName);
+ nothrow @nogc SQLRETURN SQLProceduresW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szProcName, SQLSMALLINT cchProcName);
+ nothrow @nogc SQLRETURN SQLTablePrivilegesW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTableName, SQLSMALLINT cchTableName);
+ nothrow @nogc SQLRETURN SQLDriversW(SQLHENV henv, SQLUSMALLINT fDirection, SQLWCHAR* szDriverDesc, SQLSMALLINT cchDriverDescMax, SQLSMALLINT* pcchDriverDesc, SQLWCHAR* szDriverAttributes, SQLSMALLINT cchDrvrAttrMax, SQLSMALLINT* pcchDrvrAttr);
+ nothrow @nogc SQLRETURN SQLStructuredTypesW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTypeName, SQLSMALLINT cchTypeName);
+ nothrow @nogc SQLRETURN SQLStructuredTypeColumnsW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTypeName, SQLSMALLINT cchTypeName, SQLWCHAR* szColumnName, SQLSMALLINT cchColumnName);
+ nothrow @nogc SQLRETURN SQLColAttributeA(SQLHSTMT hstmt, SQLSMALLINT iCol, SQLSMALLINT iField, SQLPOINTER pCharAttr, SQLSMALLINT cbCharAttrMax, SQLSMALLINT* pcbCharAttr, SQLPOINTER pNumAttr);
+ nothrow @nogc SQLRETURN SQLColAttributesA(SQLHSTMT hstmt, SQLUSMALLINT icol, SQLUSMALLINT fDescType, SQLPOINTER rgbDesc, SQLSMALLINT cbDescMax, SQLSMALLINT* pcbDesc, SQLINTEGER* pfDesc);
+ nothrow @nogc SQLRETURN SQLConnectA(SQLHDBC hdbc, SQLCHAR* szDSN, SQLSMALLINT cbDSN, SQLCHAR* szUID, SQLSMALLINT cbUID, SQLCHAR* szAuthStr, SQLSMALLINT cbAuthStr);
+ nothrow @nogc SQLRETURN SQLDescribeColA(SQLHSTMT hstmt, SQLUSMALLINT icol, SQLCHAR* szColName, SQLSMALLINT cbColNameMax, SQLSMALLINT* pcbColName, SQLSMALLINT* pfSqlType, SQLUINTEGER* pcbColDef, SQLSMALLINT* pibScale, SQLSMALLINT* pfNullable);
+ nothrow @nogc SQLRETURN SQLErrorA(SQLHENV henv, SQLHDBC hdbc, SQLHSTMT hstmt, SQLCHAR* szSqlState, SQLINTEGER* pfNativeError, SQLCHAR* szErrorMsg, SQLSMALLINT cbErrorMsgMax, SQLSMALLINT* pcbErrorMsg);
+ nothrow @nogc SQLRETURN SQLExecDirectA(SQLHSTMT hstmt, SQLCHAR* szSqlStr, SQLINTEGER cbSqlStr);
+ nothrow @nogc SQLRETURN SQLGetConnectAttrA(SQLHDBC hdbc, SQLINTEGER fAttribute, SQLPOINTER rgbValue, SQLINTEGER cbValueMax, SQLINTEGER* pcbValue);
+ nothrow @nogc SQLRETURN SQLGetCursorNameA(SQLHSTMT hstmt, SQLCHAR* szCursor, SQLSMALLINT cbCursorMax, SQLSMALLINT* pcbCursor);
+ nothrow @nogc SQLRETURN SQLGetDescFieldA(SQLHDESC hdesc, SQLSMALLINT iRecord, SQLSMALLINT iField, SQLPOINTER rgbValue, SQLINTEGER cbBufferLength, SQLINTEGER* StringLength);
+ nothrow @nogc SQLRETURN SQLGetDescRecA(SQLHDESC hdesc, SQLSMALLINT iRecord, SQLCHAR* szName, SQLSMALLINT cbNameMax, SQLSMALLINT* pcbName, SQLSMALLINT* pfType, SQLSMALLINT* pfSubType, SQLINTEGER* pLength, SQLSMALLINT* pPrecision, SQLSMALLINT* pScale, SQLSMALLINT* pNullable);
+ nothrow @nogc SQLRETURN SQLGetDiagFieldA(SQLSMALLINT fHandleType, SQLHANDLE handle, SQLSMALLINT iRecord, SQLSMALLINT fDiagField, SQLPOINTER rgbDiagInfo, SQLSMALLINT cbDiagInfoMax, SQLSMALLINT* pcbDiagInfo);
+ nothrow @nogc SQLRETURN SQLGetDiagRecA(SQLSMALLINT fHandleType, SQLHANDLE handle, SQLSMALLINT iRecord, SQLCHAR* szSqlState, SQLINTEGER* pfNativeError, SQLCHAR* szErrorMsg, SQLSMALLINT cbErrorMsgMax, SQLSMALLINT* pcbErrorMsg);
+ nothrow @nogc SQLRETURN SQLGetStmtAttrA(SQLHSTMT hstmt, SQLINTEGER fAttribute, SQLPOINTER rgbValue, SQLINTEGER cbValueMax, SQLINTEGER* pcbValue);
+ nothrow @nogc SQLRETURN SQLGetTypeInfoA(SQLHSTMT StatementHandle, SQLSMALLINT DataType);
+ nothrow @nogc SQLRETURN SQLPrepareA(SQLHSTMT hstmt, SQLCHAR* szSqlStr, SQLINTEGER cbSqlStr);
+ nothrow @nogc SQLRETURN SQLSetConnectAttrA(SQLHDBC hdbc, SQLINTEGER fAttribute, SQLPOINTER rgbValue, SQLINTEGER cbValue);
+ nothrow @nogc SQLRETURN SQLSetCursorNameA(SQLHSTMT hstmt, SQLCHAR* szCursor, SQLSMALLINT cbCursor);
+ nothrow @nogc SQLRETURN SQLColumnsA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTableName, SQLSMALLINT cbTableName, SQLCHAR* szColumnName, SQLSMALLINT cbColumnName);
+ nothrow @nogc SQLRETURN SQLGetConnectOptionA(SQLHDBC hdbc, SQLUSMALLINT fOption, SQLPOINTER pvParam);
+ nothrow @nogc SQLRETURN SQLGetInfoA(SQLHDBC hdbc, SQLUSMALLINT fInfoType, SQLPOINTER rgbInfoValue, SQLSMALLINT cbInfoValueMax, SQLSMALLINT* pcbInfoValue);
+ nothrow @nogc SQLRETURN SQLGetStmtOptionA(SQLHSTMT hstmt, SQLUSMALLINT fOption, SQLPOINTER pvParam);
+ nothrow @nogc SQLRETURN SQLSetConnectOptionA(SQLHDBC hdbc, SQLUSMALLINT fOption, SQLUINTEGER vParam);
+ nothrow @nogc SQLRETURN SQLSetStmtOptionA(SQLHSTMT hstmt, SQLUSMALLINT fOption, SQLUINTEGER vParam);
+ nothrow @nogc SQLRETURN SQLSpecialColumnsA(SQLHSTMT hstmt, SQLUSMALLINT fColType, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTableName, SQLSMALLINT cbTableName, SQLUSMALLINT fScope, SQLUSMALLINT fNullable);
+ nothrow @nogc SQLRETURN SQLStatisticsA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTableName, SQLSMALLINT cbTableName, SQLUSMALLINT fUnique, SQLUSMALLINT fAccuracy);
+ nothrow @nogc SQLRETURN SQLTablesA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTableName, SQLSMALLINT cbTableName, SQLCHAR* szTableType, SQLSMALLINT cbTableType);
+ nothrow @nogc SQLRETURN SQLDataSourcesA(SQLHENV henv, SQLUSMALLINT fDirection, SQLCHAR* szDSN, SQLSMALLINT cbDSNMax, SQLSMALLINT* pcbDSN, SQLCHAR* szDescription, SQLSMALLINT cbDescriptionMax, SQLSMALLINT* pcbDescription);
+ nothrow @nogc SQLRETURN SQLDriverConnectA(SQLHDBC hdbc, SQLHWND hwnd, SQLCHAR* szConnStrIn, SQLSMALLINT cbConnStrIn, SQLCHAR* szConnStrOut, SQLSMALLINT cbConnStrOutMax, SQLSMALLINT* pcbConnStrOut, SQLUSMALLINT fDriverCompletion);
+ nothrow @nogc SQLRETURN SQLBrowseConnectA(SQLHDBC hdbc, SQLCHAR* szConnStrIn, SQLSMALLINT cbConnStrIn, SQLCHAR* szConnStrOut, SQLSMALLINT cbConnStrOutMax, SQLSMALLINT* pcbConnStrOut);
+ nothrow @nogc SQLRETURN SQLColumnPrivilegesA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTableName, SQLSMALLINT cbTableName, SQLCHAR* szColumnName, SQLSMALLINT cbColumnName);
+ nothrow @nogc SQLRETURN SQLDescribeParamA(SQLHSTMT hstmt, SQLUSMALLINT ipar, SQLSMALLINT* pfSqlType, SQLUINTEGER* pcbParamDef, SQLSMALLINT* pibScale, SQLSMALLINT* pfNullable);
+ nothrow @nogc SQLRETURN SQLForeignKeysA(SQLHSTMT hstmt, SQLCHAR* szPkCatalogName, SQLSMALLINT cbPkCatalogName, SQLCHAR* szPkSchemaName, SQLSMALLINT cbPkSchemaName, SQLCHAR* szPkTableName, SQLSMALLINT cbPkTableName, SQLCHAR* szFkCatalogName, SQLSMALLINT cbFkCatalogName, SQLCHAR* szFkSchemaName, SQLSMALLINT cbFkSchemaName, SQLCHAR* szFkTableName, SQLSMALLINT cbFkTableName);
+ nothrow @nogc SQLRETURN SQLNativeSqlA(SQLHDBC hdbc, SQLCHAR* szSqlStrIn, SQLINTEGER cbSqlStrIn, SQLCHAR* szSqlStr, SQLINTEGER cbSqlStrMax, SQLINTEGER* pcbSqlStr);
+ nothrow @nogc SQLRETURN SQLPrimaryKeysA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTableName, SQLSMALLINT cbTableName);
+ nothrow @nogc SQLRETURN SQLProcedureColumnsA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szProcName, SQLSMALLINT cbProcName, SQLCHAR* szColumnName, SQLSMALLINT cbColumnName);
+ nothrow @nogc SQLRETURN SQLProceduresA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szProcName, SQLSMALLINT cbProcName);
+ nothrow @nogc SQLRETURN SQLTablePrivilegesA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTableName, SQLSMALLINT cbTableName);
+ nothrow @nogc SQLRETURN SQLDriversA(SQLHENV henv, SQLUSMALLINT fDirection, SQLCHAR* szDriverDesc, SQLSMALLINT cbDriverDescMax, SQLSMALLINT* pcbDriverDesc, SQLCHAR* szDriverAttributes, SQLSMALLINT cbDrvrAttrMax, SQLSMALLINT* pcbDrvrAttr);
+ nothrow @nogc SQLRETURN SQLStructuredTypesA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTypeName, SQLSMALLINT cbTypeName);
+ nothrow @nogc SQLRETURN SQLStructuredTypeColumnsA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTypeName, SQLSMALLINT cbTypeName, SQLCHAR* szColumnName, SQLSMALLINT cbColumnName);
+ enum SQLINTEGER ODBCVER = 1024;
+ enum SQLINTEGER SQL_MAX_NUMERIC_LEN = 16;
+ auto SQL_NULL_DATA()()
+ {
+ return -1;
+ }
+ auto SQL_DATA_AT_EXEC()()
+ {
+ return -2;
+ }
+ enum SQLINTEGER SQL_SUCCESS = 0;
+ enum SQLINTEGER SQL_SUCCESS_WITH_INFO = 1;
+ enum SQLINTEGER SQL_NO_DATA = 100;
+ enum SQLINTEGER SQL_PARAM_DATA_AVAILABLE = 101;
+ auto SQL_ERROR()()
+ {
+ return -1;
+ }
+ auto SQL_INVALID_HANDLE()()
+ {
+ return -2;
+ }
+ enum SQLINTEGER SQL_STILL_EXECUTING = 2;
+ enum SQLINTEGER SQL_NEED_DATA = 99;
+ auto SQL_SUCCEEDED(__MP1)(__MP1 rc)
+ {
+ return (rc & ~1) == 0;
+ }
+ auto SQL_NTS()()
+ {
+ return -3;
+ }
+ auto SQL_NTSL()()
+ {
+ return -3;
+ }
+ enum SQLINTEGER SQL_MAX_MESSAGE_LENGTH = 512;
+ enum SQLINTEGER SQL_DATE_LEN = 10;
+ enum SQLINTEGER SQL_TIME_LEN = 8;
+ enum SQLINTEGER SQL_TIMESTAMP_LEN = 19;
+ enum SQLINTEGER SQL_HANDLE_ENV = 1;
+ enum SQLINTEGER SQL_HANDLE_DBC = 2;
+ enum SQLINTEGER SQL_HANDLE_STMT = 3;
+ enum SQLINTEGER SQL_HANDLE_DESC = 4;
+ enum SQLINTEGER SQL_ATTR_OUTPUT_NTS = 10001;
+ enum SQLINTEGER SQL_ATTR_AUTO_IPD = 10001;
+ enum SQLINTEGER SQL_ATTR_METADATA_ID = 10014;
+ enum SQLINTEGER SQL_ATTR_APP_ROW_DESC = 10010;
+ enum SQLINTEGER SQL_ATTR_APP_PARAM_DESC = 10011;
+ enum SQLINTEGER SQL_ATTR_IMP_ROW_DESC = 10012;
+ enum SQLINTEGER SQL_ATTR_IMP_PARAM_DESC = 10013;
+ auto SQL_ATTR_CURSOR_SCROLLABLE()()
+ {
+ return -1;
+ }
+ auto SQL_ATTR_CURSOR_SENSITIVITY()()
+ {
+ return -2;
+ }
+ enum SQLINTEGER SQL_NONSCROLLABLE = 0;
+ enum SQLINTEGER SQL_SCROLLABLE = 1;
+ enum SQLINTEGER SQL_DESC_COUNT = 1001;
+ enum SQLINTEGER SQL_DESC_TYPE = 1002;
+ enum SQLINTEGER SQL_DESC_LENGTH = 1003;
+ enum SQLINTEGER SQL_DESC_OCTET_LENGTH_PTR = 1004;
+ enum SQLINTEGER SQL_DESC_PRECISION = 1005;
+ enum SQLINTEGER SQL_DESC_SCALE = 1006;
+ enum SQLINTEGER SQL_DESC_DATETIME_INTERVAL_CODE = 1007;
+ enum SQLINTEGER SQL_DESC_NULLABLE = 1008;
+ enum SQLINTEGER SQL_DESC_INDICATOR_PTR = 1009;
+ enum SQLINTEGER SQL_DESC_DATA_PTR = 1010;
+ enum SQLINTEGER SQL_DESC_NAME = 1011;
+ enum SQLINTEGER SQL_DESC_UNNAMED = 1012;
+ enum SQLINTEGER SQL_DESC_OCTET_LENGTH = 1013;
+ enum SQLINTEGER SQL_DESC_ALLOC_TYPE = 1099;
+ enum SQLINTEGER SQL_DESC_CHARACTER_SET_CATALOG = 1018;
+ enum SQLINTEGER SQL_DESC_CHARACTER_SET_SCHEMA = 1019;
+ enum SQLINTEGER SQL_DESC_CHARACTER_SET_NAME = 1020;
+ enum SQLINTEGER SQL_DESC_COLLATION_CATALOG = 1015;
+ enum SQLINTEGER SQL_DESC_COLLATION_SCHEMA = 1016;
+ enum SQLINTEGER SQL_DESC_COLLATION_NAME = 1017;
+ enum SQLINTEGER SQL_DESC_USER_DEFINED_TYPE_CATALOG = 1026;
+ enum SQLINTEGER SQL_DESC_USER_DEFINED_TYPE_SCHEMA = 1027;
+ enum SQLINTEGER SQL_DESC_USER_DEFINED_TYPE_NAME = 1028;
+ enum SQLINTEGER SQL_DIAG_RETURNCODE = 1;
+ enum SQLINTEGER SQL_DIAG_NUMBER = 2;
+ enum SQLINTEGER SQL_DIAG_ROW_COUNT = 3;
+ enum SQLINTEGER SQL_DIAG_SQLSTATE = 4;
+ enum SQLINTEGER SQL_DIAG_NATIVE = 5;
+ enum SQLINTEGER SQL_DIAG_MESSAGE_TEXT = 6;
+ enum SQLINTEGER SQL_DIAG_DYNAMIC_FUNCTION = 7;
+ enum SQLINTEGER SQL_DIAG_CLASS_ORIGIN = 8;
+ enum SQLINTEGER SQL_DIAG_SUBCLASS_ORIGIN = 9;
+ enum SQLINTEGER SQL_DIAG_CONNECTION_NAME = 10;
+ enum SQLINTEGER SQL_DIAG_SERVER_NAME = 11;
+ enum SQLINTEGER SQL_DIAG_DYNAMIC_FUNCTION_CODE = 12;
+ enum SQLINTEGER SQL_DIAG_ALTER_DOMAIN = 3;
+ enum SQLINTEGER SQL_DIAG_ALTER_TABLE = 4;
+ enum SQLINTEGER SQL_DIAG_CALL = 7;
+ enum SQLINTEGER SQL_DIAG_CREATE_ASSERTION = 6;
+ enum SQLINTEGER SQL_DIAG_CREATE_CHARACTER_SET = 8;
+ enum SQLINTEGER SQL_DIAG_CREATE_COLLATION = 10;
+ enum SQLINTEGER SQL_DIAG_CREATE_DOMAIN = 23;
+ auto SQL_DIAG_CREATE_INDEX()()
+ {
+ return -1;
+ }
+ enum SQLINTEGER SQL_DIAG_CREATE_SCHEMA = 64;
+ enum SQLINTEGER SQL_DIAG_CREATE_TABLE = 77;
+ enum SQLINTEGER SQL_DIAG_CREATE_TRANSLATION = 79;
+ enum SQLINTEGER SQL_DIAG_CREATE_VIEW = 84;
+ enum SQLINTEGER SQL_DIAG_DELETE_WHERE = 19;
+ enum SQLINTEGER SQL_DIAG_DROP_ASSERTION = 24;
+ enum SQLINTEGER SQL_DIAG_DROP_CHARACTER_SET = 25;
+ enum SQLINTEGER SQL_DIAG_DROP_COLLATION = 26;
+ enum SQLINTEGER SQL_DIAG_DROP_DOMAIN = 27;
+ auto SQL_DIAG_DROP_INDEX()()
+ {
+ return -2;
+ }
+ enum SQLINTEGER SQL_DIAG_DROP_SCHEMA = 31;
+ enum SQLINTEGER SQL_DIAG_DROP_TABLE = 32;
+ enum SQLINTEGER SQL_DIAG_DROP_TRANSLATION = 33;
+ enum SQLINTEGER SQL_DIAG_DROP_VIEW = 36;
+ enum SQLINTEGER SQL_DIAG_DYNAMIC_DELETE_CURSOR = 38;
+ enum SQLINTEGER SQL_DIAG_DYNAMIC_UPDATE_CURSOR = 81;
+ enum SQLINTEGER SQL_DIAG_GRANT = 48;
+ enum SQLINTEGER SQL_DIAG_INSERT = 50;
+ enum SQLINTEGER SQL_DIAG_REVOKE = 59;
+ enum SQLINTEGER SQL_DIAG_SELECT_CURSOR = 85;
+ enum SQLINTEGER SQL_DIAG_UNKNOWN_STATEMENT = 0;
+ enum SQLINTEGER SQL_DIAG_UPDATE_WHERE = 82;
+ enum SQLINTEGER SQL_UNKNOWN_TYPE = 0;
+ enum SQLINTEGER SQL_CHAR = 1;
+ enum SQLINTEGER SQL_NUMERIC = 2;
+ enum SQLINTEGER SQL_DECIMAL = 3;
+ enum SQLINTEGER SQL_INTEGER = 4;
+ enum SQLINTEGER SQL_SMALLINT = 5;
+ enum SQLINTEGER SQL_FLOAT = 6;
+ enum SQLINTEGER SQL_REAL = 7;
+ enum SQLINTEGER SQL_DOUBLE = 8;
+ enum SQLINTEGER SQL_DATETIME = 9;
+ enum SQLINTEGER SQL_VARCHAR = 12;
+ enum SQLINTEGER SQL_UDT = 17;
+ enum SQLINTEGER SQL_ROW = 19;
+ enum SQLINTEGER SQL_ARRAY = 50;
+ enum SQLINTEGER SQL_MULTISET = 55;
+ enum SQLINTEGER SQL_TYPE_DATE = 91;
+ enum SQLINTEGER SQL_TYPE_TIME = 92;
+ enum SQLINTEGER SQL_TYPE_TIMESTAMP = 93;
+ enum SQLINTEGER SQL_TYPE_TIME_WITH_TIMEZONE = 94;
+ enum SQLINTEGER SQL_TYPE_TIMESTAMP_WITH_TIMEZONE = 95;
+ enum SQLINTEGER SQL_UNSPECIFIED = 0;
+ enum SQLINTEGER SQL_INSENSITIVE = 1;
+ enum SQLINTEGER SQL_SENSITIVE = 2;
+ enum SQLINTEGER SQL_ALL_TYPES = 0;
+ enum SQLINTEGER SQL_DEFAULT = 99;
+ auto SQL_ARD_TYPE()()
+ {
+ return -99;
+ }
+ auto SQL_APD_TYPE()()
+ {
+ return -100;
+ }
+ enum SQLINTEGER SQL_CODE_DATE = 1;
+ enum SQLINTEGER SQL_CODE_TIME = 2;
+ enum SQLINTEGER SQL_CODE_TIMESTAMP = 3;
+ enum SQLINTEGER SQL_CODE_TIME_WITH_TIMEZONE = 4;
+ enum SQLINTEGER SQL_CODE_TIMESTAMP_WITH_TIMEZONE = 5;
+ enum SQLINTEGER SQL_FALSE = 0;
+ enum SQLINTEGER SQL_TRUE = 1;
+ enum SQLINTEGER SQL_NO_NULLS = 0;
+ enum SQLINTEGER SQL_NULLABLE = 1;
+ enum SQLINTEGER SQL_NULLABLE_UNKNOWN = 2;
+ enum SQLINTEGER SQL_PRED_NONE = 0;
+ enum SQLINTEGER SQL_PRED_CHAR = 1;
+ enum SQLINTEGER SQL_PRED_BASIC = 2;
+ enum SQLINTEGER SQL_NAMED = 0;
+ enum SQLINTEGER SQL_UNNAMED = 1;
+ enum SQLINTEGER SQL_DESC_ALLOC_AUTO = 1;
+ enum SQLINTEGER SQL_DESC_ALLOC_USER = 2;
+ enum SQLINTEGER SQL_CLOSE = 0;
+ enum SQLINTEGER SQL_DROP = 1;
+ enum SQLINTEGER SQL_UNBIND = 2;
+ enum SQLINTEGER SQL_RESET_PARAMS = 3;
+ enum SQLINTEGER SQL_FETCH_NEXT = 1;
+ enum SQLINTEGER SQL_FETCH_FIRST = 2;
+ enum SQLINTEGER SQL_FETCH_LAST = 3;
+ enum SQLINTEGER SQL_FETCH_PRIOR = 4;
+ enum SQLINTEGER SQL_FETCH_ABSOLUTE = 5;
+ enum SQLINTEGER SQL_FETCH_RELATIVE = 6;
+ enum SQLINTEGER SQL_COMMIT = 0;
+ enum SQLINTEGER SQL_ROLLBACK = 1;
+ enum SQLINTEGER SQL_NULL_HENV = 0;
+ enum SQLINTEGER SQL_NULL_HDBC = 0;
+ enum SQLINTEGER SQL_NULL_HSTMT = 0;
+ enum SQLINTEGER SQL_NULL_HDESC = 0;
+ enum SQLINTEGER SQL_NULL_HANDLE = 0;
+ enum SQLINTEGER SQL_SCOPE_CURROW = 0;
+ enum SQLINTEGER SQL_SCOPE_TRANSACTION = 1;
+ enum SQLINTEGER SQL_SCOPE_SESSION = 2;
+ enum SQLINTEGER SQL_PC_UNKNOWN = 0;
+ enum SQLINTEGER SQL_PC_NON_PSEUDO = 1;
+ enum SQLINTEGER SQL_PC_PSEUDO = 2;
+ enum SQLINTEGER SQL_ROW_IDENTIFIER = 1;
+ enum SQLINTEGER SQL_INDEX_UNIQUE = 0;
+ enum SQLINTEGER SQL_INDEX_ALL = 1;
+ enum SQLINTEGER SQL_INDEX_CLUSTERED = 1;
+ enum SQLINTEGER SQL_INDEX_HASHED = 2;
+ enum SQLINTEGER SQL_INDEX_OTHER = 3;
+ enum SQLINTEGER SQL_MAX_DRIVER_CONNECTIONS = 0;
+ enum SQLINTEGER SQL_MAX_CONCURRENT_ACTIVITIES = 1;
+ enum SQLINTEGER SQL_DATA_SOURCE_NAME = 2;
+ enum SQLINTEGER SQL_FETCH_DIRECTION = 8;
+ enum SQLINTEGER SQL_SERVER_NAME = 13;
+ enum SQLINTEGER SQL_SEARCH_PATTERN_ESCAPE = 14;
+ enum SQLINTEGER SQL_DBMS_NAME = 17;
+ enum SQLINTEGER SQL_DBMS_VER = 18;
+ enum SQLINTEGER SQL_ACCESSIBLE_TABLES = 19;
+ enum SQLINTEGER SQL_ACCESSIBLE_PROCEDURES = 20;
+ enum SQLINTEGER SQL_CURSOR_COMMIT_BEHAVIOR = 23;
+ enum SQLINTEGER SQL_DATA_SOURCE_READ_ONLY = 25;
+ enum SQLINTEGER SQL_DEFAULT_TXN_ISOLATION = 26;
+ enum SQLINTEGER SQL_IDENTIFIER_CASE = 28;
+ enum SQLINTEGER SQL_IDENTIFIER_QUOTE_CHAR = 29;
+ enum SQLINTEGER SQL_MAX_COLUMN_NAME_LEN = 30;
+ enum SQLINTEGER SQL_MAX_CURSOR_NAME_LEN = 31;
+ enum SQLINTEGER SQL_MAX_SCHEMA_NAME_LEN = 32;
+ enum SQLINTEGER SQL_MAX_CATALOG_NAME_LEN = 34;
+ enum SQLINTEGER SQL_MAX_TABLE_NAME_LEN = 35;
+ enum SQLINTEGER SQL_SCROLL_CONCURRENCY = 43;
+ enum SQLINTEGER SQL_TXN_CAPABLE = 46;
+ enum SQLINTEGER SQL_USER_NAME = 47;
+ enum SQLINTEGER SQL_TXN_ISOLATION_OPTION = 72;
+ enum SQLINTEGER SQL_INTEGRITY = 73;
+ enum SQLINTEGER SQL_GETDATA_EXTENSIONS = 81;
+ enum SQLINTEGER SQL_NULL_COLLATION = 85;
+ enum SQLINTEGER SQL_ALTER_TABLE = 86;
+ enum SQLINTEGER SQL_ORDER_BY_COLUMNS_IN_SELECT = 90;
+ enum SQLINTEGER SQL_SPECIAL_CHARACTERS = 94;
+ enum SQLINTEGER SQL_MAX_COLUMNS_IN_GROUP_BY = 97;
+ enum SQLINTEGER SQL_MAX_COLUMNS_IN_INDEX = 98;
+ enum SQLINTEGER SQL_MAX_COLUMNS_IN_ORDER_BY = 99;
+ enum SQLINTEGER SQL_MAX_COLUMNS_IN_SELECT = 100;
+ enum SQLINTEGER SQL_MAX_COLUMNS_IN_TABLE = 101;
+ enum SQLINTEGER SQL_MAX_INDEX_SIZE = 102;
+ enum SQLINTEGER SQL_MAX_ROW_SIZE = 104;
+ enum SQLINTEGER SQL_MAX_STATEMENT_LEN = 105;
+ enum SQLINTEGER SQL_MAX_TABLES_IN_SELECT = 106;
+ enum SQLINTEGER SQL_MAX_USER_NAME_LEN = 107;
+ enum SQLINTEGER SQL_OJ_CAPABILITIES = 115;
+ enum SQLINTEGER SQL_XOPEN_CLI_YEAR = 10000;
+ enum SQLINTEGER SQL_CURSOR_SENSITIVITY = 10001;
+ enum SQLINTEGER SQL_DESCRIBE_PARAMETER = 10002;
+ enum SQLINTEGER SQL_CATALOG_NAME = 10003;
+ enum SQLINTEGER SQL_COLLATION_SEQ = 10004;
+ enum SQLINTEGER SQL_MAX_IDENTIFIER_LEN = 10005;
+ enum SQLINTEGER SQL_AT_ADD_COLUMN = 1;
+ enum SQLINTEGER SQL_AT_DROP_COLUMN = 2;
+ enum SQLINTEGER SQL_AT_ADD_CONSTRAINT = 8;
+ enum SQLINTEGER SQL_AM_NONE = 0;
+ enum SQLINTEGER SQL_AM_CONNECTION = 1;
+ enum SQLINTEGER SQL_AM_STATEMENT = 2;
+ enum SQLINTEGER SQL_CB_DELETE = 0;
+ enum SQLINTEGER SQL_CB_CLOSE = 1;
+ enum SQLINTEGER SQL_CB_PRESERVE = 2;
+ enum SQLINTEGER SQL_FD_FETCH_NEXT = 1;
+ enum SQLINTEGER SQL_FD_FETCH_FIRST = 2;
+ enum SQLINTEGER SQL_FD_FETCH_LAST = 4;
+ enum SQLINTEGER SQL_FD_FETCH_PRIOR = 8;
+ enum SQLINTEGER SQL_FD_FETCH_ABSOLUTE = 16;
+ enum SQLINTEGER SQL_FD_FETCH_RELATIVE = 32;
+ enum SQLINTEGER SQL_GD_ANY_COLUMN = 1;
+ enum SQLINTEGER SQL_GD_ANY_ORDER = 2;
+ enum SQLINTEGER SQL_IC_UPPER = 1;
+ enum SQLINTEGER SQL_IC_LOWER = 2;
+ enum SQLINTEGER SQL_IC_SENSITIVE = 3;
+ enum SQLINTEGER SQL_IC_MIXED = 4;
+ enum SQLINTEGER SQL_OJ_LEFT = 1;
+ enum SQLINTEGER SQL_OJ_RIGHT = 2;
+ enum SQLINTEGER SQL_OJ_FULL = 4;
+ enum SQLINTEGER SQL_OJ_NESTED = 8;
+ enum SQLINTEGER SQL_OJ_NOT_ORDERED = 16;
+ enum SQLINTEGER SQL_OJ_INNER = 32;
+ enum SQLINTEGER SQL_OJ_ALL_COMPARISON_OPS = 64;
+ enum SQLINTEGER SQL_SCCO_READ_ONLY = 1;
+ enum SQLINTEGER SQL_SCCO_LOCK = 2;
+ enum SQLINTEGER SQL_SCCO_OPT_ROWVER = 4;
+ enum SQLINTEGER SQL_SCCO_OPT_VALUES = 8;
+ enum SQLINTEGER SQL_TC_NONE = 0;
+ enum SQLINTEGER SQL_TC_DML = 1;
+ enum SQLINTEGER SQL_TC_ALL = 2;
+ enum SQLINTEGER SQL_TC_DDL_COMMIT = 3;
+ enum SQLINTEGER SQL_TC_DDL_IGNORE = 4;
+ enum SQLINTEGER SQL_TXN_READ_UNCOMMITTED = 1;
+ enum SQLINTEGER SQL_TXN_READ_COMMITTED = 2;
+ enum SQLINTEGER SQL_TXN_REPEATABLE_READ = 4;
+ enum SQLINTEGER SQL_TXN_SERIALIZABLE = 8;
+ enum SQLINTEGER SQL_NC_HIGH = 0;
+ enum SQLINTEGER SQL_NC_LOW = 1;
+ enum SQLINTEGER SQL_SPEC_MAJOR = 4;
+ enum SQLINTEGER SQL_SPEC_MINOR = 0;
+ enum SQL_SPEC_STRING = "04.00";
+ enum SQLINTEGER SQL_SQLSTATE_SIZE = 5;
+ enum SQLINTEGER SQL_MAX_DSN_LENGTH = 32;
+ enum SQLINTEGER SQL_MAX_OPTION_STRING_LENGTH = 256;
+ enum SQLINTEGER SQL_DATA_AVAILABLE = 102;
+ enum SQLINTEGER SQL_METADATA_CHANGED = 103;
+ enum SQLINTEGER SQL_MORE_DATA = 104;
+ enum SQLINTEGER SQL_HANDLE_SENV = 5;
+ enum SQLINTEGER SQL_ATTR_ODBC_VERSION = 200;
+ enum SQLINTEGER SQL_ATTR_CONNECTION_POOLING = 201;
+ enum SQLINTEGER SQL_ATTR_CP_MATCH = 202;
+ enum SQLINTEGER SQL_ATTR_APPLICATION_KEY = 203;
+ enum SQLUINTEGER SQL_CP_OFF = 0u;
+ enum SQLUINTEGER SQL_CP_ONE_PER_DRIVER = 1u;
+ enum SQLUINTEGER SQL_CP_ONE_PER_HENV = 2u;
+ enum SQLUINTEGER SQL_CP_DRIVER_AWARE = 3u;
+ enum SQLUINTEGER SQL_CP_STRICT_MATCH = 0u;
+ enum SQLUINTEGER SQL_CP_RELAXED_MATCH = 1u;
+ enum SQLUINTEGER SQL_OV_ODBC2 = 2u;
+ enum SQLUINTEGER SQL_OV_ODBC3 = 3u;
+ enum SQLUINTEGER SQL_OV_ODBC3_80 = 380u;
+ enum SQLUINTEGER SQL_OV_ODBC4 = 400u;
+ enum SQLINTEGER SQL_ACCESS_MODE = 101;
+ enum SQLINTEGER SQL_AUTOCOMMIT = 102;
+ enum SQLINTEGER SQL_LOGIN_TIMEOUT = 103;
+ enum SQLINTEGER SQL_OPT_TRACE = 104;
+ enum SQLINTEGER SQL_OPT_TRACEFILE = 105;
+ enum SQLINTEGER SQL_TRANSLATE_DLL = 106;
+ enum SQLINTEGER SQL_TRANSLATE_OPTION = 107;
+ enum SQLINTEGER SQL_TXN_ISOLATION = 108;
+ enum SQLINTEGER SQL_CURRENT_QUALIFIER = 109;
+ enum SQLINTEGER SQL_ODBC_CURSORS = 110;
+ enum SQLINTEGER SQL_QUIET_MODE = 111;
+ enum SQLINTEGER SQL_PACKET_SIZE = 112;
+ enum SQLINTEGER SQL_ATTR_CONNECTION_TIMEOUT = 113;
+ enum SQLINTEGER SQL_ATTR_DISCONNECT_BEHAVIOR = 114;
+ enum SQLINTEGER SQL_ATTR_ENLIST_IN_DTC = 1207;
+ enum SQLINTEGER SQL_ATTR_ENLIST_IN_XA = 1208;
+ enum SQLINTEGER SQL_ATTR_CONNECTION_DEAD = 1209;
+ enum SQLINTEGER SQL_ATTR_ANSI_APP = 115;
+ enum SQLINTEGER SQL_ATTR_RESET_CONNECTION = 116;
+ enum SQLINTEGER SQL_ATTR_ASYNC_DBC_FUNCTIONS_ENABLE = 117;
+ enum SQLINTEGER SQL_ATTR_ASYNC_DBC_EVENT = 119;
+ enum SQLINTEGER SQL_ATTR_CREDENTIALS = 122;
+ enum SQLINTEGER SQL_ATTR_REFRESH_CONNECTION = 123;
+ enum SQLUINTEGER SQL_MODE_READ_WRITE = 0u;
+ enum SQLUINTEGER SQL_MODE_READ_ONLY = 1u;
+ enum SQLUINTEGER SQL_AUTOCOMMIT_OFF = 0u;
+ enum SQLUINTEGER SQL_AUTOCOMMIT_ON = 1u;
+ enum SQLUINTEGER SQL_LOGIN_TIMEOUT_DEFAULT = 15u;
+ enum SQLUINTEGER SQL_OPT_TRACE_OFF = 0u;
+ enum SQLUINTEGER SQL_OPT_TRACE_ON = 1u;
+ enum SQL_OPT_TRACE_FILE_DEFAULT = "\\SQL.LOG";
+ enum SQLUINTEGER SQL_CUR_USE_IF_NEEDED = 0u;
+ enum SQLUINTEGER SQL_CUR_USE_ODBC = 1u;
+ enum SQLUINTEGER SQL_CUR_USE_DRIVER = 2u;
+ enum SQLUINTEGER SQL_DB_RETURN_TO_POOL = 0u;
+ enum SQLUINTEGER SQL_DB_DISCONNECT = 1u;
+ enum SQLINTEGER SQL_DTC_DONE = 0;
+ enum SQLINTEGER SQL_CD_TRUE = 1;
+ enum SQLINTEGER SQL_CD_FALSE = 0;
+ enum SQLINTEGER SQL_AA_TRUE = 1;
+ enum SQLINTEGER SQL_AA_FALSE = 0;
+ enum SQLUINTEGER SQL_RESET_CONNECTION_YES = 1u;
+ enum SQLUINTEGER SQL_ASYNC_DBC_ENABLE_ON = 1u;
+ enum SQLUINTEGER SQL_ASYNC_DBC_ENABLE_OFF = 0u;
+ enum SQLINTEGER SQL_REFRESH_NOW = -1;
+ enum SQLINTEGER SQL_REFRESH_AUTO = 0;
+ enum SQLINTEGER SQL_REFRESH_MANUAL = 1;
+ enum SQLINTEGER SQL_QUERY_TIMEOUT = 0;
+ enum SQLINTEGER SQL_MAX_ROWS = 1;
+ enum SQLINTEGER SQL_NOSCAN = 2;
+ enum SQLINTEGER SQL_MAX_LENGTH = 3;
+ enum SQLINTEGER SQL_ASYNC_ENABLE = 4;
+ enum SQLINTEGER SQL_BIND_TYPE = 5;
+ enum SQLINTEGER SQL_CURSOR_TYPE = 6;
+ enum SQLINTEGER SQL_CONCURRENCY = 7;
+ enum SQLINTEGER SQL_KEYSET_SIZE = 8;
+ enum SQLINTEGER SQL_ROWSET_SIZE = 9;
+ enum SQLINTEGER SQL_SIMULATE_CURSOR = 10;
+ enum SQLINTEGER SQL_RETRIEVE_DATA = 11;
+ enum SQLINTEGER SQL_USE_BOOKMARKS = 12;
+ enum SQLINTEGER SQL_GET_BOOKMARK = 13;
+ enum SQLINTEGER SQL_ROW_NUMBER = 14;
+ enum SQLINTEGER SQL_ATTR_ENABLE_AUTO_IPD = 15;
+ enum SQLINTEGER SQL_ATTR_FETCH_BOOKMARK_PTR = 16;
+ enum SQLINTEGER SQL_ATTR_PARAM_BIND_OFFSET_PTR = 17;
+ enum SQLINTEGER SQL_ATTR_PARAM_BIND_TYPE = 18;
+ enum SQLINTEGER SQL_ATTR_PARAM_OPERATION_PTR = 19;
+ enum SQLINTEGER SQL_ATTR_PARAM_STATUS_PTR = 20;
+ enum SQLINTEGER SQL_ATTR_PARAMS_PROCESSED_PTR = 21;
+ enum SQLINTEGER SQL_ATTR_PARAMSET_SIZE = 22;
+ enum SQLINTEGER SQL_ATTR_ROW_BIND_OFFSET_PTR = 23;
+ enum SQLINTEGER SQL_ATTR_ROW_OPERATION_PTR = 24;
+ enum SQLINTEGER SQL_ATTR_ROW_STATUS_PTR = 25;
+ enum SQLINTEGER SQL_ATTR_ROWS_FETCHED_PTR = 26;
+ enum SQLINTEGER SQL_ATTR_ROW_ARRAY_SIZE = 27;
+ enum SQLINTEGER SQL_ATTR_ASYNC_STMT_EVENT = 29;
+ enum SQLINTEGER SQL_ATTR_SAMPLE_SIZE = 30;
+ enum SQLINTEGER SQL_ATTR_DYNAMIC_COLUMNS = 31;
+ enum SQLINTEGER SQL_ATTR_TYPE_EXCEPTION_BEHAVIOR = 32;
+ enum SQLINTEGER SQL_ATTR_LENGTH_EXCEPTION_BEHAVIOR = 33;
+ enum SQLINTEGER SQL_TE_ERROR = 1;
+ enum SQLINTEGER SQL_TE_CONTINUE = 2;
+ enum SQLINTEGER SQL_TE_REPORT = 3;
+ enum SQLINTEGER SQL_LE_CONTINUE = 1;
+ enum SQLINTEGER SQL_LE_REPORT = 2;
+ auto SQL_IS_POINTER()()
+ {
+ return -4;
+ }
+ auto SQL_IS_UINTEGER()()
+ {
+ return -5;
+ }
+ auto SQL_IS_INTEGER()()
+ {
+ return -6;
+ }
+ auto SQL_IS_USMALLINT()()
+ {
+ return -7;
+ }
+ auto SQL_IS_SMALLINT()()
+ {
+ return -8;
+ }
+ enum SQLUINTEGER SQL_PARAM_BIND_BY_COLUMN = 0u;
+ enum SQLUINTEGER SQL_QUERY_TIMEOUT_DEFAULT = 0u;
+ enum SQLUINTEGER SQL_MAX_ROWS_DEFAULT = 0u;
+ enum SQLUINTEGER SQL_NOSCAN_OFF = 0u;
+ enum SQLUINTEGER SQL_NOSCAN_ON = 1u;
+ enum SQLUINTEGER SQL_MAX_LENGTH_DEFAULT = 0u;
+ enum SQLUINTEGER SQL_ASYNC_ENABLE_OFF = 0u;
+ enum SQLUINTEGER SQL_ASYNC_ENABLE_ON = 1u;
+ enum SQLUINTEGER SQL_BIND_BY_COLUMN = 0u;
+ enum SQLINTEGER SQL_CONCUR_READ_ONLY = 1;
+ enum SQLINTEGER SQL_CONCUR_LOCK = 2;
+ enum SQLINTEGER SQL_CONCUR_ROWVER = 3;
+ enum SQLINTEGER SQL_CONCUR_VALUES = 4;
+ enum SQLUINTEGER SQL_CURSOR_FORWARD_ONLY = 0u;
+ enum SQLUINTEGER SQL_CURSOR_KEYSET_DRIVEN = 1u;
+ enum SQLUINTEGER SQL_CURSOR_DYNAMIC = 2u;
+ enum SQLUINTEGER SQL_CURSOR_STATIC = 3u;
+ enum SQLUINTEGER SQL_ROWSET_SIZE_DEFAULT = 1u;
+ enum SQLUINTEGER SQL_KEYSET_SIZE_DEFAULT = 0u;
+ enum SQLUINTEGER SQL_SC_NON_UNIQUE = 0u;
+ enum SQLUINTEGER SQL_SC_TRY_UNIQUE = 1u;
+ enum SQLUINTEGER SQL_SC_UNIQUE = 2u;
+ enum SQLUINTEGER SQL_RD_OFF = 0u;
+ enum SQLUINTEGER SQL_RD_ON = 1u;
+ enum SQLUINTEGER SQL_UB_OFF = 0u;
+ enum SQLUINTEGER SQL_UB_ON = 1u;
+ enum SQLUINTEGER SQL_UB_VARIABLE = 2u;
+ enum SQLINTEGER SQL_DESC_ARRAY_SIZE = 20;
+ enum SQLINTEGER SQL_DESC_ARRAY_STATUS_PTR = 21;
+ enum SQLINTEGER SQL_DESC_BASE_COLUMN_NAME = 22;
+ enum SQLINTEGER SQL_DESC_BASE_TABLE_NAME = 23;
+ enum SQLINTEGER SQL_DESC_BIND_OFFSET_PTR = 24;
+ enum SQLINTEGER SQL_DESC_BIND_TYPE = 25;
+ enum SQLINTEGER SQL_DESC_DATETIME_INTERVAL_PRECISION = 26;
+ enum SQLINTEGER SQL_DESC_LITERAL_PREFIX = 27;
+ enum SQLINTEGER SQL_DESC_LITERAL_SUFFIX = 28;
+ enum SQLINTEGER SQL_DESC_LOCAL_TYPE_NAME = 29;
+ enum SQLINTEGER SQL_DESC_MAXIMUM_SCALE = 30;
+ enum SQLINTEGER SQL_DESC_MINIMUM_SCALE = 31;
+ enum SQLINTEGER SQL_DESC_NUM_PREC_RADIX = 32;
+ enum SQLINTEGER SQL_DESC_PARAMETER_TYPE = 33;
+ enum SQLINTEGER SQL_DESC_ROWS_PROCESSED_PTR = 34;
+ enum SQLINTEGER SQL_DESC_ROWVER = 35;
+ enum SQLINTEGER SQL_DESC_MIME_TYPE = 36;
+ auto SQL_DIAG_CURSOR_ROW_COUNT()()
+ {
+ return -1249;
+ }
+ auto SQL_DIAG_ROW_NUMBER()()
+ {
+ return -1248;
+ }
+ auto SQL_DIAG_COLUMN_NUMBER()()
+ {
+ return -1247;
+ }
+ enum SQLINTEGER SQL_DATE = 9;
+ enum SQLINTEGER SQL_INTERVAL = 10;
+ enum SQLINTEGER SQL_TIME = 10;
+ enum SQLINTEGER SQL_TIMESTAMP = 11;
+ auto SQL_LONGVARCHAR()()
+ {
+ return -1;
+ }
+ auto SQL_BINARY()()
+ {
+ return -2;
+ }
+ auto SQL_VARBINARY()()
+ {
+ return -3;
+ }
+ auto SQL_LONGVARBINARY()()
+ {
+ return -4;
+ }
+ auto SQL_BIGINT()()
+ {
+ return -5;
+ }
+ auto SQL_TINYINT()()
+ {
+ return -6;
+ }
+ auto SQL_BIT()()
+ {
+ return -7;
+ }
+ auto SQL_GUID()()
+ {
+ return -11;
+ }
+ enum SQLINTEGER SQL_CODE_YEAR = 1;
+ enum SQLINTEGER SQL_CODE_MONTH = 2;
+ enum SQLINTEGER SQL_CODE_DAY = 3;
+ enum SQLINTEGER SQL_CODE_HOUR = 4;
+ enum SQLINTEGER SQL_CODE_MINUTE = 5;
+ enum SQLINTEGER SQL_CODE_SECOND = 6;
+ enum SQLINTEGER SQL_CODE_YEAR_TO_MONTH = 7;
+ enum SQLINTEGER SQL_CODE_DAY_TO_HOUR = 8;
+ enum SQLINTEGER SQL_CODE_DAY_TO_MINUTE = 9;
+ enum SQLINTEGER SQL_CODE_DAY_TO_SECOND = 10;
+ enum SQLINTEGER SQL_CODE_HOUR_TO_MINUTE = 11;
+ enum SQLINTEGER SQL_CODE_HOUR_TO_SECOND = 12;
+ enum SQLINTEGER SQL_CODE_MINUTE_TO_SECOND = 13;
+ auto SQL_INTERVAL_YEAR()()
+ {
+ return 100 + SQL_CODE_YEAR;
+ }
+ auto SQL_INTERVAL_MONTH()()
+ {
+ return 100 + SQL_CODE_MONTH;
+ }
+ auto SQL_INTERVAL_DAY()()
+ {
+ return 100 + SQL_CODE_DAY;
+ }
+ auto SQL_INTERVAL_HOUR()()
+ {
+ return 100 + SQL_CODE_HOUR;
+ }
+ auto SQL_INTERVAL_MINUTE()()
+ {
+ return 100 + SQL_CODE_MINUTE;
+ }
+ auto SQL_INTERVAL_SECOND()()
+ {
+ return 100 + SQL_CODE_SECOND;
+ }
+ auto SQL_INTERVAL_YEAR_TO_MONTH()()
+ {
+ return 100 + SQL_CODE_YEAR_TO_MONTH;
+ }
+ auto SQL_INTERVAL_DAY_TO_HOUR()()
+ {
+ return 100 + SQL_CODE_DAY_TO_HOUR;
+ }
+ auto SQL_INTERVAL_DAY_TO_MINUTE()()
+ {
+ return 100 + SQL_CODE_DAY_TO_MINUTE;
+ }
+ auto SQL_INTERVAL_DAY_TO_SECOND()()
+ {
+ return 100 + SQL_CODE_DAY_TO_SECOND;
+ }
+ auto SQL_INTERVAL_HOUR_TO_MINUTE()()
+ {
+ return 100 + SQL_CODE_HOUR_TO_MINUTE;
+ }
+ auto SQL_INTERVAL_HOUR_TO_SECOND()()
+ {
+ return 100 + SQL_CODE_HOUR_TO_SECOND;
+ }
+ auto SQL_INTERVAL_MINUTE_TO_SECOND()()
+ {
+ return 100 + SQL_CODE_MINUTE_TO_SECOND;
+ }
+ enum SQLINTEGER SQL_C_DEFAULT = 99;
+ auto SQL_SIGNED_OFFSET()()
+ {
+ return -20;
+ }
+ auto SQL_UNSIGNED_OFFSET()()
+ {
+ return -22;
+ }
+ auto SQL_C_SBIGINT()()
+ {
+ return SQL_BIGINT + SQL_SIGNED_OFFSET;
+ }
+ auto SQL_C_UBIGINT()()
+ {
+ return SQL_BIGINT + SQL_UNSIGNED_OFFSET;
+ }
+ auto SQL_C_SLONG()()
+ {
+ return SQL_C_LONG + SQL_SIGNED_OFFSET;
+ }
+ auto SQL_C_SSHORT()()
+ {
+ return SQL_C_SHORT + SQL_SIGNED_OFFSET;
+ }
+ auto SQL_C_STINYINT()()
+ {
+ return SQL_TINYINT + SQL_SIGNED_OFFSET;
+ }
+ auto SQL_C_ULONG()()
+ {
+ return SQL_C_LONG + SQL_UNSIGNED_OFFSET;
+ }
+ auto SQL_C_USHORT()()
+ {
+ return SQL_C_SHORT + SQL_UNSIGNED_OFFSET;
+ }
+ auto SQL_C_UTINYINT()()
+ {
+ return SQL_TINYINT + SQL_UNSIGNED_OFFSET;
+ }
+ enum SQLINTEGER SQL_TYPE_NULL = 0;
+ enum SQLINTEGER SQL_DRIVER_C_TYPE_BASE = 16384;
+ enum SQLINTEGER SQL_DRIVER_SQL_TYPE_BASE = 16384;
+ enum SQLINTEGER SQL_DRIVER_DESC_FIELD_BASE = 16384;
+ enum SQLINTEGER SQL_DRIVER_DIAG_FIELD_BASE = 16384;
+ enum SQLINTEGER SQL_DRIVER_INFO_TYPE_BASE = 16384;
+ enum SQLINTEGER SQL_DRIVER_CONN_ATTR_BASE = 16384;
+ enum SQLINTEGER SQL_DRIVER_STMT_ATTR_BASE = 16384;
+ auto SQL_NO_ROW_NUMBER()()
+ {
+ return -1;
+ }
+ auto SQL_NO_COLUMN_NUMBER()()
+ {
+ return -1;
+ }
+ auto SQL_ROW_NUMBER_UNKNOWN()()
+ {
+ return -2;
+ }
+ auto SQL_COLUMN_NUMBER_UNKNOWN()()
+ {
+ return -2;
+ }
+ auto SQL_DEFAULT_PARAM()()
+ {
+ return -5;
+ }
+ auto SQL_IGNORE()()
+ {
+ return -6;
+ }
+ auto SQL_LEN_DATA_AT_EXEC_OFFSET()()
+ {
+ return -100;
+ }
+ auto SQL_LEN_DATA_AT_EXEC(__MP2)(__MP2 length)
+ {
+ return -length + SQL_LEN_DATA_AT_EXEC_OFFSET;
+ }
+ auto SQL_LEN_BINARY_ATTR_OFFSET()()
+ {
+ return -100;
+ }
+ auto SQL_LEN_BINARY_ATTR(__MP3)(__MP3 length)
+ {
+ return -length + SQL_LEN_BINARY_ATTR_OFFSET;
+ }
+ auto SQL_SETPARAM_VALUE_MAX()()
+ {
+ return -1;
+ }
+ auto SQL_TYPE_EXCEPTION()()
+ {
+ return -20;
+ }
+ enum SQLINTEGER SQL_COLUMN_COUNT = 0;
+ enum SQLINTEGER SQL_COLUMN_NAME = 1;
+ enum SQLINTEGER SQL_COLUMN_TYPE = 2;
+ enum SQLINTEGER SQL_COLUMN_LENGTH = 3;
+ enum SQLINTEGER SQL_COLUMN_PRECISION = 4;
+ enum SQLINTEGER SQL_COLUMN_SCALE = 5;
+ enum SQLINTEGER SQL_COLUMN_DISPLAY_SIZE = 6;
+ enum SQLINTEGER SQL_COLUMN_NULLABLE = 7;
+ enum SQLINTEGER SQL_COLUMN_UNSIGNED = 8;
+ enum SQLINTEGER SQL_COLUMN_MONEY = 9;
+ enum SQLINTEGER SQL_COLUMN_UPDATABLE = 10;
+ enum SQLINTEGER SQL_COLUMN_AUTO_INCREMENT = 11;
+ enum SQLINTEGER SQL_COLUMN_CASE_SENSITIVE = 12;
+ enum SQLINTEGER SQL_COLUMN_SEARCHABLE = 13;
+ enum SQLINTEGER SQL_COLUMN_TYPE_NAME = 14;
+ enum SQLINTEGER SQL_COLUMN_TABLE_NAME = 15;
+ enum SQLINTEGER SQL_COLUMN_OWNER_NAME = 16;
+ enum SQLINTEGER SQL_COLUMN_QUALIFIER_NAME = 17;
+ enum SQLINTEGER SQL_COLUMN_LABEL = 18;
+ enum SQLINTEGER SQL_ATTR_READONLY = 0;
+ enum SQLINTEGER SQL_ATTR_WRITE = 1;
+ enum SQLINTEGER SQL_ATTR_READWRITE_UNKNOWN = 2;
+ enum SQLINTEGER SQL_UNSEARCHABLE = 0;
+ enum SQLINTEGER SQL_LIKE_ONLY = 1;
+ enum SQLINTEGER SQL_ALL_EXCEPT_LIKE = 2;
+ enum SQLINTEGER SQL_SEARCHABLE = 3;
+ auto SQL_NO_TOTAL()()
+ {
+ return -4;
+ }
+ enum SQLINTEGER SQL_INFO_FIRST = 0;
+ enum SQLINTEGER SQL_ACTIVE_CONNECTIONS = 0;
+ enum SQLINTEGER SQL_ACTIVE_STATEMENTS = 1;
+ enum SQLINTEGER SQL_DRIVER_HDBC = 3;
+ enum SQLINTEGER SQL_DRIVER_HENV = 4;
+ enum SQLINTEGER SQL_DRIVER_HSTMT = 5;
+ enum SQLINTEGER SQL_DRIVER_NAME = 6;
+ enum SQLINTEGER SQL_DRIVER_VER = 7;
+ enum SQLINTEGER SQL_ODBC_API_CONFORMANCE = 9;
+ enum SQLINTEGER SQL_ODBC_VER = 10;
+ enum SQLINTEGER SQL_ROW_UPDATES = 11;
+ enum SQLINTEGER SQL_ODBC_SAG_CLI_CONFORMANCE = 12;
+ enum SQLINTEGER SQL_ODBC_SQL_CONFORMANCE = 15;
+ enum SQLINTEGER SQL_PROCEDURES = 21;
+ enum SQLINTEGER SQL_CONCAT_NULL_BEHAVIOR = 22;
+ enum SQLINTEGER SQL_CURSOR_ROLLBACK_BEHAVIOR = 24;
+ enum SQLINTEGER SQL_EXPRESSIONS_IN_ORDERBY = 27;
+ enum SQLINTEGER SQL_MAX_OWNER_NAME_LEN = 32;
+ enum SQLINTEGER SQL_MAX_PROCEDURE_NAME_LEN = 33;
+ enum SQLINTEGER SQL_MAX_QUALIFIER_NAME_LEN = 34;
+ enum SQLINTEGER SQL_MULT_RESULT_SETS = 36;
+ enum SQLINTEGER SQL_MULTIPLE_ACTIVE_TXN = 37;
+ enum SQLINTEGER SQL_OUTER_JOINS = 38;
+ enum SQLINTEGER SQL_OWNER_TERM = 39;
+ enum SQLINTEGER SQL_PROCEDURE_TERM = 40;
+ enum SQLINTEGER SQL_QUALIFIER_NAME_SEPARATOR = 41;
+ enum SQLINTEGER SQL_QUALIFIER_TERM = 42;
+ enum SQLINTEGER SQL_SCROLL_OPTIONS = 44;
+ enum SQLINTEGER SQL_TABLE_TERM = 45;
+ enum SQLINTEGER SQL_CONVERT_FUNCTIONS = 48;
+ enum SQLINTEGER SQL_NUMERIC_FUNCTIONS = 49;
+ enum SQLINTEGER SQL_STRING_FUNCTIONS = 50;
+ enum SQLINTEGER SQL_SYSTEM_FUNCTIONS = 51;
+ enum SQLINTEGER SQL_TIMEDATE_FUNCTIONS = 52;
+ enum SQLINTEGER SQL_CONVERT_BIGINT = 53;
+ enum SQLINTEGER SQL_CONVERT_BINARY = 54;
+ enum SQLINTEGER SQL_CONVERT_BIT = 55;
+ enum SQLINTEGER SQL_CONVERT_CHAR = 56;
+ enum SQLINTEGER SQL_CONVERT_DATE = 57;
+ enum SQLINTEGER SQL_CONVERT_DECIMAL = 58;
+ enum SQLINTEGER SQL_CONVERT_DOUBLE = 59;
+ enum SQLINTEGER SQL_CONVERT_FLOAT = 60;
+ enum SQLINTEGER SQL_CONVERT_INTEGER = 61;
+ enum SQLINTEGER SQL_CONVERT_LONGVARCHAR = 62;
+ enum SQLINTEGER SQL_CONVERT_NUMERIC = 63;
+ enum SQLINTEGER SQL_CONVERT_REAL = 64;
+ enum SQLINTEGER SQL_CONVERT_SMALLINT = 65;
+ enum SQLINTEGER SQL_CONVERT_TIME = 66;
+ enum SQLINTEGER SQL_CONVERT_TIMESTAMP = 67;
+ enum SQLINTEGER SQL_CONVERT_TINYINT = 68;
+ enum SQLINTEGER SQL_CONVERT_VARBINARY = 69;
+ enum SQLINTEGER SQL_CONVERT_VARCHAR = 70;
+ enum SQLINTEGER SQL_CONVERT_LONGVARBINARY = 71;
+ enum SQLINTEGER SQL_ODBC_SQL_OPT_IEF = 73;
+ enum SQLINTEGER SQL_CORRELATION_NAME = 74;
+ enum SQLINTEGER SQL_NON_NULLABLE_COLUMNS = 75;
+ enum SQLINTEGER SQL_DRIVER_HLIB = 76;
+ enum SQLINTEGER SQL_DRIVER_ODBC_VER = 77;
+ enum SQLINTEGER SQL_LOCK_TYPES = 78;
+ enum SQLINTEGER SQL_POS_OPERATIONS = 79;
+ enum SQLINTEGER SQL_POSITIONED_STATEMENTS = 80;
+ enum SQLINTEGER SQL_BOOKMARK_PERSISTENCE = 82;
+ enum SQLINTEGER SQL_STATIC_SENSITIVITY = 83;
+ enum SQLINTEGER SQL_FILE_USAGE = 84;
+ enum SQLINTEGER SQL_COLUMN_ALIAS = 87;
+ enum SQLINTEGER SQL_GROUP_BY = 88;
+ enum SQLINTEGER SQL_KEYWORDS = 89;
+ enum SQLINTEGER SQL_OWNER_USAGE = 91;
+ enum SQLINTEGER SQL_QUALIFIER_USAGE = 92;
+ enum SQLINTEGER SQL_QUOTED_IDENTIFIER_CASE = 93;
+ enum SQLINTEGER SQL_SUBQUERIES = 95;
+ enum SQLINTEGER SQL_UNION = 96;
+ enum SQLINTEGER SQL_MAX_ROW_SIZE_INCLUDES_LONG = 103;
+ enum SQLINTEGER SQL_MAX_CHAR_LITERAL_LEN = 108;
+ enum SQLINTEGER SQL_TIMEDATE_ADD_INTERVALS = 109;
+ enum SQLINTEGER SQL_TIMEDATE_DIFF_INTERVALS = 110;
+ enum SQLINTEGER SQL_NEED_LONG_DATA_LEN = 111;
+ enum SQLINTEGER SQL_MAX_BINARY_LITERAL_LEN = 112;
+ enum SQLINTEGER SQL_LIKE_ESCAPE_CLAUSE = 113;
+ enum SQLINTEGER SQL_QUALIFIER_LOCATION = 114;
+ enum SQLINTEGER SQL_ACTIVE_ENVIRONMENTS = 116;
+ enum SQLINTEGER SQL_ALTER_DOMAIN = 117;
+ enum SQLINTEGER SQL_SQL_CONFORMANCE = 118;
+ enum SQLINTEGER SQL_DATETIME_LITERALS = 119;
+ enum SQLINTEGER SQL_ASYNC_MODE = 10021;
+ enum SQLINTEGER SQL_BATCH_ROW_COUNT = 120;
+ enum SQLINTEGER SQL_BATCH_SUPPORT = 121;
+ enum SQLINTEGER SQL_CONVERT_WCHAR = 122;
+ enum SQLINTEGER SQL_CONVERT_INTERVAL_DAY_TIME = 123;
+ enum SQLINTEGER SQL_CONVERT_INTERVAL_YEAR_MONTH = 124;
+ enum SQLINTEGER SQL_CONVERT_WLONGVARCHAR = 125;
+ enum SQLINTEGER SQL_CONVERT_WVARCHAR = 126;
+ enum SQLINTEGER SQL_CREATE_ASSERTION = 127;
+ enum SQLINTEGER SQL_CREATE_CHARACTER_SET = 128;
+ enum SQLINTEGER SQL_CREATE_COLLATION = 129;
+ enum SQLINTEGER SQL_CREATE_DOMAIN = 130;
+ enum SQLINTEGER SQL_CREATE_SCHEMA = 131;
+ enum SQLINTEGER SQL_CREATE_TABLE = 132;
+ enum SQLINTEGER SQL_CREATE_TRANSLATION = 133;
+ enum SQLINTEGER SQL_CREATE_VIEW = 134;
+ enum SQLINTEGER SQL_DRIVER_HDESC = 135;
+ enum SQLINTEGER SQL_DROP_ASSERTION = 136;
+ enum SQLINTEGER SQL_DROP_CHARACTER_SET = 137;
+ enum SQLINTEGER SQL_DROP_COLLATION = 138;
+ enum SQLINTEGER SQL_DROP_DOMAIN = 139;
+ enum SQLINTEGER SQL_DROP_SCHEMA = 140;
+ enum SQLINTEGER SQL_DROP_TABLE = 141;
+ enum SQLINTEGER SQL_DROP_TRANSLATION = 142;
+ enum SQLINTEGER SQL_DROP_VIEW = 143;
+ enum SQLINTEGER SQL_DYNAMIC_CURSOR_ATTRIBUTES1 = 144;
+ enum SQLINTEGER SQL_DYNAMIC_CURSOR_ATTRIBUTES2 = 145;
+ enum SQLINTEGER SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 = 146;
+ enum SQLINTEGER SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 = 147;
+ enum SQLINTEGER SQL_INDEX_KEYWORDS = 148;
+ enum SQLINTEGER SQL_INFO_SCHEMA_VIEWS = 149;
+ enum SQLINTEGER SQL_KEYSET_CURSOR_ATTRIBUTES1 = 150;
+ enum SQLINTEGER SQL_KEYSET_CURSOR_ATTRIBUTES2 = 151;
+ enum SQLINTEGER SQL_MAX_ASYNC_CONCURRENT_STATEMENTS = 10022;
+ enum SQLINTEGER SQL_ODBC_INTERFACE_CONFORMANCE = 152;
+ enum SQLINTEGER SQL_PARAM_ARRAY_ROW_COUNTS = 153;
+ enum SQLINTEGER SQL_PARAM_ARRAY_SELECTS = 154;
+ enum SQLINTEGER SQL_SQL92_DATETIME_FUNCTIONS = 155;
+ enum SQLINTEGER SQL_SQL92_FOREIGN_KEY_DELETE_RULE = 156;
+ enum SQLINTEGER SQL_SQL92_FOREIGN_KEY_UPDATE_RULE = 157;
+ enum SQLINTEGER SQL_SQL92_GRANT = 158;
+ enum SQLINTEGER SQL_SQL92_NUMERIC_VALUE_FUNCTIONS = 159;
+ enum SQLINTEGER SQL_SQL92_PREDICATES = 160;
+ enum SQLINTEGER SQL_SQL92_RELATIONAL_JOIN_OPERATORS = 161;
+ enum SQLINTEGER SQL_SQL92_REVOKE = 162;
+ enum SQLINTEGER SQL_SQL92_ROW_VALUE_CONSTRUCTOR = 163;
+ enum SQLINTEGER SQL_SQL92_STRING_FUNCTIONS = 164;
+ enum SQLINTEGER SQL_SQL92_VALUE_EXPRESSIONS = 165;
+ enum SQLINTEGER SQL_STANDARD_CLI_CONFORMANCE = 166;
+ enum SQLINTEGER SQL_STATIC_CURSOR_ATTRIBUTES1 = 167;
+ enum SQLINTEGER SQL_STATIC_CURSOR_ATTRIBUTES2 = 168;
+ enum SQLINTEGER SQL_AGGREGATE_FUNCTIONS = 169;
+ enum SQLINTEGER SQL_DDL_INDEX = 170;
+ enum SQLINTEGER SQL_DM_VER = 171;
+ enum SQLINTEGER SQL_INSERT_STATEMENT = 172;
+ enum SQLINTEGER SQL_CONVERT_GUID = 173;
+ enum SQLINTEGER SQL_SCHEMA_INFERENCE = 174;
+ enum SQLINTEGER SQL_BINARY_FUNCTIONS = 175;
+ enum SQLINTEGER SQL_ISO_STRING_FUNCTIONS = 176;
+ enum SQLINTEGER SQL_ISO_BINARY_FUNCTIONS = 177;
+ enum SQLINTEGER SQL_LIMIT_ESCAPE_CLAUSE = 178;
+ enum SQLINTEGER SQL_NATIVE_ESCAPE_CLAUSE = 179;
+ enum SQLINTEGER SQL_RETURN_ESCAPE_CLAUSE = 180;
+ enum SQLINTEGER SQL_FORMAT_ESCAPE_CLAUSE = 181;
+ enum SQLINTEGER SQL_ASYNC_DBC_FUNCTIONS = 10023;
+ enum SQLINTEGER SQL_DRIVER_AWARE_POOLING_SUPPORTED = 10024;
+ enum SQLINTEGER SQL_ASYNC_NOTIFICATION = 10025;
+ enum SQLINTEGER SQL_ASYNC_NOTIFICATION_NOT_CAPABLE = 0;
+ enum SQLINTEGER SQL_ASYNC_NOTIFICATION_CAPABLE = 1;
+ enum SQLINTEGER SQL_DTC_TRANSITION_COST = 1750;
+ enum SQLINTEGER SQL_AT_ADD_COLUMN_SINGLE = 32;
+ enum SQLINTEGER SQL_AT_ADD_COLUMN_DEFAULT = 64;
+ enum SQLINTEGER SQL_AT_ADD_COLUMN_COLLATION = 128;
+ enum SQLINTEGER SQL_AT_SET_COLUMN_DEFAULT = 256;
+ enum SQLINTEGER SQL_AT_DROP_COLUMN_DEFAULT = 512;
+ enum SQLINTEGER SQL_AT_DROP_COLUMN_CASCADE = 1024;
+ enum SQLINTEGER SQL_AT_DROP_COLUMN_RESTRICT = 2048;
+ enum SQLINTEGER SQL_AT_ADD_TABLE_CONSTRAINT = 4096;
+ enum SQLINTEGER SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE = 8192;
+ enum SQLINTEGER SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT = 16384;
+ enum SQLINTEGER SQL_AT_CONSTRAINT_NAME_DEFINITION = 32768;
+ enum SQLINTEGER SQL_AT_CONSTRAINT_INITIALLY_DEFERRED = 65536;
+ enum SQLINTEGER SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE = 131072;
+ enum SQLINTEGER SQL_AT_CONSTRAINT_DEFERRABLE = 262144;
+ enum SQLINTEGER SQL_AT_CONSTRAINT_NON_DEFERRABLE = 524288;
+ enum SQLINTEGER SQL_CVT_CHAR = 1;
+ enum SQLINTEGER SQL_CVT_NUMERIC = 2;
+ enum SQLINTEGER SQL_CVT_DECIMAL = 4;
+ enum SQLINTEGER SQL_CVT_INTEGER = 8;
+ enum SQLINTEGER SQL_CVT_SMALLINT = 16;
+ enum SQLINTEGER SQL_CVT_FLOAT = 32;
+ enum SQLINTEGER SQL_CVT_REAL = 64;
+ enum SQLINTEGER SQL_CVT_DOUBLE = 128;
+ enum SQLINTEGER SQL_CVT_VARCHAR = 256;
+ enum SQLINTEGER SQL_CVT_LONGVARCHAR = 512;
+ enum SQLINTEGER SQL_CVT_BINARY = 1024;
+ enum SQLINTEGER SQL_CVT_VARBINARY = 2048;
+ enum SQLINTEGER SQL_CVT_BIT = 4096;
+ enum SQLINTEGER SQL_CVT_TINYINT = 8192;
+ enum SQLINTEGER SQL_CVT_BIGINT = 16384;
+ enum SQLINTEGER SQL_CVT_DATE = 32768;
+ enum SQLINTEGER SQL_CVT_TIME = 65536;
+ enum SQLINTEGER SQL_CVT_TIMESTAMP = 131072;
+ enum SQLINTEGER SQL_CVT_LONGVARBINARY = 262144;
+ enum SQLINTEGER SQL_CVT_INTERVAL_YEAR_MONTH = 524288;
+ enum SQLINTEGER SQL_CVT_INTERVAL_DAY_TIME = 1048576;
+ enum SQLINTEGER SQL_CVT_WCHAR = 2097152;
+ enum SQLINTEGER SQL_CVT_WLONGVARCHAR = 4194304;
+ enum SQLINTEGER SQL_CVT_WVARCHAR = 8388608;
+ enum SQLINTEGER SQL_CVT_GUID = 16777216;
+ enum SQLINTEGER SQL_FN_CVT_CONVERT = 1;
+ enum SQLINTEGER SQL_FN_CVT_CAST = 2;
+ enum SQLINTEGER SQL_FN_STR_CONCAT = 1;
+ enum SQLINTEGER SQL_FN_STR_INSERT = 2;
+ enum SQLINTEGER SQL_FN_STR_LEFT = 4;
+ enum SQLINTEGER SQL_FN_STR_LTRIM = 8;
+ enum SQLINTEGER SQL_FN_STR_LENGTH = 16;
+ enum SQLINTEGER SQL_FN_STR_LOCATE = 32;
+ enum SQLINTEGER SQL_FN_STR_LCASE = 64;
+ enum SQLINTEGER SQL_FN_STR_REPEAT = 128;
+ enum SQLINTEGER SQL_FN_STR_REPLACE = 256;
+ enum SQLINTEGER SQL_FN_STR_RIGHT = 512;
+ enum SQLINTEGER SQL_FN_STR_RTRIM = 1024;
+ enum SQLINTEGER SQL_FN_STR_SUBSTRING = 2048;
+ enum SQLINTEGER SQL_FN_STR_UCASE = 4096;
+ enum SQLINTEGER SQL_FN_STR_ASCII = 8192;
+ enum SQLINTEGER SQL_FN_STR_CHAR = 16384;
+ enum SQLINTEGER SQL_FN_STR_DIFFERENCE = 32768;
+ enum SQLINTEGER SQL_FN_STR_LOCATE_2 = 65536;
+ enum SQLINTEGER SQL_FN_STR_SOUNDEX = 131072;
+ enum SQLINTEGER SQL_FN_STR_SPACE = 262144;
+ enum SQLINTEGER SQL_FN_STR_BIT_LENGTH = 524288;
+ enum SQLINTEGER SQL_FN_STR_CHAR_LENGTH = 1048576;
+ enum SQLINTEGER SQL_FN_STR_CHARACTER_LENGTH = 2097152;
+ enum SQLINTEGER SQL_FN_STR_OCTET_LENGTH = 4194304;
+ enum SQLINTEGER SQL_FN_STR_POSITION = 8388608;
+ enum SQLINTEGER SQL_SSF_CONVERT = 1;
+ enum SQLINTEGER SQL_SSF_LOWER = 2;
+ enum SQLINTEGER SQL_SSF_UPPER = 4;
+ enum SQLINTEGER SQL_SSF_SUBSTRING = 8;
+ enum SQLINTEGER SQL_SSF_TRANSLATE = 16;
+ enum SQLINTEGER SQL_SSF_TRIM_BOTH = 32;
+ enum SQLINTEGER SQL_SSF_TRIM_LEADING = 64;
+ enum SQLINTEGER SQL_SSF_TRIM_TRAILING = 128;
+ enum SQLINTEGER SQL_SSF_OVERLAY = 256;
+ enum SQLINTEGER SQL_SSF_LENGTH = 512;
+ enum SQLINTEGER SQL_SSF_POSITION = 1024;
+ enum SQLINTEGER SQL_SSF_CONCAT = 2048;
+ enum SQLINTEGER SQL_FN_NUM_ABS = 1;
+ enum SQLINTEGER SQL_FN_NUM_ACOS = 2;
+ enum SQLINTEGER SQL_FN_NUM_ASIN = 4;
+ enum SQLINTEGER SQL_FN_NUM_ATAN = 8;
+ enum SQLINTEGER SQL_FN_NUM_ATAN2 = 16;
+ enum SQLINTEGER SQL_FN_NUM_CEILING = 32;
+ enum SQLINTEGER SQL_FN_NUM_COS = 64;
+ enum SQLINTEGER SQL_FN_NUM_COT = 128;
+ enum SQLINTEGER SQL_FN_NUM_EXP = 256;
+ enum SQLINTEGER SQL_FN_NUM_FLOOR = 512;
+ enum SQLINTEGER SQL_FN_NUM_LOG = 1024;
+ enum SQLINTEGER SQL_FN_NUM_MOD = 2048;
+ enum SQLINTEGER SQL_FN_NUM_SIGN = 4096;
+ enum SQLINTEGER SQL_FN_NUM_SIN = 8192;
+ enum SQLINTEGER SQL_FN_NUM_SQRT = 16384;
+ enum SQLINTEGER SQL_FN_NUM_TAN = 32768;
+ enum SQLINTEGER SQL_FN_NUM_PI = 65536;
+ enum SQLINTEGER SQL_FN_NUM_RAND = 131072;
+ enum SQLINTEGER SQL_FN_NUM_DEGREES = 262144;
+ enum SQLINTEGER SQL_FN_NUM_LOG10 = 524288;
+ enum SQLINTEGER SQL_FN_NUM_POWER = 1048576;
+ enum SQLINTEGER SQL_FN_NUM_RADIANS = 2097152;
+ enum SQLINTEGER SQL_FN_NUM_ROUND = 4194304;
+ enum SQLINTEGER SQL_FN_NUM_TRUNCATE = 8388608;
+ enum SQLINTEGER SQL_SNVF_BIT_LENGTH = 1;
+ enum SQLINTEGER SQL_SNVF_CHAR_LENGTH = 2;
+ enum SQLINTEGER SQL_SNVF_CHARACTER_LENGTH = 4;
+ enum SQLINTEGER SQL_SNVF_EXTRACT = 8;
+ enum SQLINTEGER SQL_SNVF_OCTET_LENGTH = 16;
+ enum SQLINTEGER SQL_SNVF_POSITION = 32;
+ enum SQLINTEGER SQL_FN_TD_NOW = 1;
+ enum SQLINTEGER SQL_FN_TD_CURDATE = 2;
+ enum SQLINTEGER SQL_FN_TD_DAYOFMONTH = 4;
+ enum SQLINTEGER SQL_FN_TD_DAYOFWEEK = 8;
+ enum SQLINTEGER SQL_FN_TD_DAYOFYEAR = 16;
+ enum SQLINTEGER SQL_FN_TD_MONTH = 32;
+ enum SQLINTEGER SQL_FN_TD_QUARTER = 64;
+ enum SQLINTEGER SQL_FN_TD_WEEK = 128;
+ enum SQLINTEGER SQL_FN_TD_YEAR = 256;
+ enum SQLINTEGER SQL_FN_TD_CURTIME = 512;
+ enum SQLINTEGER SQL_FN_TD_HOUR = 1024;
+ enum SQLINTEGER SQL_FN_TD_MINUTE = 2048;
+ enum SQLINTEGER SQL_FN_TD_SECOND = 4096;
+ enum SQLINTEGER SQL_FN_TD_TIMESTAMPADD = 8192;
+ enum SQLINTEGER SQL_FN_TD_TIMESTAMPDIFF = 16384;
+ enum SQLINTEGER SQL_FN_TD_DAYNAME = 32768;
+ enum SQLINTEGER SQL_FN_TD_MONTHNAME = 65536;
+ enum SQLINTEGER SQL_FN_TD_CURRENT_DATE = 131072;
+ enum SQLINTEGER SQL_FN_TD_CURRENT_TIME = 262144;
+ enum SQLINTEGER SQL_FN_TD_CURRENT_TIMESTAMP = 524288;
+ enum SQLINTEGER SQL_FN_TD_EXTRACT = 1048576;
+ enum SQLINTEGER SQL_SDF_CURRENT_DATE = 1;
+ enum SQLINTEGER SQL_SDF_CURRENT_TIME = 2;
+ enum SQLINTEGER SQL_SDF_CURRENT_TIMESTAMP = 4;
+ enum SQLINTEGER SQL_FN_SYS_USERNAME = 1;
+ enum SQLINTEGER SQL_FN_SYS_DBNAME = 2;
+ enum SQLINTEGER SQL_FN_SYS_IFNULL = 4;
+ enum SQLINTEGER SQL_FN_TSI_FRAC_SECOND = 1;
+ enum SQLINTEGER SQL_FN_TSI_SECOND = 2;
+ enum SQLINTEGER SQL_FN_TSI_MINUTE = 4;
+ enum SQLINTEGER SQL_FN_TSI_HOUR = 8;
+ enum SQLINTEGER SQL_FN_TSI_DAY = 16;
+ enum SQLINTEGER SQL_FN_TSI_WEEK = 32;
+ enum SQLINTEGER SQL_FN_TSI_MONTH = 64;
+ enum SQLINTEGER SQL_FN_TSI_QUARTER = 128;
+ enum SQLINTEGER SQL_FN_TSI_YEAR = 256;
+ enum SQLINTEGER SQL_CA1_NEXT = 1;
+ enum SQLINTEGER SQL_CA1_ABSOLUTE = 2;
+ enum SQLINTEGER SQL_CA1_RELATIVE = 4;
+ enum SQLINTEGER SQL_CA1_BOOKMARK = 8;
+ enum SQLINTEGER SQL_CA1_LOCK_NO_CHANGE = 64;
+ enum SQLINTEGER SQL_CA1_LOCK_EXCLUSIVE = 128;
+ enum SQLINTEGER SQL_CA1_LOCK_UNLOCK = 256;
+ enum SQLINTEGER SQL_CA1_POS_POSITION = 512;
+ enum SQLINTEGER SQL_CA1_POS_UPDATE = 1024;
+ enum SQLINTEGER SQL_CA1_POS_DELETE = 2048;
+ enum SQLINTEGER SQL_CA1_POS_REFRESH = 4096;
+ enum SQLINTEGER SQL_CA1_POSITIONED_UPDATE = 8192;
+ enum SQLINTEGER SQL_CA1_POSITIONED_DELETE = 16384;
+ enum SQLINTEGER SQL_CA1_SELECT_FOR_UPDATE = 32768;
+ enum SQLINTEGER SQL_CA1_BULK_ADD = 65536;
+ enum SQLINTEGER SQL_CA1_BULK_UPDATE_BY_BOOKMARK = 131072;
+ enum SQLINTEGER SQL_CA1_BULK_DELETE_BY_BOOKMARK = 262144;
+ enum SQLINTEGER SQL_CA1_BULK_FETCH_BY_BOOKMARK = 524288;
+ enum SQLINTEGER SQL_CA2_READ_ONLY_CONCURRENCY = 1;
+ enum SQLINTEGER SQL_CA2_LOCK_CONCURRENCY = 2;
+ enum SQLINTEGER SQL_CA2_OPT_ROWVER_CONCURRENCY = 4;
+ enum SQLINTEGER SQL_CA2_OPT_VALUES_CONCURRENCY = 8;
+ enum SQLINTEGER SQL_CA2_SENSITIVITY_ADDITIONS = 16;
+ enum SQLINTEGER SQL_CA2_SENSITIVITY_DELETIONS = 32;
+ enum SQLINTEGER SQL_CA2_SENSITIVITY_UPDATES = 64;
+ enum SQLINTEGER SQL_CA2_MAX_ROWS_SELECT = 128;
+ enum SQLINTEGER SQL_CA2_MAX_ROWS_INSERT = 256;
+ enum SQLINTEGER SQL_CA2_MAX_ROWS_DELETE = 512;
+ enum SQLINTEGER SQL_CA2_MAX_ROWS_UPDATE = 1024;
+ enum SQLINTEGER SQL_CA2_MAX_ROWS_CATALOG = 2048;
+ enum SQLINTEGER SQL_CA2_CRC_EXACT = 4096;
+ enum SQLINTEGER SQL_CA2_CRC_APPROXIMATE = 8192;
+ enum SQLINTEGER SQL_CA2_SIMULATE_NON_UNIQUE = 16384;
+ enum SQLINTEGER SQL_CA2_SIMULATE_TRY_UNIQUE = 32768;
+ enum SQLINTEGER SQL_CA2_SIMULATE_UNIQUE = 65536;
+ enum SQLINTEGER SQL_OAC_NONE = 0;
+ enum SQLINTEGER SQL_OAC_LEVEL1 = 1;
+ enum SQLINTEGER SQL_OAC_LEVEL2 = 2;
+ enum SQLINTEGER SQL_OSCC_NOT_COMPLIANT = 0;
+ enum SQLINTEGER SQL_OSCC_COMPLIANT = 1;
+ enum SQLINTEGER SQL_OSC_MINIMUM = 0;
+ enum SQLINTEGER SQL_OSC_CORE = 1;
+ enum SQLINTEGER SQL_OSC_EXTENDED = 2;
+ enum SQLINTEGER SQL_CB_NULL = 0;
+ enum SQLINTEGER SQL_CB_NON_NULL = 1;
+ enum SQLINTEGER SQL_SO_FORWARD_ONLY = 1;
+ enum SQLINTEGER SQL_SO_KEYSET_DRIVEN = 2;
+ enum SQLINTEGER SQL_SO_DYNAMIC = 4;
+ enum SQLINTEGER SQL_SO_MIXED = 8;
+ enum SQLINTEGER SQL_SO_STATIC = 16;
+ enum SQLINTEGER SQL_FD_FETCH_BOOKMARK = 128;
+ enum SQLINTEGER SQL_CN_NONE = 0;
+ enum SQLINTEGER SQL_CN_DIFFERENT = 1;
+ enum SQLINTEGER SQL_CN_ANY = 2;
+ enum SQLINTEGER SQL_NNC_NULL = 0;
+ enum SQLINTEGER SQL_NNC_NON_NULL = 1;
+ enum SQLINTEGER SQL_NC_START = 2;
+ enum SQLINTEGER SQL_NC_END = 4;
+ enum SQLINTEGER SQL_FILE_NOT_SUPPORTED = 0;
+ enum SQLINTEGER SQL_FILE_TABLE = 1;
+ enum SQLINTEGER SQL_FILE_QUALIFIER = 2;
+ enum SQLINTEGER SQL_GD_BLOCK = 4;
+ enum SQLINTEGER SQL_GD_BOUND = 8;
+ enum SQLINTEGER SQL_GD_OUTPUT_PARAMS = 16;
+ enum SQLINTEGER SQL_GD_CONCURRENT = 32;
+ enum SQLINTEGER SQL_PS_POSITIONED_DELETE = 1;
+ enum SQLINTEGER SQL_PS_POSITIONED_UPDATE = 2;
+ enum SQLINTEGER SQL_PS_SELECT_FOR_UPDATE = 4;
+ enum SQLINTEGER SQL_GB_NOT_SUPPORTED = 0;
+ enum SQLINTEGER SQL_GB_GROUP_BY_EQUALS_SELECT = 1;
+ enum SQLINTEGER SQL_GB_GROUP_BY_CONTAINS_SELECT = 2;
+ enum SQLINTEGER SQL_GB_NO_RELATION = 3;
+ enum SQLINTEGER SQL_GB_COLLATE = 4;
+ enum SQLINTEGER SQL_OU_DML_STATEMENTS = 1;
+ enum SQLINTEGER SQL_OU_PROCEDURE_INVOCATION = 2;
+ enum SQLINTEGER SQL_OU_TABLE_DEFINITION = 4;
+ enum SQLINTEGER SQL_OU_INDEX_DEFINITION = 8;
+ enum SQLINTEGER SQL_OU_PRIVILEGE_DEFINITION = 16;
+ enum SQLINTEGER SQL_QU_DML_STATEMENTS = 1;
+ enum SQLINTEGER SQL_QU_PROCEDURE_INVOCATION = 2;
+ enum SQLINTEGER SQL_QU_TABLE_DEFINITION = 4;
+ enum SQLINTEGER SQL_QU_INDEX_DEFINITION = 8;
+ enum SQLINTEGER SQL_QU_PRIVILEGE_DEFINITION = 16;
+ enum SQLINTEGER SQL_SQ_COMPARISON = 1;
+ enum SQLINTEGER SQL_SQ_EXISTS = 2;
+ enum SQLINTEGER SQL_SQ_IN = 4;
+ enum SQLINTEGER SQL_SQ_QUANTIFIED = 8;
+ enum SQLINTEGER SQL_SQ_CORRELATED_SUBQUERIES = 16;
+ enum SQLINTEGER SQL_U_UNION = 1;
+ enum SQLINTEGER SQL_U_UNION_ALL = 2;
+ enum SQLINTEGER SQL_BP_CLOSE = 1;
+ enum SQLINTEGER SQL_BP_DELETE = 2;
+ enum SQLINTEGER SQL_BP_DROP = 4;
+ enum SQLINTEGER SQL_BP_TRANSACTION = 8;
+ enum SQLINTEGER SQL_BP_UPDATE = 16;
+ enum SQLINTEGER SQL_BP_OTHER_HSTMT = 32;
+ enum SQLINTEGER SQL_BP_SCROLL = 64;
+ enum SQLINTEGER SQL_SS_ADDITIONS = 1;
+ enum SQLINTEGER SQL_SS_DELETIONS = 2;
+ enum SQLINTEGER SQL_SS_UPDATES = 4;
+ enum SQLINTEGER SQL_CV_CREATE_VIEW = 1;
+ enum SQLINTEGER SQL_CV_CHECK_OPTION = 2;
+ enum SQLINTEGER SQL_CV_CASCADED = 4;
+ enum SQLINTEGER SQL_CV_LOCAL = 8;
+ enum SQLINTEGER SQL_LCK_NO_CHANGE = 1;
+ enum SQLINTEGER SQL_LCK_EXCLUSIVE = 2;
+ enum SQLINTEGER SQL_LCK_UNLOCK = 4;
+ enum SQLINTEGER SQL_POS_POSITION = 1;
+ enum SQLINTEGER SQL_POS_REFRESH = 2;
+ enum SQLINTEGER SQL_POS_UPDATE = 4;
+ enum SQLINTEGER SQL_POS_DELETE = 8;
+ enum SQLINTEGER SQL_POS_ADD = 16;
+ enum SQLINTEGER SQL_QL_START = 1;
+ enum SQLINTEGER SQL_QL_END = 2;
+ enum SQLINTEGER SQL_AF_AVG = 1;
+ enum SQLINTEGER SQL_AF_COUNT = 2;
+ enum SQLINTEGER SQL_AF_MAX = 4;
+ enum SQLINTEGER SQL_AF_MIN = 8;
+ enum SQLINTEGER SQL_AF_SUM = 16;
+ enum SQLINTEGER SQL_AF_DISTINCT = 32;
+ enum SQLINTEGER SQL_AF_ALL = 64;
+ enum SQLINTEGER SQL_AF_EVERY = 128;
+ enum SQLINTEGER SQL_AF_ANY = 256;
+ enum SQLINTEGER SQL_AF_STDEV_OP = 512;
+ enum SQLINTEGER SQL_AF_STDEV_SAMP = 1024;
+ enum SQLINTEGER SQL_AF_VAR_SAMP = 2048;
+ enum SQLINTEGER SQL_AF_VAR_POP = 4096;
+ enum SQLINTEGER SQL_AF_ARRAY_AGG = 8192;
+ enum SQLINTEGER SQL_AF_COLLECT = 16384;
+ enum SQLINTEGER SQL_AF_FUSION = 32768;
+ enum SQLINTEGER SQL_AF_INTERSECTION = 65536;
+ enum SQLINTEGER SQL_SC_SQL92_ENTRY = 1;
+ enum SQLINTEGER SQL_SC_FIPS127_2_TRANSITIONAL = 2;
+ enum SQLINTEGER SQL_SC_SQL92_INTERMEDIATE = 4;
+ enum SQLINTEGER SQL_SC_SQL92_FULL = 8;
+ enum SQLINTEGER SQL_DL_SQL92_DATE = 1;
+ enum SQLINTEGER SQL_DL_SQL92_TIME = 2;
+ enum SQLINTEGER SQL_DL_SQL92_TIMESTAMP = 4;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_YEAR = 8;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_MONTH = 16;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_DAY = 32;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_HOUR = 64;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_MINUTE = 128;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_SECOND = 256;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH = 512;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR = 1024;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE = 2048;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND = 4096;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE = 8192;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND = 16384;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND = 32768;
+ enum SQLINTEGER SQL_BRC_PROCEDURES = 1;
+ enum SQLINTEGER SQL_BRC_EXPLICIT = 2;
+ enum SQLINTEGER SQL_BRC_ROLLED_UP = 4;
+ enum SQLINTEGER SQL_BS_SELECT_EXPLICIT = 1;
+ enum SQLINTEGER SQL_BS_ROW_COUNT_EXPLICIT = 2;
+ enum SQLINTEGER SQL_BS_SELECT_PROC = 4;
+ enum SQLINTEGER SQL_BS_ROW_COUNT_PROC = 8;
+ enum SQLINTEGER SQL_PARC_BATCH = 1;
+ enum SQLINTEGER SQL_PARC_NO_BATCH = 2;
+ enum SQLINTEGER SQL_PAS_BATCH = 1;
+ enum SQLINTEGER SQL_PAS_NO_BATCH = 2;
+ enum SQLINTEGER SQL_PAS_NO_SELECT = 3;
+ enum SQLINTEGER SQL_IK_NONE = 0;
+ enum SQLINTEGER SQL_IK_ASC = 1;
+ enum SQLINTEGER SQL_IK_DESC = 2;
+ auto SQL_IK_ALL()()
+ {
+ return SQL_IK_ASC | SQL_IK_DESC;
+ }
+ enum SQLINTEGER SQL_ISV_ASSERTIONS = 1;
+ enum SQLINTEGER SQL_ISV_CHARACTER_SETS = 2;
+ enum SQLINTEGER SQL_ISV_CHECK_CONSTRAINTS = 4;
+ enum SQLINTEGER SQL_ISV_COLLATIONS = 8;
+ enum SQLINTEGER SQL_ISV_COLUMN_DOMAIN_USAGE = 16;
+ enum SQLINTEGER SQL_ISV_COLUMN_PRIVILEGES = 32;
+ enum SQLINTEGER SQL_ISV_COLUMNS = 64;
+ enum SQLINTEGER SQL_ISV_CONSTRAINT_COLUMN_USAGE = 128;
+ enum SQLINTEGER SQL_ISV_CONSTRAINT_TABLE_USAGE = 256;
+ enum SQLINTEGER SQL_ISV_DOMAIN_CONSTRAINTS = 512;
+ enum SQLINTEGER SQL_ISV_DOMAINS = 1024;
+ enum SQLINTEGER SQL_ISV_KEY_COLUMN_USAGE = 2048;
+ enum SQLINTEGER SQL_ISV_REFERENTIAL_CONSTRAINTS = 4096;
+ enum SQLINTEGER SQL_ISV_SCHEMATA = 8192;
+ enum SQLINTEGER SQL_ISV_SQL_LANGUAGES = 16384;
+ enum SQLINTEGER SQL_ISV_TABLE_CONSTRAINTS = 32768;
+ enum SQLINTEGER SQL_ISV_TABLE_PRIVILEGES = 65536;
+ enum SQLINTEGER SQL_ISV_TABLES = 131072;
+ enum SQLINTEGER SQL_ISV_TRANSLATIONS = 262144;
+ enum SQLINTEGER SQL_ISV_USAGE_PRIVILEGES = 524288;
+ enum SQLINTEGER SQL_ISV_VIEW_COLUMN_USAGE = 1048576;
+ enum SQLINTEGER SQL_ISV_VIEW_TABLE_USAGE = 2097152;
+ enum SQLINTEGER SQL_ISV_VIEWS = 4194304;
+ enum SQLINTEGER SQL_AD_CONSTRAINT_NAME_DEFINITION = 1;
+ enum SQLINTEGER SQL_AD_ADD_DOMAIN_CONSTRAINT = 2;
+ enum SQLINTEGER SQL_AD_DROP_DOMAIN_CONSTRAINT = 4;
+ enum SQLINTEGER SQL_AD_ADD_DOMAIN_DEFAULT = 8;
+ enum SQLINTEGER SQL_AD_DROP_DOMAIN_DEFAULT = 16;
+ enum SQLINTEGER SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED = 32;
+ enum SQLINTEGER SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE = 64;
+ enum SQLINTEGER SQL_AD_ADD_CONSTRAINT_DEFERRABLE = 128;
+ enum SQLINTEGER SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE = 256;
+ enum SQLINTEGER SQL_CS_CREATE_SCHEMA = 1;
+ enum SQLINTEGER SQL_CS_AUTHORIZATION = 2;
+ enum SQLINTEGER SQL_CS_DEFAULT_CHARACTER_SET = 4;
+ enum SQLINTEGER SQL_CTR_CREATE_TRANSLATION = 1;
+ enum SQLINTEGER SQL_CA_CREATE_ASSERTION = 1;
+ enum SQLINTEGER SQL_CA_CONSTRAINT_INITIALLY_DEFERRED = 16;
+ enum SQLINTEGER SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE = 32;
+ enum SQLINTEGER SQL_CA_CONSTRAINT_DEFERRABLE = 64;
+ enum SQLINTEGER SQL_CA_CONSTRAINT_NON_DEFERRABLE = 128;
+ enum SQLINTEGER SQL_CCS_CREATE_CHARACTER_SET = 1;
+ enum SQLINTEGER SQL_CCS_COLLATE_CLAUSE = 2;
+ enum SQLINTEGER SQL_CCS_LIMITED_COLLATION = 4;
+ enum SQLINTEGER SQL_CCOL_CREATE_COLLATION = 1;
+ enum SQLINTEGER SQL_CDO_CREATE_DOMAIN = 1;
+ enum SQLINTEGER SQL_CDO_DEFAULT = 2;
+ enum SQLINTEGER SQL_CDO_CONSTRAINT = 4;
+ enum SQLINTEGER SQL_CDO_COLLATION = 8;
+ enum SQLINTEGER SQL_CDO_CONSTRAINT_NAME_DEFINITION = 16;
+ enum SQLINTEGER SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED = 32;
+ enum SQLINTEGER SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE = 64;
+ enum SQLINTEGER SQL_CDO_CONSTRAINT_DEFERRABLE = 128;
+ enum SQLINTEGER SQL_CDO_CONSTRAINT_NON_DEFERRABLE = 256;
+ enum SQLINTEGER SQL_CT_CREATE_TABLE = 1;
+ enum SQLINTEGER SQL_CT_COMMIT_PRESERVE = 2;
+ enum SQLINTEGER SQL_CT_COMMIT_DELETE = 4;
+ enum SQLINTEGER SQL_CT_GLOBAL_TEMPORARY = 8;
+ enum SQLINTEGER SQL_CT_LOCAL_TEMPORARY = 16;
+ enum SQLINTEGER SQL_CT_CONSTRAINT_INITIALLY_DEFERRED = 32;
+ enum SQLINTEGER SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE = 64;
+ enum SQLINTEGER SQL_CT_CONSTRAINT_DEFERRABLE = 128;
+ enum SQLINTEGER SQL_CT_CONSTRAINT_NON_DEFERRABLE = 256;
+ enum SQLINTEGER SQL_CT_COLUMN_CONSTRAINT = 512;
+ enum SQLINTEGER SQL_CT_COLUMN_DEFAULT = 1024;
+ enum SQLINTEGER SQL_CT_COLUMN_COLLATION = 2048;
+ enum SQLINTEGER SQL_CT_TABLE_CONSTRAINT = 4096;
+ enum SQLINTEGER SQL_CT_CONSTRAINT_NAME_DEFINITION = 8192;
+ enum SQLINTEGER SQL_DI_CREATE_INDEX = 1;
+ enum SQLINTEGER SQL_DI_DROP_INDEX = 2;
+ enum SQLINTEGER SQL_DC_DROP_COLLATION = 1;
+ enum SQLINTEGER SQL_DD_DROP_DOMAIN = 1;
+ enum SQLINTEGER SQL_DD_RESTRICT = 2;
+ enum SQLINTEGER SQL_DD_CASCADE = 4;
+ enum SQLINTEGER SQL_DS_DROP_SCHEMA = 1;
+ enum SQLINTEGER SQL_DS_RESTRICT = 2;
+ enum SQLINTEGER SQL_DS_CASCADE = 4;
+ enum SQLINTEGER SQL_DCS_DROP_CHARACTER_SET = 1;
+ enum SQLINTEGER SQL_DA_DROP_ASSERTION = 1;
+ enum SQLINTEGER SQL_DT_DROP_TABLE = 1;
+ enum SQLINTEGER SQL_DT_RESTRICT = 2;
+ enum SQLINTEGER SQL_DT_CASCADE = 4;
+ enum SQLINTEGER SQL_DTR_DROP_TRANSLATION = 1;
+ enum SQLINTEGER SQL_DV_DROP_VIEW = 1;
+ enum SQLINTEGER SQL_DV_RESTRICT = 2;
+ enum SQLINTEGER SQL_DV_CASCADE = 4;
+ enum SQLINTEGER SQL_IS_INSERT_LITERALS = 1;
+ enum SQLINTEGER SQL_IS_INSERT_SEARCHED = 2;
+ enum SQLINTEGER SQL_IS_SELECT_INTO = 4;
+ enum SQLUINTEGER SQL_OIC_CORE = 1u;
+ enum SQLUINTEGER SQL_OIC_LEVEL1 = 2u;
+ enum SQLUINTEGER SQL_OIC_LEVEL2 = 3u;
+ enum SQLINTEGER SQL_SFKD_CASCADE = 1;
+ enum SQLINTEGER SQL_SFKD_NO_ACTION = 2;
+ enum SQLINTEGER SQL_SFKD_SET_DEFAULT = 4;
+ enum SQLINTEGER SQL_SFKD_SET_NULL = 8;
+ enum SQLINTEGER SQL_SFKU_CASCADE = 1;
+ enum SQLINTEGER SQL_SFKU_NO_ACTION = 2;
+ enum SQLINTEGER SQL_SFKU_SET_DEFAULT = 4;
+ enum SQLINTEGER SQL_SFKU_SET_NULL = 8;
+ enum SQLINTEGER SQL_SG_USAGE_ON_DOMAIN = 1;
+ enum SQLINTEGER SQL_SG_USAGE_ON_CHARACTER_SET = 2;
+ enum SQLINTEGER SQL_SG_USAGE_ON_COLLATION = 4;
+ enum SQLINTEGER SQL_SG_USAGE_ON_TRANSLATION = 8;
+ enum SQLINTEGER SQL_SG_WITH_GRANT_OPTION = 16;
+ enum SQLINTEGER SQL_SG_DELETE_TABLE = 32;
+ enum SQLINTEGER SQL_SG_INSERT_TABLE = 64;
+ enum SQLINTEGER SQL_SG_INSERT_COLUMN = 128;
+ enum SQLINTEGER SQL_SG_REFERENCES_TABLE = 256;
+ enum SQLINTEGER SQL_SG_REFERENCES_COLUMN = 512;
+ enum SQLINTEGER SQL_SG_SELECT_TABLE = 1024;
+ enum SQLINTEGER SQL_SG_UPDATE_TABLE = 2048;
+ enum SQLINTEGER SQL_SG_UPDATE_COLUMN = 4096;
+ enum SQLINTEGER SQL_SP_EXISTS = 1;
+ enum SQLINTEGER SQL_SP_ISNOTNULL = 2;
+ enum SQLINTEGER SQL_SP_ISNULL = 4;
+ enum SQLINTEGER SQL_SP_MATCH_FULL = 8;
+ enum SQLINTEGER SQL_SP_MATCH_PARTIAL = 16;
+ enum SQLINTEGER SQL_SP_MATCH_UNIQUE_FULL = 32;
+ enum SQLINTEGER SQL_SP_MATCH_UNIQUE_PARTIAL = 64;
+ enum SQLINTEGER SQL_SP_OVERLAPS = 128;
+ enum SQLINTEGER SQL_SP_UNIQUE = 256;
+ enum SQLINTEGER SQL_SP_LIKE = 512;
+ enum SQLINTEGER SQL_SP_IN = 1024;
+ enum SQLINTEGER SQL_SP_BETWEEN = 2048;
+ enum SQLINTEGER SQL_SP_COMPARISON = 4096;
+ enum SQLINTEGER SQL_SP_QUANTIFIED_COMPARISON = 8192;
+ enum SQLINTEGER SQL_SRJO_CORRESPONDING_CLAUSE = 1;
+ enum SQLINTEGER SQL_SRJO_CROSS_JOIN = 2;
+ enum SQLINTEGER SQL_SRJO_EXCEPT_JOIN = 4;
+ enum SQLINTEGER SQL_SRJO_FULL_OUTER_JOIN = 8;
+ enum SQLINTEGER SQL_SRJO_INNER_JOIN = 16;
+ enum SQLINTEGER SQL_SRJO_INTERSECT_JOIN = 32;
+ enum SQLINTEGER SQL_SRJO_LEFT_OUTER_JOIN = 64;
+ enum SQLINTEGER SQL_SRJO_NATURAL_JOIN = 128;
+ enum SQLINTEGER SQL_SRJO_RIGHT_OUTER_JOIN = 256;
+ enum SQLINTEGER SQL_SRJO_UNION_JOIN = 512;
+ enum SQLINTEGER SQL_SR_USAGE_ON_DOMAIN = 1;
+ enum SQLINTEGER SQL_SR_USAGE_ON_CHARACTER_SET = 2;
+ enum SQLINTEGER SQL_SR_USAGE_ON_COLLATION = 4;
+ enum SQLINTEGER SQL_SR_USAGE_ON_TRANSLATION = 8;
+ enum SQLINTEGER SQL_SR_GRANT_OPTION_FOR = 16;
+ enum SQLINTEGER SQL_SR_CASCADE = 32;
+ enum SQLINTEGER SQL_SR_RESTRICT = 64;
+ enum SQLINTEGER SQL_SR_DELETE_TABLE = 128;
+ enum SQLINTEGER SQL_SR_INSERT_TABLE = 256;
+ enum SQLINTEGER SQL_SR_INSERT_COLUMN = 512;
+ enum SQLINTEGER SQL_SR_REFERENCES_TABLE = 1024;
+ enum SQLINTEGER SQL_SR_REFERENCES_COLUMN = 2048;
+ enum SQLINTEGER SQL_SR_SELECT_TABLE = 4096;
+ enum SQLINTEGER SQL_SR_UPDATE_TABLE = 8192;
+ enum SQLINTEGER SQL_SR_UPDATE_COLUMN = 16384;
+ enum SQLINTEGER SQL_SRVC_VALUE_EXPRESSION = 1;
+ enum SQLINTEGER SQL_SRVC_NULL = 2;
+ enum SQLINTEGER SQL_SRVC_DEFAULT = 4;
+ enum SQLINTEGER SQL_SRVC_ROW_SUBQUERY = 8;
+ enum SQLINTEGER SQL_SVE_CASE = 1;
+ enum SQLINTEGER SQL_SVE_CAST = 2;
+ enum SQLINTEGER SQL_SVE_COALESCE = 4;
+ enum SQLINTEGER SQL_SVE_NULLIF = 8;
+ enum SQLINTEGER SQL_SCC_XOPEN_CLI_VERSION1 = 1;
+ enum SQLINTEGER SQL_SCC_ISO92_CLI = 2;
+ enum SQLINTEGER SQL_DRIVER_AWARE_POOLING_NOT_CAPABLE = 0;
+ enum SQLINTEGER SQL_DRIVER_AWARE_POOLING_CAPABLE = 1;
+ enum SQLINTEGER SQL_DTC_ENLIST_EXPENSIVE = 1;
+ enum SQLINTEGER SQL_DTC_UNENLIST_EXPENSIVE = 2;
+ enum SQLINTEGER SQL_ASYNC_DBC_NOT_CAPABLE = 0;
+ enum SQLINTEGER SQL_ASYNC_DBC_CAPABLE = 1;
+ enum SQLINTEGER SQL_LC_NONE = 0;
+ enum SQLINTEGER SQL_LC_TAKE = 1;
+ enum SQLINTEGER SQL_LC_SKIP = 3;
+ enum SQLINTEGER SQL_RC_NONE = 0;
+ enum SQLINTEGER SQL_RC_INSERT_SINGLE_ROWID = 1;
+ auto SQL_RC_INSERT_SINGLE_ANY()()
+ {
+ return 2 | SQL_RC_INSERT_SINGLE_ROWID;
+ }
+ auto SQL_RC_INSERT_MULTIPLE_ROWID()()
+ {
+ return 4 | SQL_RC_INSERT_SINGLE_ROWID;
+ }
+ auto SQL_RC_INSERT_MULTIPLE_ANY()()
+ {
+ return 8 | SQL_RC_INSERT_MULTIPLE_ROWID | SQL_RC_INSERT_SINGLE_ANY;
+ }
+ enum SQLINTEGER SQL_RC_INSERT_SELECT_ROWID = 16;
+ auto SQL_RC_INSERT_SELECT_ANY()()
+ {
+ return 32 | SQL_RC_INSERT_SELECT_ROWID;
+ }
+ enum SQLINTEGER SQL_RC_UPDATE_ROWID = 64;
+ auto SQL_RC_UPDATE_ANY()()
+ {
+ return 128 | SQL_RC_UPDATE_ROWID;
+ }
+ enum SQLINTEGER SQL_RC_DELETE_ROWID = 256;
+ auto SQL_RC_DELETE_ANY()()
+ {
+ return 512 | SQL_RC_DELETE_ROWID;
+ }
+ enum SQLINTEGER SQL_RC_SELECT_INTO_ROWID = 1024;
+ auto SQL_RC_SELECT_INTO_ANY()()
+ {
+ return 2048 | SQL_RC_SELECT_INTO_ROWID;
+ }
+ enum SQLINTEGER SQL_FC_NONE = 0;
+ enum SQLINTEGER SQL_FC_JSON = 1;
+ enum SQLINTEGER SQL_FC_JSON_BINARY = 2;
+ enum SQLINTEGER SQL_FETCH_FIRST_USER = 31;
+ enum SQLINTEGER SQL_FETCH_FIRST_SYSTEM = 32;
+ enum SQLINTEGER SQL_ENTIRE_ROWSET = 0;
+ enum SQLINTEGER SQL_POSITION = 0;
+ enum SQLINTEGER SQL_REFRESH = 1;
+ enum SQLINTEGER SQL_UPDATE = 2;
+ enum SQLINTEGER SQL_DELETE = 3;
+ enum SQLINTEGER SQL_ADD = 4;
+ enum SQLINTEGER SQL_UPDATE_BY_BOOKMARK = 5;
+ enum SQLINTEGER SQL_DELETE_BY_BOOKMARK = 6;
+ enum SQLINTEGER SQL_FETCH_BY_BOOKMARK = 7;
+ enum SQLINTEGER SQL_LOCK_NO_CHANGE = 0;
+ enum SQLINTEGER SQL_LOCK_EXCLUSIVE = 1;
+ enum SQLINTEGER SQL_LOCK_UNLOCK = 2;
+ auto SQL_POSITION_TO(__MP4, __MP5)(__MP4 hstmt, __MP5 irow)
+ {
+ return SQLSetPos(hstmt, irow, SQL_POSITION, SQL_LOCK_NO_CHANGE);
+ }
+ auto SQL_LOCK_RECORD(__MP6, __MP7, __MP8)(__MP6 hstmt, __MP7 irow, __MP8 fLock)
+ {
+ return SQLSetPos(hstmt, irow, SQL_POSITION, fLock);
+ }
+ auto SQL_REFRESH_RECORD(__MP9, __MP10, __MP11)(__MP9 hstmt, __MP10 irow, __MP11 fLock)
+ {
+ return SQLSetPos(hstmt, irow, SQL_REFRESH, fLock);
+ }
+ auto SQL_UPDATE_RECORD(__MP12, __MP13)(__MP12 hstmt, __MP13 irow)
+ {
+ return SQLSetPos(hstmt, irow, SQL_UPDATE, SQL_LOCK_NO_CHANGE);
+ }
+ auto SQL_DELETE_RECORD(__MP14, __MP15)(__MP14 hstmt, __MP15 irow)
+ {
+ return SQLSetPos(hstmt, irow, SQL_DELETE, SQL_LOCK_NO_CHANGE);
+ }
+ auto SQL_ADD_RECORD(__MP16, __MP17)(__MP16 hstmt, __MP17 irow)
+ {
+ return SQLSetPos(hstmt, irow, SQL_ADD, SQL_LOCK_NO_CHANGE);
+ }
+ enum SQLINTEGER SQL_BEST_ROWID = 1;
+ enum SQLINTEGER SQL_ROWVER = 2;
+ enum SQLINTEGER SQL_PC_NOT_PSEUDO = 1;
+ enum SQLINTEGER SQL_QUICK = 0;
+ enum SQLINTEGER SQL_ENSURE = 1;
+ enum SQLINTEGER SQL_TABLE_STAT = 0;
+ enum SQL_ALL_CATALOGS = "%";
+ enum SQL_ALL_SCHEMAS = "%";
+ enum SQL_ALL_TABLE_TYPES = "%";
+ enum SQLINTEGER SQL_DRIVER_NOPROMPT = 0;
+ enum SQLINTEGER SQL_DRIVER_COMPLETE = 1;
+ enum SQLINTEGER SQL_DRIVER_PROMPT = 2;
+ enum SQLINTEGER SQL_DRIVER_COMPLETE_REQUIRED = 3;
+ enum SQLINTEGER SQL_FETCH_BOOKMARK = 8;
+ enum SQLINTEGER SQL_ROW_SUCCESS = 0;
+ enum SQLINTEGER SQL_ROW_DELETED = 1;
+ enum SQLINTEGER SQL_ROW_UPDATED = 2;
+ enum SQLINTEGER SQL_ROW_NOROW = 3;
+ enum SQLINTEGER SQL_ROW_ADDED = 4;
+ enum SQLINTEGER SQL_ROW_ERROR = 5;
+ enum SQLINTEGER SQL_ROW_SUCCESS_WITH_INFO = 6;
+ enum SQLINTEGER SQL_ROW_PROCEED = 0;
+ enum SQLINTEGER SQL_ROW_IGNORE = 1;
+ enum SQLINTEGER SQL_PARAM_SUCCESS = 0;
+ enum SQLINTEGER SQL_PARAM_SUCCESS_WITH_INFO = 6;
+ enum SQLINTEGER SQL_PARAM_ERROR = 5;
+ enum SQLINTEGER SQL_PARAM_UNUSED = 7;
+ enum SQLINTEGER SQL_PARAM_DIAG_UNAVAILABLE = 1;
+ enum SQLINTEGER SQL_PARAM_PROCEED = 0;
+ enum SQLINTEGER SQL_PARAM_IGNORE = 1;
+ enum SQLINTEGER SQL_CASCADE = 0;
+ enum SQLINTEGER SQL_RESTRICT = 1;
+ enum SQLINTEGER SQL_SET_NULL = 2;
+ enum SQLINTEGER SQL_NO_ACTION = 3;
+ enum SQLINTEGER SQL_SET_DEFAULT = 4;
+ enum SQLINTEGER SQL_INITIALLY_DEFERRED = 5;
+ enum SQLINTEGER SQL_INITIALLY_IMMEDIATE = 6;
+ enum SQLINTEGER SQL_NOT_DEFERRABLE = 7;
+ enum SQLINTEGER SQL_PARAM_TYPE_UNKNOWN = 0;
+ enum SQLINTEGER SQL_PARAM_INPUT = 1;
+ enum SQLINTEGER SQL_PARAM_INPUT_OUTPUT = 2;
+ enum SQLINTEGER SQL_RESULT_COL = 3;
+ enum SQLINTEGER SQL_PARAM_OUTPUT = 4;
+ enum SQLINTEGER SQL_RETURN_VALUE = 5;
+ enum SQLINTEGER SQL_PARAM_INPUT_OUTPUT_STREAM = 8;
+ enum SQLINTEGER SQL_PARAM_OUTPUT_STREAM = 16;
+ enum SQLINTEGER SQL_PT_UNKNOWN = 0;
+ enum SQLINTEGER SQL_PT_PROCEDURE = 1;
+ enum SQLINTEGER SQL_PT_FUNCTION = 2;
+ auto SQL_WCHAR()()
+ {
+ return -8;
+ }
+ auto SQL_WVARCHAR()()
+ {
+ return -9;
+ }
+ auto SQL_WLONGVARCHAR()()
+ {
+ return -10;
+ }
+ enum SQLINTEGER SQL_SQLSTATE_SIZEW = 10;
+}
--- /dev/null
+module etc.c.odbc.odbc64;
+public:
+
+extern (C)
+{
+ alias SQLCHAR = ubyte;
+ alias SQLSCHAR = byte;
+ alias SQLDATE = ubyte;
+ alias SQLDECIMAL = ubyte;
+ alias SQLDOUBLE = double;
+ alias SQLFLOAT = double;
+ alias SQLINTEGER = int;
+ alias SQLUINTEGER = uint;
+ alias SQLLEN = long;
+ alias SQLULEN = ulong;
+ alias SQLSETPOSIROW = ulong;
+ alias SQLNUMERIC = ubyte;
+ alias SQLPOINTER = void*;
+ alias SQLREAL = float;
+ alias SQLSMALLINT = short;
+ alias SQLUSMALLINT = ushort;
+ alias SQLTIME = ubyte;
+ alias SQLTIMESTAMP = ubyte;
+ alias SQLVARCHAR = ubyte;
+ alias SQLTIMEWITHTIMEZONE = ubyte;
+ alias SQLTIMESTAMPWITHTIMEZONE = ubyte;
+ alias SQLRETURN = short;
+ alias SQLHANDLE = void*;
+ alias SQLHENV = void*;
+ alias SQLHDBC = void*;
+ alias SQLHSTMT = void*;
+ alias SQLHDESC = void*;
+ alias RETCODE = short;
+ alias SQLHWND = void*;
+ struct tagDATE_STRUCT
+ {
+ SQLSMALLINT year = void;
+ SQLUSMALLINT month = void;
+ SQLUSMALLINT day = void;
+ }
+ alias DATE_STRUCT = tagDATE_STRUCT;
+ alias SQL_DATE_STRUCT = tagDATE_STRUCT;
+ struct tagTIME_STRUCT
+ {
+ SQLUSMALLINT hour = void;
+ SQLUSMALLINT minute = void;
+ SQLUSMALLINT second = void;
+ }
+ alias TIME_STRUCT = tagTIME_STRUCT;
+ alias SQL_TIME_STRUCT = tagTIME_STRUCT;
+ struct tagTIMESTAMP_STRUCT
+ {
+ SQLSMALLINT year = void;
+ SQLUSMALLINT month = void;
+ SQLUSMALLINT day = void;
+ SQLUSMALLINT hour = void;
+ SQLUSMALLINT minute = void;
+ SQLUSMALLINT second = void;
+ SQLUINTEGER fraction = void;
+ }
+ alias TIMESTAMP_STRUCT = tagTIMESTAMP_STRUCT;
+ alias SQL_TIMESTAMP_STRUCT = tagTIMESTAMP_STRUCT;
+ struct tagTIME_WITH_TIMEZONE_STRUCT
+ {
+ SQLUSMALLINT hour = void;
+ SQLUSMALLINT minute = void;
+ SQLUSMALLINT second = void;
+ SQLSMALLINT timezone_hours = void;
+ SQLUSMALLINT timezone_minutes = void;
+ }
+ alias TIME_WITH_TIMEZONE_STRUCT = tagTIME_WITH_TIMEZONE_STRUCT;
+ alias SQL_TIME_WITH_TIMEZONE_STRUCT = tagTIME_WITH_TIMEZONE_STRUCT;
+ struct tagTIMESTAMP_WITH_TIMEZONE_STRUCT
+ {
+ SQLSMALLINT year = void;
+ SQLUSMALLINT month = void;
+ SQLUSMALLINT day = void;
+ SQLUSMALLINT hour = void;
+ SQLUSMALLINT minute = void;
+ SQLUSMALLINT second = void;
+ SQLUINTEGER fraction = void;
+ SQLSMALLINT timezone_hours = void;
+ SQLUSMALLINT timezone_minutes = void;
+ }
+ alias TIMESTAMP_WITH_TIMEZONE_STRUCT = tagTIMESTAMP_WITH_TIMEZONE_STRUCT;
+ alias SQL_TIMESTAMP_WITH_TIMEZONE_STRUCT = tagTIMESTAMP_WITH_TIMEZONE_STRUCT;
+ enum SQLINTERVAL
+ {
+ SQL_IS_YEAR = 1,
+ SQL_IS_MONTH = 2,
+ SQL_IS_DAY = 3,
+ SQL_IS_HOUR = 4,
+ SQL_IS_MINUTE = 5,
+ SQL_IS_SECOND = 6,
+ SQL_IS_YEAR_TO_MONTH = 7,
+ SQL_IS_DAY_TO_HOUR = 8,
+ SQL_IS_DAY_TO_MINUTE = 9,
+ SQL_IS_DAY_TO_SECOND = 10,
+ SQL_IS_HOUR_TO_MINUTE = 11,
+ SQL_IS_HOUR_TO_SECOND = 12,
+ SQL_IS_MINUTE_TO_SECOND = 13,
+ }
+ alias SQL_IS_YEAR = SQLINTERVAL.SQL_IS_YEAR;
+ alias SQL_IS_MONTH = SQLINTERVAL.SQL_IS_MONTH;
+ alias SQL_IS_DAY = SQLINTERVAL.SQL_IS_DAY;
+ alias SQL_IS_HOUR = SQLINTERVAL.SQL_IS_HOUR;
+ alias SQL_IS_MINUTE = SQLINTERVAL.SQL_IS_MINUTE;
+ alias SQL_IS_SECOND = SQLINTERVAL.SQL_IS_SECOND;
+ alias SQL_IS_YEAR_TO_MONTH = SQLINTERVAL.SQL_IS_YEAR_TO_MONTH;
+ alias SQL_IS_DAY_TO_HOUR = SQLINTERVAL.SQL_IS_DAY_TO_HOUR;
+ alias SQL_IS_DAY_TO_MINUTE = SQLINTERVAL.SQL_IS_DAY_TO_MINUTE;
+ alias SQL_IS_DAY_TO_SECOND = SQLINTERVAL.SQL_IS_DAY_TO_SECOND;
+ alias SQL_IS_HOUR_TO_MINUTE = SQLINTERVAL.SQL_IS_HOUR_TO_MINUTE;
+ alias SQL_IS_HOUR_TO_SECOND = SQLINTERVAL.SQL_IS_HOUR_TO_SECOND;
+ alias SQL_IS_MINUTE_TO_SECOND = SQLINTERVAL.SQL_IS_MINUTE_TO_SECOND;
+ struct tagSQL_YEAR_MONTH
+ {
+ SQLUINTEGER year = void;
+ SQLUINTEGER month = void;
+ }
+ alias SQL_YEAR_MONTH_STRUCT = tagSQL_YEAR_MONTH;
+ struct tagSQL_DAY_SECOND
+ {
+ SQLUINTEGER day = void;
+ SQLUINTEGER hour = void;
+ SQLUINTEGER minute = void;
+ SQLUINTEGER second = void;
+ SQLUINTEGER fraction = void;
+ }
+ alias SQL_DAY_SECOND_STRUCT = tagSQL_DAY_SECOND;
+ struct tagSQL_INTERVAL_STRUCT
+ {
+ SQLINTERVAL interval_type = void;
+ SQLSMALLINT interval_sign = void;
+ union intval { SQL_YEAR_MONTH_STRUCT year_month = void; SQL_DAY_SECOND_STRUCT day_second = void; }
+ }
+ alias SQL_INTERVAL_STRUCT = tagSQL_INTERVAL_STRUCT;
+ alias SQLBIGINT = long;
+ alias SQLUBIGINT = ulong;
+ struct tagSQL_NUMERIC_STRUCT
+ {
+ SQLCHAR precision = void;
+ SQLSCHAR scale = void;
+ SQLCHAR sign = void;
+ SQLCHAR[SQL_MAX_NUMERIC_LEN] val = void;
+ }
+ alias SQL_NUMERIC_STRUCT = tagSQL_NUMERIC_STRUCT;
+ struct tagSQLGUID
+ {
+ SQLUINTEGER Data1 = void;
+ SQLUSMALLINT Data2 = void;
+ SQLUSMALLINT Data3 = void;
+ SQLCHAR[8] Data4 = void;
+ }
+ alias SQLGUID = tagSQLGUID;
+ alias BOOKMARK = ulong;
+ alias SQLWCHAR = ushort;
+ alias SQLTCHAR = ubyte;
+ nothrow @nogc SQLRETURN SQLAllocConnect(SQLHENV EnvironmentHandle, SQLHDBC* ConnectionHandle);
+ nothrow @nogc SQLRETURN SQLAllocEnv(SQLHENV* EnvironmentHandle);
+ nothrow @nogc SQLRETURN SQLAllocHandle(SQLSMALLINT HandleType, SQLHANDLE InputHandle, SQLHANDLE* OutputHandle);
+ nothrow @nogc SQLRETURN SQLAllocStmt(SQLHDBC ConnectionHandle, SQLHSTMT* StatementHandle);
+ nothrow @nogc SQLRETURN SQLBindCol(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType, SQLPOINTER TargetValue, SQLLEN BufferLength, SQLLEN* StrLen_or_Ind);
+ deprecated("ODBC API: SQLBindParam is deprecated. Please use SQLBindParameter instead.") deprecated nothrow @nogc SQLRETURN SQLBindParam(SQLHSTMT StatementHandle, SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType, SQLSMALLINT ParameterType, SQLULEN LengthPrecision, SQLSMALLINT ParameterScale, SQLPOINTER ParameterValue, SQLLEN* StrLen_or_Ind);
+ nothrow @nogc SQLRETURN SQLCancel(SQLHSTMT StatementHandle);
+ nothrow @nogc SQLRETURN SQLCancelHandle(SQLSMALLINT HandleType, SQLHANDLE InputHandle);
+ nothrow @nogc SQLRETURN SQLCloseCursor(SQLHSTMT StatementHandle);
+ nothrow @nogc SQLRETURN SQLColAttribute(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier, SQLPOINTER CharacterAttribute, SQLSMALLINT BufferLength, SQLSMALLINT* StringLength, SQLLEN* NumericAttribute);
+ nothrow @nogc SQLRETURN SQLColumns(SQLHSTMT StatementHandle, SQLCHAR* CatalogName, SQLSMALLINT NameLength1, SQLCHAR* SchemaName, SQLSMALLINT NameLength2, SQLCHAR* TableName, SQLSMALLINT NameLength3, SQLCHAR* ColumnName, SQLSMALLINT NameLength4);
+ nothrow @nogc SQLRETURN SQLCompleteAsync(SQLSMALLINT HandleType, SQLHANDLE Handle, RETCODE* AsyncRetCodePtr);
+ nothrow @nogc SQLRETURN SQLConnect(SQLHDBC ConnectionHandle, SQLCHAR* ServerName, SQLSMALLINT NameLength1, SQLCHAR* UserName, SQLSMALLINT NameLength2, SQLCHAR* Authentication, SQLSMALLINT NameLength3);
+ nothrow @nogc SQLRETURN SQLCopyDesc(SQLHDESC SourceDescHandle, SQLHDESC TargetDescHandle);
+ nothrow @nogc SQLRETURN SQLDataSources(SQLHENV EnvironmentHandle, SQLUSMALLINT Direction, SQLCHAR* ServerName, SQLSMALLINT BufferLength1, SQLSMALLINT* NameLength1Ptr, SQLCHAR* Description, SQLSMALLINT BufferLength2, SQLSMALLINT* NameLength2Ptr);
+ nothrow @nogc SQLRETURN SQLDescribeCol(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLCHAR* ColumnName, SQLSMALLINT BufferLength, SQLSMALLINT* NameLength, SQLSMALLINT* DataType, SQLULEN* ColumnSize, SQLSMALLINT* DecimalDigits, SQLSMALLINT* Nullable);
+ nothrow @nogc SQLRETURN SQLDisconnect(SQLHDBC ConnectionHandle);
+ nothrow @nogc SQLRETURN SQLEndTran(SQLSMALLINT HandleType, SQLHANDLE Handle, SQLSMALLINT CompletionType);
+ nothrow @nogc SQLRETURN SQLError(SQLHENV EnvironmentHandle, SQLHDBC ConnectionHandle, SQLHSTMT StatementHandle, SQLCHAR* Sqlstate, SQLINTEGER* NativeError, SQLCHAR* MessageText, SQLSMALLINT BufferLength, SQLSMALLINT* TextLength);
+ nothrow @nogc SQLRETURN SQLExecDirect(SQLHSTMT StatementHandle, SQLCHAR* StatementText, SQLINTEGER TextLength);
+ nothrow @nogc SQLRETURN SQLExecute(SQLHSTMT StatementHandle);
+ nothrow @nogc SQLRETURN SQLFetch(SQLHSTMT StatementHandle);
+ nothrow @nogc SQLRETURN SQLFetchScroll(SQLHSTMT StatementHandle, SQLSMALLINT FetchOrientation, SQLLEN FetchOffset);
+ nothrow @nogc SQLRETURN SQLFreeConnect(SQLHDBC ConnectionHandle);
+ nothrow @nogc SQLRETURN SQLFreeEnv(SQLHENV EnvironmentHandle);
+ nothrow @nogc SQLRETURN SQLFreeHandle(SQLSMALLINT HandleType, SQLHANDLE Handle);
+ nothrow @nogc SQLRETURN SQLFreeStmt(SQLHSTMT StatementHandle, SQLUSMALLINT Option);
+ nothrow @nogc SQLRETURN SQLGetConnectAttr(SQLHDBC ConnectionHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER BufferLength, SQLINTEGER* StringLengthPtr);
+ deprecated("ODBC API: SQLGetConnectOption is deprecated. Please use SQLGetConnectAttr instead.") deprecated nothrow @nogc SQLRETURN SQLGetConnectOption(SQLHDBC ConnectionHandle, SQLUSMALLINT Option, SQLPOINTER Value);
+ nothrow @nogc SQLRETURN SQLGetCursorName(SQLHSTMT StatementHandle, SQLCHAR* CursorName, SQLSMALLINT BufferLength, SQLSMALLINT* NameLengthPtr);
+ nothrow @nogc SQLRETURN SQLGetData(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType, SQLPOINTER TargetValue, SQLLEN BufferLength, SQLLEN* StrLen_or_IndPtr);
+ nothrow @nogc SQLRETURN SQLGetDescField(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier, SQLPOINTER Value, SQLINTEGER BufferLength, SQLINTEGER* StringLength);
+ nothrow @nogc SQLRETURN SQLGetDescRec(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, SQLCHAR* Name, SQLSMALLINT BufferLength, SQLSMALLINT* StringLengthPtr, SQLSMALLINT* TypePtr, SQLSMALLINT* SubTypePtr, SQLLEN* LengthPtr, SQLSMALLINT* PrecisionPtr, SQLSMALLINT* ScalePtr, SQLSMALLINT* NullablePtr);
+ nothrow @nogc SQLRETURN SQLGetDiagField(SQLSMALLINT HandleType, SQLHANDLE Handle, SQLSMALLINT RecNumber, SQLSMALLINT DiagIdentifier, SQLPOINTER DiagInfo, SQLSMALLINT BufferLength, SQLSMALLINT* StringLength);
+ nothrow @nogc SQLRETURN SQLGetDiagRec(SQLSMALLINT HandleType, SQLHANDLE Handle, SQLSMALLINT RecNumber, SQLCHAR* Sqlstate, SQLINTEGER* NativeError, SQLCHAR* MessageText, SQLSMALLINT BufferLength, SQLSMALLINT* TextLength);
+ nothrow @nogc SQLRETURN SQLGetEnvAttr(SQLHENV EnvironmentHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER BufferLength, SQLINTEGER* StringLength);
+ nothrow @nogc SQLRETURN SQLGetFunctions(SQLHDBC ConnectionHandle, SQLUSMALLINT FunctionId, SQLUSMALLINT* Supported);
+ nothrow @nogc SQLRETURN SQLGetInfo(SQLHDBC ConnectionHandle, SQLUSMALLINT InfoType, SQLPOINTER InfoValue, SQLSMALLINT BufferLength, SQLSMALLINT* StringLengthPtr);
+ nothrow @nogc SQLRETURN SQLGetStmtAttr(SQLHSTMT StatementHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER BufferLength, SQLINTEGER* StringLength);
+ deprecated("ODBC API: SQLGetStmtOption is deprecated. Please use SQLGetStmtAttr instead.") deprecated nothrow @nogc SQLRETURN SQLGetStmtOption(SQLHSTMT StatementHandle, SQLUSMALLINT Option, SQLPOINTER Value);
+ nothrow @nogc SQLRETURN SQLGetTypeInfo(SQLHSTMT StatementHandle, SQLSMALLINT DataType);
+ nothrow @nogc SQLRETURN SQLNumResultCols(SQLHSTMT StatementHandle, SQLSMALLINT* ColumnCount);
+ nothrow @nogc SQLRETURN SQLParamData(SQLHSTMT StatementHandle, SQLPOINTER* Value);
+ nothrow @nogc SQLRETURN SQLPrepare(SQLHSTMT StatementHandle, SQLCHAR* StatementText, SQLINTEGER TextLength);
+ nothrow @nogc SQLRETURN SQLPutData(SQLHSTMT StatementHandle, SQLPOINTER Data, SQLLEN StrLen_or_Ind);
+ nothrow @nogc SQLRETURN SQLRowCount(SQLHSTMT StatementHandle, SQLLEN* RowCount);
+ nothrow @nogc SQLRETURN SQLSetConnectAttr(SQLHDBC ConnectionHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER StringLength);
+ deprecated("ODBC API: SQLSetConnectOption is deprecated. Please use SQLSetConnectAttr instead.") deprecated nothrow @nogc SQLRETURN SQLSetConnectOption(SQLHDBC ConnectionHandle, SQLUSMALLINT Option, SQLULEN Value);
+ nothrow @nogc SQLRETURN SQLSetCursorName(SQLHSTMT StatementHandle, SQLCHAR* CursorName, SQLSMALLINT NameLength);
+ nothrow @nogc SQLRETURN SQLSetDescField(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier, SQLPOINTER Value, SQLINTEGER BufferLength);
+ nothrow @nogc SQLRETURN SQLSetDescRec(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, SQLSMALLINT Type, SQLSMALLINT SubType, SQLLEN Length, SQLSMALLINT Precision, SQLSMALLINT Scale, SQLPOINTER Data, SQLLEN* StringLength, SQLLEN* Indicator);
+ nothrow @nogc SQLRETURN SQLSetEnvAttr(SQLHENV EnvironmentHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER StringLength);
+ deprecated("ODBC API: SQLSetParam is deprecated. Please use SQLBindParameter instead.") deprecated nothrow @nogc SQLRETURN SQLSetParam(SQLHSTMT StatementHandle, SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType, SQLSMALLINT ParameterType, SQLULEN LengthPrecision, SQLSMALLINT ParameterScale, SQLPOINTER ParameterValue, SQLLEN* StrLen_or_Ind);
+ nothrow @nogc SQLRETURN SQLSetStmtAttr(SQLHSTMT StatementHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER StringLength);
+ deprecated("ODBC API: SQLSetStmtOption is deprecated. Please use SQLSetStmtAttr instead.") deprecated nothrow @nogc SQLRETURN SQLSetStmtOption(SQLHSTMT StatementHandle, SQLUSMALLINT Option, SQLULEN Value);
+ nothrow @nogc SQLRETURN SQLSpecialColumns(SQLHSTMT StatementHandle, SQLUSMALLINT IdentifierType, SQLCHAR* CatalogName, SQLSMALLINT NameLength1, SQLCHAR* SchemaName, SQLSMALLINT NameLength2, SQLCHAR* TableName, SQLSMALLINT NameLength3, SQLUSMALLINT Scope, SQLUSMALLINT Nullable);
+ nothrow @nogc SQLRETURN SQLStatistics(SQLHSTMT StatementHandle, SQLCHAR* CatalogName, SQLSMALLINT NameLength1, SQLCHAR* SchemaName, SQLSMALLINT NameLength2, SQLCHAR* TableName, SQLSMALLINT NameLength3, SQLUSMALLINT Unique, SQLUSMALLINT Reserved);
+ nothrow @nogc SQLRETURN SQLTables(SQLHSTMT StatementHandle, SQLCHAR* CatalogName, SQLSMALLINT NameLength1, SQLCHAR* SchemaName, SQLSMALLINT NameLength2, SQLCHAR* TableName, SQLSMALLINT NameLength3, SQLCHAR* TableType, SQLSMALLINT NameLength4);
+ nothrow @nogc SQLRETURN SQLTransact(SQLHENV EnvironmentHandle, SQLHDBC ConnectionHandle, SQLUSMALLINT CompletionType);
+ alias SQLSTATE = ubyte[SQL_SQLSTATE_SIZE + 1];
+ nothrow @nogc SQLRETURN SQLDriverConnect(SQLHDBC hdbc, SQLHWND hwnd, SQLCHAR* szConnStrIn, SQLSMALLINT cchConnStrIn, SQLCHAR* szConnStrOut, SQLSMALLINT cchConnStrOutMax, SQLSMALLINT* pcchConnStrOut, SQLUSMALLINT fDriverCompletion);
+ nothrow @nogc SQLRETURN SQLBrowseConnect(SQLHDBC hdbc, SQLCHAR* szConnStrIn, SQLSMALLINT cchConnStrIn, SQLCHAR* szConnStrOut, SQLSMALLINT cchConnStrOutMax, SQLSMALLINT* pcchConnStrOut);
+ nothrow @nogc SQLRETURN SQLBulkOperations(SQLHSTMT StatementHandle, SQLSMALLINT Operation);
+ nothrow @nogc SQLRETURN SQLColAttributes(SQLHSTMT hstmt, SQLUSMALLINT icol, SQLUSMALLINT fDescType, SQLPOINTER rgbDesc, SQLSMALLINT cbDescMax, SQLSMALLINT* pcbDesc, SQLLEN* pfDesc);
+ nothrow @nogc SQLRETURN SQLColumnPrivileges(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLCHAR* szTableName, SQLSMALLINT cchTableName, SQLCHAR* szColumnName, SQLSMALLINT cchColumnName);
+ nothrow @nogc SQLRETURN SQLDescribeParam(SQLHSTMT hstmt, SQLUSMALLINT ipar, SQLSMALLINT* pfSqlType, SQLULEN* pcbParamDef, SQLSMALLINT* pibScale, SQLSMALLINT* pfNullable);
+ nothrow @nogc SQLRETURN SQLExtendedFetch(SQLHSTMT hstmt, SQLUSMALLINT fFetchType, SQLLEN irow, SQLULEN* pcrow, SQLUSMALLINT* rgfRowStatus);
+ nothrow @nogc SQLRETURN SQLForeignKeys(SQLHSTMT hstmt, SQLCHAR* szPkCatalogName, SQLSMALLINT cchPkCatalogName, SQLCHAR* szPkSchemaName, SQLSMALLINT cchPkSchemaName, SQLCHAR* szPkTableName, SQLSMALLINT cchPkTableName, SQLCHAR* szFkCatalogName, SQLSMALLINT cchFkCatalogName, SQLCHAR* szFkSchemaName, SQLSMALLINT cchFkSchemaName, SQLCHAR* szFkTableName, SQLSMALLINT cchFkTableName);
+ nothrow @nogc SQLRETURN SQLMoreResults(SQLHSTMT hstmt);
+ nothrow @nogc SQLRETURN SQLNativeSql(SQLHDBC hdbc, SQLCHAR* szSqlStrIn, SQLINTEGER cchSqlStrIn, SQLCHAR* szSqlStr, SQLINTEGER cchSqlStrMax, SQLINTEGER* pcbSqlStr);
+ nothrow @nogc SQLRETURN SQLNumParams(SQLHSTMT hstmt, SQLSMALLINT* pcpar);
+ nothrow @nogc SQLRETURN SQLParamOptions(SQLHSTMT hstmt, SQLULEN crow, SQLULEN* pirow);
+ nothrow @nogc SQLRETURN SQLPrimaryKeys(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLCHAR* szTableName, SQLSMALLINT cchTableName);
+ nothrow @nogc SQLRETURN SQLProcedureColumns(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLCHAR* szProcName, SQLSMALLINT cchProcName, SQLCHAR* szColumnName, SQLSMALLINT cchColumnName);
+ nothrow @nogc SQLRETURN SQLProcedures(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLCHAR* szProcName, SQLSMALLINT cchProcName);
+ nothrow @nogc SQLRETURN SQLSetPos(SQLHSTMT hstmt, SQLSETPOSIROW irow, SQLUSMALLINT fOption, SQLUSMALLINT fLock);
+ nothrow @nogc SQLRETURN SQLTablePrivileges(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLCHAR* szTableName, SQLSMALLINT cchTableName);
+ nothrow @nogc SQLRETURN SQLDrivers(SQLHENV henv, SQLUSMALLINT fDirection, SQLCHAR* szDriverDesc, SQLSMALLINT cchDriverDescMax, SQLSMALLINT* pcchDriverDesc, SQLCHAR* szDriverAttributes, SQLSMALLINT cchDrvrAttrMax, SQLSMALLINT* pcchDrvrAttr);
+ nothrow @nogc SQLRETURN SQLBindParameter(SQLHSTMT hstmt, SQLUSMALLINT ipar, SQLSMALLINT fParamType, SQLSMALLINT fCType, SQLSMALLINT fSqlType, SQLULEN cbColDef, SQLSMALLINT ibScale, SQLPOINTER rgbValue, SQLLEN cbValueMax, SQLLEN* pcbValue);
+ nothrow @nogc SQLRETURN SQLAllocHandle(SQLSMALLINT HandleType, SQLHANDLE InputHandle, SQLHANDLE* OutputHandle);
+ nothrow @nogc SQLRETURN SQLGetNestedHandle(SQLHSTMT ParentStatementHandle, SQLUSMALLINT Col_or_Param_Num, SQLHSTMT* OutputChildStatementHandle);
+ nothrow @nogc SQLRETURN SQLStructuredTypes(SQLHSTMT StatementHandle, SQLCHAR* CatalogName, SQLSMALLINT NameLength1, SQLCHAR* SchemaName, SQLSMALLINT NameLength2, SQLCHAR* TypeName, SQLSMALLINT NameLength3);
+ nothrow @nogc SQLRETURN SQLStructuredTypeColumns(SQLHSTMT StatementHandle, SQLCHAR* CatalogName, SQLSMALLINT NameLength1, SQLCHAR* SchemaName, SQLSMALLINT NameLength2, SQLCHAR* TypeName, SQLSMALLINT NameLength3, SQLCHAR* ColumnName, SQLSMALLINT NameLength4);
+ nothrow @nogc SQLRETURN SQLNextColumn(SQLHSTMT StatementHandle, SQLUSMALLINT* ColumnCount);
+ nothrow @nogc SQLRETURN SQLAllocHandleStd(SQLSMALLINT fHandleType, SQLHANDLE hInput, SQLHANDLE* phOutput);
+ nothrow @nogc SQLRETURN SQLColAttributeW(SQLHSTMT hstmt, SQLUSMALLINT iCol, SQLUSMALLINT iField, SQLPOINTER pCharAttr, SQLSMALLINT cbDescMax, SQLSMALLINT* pcbCharAttr, SQLLEN* pNumAttr);
+ nothrow @nogc SQLRETURN SQLColAttributesW(SQLHSTMT hstmt, SQLUSMALLINT icol, SQLUSMALLINT fDescType, SQLPOINTER rgbDesc, SQLSMALLINT cbDescMax, SQLSMALLINT* pcbDesc, SQLLEN* pfDesc);
+ nothrow @nogc SQLRETURN SQLConnectW(SQLHDBC hdbc, SQLWCHAR* szDSN, SQLSMALLINT cchDSN, SQLWCHAR* szUID, SQLSMALLINT cchUID, SQLWCHAR* szAuthStr, SQLSMALLINT cchAuthStr);
+ nothrow @nogc SQLRETURN SQLDescribeColW(SQLHSTMT hstmt, SQLUSMALLINT icol, SQLWCHAR* szColName, SQLSMALLINT cchColNameMax, SQLSMALLINT* pcchColName, SQLSMALLINT* pfSqlType, SQLULEN* pcbColDef, SQLSMALLINT* pibScale, SQLSMALLINT* pfNullable);
+ nothrow @nogc SQLRETURN SQLErrorW(SQLHENV henv, SQLHDBC hdbc, SQLHSTMT hstmt, SQLWCHAR* wszSqlState, SQLINTEGER* pfNativeError, SQLWCHAR* wszErrorMsg, SQLSMALLINT cchErrorMsgMax, SQLSMALLINT* pcchErrorMsg);
+ nothrow @nogc SQLRETURN SQLExecDirectW(SQLHSTMT hstmt, SQLWCHAR* szSqlStr, SQLINTEGER TextLength);
+ nothrow @nogc SQLRETURN SQLGetConnectAttrW(SQLHDBC hdbc, SQLINTEGER fAttribute, SQLPOINTER rgbValue, SQLINTEGER cbValueMax, SQLINTEGER* pcbValue);
+ nothrow @nogc SQLRETURN SQLGetCursorNameW(SQLHSTMT hstmt, SQLWCHAR* szCursor, SQLSMALLINT cchCursorMax, SQLSMALLINT* pcchCursor);
+ nothrow @nogc SQLRETURN SQLSetDescFieldW(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier, SQLPOINTER Value, SQLINTEGER BufferLength);
+ nothrow @nogc SQLRETURN SQLGetDescFieldW(SQLHDESC hdesc, SQLSMALLINT iRecord, SQLSMALLINT iField, SQLPOINTER rgbValue, SQLINTEGER cbBufferLength, SQLINTEGER* StringLength);
+ nothrow @nogc SQLRETURN SQLGetDescRecW(SQLHDESC hdesc, SQLSMALLINT iRecord, SQLWCHAR* szName, SQLSMALLINT cchNameMax, SQLSMALLINT* pcchName, SQLSMALLINT* pfType, SQLSMALLINT* pfSubType, SQLLEN* pLength, SQLSMALLINT* pPrecision, SQLSMALLINT* pScale, SQLSMALLINT* pNullable);
+ nothrow @nogc SQLRETURN SQLGetDiagFieldW(SQLSMALLINT fHandleType, SQLHANDLE handle, SQLSMALLINT iRecord, SQLSMALLINT fDiagField, SQLPOINTER rgbDiagInfo, SQLSMALLINT cbBufferLength, SQLSMALLINT* pcbStringLength);
+ nothrow @nogc SQLRETURN SQLGetDiagRecW(SQLSMALLINT fHandleType, SQLHANDLE handle, SQLSMALLINT iRecord, SQLWCHAR* szSqlState, SQLINTEGER* pfNativeError, SQLWCHAR* szErrorMsg, SQLSMALLINT cchErrorMsgMax, SQLSMALLINT* pcchErrorMsg);
+ nothrow @nogc SQLRETURN SQLPrepareW(SQLHSTMT hstmt, SQLWCHAR* szSqlStr, SQLINTEGER cchSqlStr);
+ nothrow @nogc SQLRETURN SQLSetConnectAttrW(SQLHDBC hdbc, SQLINTEGER fAttribute, SQLPOINTER rgbValue, SQLINTEGER cbValue);
+ nothrow @nogc SQLRETURN SQLSetCursorNameW(SQLHSTMT hstmt, SQLWCHAR* szCursor, SQLSMALLINT cchCursor);
+ nothrow @nogc SQLRETURN SQLColumnsW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTableName, SQLSMALLINT cchTableName, SQLWCHAR* szColumnName, SQLSMALLINT cchColumnName);
+ nothrow @nogc SQLRETURN SQLGetConnectOptionW(SQLHDBC hdbc, SQLUSMALLINT fOption, SQLPOINTER pvParam);
+ nothrow @nogc SQLRETURN SQLGetInfoW(SQLHDBC hdbc, SQLUSMALLINT fInfoType, SQLPOINTER rgbInfoValue, SQLSMALLINT cbInfoValueMax, SQLSMALLINT* pcbInfoValue);
+ nothrow @nogc SQLRETURN SQLGetTypeInfoW(SQLHSTMT StatementHandle, SQLSMALLINT DataType);
+ nothrow @nogc SQLRETURN SQLSetConnectOptionW(SQLHDBC hdbc, SQLUSMALLINT fOption, SQLULEN vParam);
+ nothrow @nogc SQLRETURN SQLSpecialColumnsW(SQLHSTMT hstmt, SQLUSMALLINT fColType, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTableName, SQLSMALLINT cchTableName, SQLUSMALLINT fScope, SQLUSMALLINT fNullable);
+ nothrow @nogc SQLRETURN SQLStatisticsW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTableName, SQLSMALLINT cchTableName, SQLUSMALLINT fUnique, SQLUSMALLINT fAccuracy);
+ nothrow @nogc SQLRETURN SQLTablesW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTableName, SQLSMALLINT cchTableName, SQLWCHAR* szTableType, SQLSMALLINT cchTableType);
+ nothrow @nogc SQLRETURN SQLDataSourcesW(SQLHENV henv, SQLUSMALLINT fDirection, SQLWCHAR* szDSN, SQLSMALLINT cchDSNMax, SQLSMALLINT* pcchDSN, SQLWCHAR* wszDescription, SQLSMALLINT cchDescriptionMax, SQLSMALLINT* pcchDescription);
+ nothrow @nogc SQLRETURN SQLDriverConnectW(SQLHDBC hdbc, SQLHWND hwnd, SQLWCHAR* szConnStrIn, SQLSMALLINT cchConnStrIn, SQLWCHAR* szConnStrOut, SQLSMALLINT cchConnStrOutMax, SQLSMALLINT* pcchConnStrOut, SQLUSMALLINT fDriverCompletion);
+ nothrow @nogc SQLRETURN SQLBrowseConnectW(SQLHDBC hdbc, SQLWCHAR* szConnStrIn, SQLSMALLINT cchConnStrIn, SQLWCHAR* szConnStrOut, SQLSMALLINT cchConnStrOutMax, SQLSMALLINT* pcchConnStrOut);
+ nothrow @nogc SQLRETURN SQLColumnPrivilegesW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTableName, SQLSMALLINT cchTableName, SQLWCHAR* szColumnName, SQLSMALLINT cchColumnName);
+ nothrow @nogc SQLRETURN SQLGetStmtAttrW(SQLHSTMT hstmt, SQLINTEGER fAttribute, SQLPOINTER rgbValue, SQLINTEGER cbValueMax, SQLINTEGER* pcbValue);
+ nothrow @nogc SQLRETURN SQLSetStmtAttrW(SQLHSTMT hstmt, SQLINTEGER fAttribute, SQLPOINTER rgbValue, SQLINTEGER cbValueMax);
+ nothrow @nogc SQLRETURN SQLForeignKeysW(SQLHSTMT hstmt, SQLWCHAR* szPkCatalogName, SQLSMALLINT cchPkCatalogName, SQLWCHAR* szPkSchemaName, SQLSMALLINT cchPkSchemaName, SQLWCHAR* szPkTableName, SQLSMALLINT cchPkTableName, SQLWCHAR* szFkCatalogName, SQLSMALLINT cchFkCatalogName, SQLWCHAR* szFkSchemaName, SQLSMALLINT cchFkSchemaName, SQLWCHAR* szFkTableName, SQLSMALLINT cchFkTableName);
+ nothrow @nogc SQLRETURN SQLNativeSqlW(SQLHDBC hdbc, SQLWCHAR* szSqlStrIn, SQLINTEGER cchSqlStrIn, SQLWCHAR* szSqlStr, SQLINTEGER cchSqlStrMax, SQLINTEGER* pcchSqlStr);
+ nothrow @nogc SQLRETURN SQLPrimaryKeysW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTableName, SQLSMALLINT cchTableName);
+ nothrow @nogc SQLRETURN SQLProcedureColumnsW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szProcName, SQLSMALLINT cchProcName, SQLWCHAR* szColumnName, SQLSMALLINT cchColumnName);
+ nothrow @nogc SQLRETURN SQLProceduresW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szProcName, SQLSMALLINT cchProcName);
+ nothrow @nogc SQLRETURN SQLTablePrivilegesW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTableName, SQLSMALLINT cchTableName);
+ nothrow @nogc SQLRETURN SQLDriversW(SQLHENV henv, SQLUSMALLINT fDirection, SQLWCHAR* szDriverDesc, SQLSMALLINT cchDriverDescMax, SQLSMALLINT* pcchDriverDesc, SQLWCHAR* szDriverAttributes, SQLSMALLINT cchDrvrAttrMax, SQLSMALLINT* pcchDrvrAttr);
+ nothrow @nogc SQLRETURN SQLStructuredTypesW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTypeName, SQLSMALLINT cchTypeName);
+ nothrow @nogc SQLRETURN SQLStructuredTypeColumnsW(SQLHSTMT hstmt, SQLWCHAR* szCatalogName, SQLSMALLINT cchCatalogName, SQLWCHAR* szSchemaName, SQLSMALLINT cchSchemaName, SQLWCHAR* szTypeName, SQLSMALLINT cchTypeName, SQLWCHAR* szColumnName, SQLSMALLINT cchColumnName);
+ nothrow @nogc SQLRETURN SQLColAttributeA(SQLHSTMT hstmt, SQLSMALLINT iCol, SQLSMALLINT iField, SQLPOINTER pCharAttr, SQLSMALLINT cbCharAttrMax, SQLSMALLINT* pcbCharAttr, SQLLEN* pNumAttr);
+ nothrow @nogc SQLRETURN SQLColAttributesA(SQLHSTMT hstmt, SQLUSMALLINT icol, SQLUSMALLINT fDescType, SQLPOINTER rgbDesc, SQLSMALLINT cbDescMax, SQLSMALLINT* pcbDesc, SQLLEN* pfDesc);
+ nothrow @nogc SQLRETURN SQLConnectA(SQLHDBC hdbc, SQLCHAR* szDSN, SQLSMALLINT cbDSN, SQLCHAR* szUID, SQLSMALLINT cbUID, SQLCHAR* szAuthStr, SQLSMALLINT cbAuthStr);
+ nothrow @nogc SQLRETURN SQLDescribeColA(SQLHSTMT hstmt, SQLUSMALLINT icol, SQLCHAR* szColName, SQLSMALLINT cbColNameMax, SQLSMALLINT* pcbColName, SQLSMALLINT* pfSqlType, SQLULEN* pcbColDef, SQLSMALLINT* pibScale, SQLSMALLINT* pfNullable);
+ nothrow @nogc SQLRETURN SQLErrorA(SQLHENV henv, SQLHDBC hdbc, SQLHSTMT hstmt, SQLCHAR* szSqlState, SQLINTEGER* pfNativeError, SQLCHAR* szErrorMsg, SQLSMALLINT cbErrorMsgMax, SQLSMALLINT* pcbErrorMsg);
+ nothrow @nogc SQLRETURN SQLExecDirectA(SQLHSTMT hstmt, SQLCHAR* szSqlStr, SQLINTEGER cbSqlStr);
+ nothrow @nogc SQLRETURN SQLGetConnectAttrA(SQLHDBC hdbc, SQLINTEGER fAttribute, SQLPOINTER rgbValue, SQLINTEGER cbValueMax, SQLINTEGER* pcbValue);
+ nothrow @nogc SQLRETURN SQLGetCursorNameA(SQLHSTMT hstmt, SQLCHAR* szCursor, SQLSMALLINT cbCursorMax, SQLSMALLINT* pcbCursor);
+ nothrow @nogc SQLRETURN SQLGetDescFieldA(SQLHDESC hdesc, SQLSMALLINT iRecord, SQLSMALLINT iField, SQLPOINTER rgbValue, SQLINTEGER cbBufferLength, SQLINTEGER* StringLength);
+ nothrow @nogc SQLRETURN SQLGetDescRecA(SQLHDESC hdesc, SQLSMALLINT iRecord, SQLCHAR* szName, SQLSMALLINT cbNameMax, SQLSMALLINT* pcbName, SQLSMALLINT* pfType, SQLSMALLINT* pfSubType, SQLLEN* pLength, SQLSMALLINT* pPrecision, SQLSMALLINT* pScale, SQLSMALLINT* pNullable);
+ nothrow @nogc SQLRETURN SQLGetDiagFieldA(SQLSMALLINT fHandleType, SQLHANDLE handle, SQLSMALLINT iRecord, SQLSMALLINT fDiagField, SQLPOINTER rgbDiagInfo, SQLSMALLINT cbDiagInfoMax, SQLSMALLINT* pcbDiagInfo);
+ nothrow @nogc SQLRETURN SQLGetDiagRecA(SQLSMALLINT fHandleType, SQLHANDLE handle, SQLSMALLINT iRecord, SQLCHAR* szSqlState, SQLINTEGER* pfNativeError, SQLCHAR* szErrorMsg, SQLSMALLINT cbErrorMsgMax, SQLSMALLINT* pcbErrorMsg);
+ nothrow @nogc SQLRETURN SQLGetStmtAttrA(SQLHSTMT hstmt, SQLINTEGER fAttribute, SQLPOINTER rgbValue, SQLINTEGER cbValueMax, SQLINTEGER* pcbValue);
+ nothrow @nogc SQLRETURN SQLGetTypeInfoA(SQLHSTMT StatementHandle, SQLSMALLINT DataType);
+ nothrow @nogc SQLRETURN SQLPrepareA(SQLHSTMT hstmt, SQLCHAR* szSqlStr, SQLINTEGER cbSqlStr);
+ nothrow @nogc SQLRETURN SQLSetConnectAttrA(SQLHDBC hdbc, SQLINTEGER fAttribute, SQLPOINTER rgbValue, SQLINTEGER cbValue);
+ nothrow @nogc SQLRETURN SQLSetCursorNameA(SQLHSTMT hstmt, SQLCHAR* szCursor, SQLSMALLINT cbCursor);
+ nothrow @nogc SQLRETURN SQLColumnsA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTableName, SQLSMALLINT cbTableName, SQLCHAR* szColumnName, SQLSMALLINT cbColumnName);
+ nothrow @nogc SQLRETURN SQLGetConnectOptionA(SQLHDBC hdbc, SQLUSMALLINT fOption, SQLPOINTER pvParam);
+ nothrow @nogc SQLRETURN SQLGetInfoA(SQLHDBC hdbc, SQLUSMALLINT fInfoType, SQLPOINTER rgbInfoValue, SQLSMALLINT cbInfoValueMax, SQLSMALLINT* pcbInfoValue);
+ nothrow @nogc SQLRETURN SQLGetStmtOptionA(SQLHSTMT hstmt, SQLUSMALLINT fOption, SQLPOINTER pvParam);
+ nothrow @nogc SQLRETURN SQLSetConnectOptionA(SQLHDBC hdbc, SQLUSMALLINT fOption, SQLULEN vParam);
+ nothrow @nogc SQLRETURN SQLSetStmtOptionA(SQLHSTMT hstmt, SQLUSMALLINT fOption, SQLULEN vParam);
+ nothrow @nogc SQLRETURN SQLSpecialColumnsA(SQLHSTMT hstmt, SQLUSMALLINT fColType, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTableName, SQLSMALLINT cbTableName, SQLUSMALLINT fScope, SQLUSMALLINT fNullable);
+ nothrow @nogc SQLRETURN SQLStatisticsA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTableName, SQLSMALLINT cbTableName, SQLUSMALLINT fUnique, SQLUSMALLINT fAccuracy);
+ nothrow @nogc SQLRETURN SQLTablesA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTableName, SQLSMALLINT cbTableName, SQLCHAR* szTableType, SQLSMALLINT cbTableType);
+ nothrow @nogc SQLRETURN SQLDataSourcesA(SQLHENV henv, SQLUSMALLINT fDirection, SQLCHAR* szDSN, SQLSMALLINT cbDSNMax, SQLSMALLINT* pcbDSN, SQLCHAR* szDescription, SQLSMALLINT cbDescriptionMax, SQLSMALLINT* pcbDescription);
+ nothrow @nogc SQLRETURN SQLDriverConnectA(SQLHDBC hdbc, SQLHWND hwnd, SQLCHAR* szConnStrIn, SQLSMALLINT cbConnStrIn, SQLCHAR* szConnStrOut, SQLSMALLINT cbConnStrOutMax, SQLSMALLINT* pcbConnStrOut, SQLUSMALLINT fDriverCompletion);
+ nothrow @nogc SQLRETURN SQLBrowseConnectA(SQLHDBC hdbc, SQLCHAR* szConnStrIn, SQLSMALLINT cbConnStrIn, SQLCHAR* szConnStrOut, SQLSMALLINT cbConnStrOutMax, SQLSMALLINT* pcbConnStrOut);
+ nothrow @nogc SQLRETURN SQLColumnPrivilegesA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTableName, SQLSMALLINT cbTableName, SQLCHAR* szColumnName, SQLSMALLINT cbColumnName);
+ nothrow @nogc SQLRETURN SQLDescribeParamA(SQLHSTMT hstmt, SQLUSMALLINT ipar, SQLSMALLINT* pfSqlType, SQLUINTEGER* pcbParamDef, SQLSMALLINT* pibScale, SQLSMALLINT* pfNullable);
+ nothrow @nogc SQLRETURN SQLForeignKeysA(SQLHSTMT hstmt, SQLCHAR* szPkCatalogName, SQLSMALLINT cbPkCatalogName, SQLCHAR* szPkSchemaName, SQLSMALLINT cbPkSchemaName, SQLCHAR* szPkTableName, SQLSMALLINT cbPkTableName, SQLCHAR* szFkCatalogName, SQLSMALLINT cbFkCatalogName, SQLCHAR* szFkSchemaName, SQLSMALLINT cbFkSchemaName, SQLCHAR* szFkTableName, SQLSMALLINT cbFkTableName);
+ nothrow @nogc SQLRETURN SQLNativeSqlA(SQLHDBC hdbc, SQLCHAR* szSqlStrIn, SQLINTEGER cbSqlStrIn, SQLCHAR* szSqlStr, SQLINTEGER cbSqlStrMax, SQLINTEGER* pcbSqlStr);
+ nothrow @nogc SQLRETURN SQLPrimaryKeysA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTableName, SQLSMALLINT cbTableName);
+ nothrow @nogc SQLRETURN SQLProcedureColumnsA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szProcName, SQLSMALLINT cbProcName, SQLCHAR* szColumnName, SQLSMALLINT cbColumnName);
+ nothrow @nogc SQLRETURN SQLProceduresA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szProcName, SQLSMALLINT cbProcName);
+ nothrow @nogc SQLRETURN SQLTablePrivilegesA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTableName, SQLSMALLINT cbTableName);
+ nothrow @nogc SQLRETURN SQLDriversA(SQLHENV henv, SQLUSMALLINT fDirection, SQLCHAR* szDriverDesc, SQLSMALLINT cbDriverDescMax, SQLSMALLINT* pcbDriverDesc, SQLCHAR* szDriverAttributes, SQLSMALLINT cbDrvrAttrMax, SQLSMALLINT* pcbDrvrAttr);
+ nothrow @nogc SQLRETURN SQLStructuredTypesA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTypeName, SQLSMALLINT cbTypeName);
+ nothrow @nogc SQLRETURN SQLStructuredTypeColumnsA(SQLHSTMT hstmt, SQLCHAR* szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR* szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR* szTypeName, SQLSMALLINT cbTypeName, SQLCHAR* szColumnName, SQLSMALLINT cbColumnName);
+ enum SQLINTEGER ODBCVER = 1024;
+ enum SQLINTEGER SQL_MAX_NUMERIC_LEN = 16;
+ auto SQL_NULL_DATA()()
+ {
+ return -1;
+ }
+ auto SQL_DATA_AT_EXEC()()
+ {
+ return -2;
+ }
+ enum SQLINTEGER SQL_SUCCESS = 0;
+ enum SQLINTEGER SQL_SUCCESS_WITH_INFO = 1;
+ enum SQLINTEGER SQL_NO_DATA = 100;
+ enum SQLINTEGER SQL_PARAM_DATA_AVAILABLE = 101;
+ auto SQL_ERROR()()
+ {
+ return -1;
+ }
+ auto SQL_INVALID_HANDLE()()
+ {
+ return -2;
+ }
+ enum SQLINTEGER SQL_STILL_EXECUTING = 2;
+ enum SQLINTEGER SQL_NEED_DATA = 99;
+ auto SQL_SUCCEEDED(__MP1)(__MP1 rc)
+ {
+ return (rc & ~1) == 0;
+ }
+ auto SQL_NTS()()
+ {
+ return -3;
+ }
+ auto SQL_NTSL()()
+ {
+ return -3;
+ }
+ enum SQLINTEGER SQL_MAX_MESSAGE_LENGTH = 512;
+ enum SQLINTEGER SQL_DATE_LEN = 10;
+ enum SQLINTEGER SQL_TIME_LEN = 8;
+ enum SQLINTEGER SQL_TIMESTAMP_LEN = 19;
+ enum SQLINTEGER SQL_HANDLE_ENV = 1;
+ enum SQLINTEGER SQL_HANDLE_DBC = 2;
+ enum SQLINTEGER SQL_HANDLE_STMT = 3;
+ enum SQLINTEGER SQL_HANDLE_DESC = 4;
+ enum SQLINTEGER SQL_ATTR_OUTPUT_NTS = 10001;
+ enum SQLINTEGER SQL_ATTR_AUTO_IPD = 10001;
+ enum SQLINTEGER SQL_ATTR_METADATA_ID = 10014;
+ enum SQLINTEGER SQL_ATTR_APP_ROW_DESC = 10010;
+ enum SQLINTEGER SQL_ATTR_APP_PARAM_DESC = 10011;
+ enum SQLINTEGER SQL_ATTR_IMP_ROW_DESC = 10012;
+ enum SQLINTEGER SQL_ATTR_IMP_PARAM_DESC = 10013;
+ auto SQL_ATTR_CURSOR_SCROLLABLE()()
+ {
+ return -1;
+ }
+ auto SQL_ATTR_CURSOR_SENSITIVITY()()
+ {
+ return -2;
+ }
+ enum SQLINTEGER SQL_NONSCROLLABLE = 0;
+ enum SQLINTEGER SQL_SCROLLABLE = 1;
+ enum SQLINTEGER SQL_DESC_COUNT = 1001;
+ enum SQLINTEGER SQL_DESC_TYPE = 1002;
+ enum SQLINTEGER SQL_DESC_LENGTH = 1003;
+ enum SQLINTEGER SQL_DESC_OCTET_LENGTH_PTR = 1004;
+ enum SQLINTEGER SQL_DESC_PRECISION = 1005;
+ enum SQLINTEGER SQL_DESC_SCALE = 1006;
+ enum SQLINTEGER SQL_DESC_DATETIME_INTERVAL_CODE = 1007;
+ enum SQLINTEGER SQL_DESC_NULLABLE = 1008;
+ enum SQLINTEGER SQL_DESC_INDICATOR_PTR = 1009;
+ enum SQLINTEGER SQL_DESC_DATA_PTR = 1010;
+ enum SQLINTEGER SQL_DESC_NAME = 1011;
+ enum SQLINTEGER SQL_DESC_UNNAMED = 1012;
+ enum SQLINTEGER SQL_DESC_OCTET_LENGTH = 1013;
+ enum SQLINTEGER SQL_DESC_ALLOC_TYPE = 1099;
+ enum SQLINTEGER SQL_DESC_CHARACTER_SET_CATALOG = 1018;
+ enum SQLINTEGER SQL_DESC_CHARACTER_SET_SCHEMA = 1019;
+ enum SQLINTEGER SQL_DESC_CHARACTER_SET_NAME = 1020;
+ enum SQLINTEGER SQL_DESC_COLLATION_CATALOG = 1015;
+ enum SQLINTEGER SQL_DESC_COLLATION_SCHEMA = 1016;
+ enum SQLINTEGER SQL_DESC_COLLATION_NAME = 1017;
+ enum SQLINTEGER SQL_DESC_USER_DEFINED_TYPE_CATALOG = 1026;
+ enum SQLINTEGER SQL_DESC_USER_DEFINED_TYPE_SCHEMA = 1027;
+ enum SQLINTEGER SQL_DESC_USER_DEFINED_TYPE_NAME = 1028;
+ enum SQLINTEGER SQL_DIAG_RETURNCODE = 1;
+ enum SQLINTEGER SQL_DIAG_NUMBER = 2;
+ enum SQLINTEGER SQL_DIAG_ROW_COUNT = 3;
+ enum SQLINTEGER SQL_DIAG_SQLSTATE = 4;
+ enum SQLINTEGER SQL_DIAG_NATIVE = 5;
+ enum SQLINTEGER SQL_DIAG_MESSAGE_TEXT = 6;
+ enum SQLINTEGER SQL_DIAG_DYNAMIC_FUNCTION = 7;
+ enum SQLINTEGER SQL_DIAG_CLASS_ORIGIN = 8;
+ enum SQLINTEGER SQL_DIAG_SUBCLASS_ORIGIN = 9;
+ enum SQLINTEGER SQL_DIAG_CONNECTION_NAME = 10;
+ enum SQLINTEGER SQL_DIAG_SERVER_NAME = 11;
+ enum SQLINTEGER SQL_DIAG_DYNAMIC_FUNCTION_CODE = 12;
+ enum SQLINTEGER SQL_DIAG_ALTER_DOMAIN = 3;
+ enum SQLINTEGER SQL_DIAG_ALTER_TABLE = 4;
+ enum SQLINTEGER SQL_DIAG_CALL = 7;
+ enum SQLINTEGER SQL_DIAG_CREATE_ASSERTION = 6;
+ enum SQLINTEGER SQL_DIAG_CREATE_CHARACTER_SET = 8;
+ enum SQLINTEGER SQL_DIAG_CREATE_COLLATION = 10;
+ enum SQLINTEGER SQL_DIAG_CREATE_DOMAIN = 23;
+ auto SQL_DIAG_CREATE_INDEX()()
+ {
+ return -1;
+ }
+ enum SQLINTEGER SQL_DIAG_CREATE_SCHEMA = 64;
+ enum SQLINTEGER SQL_DIAG_CREATE_TABLE = 77;
+ enum SQLINTEGER SQL_DIAG_CREATE_TRANSLATION = 79;
+ enum SQLINTEGER SQL_DIAG_CREATE_VIEW = 84;
+ enum SQLINTEGER SQL_DIAG_DELETE_WHERE = 19;
+ enum SQLINTEGER SQL_DIAG_DROP_ASSERTION = 24;
+ enum SQLINTEGER SQL_DIAG_DROP_CHARACTER_SET = 25;
+ enum SQLINTEGER SQL_DIAG_DROP_COLLATION = 26;
+ enum SQLINTEGER SQL_DIAG_DROP_DOMAIN = 27;
+ auto SQL_DIAG_DROP_INDEX()()
+ {
+ return -2;
+ }
+ enum SQLINTEGER SQL_DIAG_DROP_SCHEMA = 31;
+ enum SQLINTEGER SQL_DIAG_DROP_TABLE = 32;
+ enum SQLINTEGER SQL_DIAG_DROP_TRANSLATION = 33;
+ enum SQLINTEGER SQL_DIAG_DROP_VIEW = 36;
+ enum SQLINTEGER SQL_DIAG_DYNAMIC_DELETE_CURSOR = 38;
+ enum SQLINTEGER SQL_DIAG_DYNAMIC_UPDATE_CURSOR = 81;
+ enum SQLINTEGER SQL_DIAG_GRANT = 48;
+ enum SQLINTEGER SQL_DIAG_INSERT = 50;
+ enum SQLINTEGER SQL_DIAG_REVOKE = 59;
+ enum SQLINTEGER SQL_DIAG_SELECT_CURSOR = 85;
+ enum SQLINTEGER SQL_DIAG_UNKNOWN_STATEMENT = 0;
+ enum SQLINTEGER SQL_DIAG_UPDATE_WHERE = 82;
+ enum SQLINTEGER SQL_UNKNOWN_TYPE = 0;
+ enum SQLINTEGER SQL_CHAR = 1;
+ enum SQLINTEGER SQL_NUMERIC = 2;
+ enum SQLINTEGER SQL_DECIMAL = 3;
+ enum SQLINTEGER SQL_INTEGER = 4;
+ enum SQLINTEGER SQL_SMALLINT = 5;
+ enum SQLINTEGER SQL_FLOAT = 6;
+ enum SQLINTEGER SQL_REAL = 7;
+ enum SQLINTEGER SQL_DOUBLE = 8;
+ enum SQLINTEGER SQL_DATETIME = 9;
+ enum SQLINTEGER SQL_VARCHAR = 12;
+ enum SQLINTEGER SQL_UDT = 17;
+ enum SQLINTEGER SQL_ROW = 19;
+ enum SQLINTEGER SQL_ARRAY = 50;
+ enum SQLINTEGER SQL_MULTISET = 55;
+ enum SQLINTEGER SQL_TYPE_DATE = 91;
+ enum SQLINTEGER SQL_TYPE_TIME = 92;
+ enum SQLINTEGER SQL_TYPE_TIMESTAMP = 93;
+ enum SQLINTEGER SQL_TYPE_TIME_WITH_TIMEZONE = 94;
+ enum SQLINTEGER SQL_TYPE_TIMESTAMP_WITH_TIMEZONE = 95;
+ enum SQLINTEGER SQL_UNSPECIFIED = 0;
+ enum SQLINTEGER SQL_INSENSITIVE = 1;
+ enum SQLINTEGER SQL_SENSITIVE = 2;
+ enum SQLINTEGER SQL_ALL_TYPES = 0;
+ enum SQLINTEGER SQL_DEFAULT = 99;
+ auto SQL_ARD_TYPE()()
+ {
+ return -99;
+ }
+ auto SQL_APD_TYPE()()
+ {
+ return -100;
+ }
+ enum SQLINTEGER SQL_CODE_DATE = 1;
+ enum SQLINTEGER SQL_CODE_TIME = 2;
+ enum SQLINTEGER SQL_CODE_TIMESTAMP = 3;
+ enum SQLINTEGER SQL_CODE_TIME_WITH_TIMEZONE = 4;
+ enum SQLINTEGER SQL_CODE_TIMESTAMP_WITH_TIMEZONE = 5;
+ enum SQLINTEGER SQL_FALSE = 0;
+ enum SQLINTEGER SQL_TRUE = 1;
+ enum SQLINTEGER SQL_NO_NULLS = 0;
+ enum SQLINTEGER SQL_NULLABLE = 1;
+ enum SQLINTEGER SQL_NULLABLE_UNKNOWN = 2;
+ enum SQLINTEGER SQL_PRED_NONE = 0;
+ enum SQLINTEGER SQL_PRED_CHAR = 1;
+ enum SQLINTEGER SQL_PRED_BASIC = 2;
+ enum SQLINTEGER SQL_NAMED = 0;
+ enum SQLINTEGER SQL_UNNAMED = 1;
+ enum SQLINTEGER SQL_DESC_ALLOC_AUTO = 1;
+ enum SQLINTEGER SQL_DESC_ALLOC_USER = 2;
+ enum SQLINTEGER SQL_CLOSE = 0;
+ enum SQLINTEGER SQL_DROP = 1;
+ enum SQLINTEGER SQL_UNBIND = 2;
+ enum SQLINTEGER SQL_RESET_PARAMS = 3;
+ enum SQLINTEGER SQL_FETCH_NEXT = 1;
+ enum SQLINTEGER SQL_FETCH_FIRST = 2;
+ enum SQLINTEGER SQL_FETCH_LAST = 3;
+ enum SQLINTEGER SQL_FETCH_PRIOR = 4;
+ enum SQLINTEGER SQL_FETCH_ABSOLUTE = 5;
+ enum SQLINTEGER SQL_FETCH_RELATIVE = 6;
+ enum SQLINTEGER SQL_COMMIT = 0;
+ enum SQLINTEGER SQL_ROLLBACK = 1;
+ enum SQLINTEGER SQL_NULL_HENV = 0;
+ enum SQLINTEGER SQL_NULL_HDBC = 0;
+ enum SQLINTEGER SQL_NULL_HSTMT = 0;
+ enum SQLINTEGER SQL_NULL_HDESC = 0;
+ enum SQLINTEGER SQL_NULL_HANDLE = 0;
+ enum SQLINTEGER SQL_SCOPE_CURROW = 0;
+ enum SQLINTEGER SQL_SCOPE_TRANSACTION = 1;
+ enum SQLINTEGER SQL_SCOPE_SESSION = 2;
+ enum SQLINTEGER SQL_PC_UNKNOWN = 0;
+ enum SQLINTEGER SQL_PC_NON_PSEUDO = 1;
+ enum SQLINTEGER SQL_PC_PSEUDO = 2;
+ enum SQLINTEGER SQL_ROW_IDENTIFIER = 1;
+ enum SQLINTEGER SQL_INDEX_UNIQUE = 0;
+ enum SQLINTEGER SQL_INDEX_ALL = 1;
+ enum SQLINTEGER SQL_INDEX_CLUSTERED = 1;
+ enum SQLINTEGER SQL_INDEX_HASHED = 2;
+ enum SQLINTEGER SQL_INDEX_OTHER = 3;
+ enum SQLINTEGER SQL_MAX_DRIVER_CONNECTIONS = 0;
+ enum SQLINTEGER SQL_MAX_CONCURRENT_ACTIVITIES = 1;
+ enum SQLINTEGER SQL_DATA_SOURCE_NAME = 2;
+ enum SQLINTEGER SQL_FETCH_DIRECTION = 8;
+ enum SQLINTEGER SQL_SERVER_NAME = 13;
+ enum SQLINTEGER SQL_SEARCH_PATTERN_ESCAPE = 14;
+ enum SQLINTEGER SQL_DBMS_NAME = 17;
+ enum SQLINTEGER SQL_DBMS_VER = 18;
+ enum SQLINTEGER SQL_ACCESSIBLE_TABLES = 19;
+ enum SQLINTEGER SQL_ACCESSIBLE_PROCEDURES = 20;
+ enum SQLINTEGER SQL_CURSOR_COMMIT_BEHAVIOR = 23;
+ enum SQLINTEGER SQL_DATA_SOURCE_READ_ONLY = 25;
+ enum SQLINTEGER SQL_DEFAULT_TXN_ISOLATION = 26;
+ enum SQLINTEGER SQL_IDENTIFIER_CASE = 28;
+ enum SQLINTEGER SQL_IDENTIFIER_QUOTE_CHAR = 29;
+ enum SQLINTEGER SQL_MAX_COLUMN_NAME_LEN = 30;
+ enum SQLINTEGER SQL_MAX_CURSOR_NAME_LEN = 31;
+ enum SQLINTEGER SQL_MAX_SCHEMA_NAME_LEN = 32;
+ enum SQLINTEGER SQL_MAX_CATALOG_NAME_LEN = 34;
+ enum SQLINTEGER SQL_MAX_TABLE_NAME_LEN = 35;
+ enum SQLINTEGER SQL_SCROLL_CONCURRENCY = 43;
+ enum SQLINTEGER SQL_TXN_CAPABLE = 46;
+ enum SQLINTEGER SQL_USER_NAME = 47;
+ enum SQLINTEGER SQL_TXN_ISOLATION_OPTION = 72;
+ enum SQLINTEGER SQL_INTEGRITY = 73;
+ enum SQLINTEGER SQL_GETDATA_EXTENSIONS = 81;
+ enum SQLINTEGER SQL_NULL_COLLATION = 85;
+ enum SQLINTEGER SQL_ALTER_TABLE = 86;
+ enum SQLINTEGER SQL_ORDER_BY_COLUMNS_IN_SELECT = 90;
+ enum SQLINTEGER SQL_SPECIAL_CHARACTERS = 94;
+ enum SQLINTEGER SQL_MAX_COLUMNS_IN_GROUP_BY = 97;
+ enum SQLINTEGER SQL_MAX_COLUMNS_IN_INDEX = 98;
+ enum SQLINTEGER SQL_MAX_COLUMNS_IN_ORDER_BY = 99;
+ enum SQLINTEGER SQL_MAX_COLUMNS_IN_SELECT = 100;
+ enum SQLINTEGER SQL_MAX_COLUMNS_IN_TABLE = 101;
+ enum SQLINTEGER SQL_MAX_INDEX_SIZE = 102;
+ enum SQLINTEGER SQL_MAX_ROW_SIZE = 104;
+ enum SQLINTEGER SQL_MAX_STATEMENT_LEN = 105;
+ enum SQLINTEGER SQL_MAX_TABLES_IN_SELECT = 106;
+ enum SQLINTEGER SQL_MAX_USER_NAME_LEN = 107;
+ enum SQLINTEGER SQL_OJ_CAPABILITIES = 115;
+ enum SQLINTEGER SQL_XOPEN_CLI_YEAR = 10000;
+ enum SQLINTEGER SQL_CURSOR_SENSITIVITY = 10001;
+ enum SQLINTEGER SQL_DESCRIBE_PARAMETER = 10002;
+ enum SQLINTEGER SQL_CATALOG_NAME = 10003;
+ enum SQLINTEGER SQL_COLLATION_SEQ = 10004;
+ enum SQLINTEGER SQL_MAX_IDENTIFIER_LEN = 10005;
+ enum SQLINTEGER SQL_AT_ADD_COLUMN = 1;
+ enum SQLINTEGER SQL_AT_DROP_COLUMN = 2;
+ enum SQLINTEGER SQL_AT_ADD_CONSTRAINT = 8;
+ enum SQLINTEGER SQL_AM_NONE = 0;
+ enum SQLINTEGER SQL_AM_CONNECTION = 1;
+ enum SQLINTEGER SQL_AM_STATEMENT = 2;
+ enum SQLINTEGER SQL_CB_DELETE = 0;
+ enum SQLINTEGER SQL_CB_CLOSE = 1;
+ enum SQLINTEGER SQL_CB_PRESERVE = 2;
+ enum SQLINTEGER SQL_FD_FETCH_NEXT = 1;
+ enum SQLINTEGER SQL_FD_FETCH_FIRST = 2;
+ enum SQLINTEGER SQL_FD_FETCH_LAST = 4;
+ enum SQLINTEGER SQL_FD_FETCH_PRIOR = 8;
+ enum SQLINTEGER SQL_FD_FETCH_ABSOLUTE = 16;
+ enum SQLINTEGER SQL_FD_FETCH_RELATIVE = 32;
+ enum SQLINTEGER SQL_GD_ANY_COLUMN = 1;
+ enum SQLINTEGER SQL_GD_ANY_ORDER = 2;
+ enum SQLINTEGER SQL_IC_UPPER = 1;
+ enum SQLINTEGER SQL_IC_LOWER = 2;
+ enum SQLINTEGER SQL_IC_SENSITIVE = 3;
+ enum SQLINTEGER SQL_IC_MIXED = 4;
+ enum SQLINTEGER SQL_OJ_LEFT = 1;
+ enum SQLINTEGER SQL_OJ_RIGHT = 2;
+ enum SQLINTEGER SQL_OJ_FULL = 4;
+ enum SQLINTEGER SQL_OJ_NESTED = 8;
+ enum SQLINTEGER SQL_OJ_NOT_ORDERED = 16;
+ enum SQLINTEGER SQL_OJ_INNER = 32;
+ enum SQLINTEGER SQL_OJ_ALL_COMPARISON_OPS = 64;
+ enum SQLINTEGER SQL_SCCO_READ_ONLY = 1;
+ enum SQLINTEGER SQL_SCCO_LOCK = 2;
+ enum SQLINTEGER SQL_SCCO_OPT_ROWVER = 4;
+ enum SQLINTEGER SQL_SCCO_OPT_VALUES = 8;
+ enum SQLINTEGER SQL_TC_NONE = 0;
+ enum SQLINTEGER SQL_TC_DML = 1;
+ enum SQLINTEGER SQL_TC_ALL = 2;
+ enum SQLINTEGER SQL_TC_DDL_COMMIT = 3;
+ enum SQLINTEGER SQL_TC_DDL_IGNORE = 4;
+ enum SQLINTEGER SQL_TXN_READ_UNCOMMITTED = 1;
+ enum SQLINTEGER SQL_TXN_READ_COMMITTED = 2;
+ enum SQLINTEGER SQL_TXN_REPEATABLE_READ = 4;
+ enum SQLINTEGER SQL_TXN_SERIALIZABLE = 8;
+ enum SQLINTEGER SQL_NC_HIGH = 0;
+ enum SQLINTEGER SQL_NC_LOW = 1;
+ enum SQLINTEGER SQL_SPEC_MAJOR = 4;
+ enum SQLINTEGER SQL_SPEC_MINOR = 0;
+ enum SQL_SPEC_STRING = "04.00";
+ enum SQLINTEGER SQL_SQLSTATE_SIZE = 5;
+ enum SQLINTEGER SQL_MAX_DSN_LENGTH = 32;
+ enum SQLINTEGER SQL_MAX_OPTION_STRING_LENGTH = 256;
+ enum SQLINTEGER SQL_DATA_AVAILABLE = 102;
+ enum SQLINTEGER SQL_METADATA_CHANGED = 103;
+ enum SQLINTEGER SQL_MORE_DATA = 104;
+ enum SQLINTEGER SQL_HANDLE_SENV = 5;
+ enum SQLINTEGER SQL_ATTR_ODBC_VERSION = 200;
+ enum SQLINTEGER SQL_ATTR_CONNECTION_POOLING = 201;
+ enum SQLINTEGER SQL_ATTR_CP_MATCH = 202;
+ enum SQLINTEGER SQL_ATTR_APPLICATION_KEY = 203;
+ enum SQLUINTEGER SQL_CP_OFF = 0u;
+ enum SQLUINTEGER SQL_CP_ONE_PER_DRIVER = 1u;
+ enum SQLUINTEGER SQL_CP_ONE_PER_HENV = 2u;
+ enum SQLUINTEGER SQL_CP_DRIVER_AWARE = 3u;
+ enum SQLUINTEGER SQL_CP_STRICT_MATCH = 0u;
+ enum SQLUINTEGER SQL_CP_RELAXED_MATCH = 1u;
+ enum SQLUINTEGER SQL_OV_ODBC2 = 2u;
+ enum SQLUINTEGER SQL_OV_ODBC3 = 3u;
+ enum SQLUINTEGER SQL_OV_ODBC3_80 = 380u;
+ enum SQLUINTEGER SQL_OV_ODBC4 = 400u;
+ enum SQLINTEGER SQL_ACCESS_MODE = 101;
+ enum SQLINTEGER SQL_AUTOCOMMIT = 102;
+ enum SQLINTEGER SQL_LOGIN_TIMEOUT = 103;
+ enum SQLINTEGER SQL_OPT_TRACE = 104;
+ enum SQLINTEGER SQL_OPT_TRACEFILE = 105;
+ enum SQLINTEGER SQL_TRANSLATE_DLL = 106;
+ enum SQLINTEGER SQL_TRANSLATE_OPTION = 107;
+ enum SQLINTEGER SQL_TXN_ISOLATION = 108;
+ enum SQLINTEGER SQL_CURRENT_QUALIFIER = 109;
+ enum SQLINTEGER SQL_ODBC_CURSORS = 110;
+ enum SQLINTEGER SQL_QUIET_MODE = 111;
+ enum SQLINTEGER SQL_PACKET_SIZE = 112;
+ enum SQLINTEGER SQL_ATTR_CONNECTION_TIMEOUT = 113;
+ enum SQLINTEGER SQL_ATTR_DISCONNECT_BEHAVIOR = 114;
+ enum SQLINTEGER SQL_ATTR_ENLIST_IN_DTC = 1207;
+ enum SQLINTEGER SQL_ATTR_ENLIST_IN_XA = 1208;
+ enum SQLINTEGER SQL_ATTR_CONNECTION_DEAD = 1209;
+ enum SQLINTEGER SQL_ATTR_ANSI_APP = 115;
+ enum SQLINTEGER SQL_ATTR_RESET_CONNECTION = 116;
+ enum SQLINTEGER SQL_ATTR_ASYNC_DBC_FUNCTIONS_ENABLE = 117;
+ enum SQLINTEGER SQL_ATTR_ASYNC_DBC_EVENT = 119;
+ enum SQLINTEGER SQL_ATTR_CREDENTIALS = 122;
+ enum SQLINTEGER SQL_ATTR_REFRESH_CONNECTION = 123;
+ enum SQLUINTEGER SQL_MODE_READ_WRITE = 0u;
+ enum SQLUINTEGER SQL_MODE_READ_ONLY = 1u;
+ enum SQLUINTEGER SQL_AUTOCOMMIT_OFF = 0u;
+ enum SQLUINTEGER SQL_AUTOCOMMIT_ON = 1u;
+ enum SQLUINTEGER SQL_LOGIN_TIMEOUT_DEFAULT = 15u;
+ enum SQLUINTEGER SQL_OPT_TRACE_OFF = 0u;
+ enum SQLUINTEGER SQL_OPT_TRACE_ON = 1u;
+ enum SQL_OPT_TRACE_FILE_DEFAULT = "\\SQL.LOG";
+ enum SQLUINTEGER SQL_CUR_USE_IF_NEEDED = 0u;
+ enum SQLUINTEGER SQL_CUR_USE_ODBC = 1u;
+ enum SQLUINTEGER SQL_CUR_USE_DRIVER = 2u;
+ enum SQLUINTEGER SQL_DB_RETURN_TO_POOL = 0u;
+ enum SQLUINTEGER SQL_DB_DISCONNECT = 1u;
+ enum SQLINTEGER SQL_DTC_DONE = 0;
+ enum SQLINTEGER SQL_CD_TRUE = 1;
+ enum SQLINTEGER SQL_CD_FALSE = 0;
+ enum SQLINTEGER SQL_AA_TRUE = 1;
+ enum SQLINTEGER SQL_AA_FALSE = 0;
+ enum SQLUINTEGER SQL_RESET_CONNECTION_YES = 1u;
+ enum SQLUINTEGER SQL_ASYNC_DBC_ENABLE_ON = 1u;
+ enum SQLUINTEGER SQL_ASYNC_DBC_ENABLE_OFF = 0u;
+ enum SQLINTEGER SQL_REFRESH_NOW = -1;
+ enum SQLINTEGER SQL_REFRESH_AUTO = 0;
+ enum SQLINTEGER SQL_REFRESH_MANUAL = 1;
+ enum SQLINTEGER SQL_QUERY_TIMEOUT = 0;
+ enum SQLINTEGER SQL_MAX_ROWS = 1;
+ enum SQLINTEGER SQL_NOSCAN = 2;
+ enum SQLINTEGER SQL_MAX_LENGTH = 3;
+ enum SQLINTEGER SQL_ASYNC_ENABLE = 4;
+ enum SQLINTEGER SQL_BIND_TYPE = 5;
+ enum SQLINTEGER SQL_CURSOR_TYPE = 6;
+ enum SQLINTEGER SQL_CONCURRENCY = 7;
+ enum SQLINTEGER SQL_KEYSET_SIZE = 8;
+ enum SQLINTEGER SQL_ROWSET_SIZE = 9;
+ enum SQLINTEGER SQL_SIMULATE_CURSOR = 10;
+ enum SQLINTEGER SQL_RETRIEVE_DATA = 11;
+ enum SQLINTEGER SQL_USE_BOOKMARKS = 12;
+ enum SQLINTEGER SQL_GET_BOOKMARK = 13;
+ enum SQLINTEGER SQL_ROW_NUMBER = 14;
+ enum SQLINTEGER SQL_ATTR_ENABLE_AUTO_IPD = 15;
+ enum SQLINTEGER SQL_ATTR_FETCH_BOOKMARK_PTR = 16;
+ enum SQLINTEGER SQL_ATTR_PARAM_BIND_OFFSET_PTR = 17;
+ enum SQLINTEGER SQL_ATTR_PARAM_BIND_TYPE = 18;
+ enum SQLINTEGER SQL_ATTR_PARAM_OPERATION_PTR = 19;
+ enum SQLINTEGER SQL_ATTR_PARAM_STATUS_PTR = 20;
+ enum SQLINTEGER SQL_ATTR_PARAMS_PROCESSED_PTR = 21;
+ enum SQLINTEGER SQL_ATTR_PARAMSET_SIZE = 22;
+ enum SQLINTEGER SQL_ATTR_ROW_BIND_OFFSET_PTR = 23;
+ enum SQLINTEGER SQL_ATTR_ROW_OPERATION_PTR = 24;
+ enum SQLINTEGER SQL_ATTR_ROW_STATUS_PTR = 25;
+ enum SQLINTEGER SQL_ATTR_ROWS_FETCHED_PTR = 26;
+ enum SQLINTEGER SQL_ATTR_ROW_ARRAY_SIZE = 27;
+ enum SQLINTEGER SQL_ATTR_ASYNC_STMT_EVENT = 29;
+ enum SQLINTEGER SQL_ATTR_SAMPLE_SIZE = 30;
+ enum SQLINTEGER SQL_ATTR_DYNAMIC_COLUMNS = 31;
+ enum SQLINTEGER SQL_ATTR_TYPE_EXCEPTION_BEHAVIOR = 32;
+ enum SQLINTEGER SQL_ATTR_LENGTH_EXCEPTION_BEHAVIOR = 33;
+ enum SQLINTEGER SQL_TE_ERROR = 1;
+ enum SQLINTEGER SQL_TE_CONTINUE = 2;
+ enum SQLINTEGER SQL_TE_REPORT = 3;
+ enum SQLINTEGER SQL_LE_CONTINUE = 1;
+ enum SQLINTEGER SQL_LE_REPORT = 2;
+ auto SQL_IS_POINTER()()
+ {
+ return -4;
+ }
+ auto SQL_IS_UINTEGER()()
+ {
+ return -5;
+ }
+ auto SQL_IS_INTEGER()()
+ {
+ return -6;
+ }
+ auto SQL_IS_USMALLINT()()
+ {
+ return -7;
+ }
+ auto SQL_IS_SMALLINT()()
+ {
+ return -8;
+ }
+ enum SQLUINTEGER SQL_PARAM_BIND_BY_COLUMN = 0u;
+ enum SQLUINTEGER SQL_QUERY_TIMEOUT_DEFAULT = 0u;
+ enum SQLUINTEGER SQL_MAX_ROWS_DEFAULT = 0u;
+ enum SQLUINTEGER SQL_NOSCAN_OFF = 0u;
+ enum SQLUINTEGER SQL_NOSCAN_ON = 1u;
+ enum SQLUINTEGER SQL_MAX_LENGTH_DEFAULT = 0u;
+ enum SQLUINTEGER SQL_ASYNC_ENABLE_OFF = 0u;
+ enum SQLUINTEGER SQL_ASYNC_ENABLE_ON = 1u;
+ enum SQLUINTEGER SQL_BIND_BY_COLUMN = 0u;
+ enum SQLINTEGER SQL_CONCUR_READ_ONLY = 1;
+ enum SQLINTEGER SQL_CONCUR_LOCK = 2;
+ enum SQLINTEGER SQL_CONCUR_ROWVER = 3;
+ enum SQLINTEGER SQL_CONCUR_VALUES = 4;
+ enum SQLUINTEGER SQL_CURSOR_FORWARD_ONLY = 0u;
+ enum SQLUINTEGER SQL_CURSOR_KEYSET_DRIVEN = 1u;
+ enum SQLUINTEGER SQL_CURSOR_DYNAMIC = 2u;
+ enum SQLUINTEGER SQL_CURSOR_STATIC = 3u;
+ enum SQLUINTEGER SQL_ROWSET_SIZE_DEFAULT = 1u;
+ enum SQLUINTEGER SQL_KEYSET_SIZE_DEFAULT = 0u;
+ enum SQLUINTEGER SQL_SC_NON_UNIQUE = 0u;
+ enum SQLUINTEGER SQL_SC_TRY_UNIQUE = 1u;
+ enum SQLUINTEGER SQL_SC_UNIQUE = 2u;
+ enum SQLUINTEGER SQL_RD_OFF = 0u;
+ enum SQLUINTEGER SQL_RD_ON = 1u;
+ enum SQLUINTEGER SQL_UB_OFF = 0u;
+ enum SQLUINTEGER SQL_UB_ON = 1u;
+ enum SQLUINTEGER SQL_UB_VARIABLE = 2u;
+ enum SQLINTEGER SQL_DESC_ARRAY_SIZE = 20;
+ enum SQLINTEGER SQL_DESC_ARRAY_STATUS_PTR = 21;
+ enum SQLINTEGER SQL_DESC_BASE_COLUMN_NAME = 22;
+ enum SQLINTEGER SQL_DESC_BASE_TABLE_NAME = 23;
+ enum SQLINTEGER SQL_DESC_BIND_OFFSET_PTR = 24;
+ enum SQLINTEGER SQL_DESC_BIND_TYPE = 25;
+ enum SQLINTEGER SQL_DESC_DATETIME_INTERVAL_PRECISION = 26;
+ enum SQLINTEGER SQL_DESC_LITERAL_PREFIX = 27;
+ enum SQLINTEGER SQL_DESC_LITERAL_SUFFIX = 28;
+ enum SQLINTEGER SQL_DESC_LOCAL_TYPE_NAME = 29;
+ enum SQLINTEGER SQL_DESC_MAXIMUM_SCALE = 30;
+ enum SQLINTEGER SQL_DESC_MINIMUM_SCALE = 31;
+ enum SQLINTEGER SQL_DESC_NUM_PREC_RADIX = 32;
+ enum SQLINTEGER SQL_DESC_PARAMETER_TYPE = 33;
+ enum SQLINTEGER SQL_DESC_ROWS_PROCESSED_PTR = 34;
+ enum SQLINTEGER SQL_DESC_ROWVER = 35;
+ enum SQLINTEGER SQL_DESC_MIME_TYPE = 36;
+ auto SQL_DIAG_CURSOR_ROW_COUNT()()
+ {
+ return -1249;
+ }
+ auto SQL_DIAG_ROW_NUMBER()()
+ {
+ return -1248;
+ }
+ auto SQL_DIAG_COLUMN_NUMBER()()
+ {
+ return -1247;
+ }
+ enum SQLINTEGER SQL_DATE = 9;
+ enum SQLINTEGER SQL_INTERVAL = 10;
+ enum SQLINTEGER SQL_TIME = 10;
+ enum SQLINTEGER SQL_TIMESTAMP = 11;
+ auto SQL_LONGVARCHAR()()
+ {
+ return -1;
+ }
+ auto SQL_BINARY()()
+ {
+ return -2;
+ }
+ auto SQL_VARBINARY()()
+ {
+ return -3;
+ }
+ auto SQL_LONGVARBINARY()()
+ {
+ return -4;
+ }
+ auto SQL_BIGINT()()
+ {
+ return -5;
+ }
+ auto SQL_TINYINT()()
+ {
+ return -6;
+ }
+ auto SQL_BIT()()
+ {
+ return -7;
+ }
+ auto SQL_GUID()()
+ {
+ return -11;
+ }
+ enum SQLINTEGER SQL_CODE_YEAR = 1;
+ enum SQLINTEGER SQL_CODE_MONTH = 2;
+ enum SQLINTEGER SQL_CODE_DAY = 3;
+ enum SQLINTEGER SQL_CODE_HOUR = 4;
+ enum SQLINTEGER SQL_CODE_MINUTE = 5;
+ enum SQLINTEGER SQL_CODE_SECOND = 6;
+ enum SQLINTEGER SQL_CODE_YEAR_TO_MONTH = 7;
+ enum SQLINTEGER SQL_CODE_DAY_TO_HOUR = 8;
+ enum SQLINTEGER SQL_CODE_DAY_TO_MINUTE = 9;
+ enum SQLINTEGER SQL_CODE_DAY_TO_SECOND = 10;
+ enum SQLINTEGER SQL_CODE_HOUR_TO_MINUTE = 11;
+ enum SQLINTEGER SQL_CODE_HOUR_TO_SECOND = 12;
+ enum SQLINTEGER SQL_CODE_MINUTE_TO_SECOND = 13;
+ auto SQL_INTERVAL_YEAR()()
+ {
+ return 100 + SQL_CODE_YEAR;
+ }
+ auto SQL_INTERVAL_MONTH()()
+ {
+ return 100 + SQL_CODE_MONTH;
+ }
+ auto SQL_INTERVAL_DAY()()
+ {
+ return 100 + SQL_CODE_DAY;
+ }
+ auto SQL_INTERVAL_HOUR()()
+ {
+ return 100 + SQL_CODE_HOUR;
+ }
+ auto SQL_INTERVAL_MINUTE()()
+ {
+ return 100 + SQL_CODE_MINUTE;
+ }
+ auto SQL_INTERVAL_SECOND()()
+ {
+ return 100 + SQL_CODE_SECOND;
+ }
+ auto SQL_INTERVAL_YEAR_TO_MONTH()()
+ {
+ return 100 + SQL_CODE_YEAR_TO_MONTH;
+ }
+ auto SQL_INTERVAL_DAY_TO_HOUR()()
+ {
+ return 100 + SQL_CODE_DAY_TO_HOUR;
+ }
+ auto SQL_INTERVAL_DAY_TO_MINUTE()()
+ {
+ return 100 + SQL_CODE_DAY_TO_MINUTE;
+ }
+ auto SQL_INTERVAL_DAY_TO_SECOND()()
+ {
+ return 100 + SQL_CODE_DAY_TO_SECOND;
+ }
+ auto SQL_INTERVAL_HOUR_TO_MINUTE()()
+ {
+ return 100 + SQL_CODE_HOUR_TO_MINUTE;
+ }
+ auto SQL_INTERVAL_HOUR_TO_SECOND()()
+ {
+ return 100 + SQL_CODE_HOUR_TO_SECOND;
+ }
+ auto SQL_INTERVAL_MINUTE_TO_SECOND()()
+ {
+ return 100 + SQL_CODE_MINUTE_TO_SECOND;
+ }
+ enum SQLINTEGER SQL_C_DEFAULT = 99;
+ auto SQL_SIGNED_OFFSET()()
+ {
+ return -20;
+ }
+ auto SQL_UNSIGNED_OFFSET()()
+ {
+ return -22;
+ }
+ auto SQL_C_SBIGINT()()
+ {
+ return SQL_BIGINT + SQL_SIGNED_OFFSET;
+ }
+ auto SQL_C_UBIGINT()()
+ {
+ return SQL_BIGINT + SQL_UNSIGNED_OFFSET;
+ }
+ auto SQL_C_SLONG()()
+ {
+ return SQL_C_LONG + SQL_SIGNED_OFFSET;
+ }
+ auto SQL_C_SSHORT()()
+ {
+ return SQL_C_SHORT + SQL_SIGNED_OFFSET;
+ }
+ auto SQL_C_STINYINT()()
+ {
+ return SQL_TINYINT + SQL_SIGNED_OFFSET;
+ }
+ auto SQL_C_ULONG()()
+ {
+ return SQL_C_LONG + SQL_UNSIGNED_OFFSET;
+ }
+ auto SQL_C_USHORT()()
+ {
+ return SQL_C_SHORT + SQL_UNSIGNED_OFFSET;
+ }
+ auto SQL_C_UTINYINT()()
+ {
+ return SQL_TINYINT + SQL_UNSIGNED_OFFSET;
+ }
+ enum SQLINTEGER SQL_TYPE_NULL = 0;
+ enum SQLINTEGER SQL_DRIVER_C_TYPE_BASE = 16384;
+ enum SQLINTEGER SQL_DRIVER_SQL_TYPE_BASE = 16384;
+ enum SQLINTEGER SQL_DRIVER_DESC_FIELD_BASE = 16384;
+ enum SQLINTEGER SQL_DRIVER_DIAG_FIELD_BASE = 16384;
+ enum SQLINTEGER SQL_DRIVER_INFO_TYPE_BASE = 16384;
+ enum SQLINTEGER SQL_DRIVER_CONN_ATTR_BASE = 16384;
+ enum SQLINTEGER SQL_DRIVER_STMT_ATTR_BASE = 16384;
+ auto SQL_NO_ROW_NUMBER()()
+ {
+ return -1;
+ }
+ auto SQL_NO_COLUMN_NUMBER()()
+ {
+ return -1;
+ }
+ auto SQL_ROW_NUMBER_UNKNOWN()()
+ {
+ return -2;
+ }
+ auto SQL_COLUMN_NUMBER_UNKNOWN()()
+ {
+ return -2;
+ }
+ auto SQL_DEFAULT_PARAM()()
+ {
+ return -5;
+ }
+ auto SQL_IGNORE()()
+ {
+ return -6;
+ }
+ auto SQL_LEN_DATA_AT_EXEC_OFFSET()()
+ {
+ return -100;
+ }
+ auto SQL_LEN_DATA_AT_EXEC(__MP2)(__MP2 length)
+ {
+ return -length + SQL_LEN_DATA_AT_EXEC_OFFSET;
+ }
+ auto SQL_LEN_BINARY_ATTR_OFFSET()()
+ {
+ return -100;
+ }
+ auto SQL_LEN_BINARY_ATTR(__MP3)(__MP3 length)
+ {
+ return -length + SQL_LEN_BINARY_ATTR_OFFSET;
+ }
+ auto SQL_SETPARAM_VALUE_MAX()()
+ {
+ return -1;
+ }
+ auto SQL_TYPE_EXCEPTION()()
+ {
+ return -20;
+ }
+ enum SQLINTEGER SQL_COLUMN_COUNT = 0;
+ enum SQLINTEGER SQL_COLUMN_NAME = 1;
+ enum SQLINTEGER SQL_COLUMN_TYPE = 2;
+ enum SQLINTEGER SQL_COLUMN_LENGTH = 3;
+ enum SQLINTEGER SQL_COLUMN_PRECISION = 4;
+ enum SQLINTEGER SQL_COLUMN_SCALE = 5;
+ enum SQLINTEGER SQL_COLUMN_DISPLAY_SIZE = 6;
+ enum SQLINTEGER SQL_COLUMN_NULLABLE = 7;
+ enum SQLINTEGER SQL_COLUMN_UNSIGNED = 8;
+ enum SQLINTEGER SQL_COLUMN_MONEY = 9;
+ enum SQLINTEGER SQL_COLUMN_UPDATABLE = 10;
+ enum SQLINTEGER SQL_COLUMN_AUTO_INCREMENT = 11;
+ enum SQLINTEGER SQL_COLUMN_CASE_SENSITIVE = 12;
+ enum SQLINTEGER SQL_COLUMN_SEARCHABLE = 13;
+ enum SQLINTEGER SQL_COLUMN_TYPE_NAME = 14;
+ enum SQLINTEGER SQL_COLUMN_TABLE_NAME = 15;
+ enum SQLINTEGER SQL_COLUMN_OWNER_NAME = 16;
+ enum SQLINTEGER SQL_COLUMN_QUALIFIER_NAME = 17;
+ enum SQLINTEGER SQL_COLUMN_LABEL = 18;
+ enum SQLINTEGER SQL_ATTR_READONLY = 0;
+ enum SQLINTEGER SQL_ATTR_WRITE = 1;
+ enum SQLINTEGER SQL_ATTR_READWRITE_UNKNOWN = 2;
+ enum SQLINTEGER SQL_UNSEARCHABLE = 0;
+ enum SQLINTEGER SQL_LIKE_ONLY = 1;
+ enum SQLINTEGER SQL_ALL_EXCEPT_LIKE = 2;
+ enum SQLINTEGER SQL_SEARCHABLE = 3;
+ auto SQL_NO_TOTAL()()
+ {
+ return -4;
+ }
+ enum SQLINTEGER SQL_INFO_FIRST = 0;
+ enum SQLINTEGER SQL_ACTIVE_CONNECTIONS = 0;
+ enum SQLINTEGER SQL_ACTIVE_STATEMENTS = 1;
+ enum SQLINTEGER SQL_DRIVER_HDBC = 3;
+ enum SQLINTEGER SQL_DRIVER_HENV = 4;
+ enum SQLINTEGER SQL_DRIVER_HSTMT = 5;
+ enum SQLINTEGER SQL_DRIVER_NAME = 6;
+ enum SQLINTEGER SQL_DRIVER_VER = 7;
+ enum SQLINTEGER SQL_ODBC_API_CONFORMANCE = 9;
+ enum SQLINTEGER SQL_ODBC_VER = 10;
+ enum SQLINTEGER SQL_ROW_UPDATES = 11;
+ enum SQLINTEGER SQL_ODBC_SAG_CLI_CONFORMANCE = 12;
+ enum SQLINTEGER SQL_ODBC_SQL_CONFORMANCE = 15;
+ enum SQLINTEGER SQL_PROCEDURES = 21;
+ enum SQLINTEGER SQL_CONCAT_NULL_BEHAVIOR = 22;
+ enum SQLINTEGER SQL_CURSOR_ROLLBACK_BEHAVIOR = 24;
+ enum SQLINTEGER SQL_EXPRESSIONS_IN_ORDERBY = 27;
+ enum SQLINTEGER SQL_MAX_OWNER_NAME_LEN = 32;
+ enum SQLINTEGER SQL_MAX_PROCEDURE_NAME_LEN = 33;
+ enum SQLINTEGER SQL_MAX_QUALIFIER_NAME_LEN = 34;
+ enum SQLINTEGER SQL_MULT_RESULT_SETS = 36;
+ enum SQLINTEGER SQL_MULTIPLE_ACTIVE_TXN = 37;
+ enum SQLINTEGER SQL_OUTER_JOINS = 38;
+ enum SQLINTEGER SQL_OWNER_TERM = 39;
+ enum SQLINTEGER SQL_PROCEDURE_TERM = 40;
+ enum SQLINTEGER SQL_QUALIFIER_NAME_SEPARATOR = 41;
+ enum SQLINTEGER SQL_QUALIFIER_TERM = 42;
+ enum SQLINTEGER SQL_SCROLL_OPTIONS = 44;
+ enum SQLINTEGER SQL_TABLE_TERM = 45;
+ enum SQLINTEGER SQL_CONVERT_FUNCTIONS = 48;
+ enum SQLINTEGER SQL_NUMERIC_FUNCTIONS = 49;
+ enum SQLINTEGER SQL_STRING_FUNCTIONS = 50;
+ enum SQLINTEGER SQL_SYSTEM_FUNCTIONS = 51;
+ enum SQLINTEGER SQL_TIMEDATE_FUNCTIONS = 52;
+ enum SQLINTEGER SQL_CONVERT_BIGINT = 53;
+ enum SQLINTEGER SQL_CONVERT_BINARY = 54;
+ enum SQLINTEGER SQL_CONVERT_BIT = 55;
+ enum SQLINTEGER SQL_CONVERT_CHAR = 56;
+ enum SQLINTEGER SQL_CONVERT_DATE = 57;
+ enum SQLINTEGER SQL_CONVERT_DECIMAL = 58;
+ enum SQLINTEGER SQL_CONVERT_DOUBLE = 59;
+ enum SQLINTEGER SQL_CONVERT_FLOAT = 60;
+ enum SQLINTEGER SQL_CONVERT_INTEGER = 61;
+ enum SQLINTEGER SQL_CONVERT_LONGVARCHAR = 62;
+ enum SQLINTEGER SQL_CONVERT_NUMERIC = 63;
+ enum SQLINTEGER SQL_CONVERT_REAL = 64;
+ enum SQLINTEGER SQL_CONVERT_SMALLINT = 65;
+ enum SQLINTEGER SQL_CONVERT_TIME = 66;
+ enum SQLINTEGER SQL_CONVERT_TIMESTAMP = 67;
+ enum SQLINTEGER SQL_CONVERT_TINYINT = 68;
+ enum SQLINTEGER SQL_CONVERT_VARBINARY = 69;
+ enum SQLINTEGER SQL_CONVERT_VARCHAR = 70;
+ enum SQLINTEGER SQL_CONVERT_LONGVARBINARY = 71;
+ enum SQLINTEGER SQL_ODBC_SQL_OPT_IEF = 73;
+ enum SQLINTEGER SQL_CORRELATION_NAME = 74;
+ enum SQLINTEGER SQL_NON_NULLABLE_COLUMNS = 75;
+ enum SQLINTEGER SQL_DRIVER_HLIB = 76;
+ enum SQLINTEGER SQL_DRIVER_ODBC_VER = 77;
+ enum SQLINTEGER SQL_LOCK_TYPES = 78;
+ enum SQLINTEGER SQL_POS_OPERATIONS = 79;
+ enum SQLINTEGER SQL_POSITIONED_STATEMENTS = 80;
+ enum SQLINTEGER SQL_BOOKMARK_PERSISTENCE = 82;
+ enum SQLINTEGER SQL_STATIC_SENSITIVITY = 83;
+ enum SQLINTEGER SQL_FILE_USAGE = 84;
+ enum SQLINTEGER SQL_COLUMN_ALIAS = 87;
+ enum SQLINTEGER SQL_GROUP_BY = 88;
+ enum SQLINTEGER SQL_KEYWORDS = 89;
+ enum SQLINTEGER SQL_OWNER_USAGE = 91;
+ enum SQLINTEGER SQL_QUALIFIER_USAGE = 92;
+ enum SQLINTEGER SQL_QUOTED_IDENTIFIER_CASE = 93;
+ enum SQLINTEGER SQL_SUBQUERIES = 95;
+ enum SQLINTEGER SQL_UNION = 96;
+ enum SQLINTEGER SQL_MAX_ROW_SIZE_INCLUDES_LONG = 103;
+ enum SQLINTEGER SQL_MAX_CHAR_LITERAL_LEN = 108;
+ enum SQLINTEGER SQL_TIMEDATE_ADD_INTERVALS = 109;
+ enum SQLINTEGER SQL_TIMEDATE_DIFF_INTERVALS = 110;
+ enum SQLINTEGER SQL_NEED_LONG_DATA_LEN = 111;
+ enum SQLINTEGER SQL_MAX_BINARY_LITERAL_LEN = 112;
+ enum SQLINTEGER SQL_LIKE_ESCAPE_CLAUSE = 113;
+ enum SQLINTEGER SQL_QUALIFIER_LOCATION = 114;
+ enum SQLINTEGER SQL_ACTIVE_ENVIRONMENTS = 116;
+ enum SQLINTEGER SQL_ALTER_DOMAIN = 117;
+ enum SQLINTEGER SQL_SQL_CONFORMANCE = 118;
+ enum SQLINTEGER SQL_DATETIME_LITERALS = 119;
+ enum SQLINTEGER SQL_ASYNC_MODE = 10021;
+ enum SQLINTEGER SQL_BATCH_ROW_COUNT = 120;
+ enum SQLINTEGER SQL_BATCH_SUPPORT = 121;
+ enum SQLINTEGER SQL_CONVERT_WCHAR = 122;
+ enum SQLINTEGER SQL_CONVERT_INTERVAL_DAY_TIME = 123;
+ enum SQLINTEGER SQL_CONVERT_INTERVAL_YEAR_MONTH = 124;
+ enum SQLINTEGER SQL_CONVERT_WLONGVARCHAR = 125;
+ enum SQLINTEGER SQL_CONVERT_WVARCHAR = 126;
+ enum SQLINTEGER SQL_CREATE_ASSERTION = 127;
+ enum SQLINTEGER SQL_CREATE_CHARACTER_SET = 128;
+ enum SQLINTEGER SQL_CREATE_COLLATION = 129;
+ enum SQLINTEGER SQL_CREATE_DOMAIN = 130;
+ enum SQLINTEGER SQL_CREATE_SCHEMA = 131;
+ enum SQLINTEGER SQL_CREATE_TABLE = 132;
+ enum SQLINTEGER SQL_CREATE_TRANSLATION = 133;
+ enum SQLINTEGER SQL_CREATE_VIEW = 134;
+ enum SQLINTEGER SQL_DRIVER_HDESC = 135;
+ enum SQLINTEGER SQL_DROP_ASSERTION = 136;
+ enum SQLINTEGER SQL_DROP_CHARACTER_SET = 137;
+ enum SQLINTEGER SQL_DROP_COLLATION = 138;
+ enum SQLINTEGER SQL_DROP_DOMAIN = 139;
+ enum SQLINTEGER SQL_DROP_SCHEMA = 140;
+ enum SQLINTEGER SQL_DROP_TABLE = 141;
+ enum SQLINTEGER SQL_DROP_TRANSLATION = 142;
+ enum SQLINTEGER SQL_DROP_VIEW = 143;
+ enum SQLINTEGER SQL_DYNAMIC_CURSOR_ATTRIBUTES1 = 144;
+ enum SQLINTEGER SQL_DYNAMIC_CURSOR_ATTRIBUTES2 = 145;
+ enum SQLINTEGER SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 = 146;
+ enum SQLINTEGER SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 = 147;
+ enum SQLINTEGER SQL_INDEX_KEYWORDS = 148;
+ enum SQLINTEGER SQL_INFO_SCHEMA_VIEWS = 149;
+ enum SQLINTEGER SQL_KEYSET_CURSOR_ATTRIBUTES1 = 150;
+ enum SQLINTEGER SQL_KEYSET_CURSOR_ATTRIBUTES2 = 151;
+ enum SQLINTEGER SQL_MAX_ASYNC_CONCURRENT_STATEMENTS = 10022;
+ enum SQLINTEGER SQL_ODBC_INTERFACE_CONFORMANCE = 152;
+ enum SQLINTEGER SQL_PARAM_ARRAY_ROW_COUNTS = 153;
+ enum SQLINTEGER SQL_PARAM_ARRAY_SELECTS = 154;
+ enum SQLINTEGER SQL_SQL92_DATETIME_FUNCTIONS = 155;
+ enum SQLINTEGER SQL_SQL92_FOREIGN_KEY_DELETE_RULE = 156;
+ enum SQLINTEGER SQL_SQL92_FOREIGN_KEY_UPDATE_RULE = 157;
+ enum SQLINTEGER SQL_SQL92_GRANT = 158;
+ enum SQLINTEGER SQL_SQL92_NUMERIC_VALUE_FUNCTIONS = 159;
+ enum SQLINTEGER SQL_SQL92_PREDICATES = 160;
+ enum SQLINTEGER SQL_SQL92_RELATIONAL_JOIN_OPERATORS = 161;
+ enum SQLINTEGER SQL_SQL92_REVOKE = 162;
+ enum SQLINTEGER SQL_SQL92_ROW_VALUE_CONSTRUCTOR = 163;
+ enum SQLINTEGER SQL_SQL92_STRING_FUNCTIONS = 164;
+ enum SQLINTEGER SQL_SQL92_VALUE_EXPRESSIONS = 165;
+ enum SQLINTEGER SQL_STANDARD_CLI_CONFORMANCE = 166;
+ enum SQLINTEGER SQL_STATIC_CURSOR_ATTRIBUTES1 = 167;
+ enum SQLINTEGER SQL_STATIC_CURSOR_ATTRIBUTES2 = 168;
+ enum SQLINTEGER SQL_AGGREGATE_FUNCTIONS = 169;
+ enum SQLINTEGER SQL_DDL_INDEX = 170;
+ enum SQLINTEGER SQL_DM_VER = 171;
+ enum SQLINTEGER SQL_INSERT_STATEMENT = 172;
+ enum SQLINTEGER SQL_CONVERT_GUID = 173;
+ enum SQLINTEGER SQL_SCHEMA_INFERENCE = 174;
+ enum SQLINTEGER SQL_BINARY_FUNCTIONS = 175;
+ enum SQLINTEGER SQL_ISO_STRING_FUNCTIONS = 176;
+ enum SQLINTEGER SQL_ISO_BINARY_FUNCTIONS = 177;
+ enum SQLINTEGER SQL_LIMIT_ESCAPE_CLAUSE = 178;
+ enum SQLINTEGER SQL_NATIVE_ESCAPE_CLAUSE = 179;
+ enum SQLINTEGER SQL_RETURN_ESCAPE_CLAUSE = 180;
+ enum SQLINTEGER SQL_FORMAT_ESCAPE_CLAUSE = 181;
+ enum SQLINTEGER SQL_ASYNC_DBC_FUNCTIONS = 10023;
+ enum SQLINTEGER SQL_DRIVER_AWARE_POOLING_SUPPORTED = 10024;
+ enum SQLINTEGER SQL_ASYNC_NOTIFICATION = 10025;
+ enum SQLINTEGER SQL_ASYNC_NOTIFICATION_NOT_CAPABLE = 0;
+ enum SQLINTEGER SQL_ASYNC_NOTIFICATION_CAPABLE = 1;
+ enum SQLINTEGER SQL_DTC_TRANSITION_COST = 1750;
+ enum SQLINTEGER SQL_AT_ADD_COLUMN_SINGLE = 32;
+ enum SQLINTEGER SQL_AT_ADD_COLUMN_DEFAULT = 64;
+ enum SQLINTEGER SQL_AT_ADD_COLUMN_COLLATION = 128;
+ enum SQLINTEGER SQL_AT_SET_COLUMN_DEFAULT = 256;
+ enum SQLINTEGER SQL_AT_DROP_COLUMN_DEFAULT = 512;
+ enum SQLINTEGER SQL_AT_DROP_COLUMN_CASCADE = 1024;
+ enum SQLINTEGER SQL_AT_DROP_COLUMN_RESTRICT = 2048;
+ enum SQLINTEGER SQL_AT_ADD_TABLE_CONSTRAINT = 4096;
+ enum SQLINTEGER SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE = 8192;
+ enum SQLINTEGER SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT = 16384;
+ enum SQLINTEGER SQL_AT_CONSTRAINT_NAME_DEFINITION = 32768;
+ enum SQLINTEGER SQL_AT_CONSTRAINT_INITIALLY_DEFERRED = 65536;
+ enum SQLINTEGER SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE = 131072;
+ enum SQLINTEGER SQL_AT_CONSTRAINT_DEFERRABLE = 262144;
+ enum SQLINTEGER SQL_AT_CONSTRAINT_NON_DEFERRABLE = 524288;
+ enum SQLINTEGER SQL_CVT_CHAR = 1;
+ enum SQLINTEGER SQL_CVT_NUMERIC = 2;
+ enum SQLINTEGER SQL_CVT_DECIMAL = 4;
+ enum SQLINTEGER SQL_CVT_INTEGER = 8;
+ enum SQLINTEGER SQL_CVT_SMALLINT = 16;
+ enum SQLINTEGER SQL_CVT_FLOAT = 32;
+ enum SQLINTEGER SQL_CVT_REAL = 64;
+ enum SQLINTEGER SQL_CVT_DOUBLE = 128;
+ enum SQLINTEGER SQL_CVT_VARCHAR = 256;
+ enum SQLINTEGER SQL_CVT_LONGVARCHAR = 512;
+ enum SQLINTEGER SQL_CVT_BINARY = 1024;
+ enum SQLINTEGER SQL_CVT_VARBINARY = 2048;
+ enum SQLINTEGER SQL_CVT_BIT = 4096;
+ enum SQLINTEGER SQL_CVT_TINYINT = 8192;
+ enum SQLINTEGER SQL_CVT_BIGINT = 16384;
+ enum SQLINTEGER SQL_CVT_DATE = 32768;
+ enum SQLINTEGER SQL_CVT_TIME = 65536;
+ enum SQLINTEGER SQL_CVT_TIMESTAMP = 131072;
+ enum SQLINTEGER SQL_CVT_LONGVARBINARY = 262144;
+ enum SQLINTEGER SQL_CVT_INTERVAL_YEAR_MONTH = 524288;
+ enum SQLINTEGER SQL_CVT_INTERVAL_DAY_TIME = 1048576;
+ enum SQLINTEGER SQL_CVT_WCHAR = 2097152;
+ enum SQLINTEGER SQL_CVT_WLONGVARCHAR = 4194304;
+ enum SQLINTEGER SQL_CVT_WVARCHAR = 8388608;
+ enum SQLINTEGER SQL_CVT_GUID = 16777216;
+ enum SQLINTEGER SQL_FN_CVT_CONVERT = 1;
+ enum SQLINTEGER SQL_FN_CVT_CAST = 2;
+ enum SQLINTEGER SQL_FN_STR_CONCAT = 1;
+ enum SQLINTEGER SQL_FN_STR_INSERT = 2;
+ enum SQLINTEGER SQL_FN_STR_LEFT = 4;
+ enum SQLINTEGER SQL_FN_STR_LTRIM = 8;
+ enum SQLINTEGER SQL_FN_STR_LENGTH = 16;
+ enum SQLINTEGER SQL_FN_STR_LOCATE = 32;
+ enum SQLINTEGER SQL_FN_STR_LCASE = 64;
+ enum SQLINTEGER SQL_FN_STR_REPEAT = 128;
+ enum SQLINTEGER SQL_FN_STR_REPLACE = 256;
+ enum SQLINTEGER SQL_FN_STR_RIGHT = 512;
+ enum SQLINTEGER SQL_FN_STR_RTRIM = 1024;
+ enum SQLINTEGER SQL_FN_STR_SUBSTRING = 2048;
+ enum SQLINTEGER SQL_FN_STR_UCASE = 4096;
+ enum SQLINTEGER SQL_FN_STR_ASCII = 8192;
+ enum SQLINTEGER SQL_FN_STR_CHAR = 16384;
+ enum SQLINTEGER SQL_FN_STR_DIFFERENCE = 32768;
+ enum SQLINTEGER SQL_FN_STR_LOCATE_2 = 65536;
+ enum SQLINTEGER SQL_FN_STR_SOUNDEX = 131072;
+ enum SQLINTEGER SQL_FN_STR_SPACE = 262144;
+ enum SQLINTEGER SQL_FN_STR_BIT_LENGTH = 524288;
+ enum SQLINTEGER SQL_FN_STR_CHAR_LENGTH = 1048576;
+ enum SQLINTEGER SQL_FN_STR_CHARACTER_LENGTH = 2097152;
+ enum SQLINTEGER SQL_FN_STR_OCTET_LENGTH = 4194304;
+ enum SQLINTEGER SQL_FN_STR_POSITION = 8388608;
+ enum SQLINTEGER SQL_SSF_CONVERT = 1;
+ enum SQLINTEGER SQL_SSF_LOWER = 2;
+ enum SQLINTEGER SQL_SSF_UPPER = 4;
+ enum SQLINTEGER SQL_SSF_SUBSTRING = 8;
+ enum SQLINTEGER SQL_SSF_TRANSLATE = 16;
+ enum SQLINTEGER SQL_SSF_TRIM_BOTH = 32;
+ enum SQLINTEGER SQL_SSF_TRIM_LEADING = 64;
+ enum SQLINTEGER SQL_SSF_TRIM_TRAILING = 128;
+ enum SQLINTEGER SQL_SSF_OVERLAY = 256;
+ enum SQLINTEGER SQL_SSF_LENGTH = 512;
+ enum SQLINTEGER SQL_SSF_POSITION = 1024;
+ enum SQLINTEGER SQL_SSF_CONCAT = 2048;
+ enum SQLINTEGER SQL_FN_NUM_ABS = 1;
+ enum SQLINTEGER SQL_FN_NUM_ACOS = 2;
+ enum SQLINTEGER SQL_FN_NUM_ASIN = 4;
+ enum SQLINTEGER SQL_FN_NUM_ATAN = 8;
+ enum SQLINTEGER SQL_FN_NUM_ATAN2 = 16;
+ enum SQLINTEGER SQL_FN_NUM_CEILING = 32;
+ enum SQLINTEGER SQL_FN_NUM_COS = 64;
+ enum SQLINTEGER SQL_FN_NUM_COT = 128;
+ enum SQLINTEGER SQL_FN_NUM_EXP = 256;
+ enum SQLINTEGER SQL_FN_NUM_FLOOR = 512;
+ enum SQLINTEGER SQL_FN_NUM_LOG = 1024;
+ enum SQLINTEGER SQL_FN_NUM_MOD = 2048;
+ enum SQLINTEGER SQL_FN_NUM_SIGN = 4096;
+ enum SQLINTEGER SQL_FN_NUM_SIN = 8192;
+ enum SQLINTEGER SQL_FN_NUM_SQRT = 16384;
+ enum SQLINTEGER SQL_FN_NUM_TAN = 32768;
+ enum SQLINTEGER SQL_FN_NUM_PI = 65536;
+ enum SQLINTEGER SQL_FN_NUM_RAND = 131072;
+ enum SQLINTEGER SQL_FN_NUM_DEGREES = 262144;
+ enum SQLINTEGER SQL_FN_NUM_LOG10 = 524288;
+ enum SQLINTEGER SQL_FN_NUM_POWER = 1048576;
+ enum SQLINTEGER SQL_FN_NUM_RADIANS = 2097152;
+ enum SQLINTEGER SQL_FN_NUM_ROUND = 4194304;
+ enum SQLINTEGER SQL_FN_NUM_TRUNCATE = 8388608;
+ enum SQLINTEGER SQL_SNVF_BIT_LENGTH = 1;
+ enum SQLINTEGER SQL_SNVF_CHAR_LENGTH = 2;
+ enum SQLINTEGER SQL_SNVF_CHARACTER_LENGTH = 4;
+ enum SQLINTEGER SQL_SNVF_EXTRACT = 8;
+ enum SQLINTEGER SQL_SNVF_OCTET_LENGTH = 16;
+ enum SQLINTEGER SQL_SNVF_POSITION = 32;
+ enum SQLINTEGER SQL_FN_TD_NOW = 1;
+ enum SQLINTEGER SQL_FN_TD_CURDATE = 2;
+ enum SQLINTEGER SQL_FN_TD_DAYOFMONTH = 4;
+ enum SQLINTEGER SQL_FN_TD_DAYOFWEEK = 8;
+ enum SQLINTEGER SQL_FN_TD_DAYOFYEAR = 16;
+ enum SQLINTEGER SQL_FN_TD_MONTH = 32;
+ enum SQLINTEGER SQL_FN_TD_QUARTER = 64;
+ enum SQLINTEGER SQL_FN_TD_WEEK = 128;
+ enum SQLINTEGER SQL_FN_TD_YEAR = 256;
+ enum SQLINTEGER SQL_FN_TD_CURTIME = 512;
+ enum SQLINTEGER SQL_FN_TD_HOUR = 1024;
+ enum SQLINTEGER SQL_FN_TD_MINUTE = 2048;
+ enum SQLINTEGER SQL_FN_TD_SECOND = 4096;
+ enum SQLINTEGER SQL_FN_TD_TIMESTAMPADD = 8192;
+ enum SQLINTEGER SQL_FN_TD_TIMESTAMPDIFF = 16384;
+ enum SQLINTEGER SQL_FN_TD_DAYNAME = 32768;
+ enum SQLINTEGER SQL_FN_TD_MONTHNAME = 65536;
+ enum SQLINTEGER SQL_FN_TD_CURRENT_DATE = 131072;
+ enum SQLINTEGER SQL_FN_TD_CURRENT_TIME = 262144;
+ enum SQLINTEGER SQL_FN_TD_CURRENT_TIMESTAMP = 524288;
+ enum SQLINTEGER SQL_FN_TD_EXTRACT = 1048576;
+ enum SQLINTEGER SQL_SDF_CURRENT_DATE = 1;
+ enum SQLINTEGER SQL_SDF_CURRENT_TIME = 2;
+ enum SQLINTEGER SQL_SDF_CURRENT_TIMESTAMP = 4;
+ enum SQLINTEGER SQL_FN_SYS_USERNAME = 1;
+ enum SQLINTEGER SQL_FN_SYS_DBNAME = 2;
+ enum SQLINTEGER SQL_FN_SYS_IFNULL = 4;
+ enum SQLINTEGER SQL_FN_TSI_FRAC_SECOND = 1;
+ enum SQLINTEGER SQL_FN_TSI_SECOND = 2;
+ enum SQLINTEGER SQL_FN_TSI_MINUTE = 4;
+ enum SQLINTEGER SQL_FN_TSI_HOUR = 8;
+ enum SQLINTEGER SQL_FN_TSI_DAY = 16;
+ enum SQLINTEGER SQL_FN_TSI_WEEK = 32;
+ enum SQLINTEGER SQL_FN_TSI_MONTH = 64;
+ enum SQLINTEGER SQL_FN_TSI_QUARTER = 128;
+ enum SQLINTEGER SQL_FN_TSI_YEAR = 256;
+ enum SQLINTEGER SQL_CA1_NEXT = 1;
+ enum SQLINTEGER SQL_CA1_ABSOLUTE = 2;
+ enum SQLINTEGER SQL_CA1_RELATIVE = 4;
+ enum SQLINTEGER SQL_CA1_BOOKMARK = 8;
+ enum SQLINTEGER SQL_CA1_LOCK_NO_CHANGE = 64;
+ enum SQLINTEGER SQL_CA1_LOCK_EXCLUSIVE = 128;
+ enum SQLINTEGER SQL_CA1_LOCK_UNLOCK = 256;
+ enum SQLINTEGER SQL_CA1_POS_POSITION = 512;
+ enum SQLINTEGER SQL_CA1_POS_UPDATE = 1024;
+ enum SQLINTEGER SQL_CA1_POS_DELETE = 2048;
+ enum SQLINTEGER SQL_CA1_POS_REFRESH = 4096;
+ enum SQLINTEGER SQL_CA1_POSITIONED_UPDATE = 8192;
+ enum SQLINTEGER SQL_CA1_POSITIONED_DELETE = 16384;
+ enum SQLINTEGER SQL_CA1_SELECT_FOR_UPDATE = 32768;
+ enum SQLINTEGER SQL_CA1_BULK_ADD = 65536;
+ enum SQLINTEGER SQL_CA1_BULK_UPDATE_BY_BOOKMARK = 131072;
+ enum SQLINTEGER SQL_CA1_BULK_DELETE_BY_BOOKMARK = 262144;
+ enum SQLINTEGER SQL_CA1_BULK_FETCH_BY_BOOKMARK = 524288;
+ enum SQLINTEGER SQL_CA2_READ_ONLY_CONCURRENCY = 1;
+ enum SQLINTEGER SQL_CA2_LOCK_CONCURRENCY = 2;
+ enum SQLINTEGER SQL_CA2_OPT_ROWVER_CONCURRENCY = 4;
+ enum SQLINTEGER SQL_CA2_OPT_VALUES_CONCURRENCY = 8;
+ enum SQLINTEGER SQL_CA2_SENSITIVITY_ADDITIONS = 16;
+ enum SQLINTEGER SQL_CA2_SENSITIVITY_DELETIONS = 32;
+ enum SQLINTEGER SQL_CA2_SENSITIVITY_UPDATES = 64;
+ enum SQLINTEGER SQL_CA2_MAX_ROWS_SELECT = 128;
+ enum SQLINTEGER SQL_CA2_MAX_ROWS_INSERT = 256;
+ enum SQLINTEGER SQL_CA2_MAX_ROWS_DELETE = 512;
+ enum SQLINTEGER SQL_CA2_MAX_ROWS_UPDATE = 1024;
+ enum SQLINTEGER SQL_CA2_MAX_ROWS_CATALOG = 2048;
+ enum SQLINTEGER SQL_CA2_CRC_EXACT = 4096;
+ enum SQLINTEGER SQL_CA2_CRC_APPROXIMATE = 8192;
+ enum SQLINTEGER SQL_CA2_SIMULATE_NON_UNIQUE = 16384;
+ enum SQLINTEGER SQL_CA2_SIMULATE_TRY_UNIQUE = 32768;
+ enum SQLINTEGER SQL_CA2_SIMULATE_UNIQUE = 65536;
+ enum SQLINTEGER SQL_OAC_NONE = 0;
+ enum SQLINTEGER SQL_OAC_LEVEL1 = 1;
+ enum SQLINTEGER SQL_OAC_LEVEL2 = 2;
+ enum SQLINTEGER SQL_OSCC_NOT_COMPLIANT = 0;
+ enum SQLINTEGER SQL_OSCC_COMPLIANT = 1;
+ enum SQLINTEGER SQL_OSC_MINIMUM = 0;
+ enum SQLINTEGER SQL_OSC_CORE = 1;
+ enum SQLINTEGER SQL_OSC_EXTENDED = 2;
+ enum SQLINTEGER SQL_CB_NULL = 0;
+ enum SQLINTEGER SQL_CB_NON_NULL = 1;
+ enum SQLINTEGER SQL_SO_FORWARD_ONLY = 1;
+ enum SQLINTEGER SQL_SO_KEYSET_DRIVEN = 2;
+ enum SQLINTEGER SQL_SO_DYNAMIC = 4;
+ enum SQLINTEGER SQL_SO_MIXED = 8;
+ enum SQLINTEGER SQL_SO_STATIC = 16;
+ enum SQLINTEGER SQL_FD_FETCH_BOOKMARK = 128;
+ enum SQLINTEGER SQL_CN_NONE = 0;
+ enum SQLINTEGER SQL_CN_DIFFERENT = 1;
+ enum SQLINTEGER SQL_CN_ANY = 2;
+ enum SQLINTEGER SQL_NNC_NULL = 0;
+ enum SQLINTEGER SQL_NNC_NON_NULL = 1;
+ enum SQLINTEGER SQL_NC_START = 2;
+ enum SQLINTEGER SQL_NC_END = 4;
+ enum SQLINTEGER SQL_FILE_NOT_SUPPORTED = 0;
+ enum SQLINTEGER SQL_FILE_TABLE = 1;
+ enum SQLINTEGER SQL_FILE_QUALIFIER = 2;
+ enum SQLINTEGER SQL_GD_BLOCK = 4;
+ enum SQLINTEGER SQL_GD_BOUND = 8;
+ enum SQLINTEGER SQL_GD_OUTPUT_PARAMS = 16;
+ enum SQLINTEGER SQL_GD_CONCURRENT = 32;
+ enum SQLINTEGER SQL_PS_POSITIONED_DELETE = 1;
+ enum SQLINTEGER SQL_PS_POSITIONED_UPDATE = 2;
+ enum SQLINTEGER SQL_PS_SELECT_FOR_UPDATE = 4;
+ enum SQLINTEGER SQL_GB_NOT_SUPPORTED = 0;
+ enum SQLINTEGER SQL_GB_GROUP_BY_EQUALS_SELECT = 1;
+ enum SQLINTEGER SQL_GB_GROUP_BY_CONTAINS_SELECT = 2;
+ enum SQLINTEGER SQL_GB_NO_RELATION = 3;
+ enum SQLINTEGER SQL_GB_COLLATE = 4;
+ enum SQLINTEGER SQL_OU_DML_STATEMENTS = 1;
+ enum SQLINTEGER SQL_OU_PROCEDURE_INVOCATION = 2;
+ enum SQLINTEGER SQL_OU_TABLE_DEFINITION = 4;
+ enum SQLINTEGER SQL_OU_INDEX_DEFINITION = 8;
+ enum SQLINTEGER SQL_OU_PRIVILEGE_DEFINITION = 16;
+ enum SQLINTEGER SQL_QU_DML_STATEMENTS = 1;
+ enum SQLINTEGER SQL_QU_PROCEDURE_INVOCATION = 2;
+ enum SQLINTEGER SQL_QU_TABLE_DEFINITION = 4;
+ enum SQLINTEGER SQL_QU_INDEX_DEFINITION = 8;
+ enum SQLINTEGER SQL_QU_PRIVILEGE_DEFINITION = 16;
+ enum SQLINTEGER SQL_SQ_COMPARISON = 1;
+ enum SQLINTEGER SQL_SQ_EXISTS = 2;
+ enum SQLINTEGER SQL_SQ_IN = 4;
+ enum SQLINTEGER SQL_SQ_QUANTIFIED = 8;
+ enum SQLINTEGER SQL_SQ_CORRELATED_SUBQUERIES = 16;
+ enum SQLINTEGER SQL_U_UNION = 1;
+ enum SQLINTEGER SQL_U_UNION_ALL = 2;
+ enum SQLINTEGER SQL_BP_CLOSE = 1;
+ enum SQLINTEGER SQL_BP_DELETE = 2;
+ enum SQLINTEGER SQL_BP_DROP = 4;
+ enum SQLINTEGER SQL_BP_TRANSACTION = 8;
+ enum SQLINTEGER SQL_BP_UPDATE = 16;
+ enum SQLINTEGER SQL_BP_OTHER_HSTMT = 32;
+ enum SQLINTEGER SQL_BP_SCROLL = 64;
+ enum SQLINTEGER SQL_SS_ADDITIONS = 1;
+ enum SQLINTEGER SQL_SS_DELETIONS = 2;
+ enum SQLINTEGER SQL_SS_UPDATES = 4;
+ enum SQLINTEGER SQL_CV_CREATE_VIEW = 1;
+ enum SQLINTEGER SQL_CV_CHECK_OPTION = 2;
+ enum SQLINTEGER SQL_CV_CASCADED = 4;
+ enum SQLINTEGER SQL_CV_LOCAL = 8;
+ enum SQLINTEGER SQL_LCK_NO_CHANGE = 1;
+ enum SQLINTEGER SQL_LCK_EXCLUSIVE = 2;
+ enum SQLINTEGER SQL_LCK_UNLOCK = 4;
+ enum SQLINTEGER SQL_POS_POSITION = 1;
+ enum SQLINTEGER SQL_POS_REFRESH = 2;
+ enum SQLINTEGER SQL_POS_UPDATE = 4;
+ enum SQLINTEGER SQL_POS_DELETE = 8;
+ enum SQLINTEGER SQL_POS_ADD = 16;
+ enum SQLINTEGER SQL_QL_START = 1;
+ enum SQLINTEGER SQL_QL_END = 2;
+ enum SQLINTEGER SQL_AF_AVG = 1;
+ enum SQLINTEGER SQL_AF_COUNT = 2;
+ enum SQLINTEGER SQL_AF_MAX = 4;
+ enum SQLINTEGER SQL_AF_MIN = 8;
+ enum SQLINTEGER SQL_AF_SUM = 16;
+ enum SQLINTEGER SQL_AF_DISTINCT = 32;
+ enum SQLINTEGER SQL_AF_ALL = 64;
+ enum SQLINTEGER SQL_AF_EVERY = 128;
+ enum SQLINTEGER SQL_AF_ANY = 256;
+ enum SQLINTEGER SQL_AF_STDEV_OP = 512;
+ enum SQLINTEGER SQL_AF_STDEV_SAMP = 1024;
+ enum SQLINTEGER SQL_AF_VAR_SAMP = 2048;
+ enum SQLINTEGER SQL_AF_VAR_POP = 4096;
+ enum SQLINTEGER SQL_AF_ARRAY_AGG = 8192;
+ enum SQLINTEGER SQL_AF_COLLECT = 16384;
+ enum SQLINTEGER SQL_AF_FUSION = 32768;
+ enum SQLINTEGER SQL_AF_INTERSECTION = 65536;
+ enum SQLINTEGER SQL_SC_SQL92_ENTRY = 1;
+ enum SQLINTEGER SQL_SC_FIPS127_2_TRANSITIONAL = 2;
+ enum SQLINTEGER SQL_SC_SQL92_INTERMEDIATE = 4;
+ enum SQLINTEGER SQL_SC_SQL92_FULL = 8;
+ enum SQLINTEGER SQL_DL_SQL92_DATE = 1;
+ enum SQLINTEGER SQL_DL_SQL92_TIME = 2;
+ enum SQLINTEGER SQL_DL_SQL92_TIMESTAMP = 4;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_YEAR = 8;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_MONTH = 16;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_DAY = 32;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_HOUR = 64;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_MINUTE = 128;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_SECOND = 256;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH = 512;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR = 1024;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE = 2048;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND = 4096;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE = 8192;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND = 16384;
+ enum SQLINTEGER SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND = 32768;
+ enum SQLINTEGER SQL_BRC_PROCEDURES = 1;
+ enum SQLINTEGER SQL_BRC_EXPLICIT = 2;
+ enum SQLINTEGER SQL_BRC_ROLLED_UP = 4;
+ enum SQLINTEGER SQL_BS_SELECT_EXPLICIT = 1;
+ enum SQLINTEGER SQL_BS_ROW_COUNT_EXPLICIT = 2;
+ enum SQLINTEGER SQL_BS_SELECT_PROC = 4;
+ enum SQLINTEGER SQL_BS_ROW_COUNT_PROC = 8;
+ enum SQLINTEGER SQL_PARC_BATCH = 1;
+ enum SQLINTEGER SQL_PARC_NO_BATCH = 2;
+ enum SQLINTEGER SQL_PAS_BATCH = 1;
+ enum SQLINTEGER SQL_PAS_NO_BATCH = 2;
+ enum SQLINTEGER SQL_PAS_NO_SELECT = 3;
+ enum SQLINTEGER SQL_IK_NONE = 0;
+ enum SQLINTEGER SQL_IK_ASC = 1;
+ enum SQLINTEGER SQL_IK_DESC = 2;
+ auto SQL_IK_ALL()()
+ {
+ return SQL_IK_ASC | SQL_IK_DESC;
+ }
+ enum SQLINTEGER SQL_ISV_ASSERTIONS = 1;
+ enum SQLINTEGER SQL_ISV_CHARACTER_SETS = 2;
+ enum SQLINTEGER SQL_ISV_CHECK_CONSTRAINTS = 4;
+ enum SQLINTEGER SQL_ISV_COLLATIONS = 8;
+ enum SQLINTEGER SQL_ISV_COLUMN_DOMAIN_USAGE = 16;
+ enum SQLINTEGER SQL_ISV_COLUMN_PRIVILEGES = 32;
+ enum SQLINTEGER SQL_ISV_COLUMNS = 64;
+ enum SQLINTEGER SQL_ISV_CONSTRAINT_COLUMN_USAGE = 128;
+ enum SQLINTEGER SQL_ISV_CONSTRAINT_TABLE_USAGE = 256;
+ enum SQLINTEGER SQL_ISV_DOMAIN_CONSTRAINTS = 512;
+ enum SQLINTEGER SQL_ISV_DOMAINS = 1024;
+ enum SQLINTEGER SQL_ISV_KEY_COLUMN_USAGE = 2048;
+ enum SQLINTEGER SQL_ISV_REFERENTIAL_CONSTRAINTS = 4096;
+ enum SQLINTEGER SQL_ISV_SCHEMATA = 8192;
+ enum SQLINTEGER SQL_ISV_SQL_LANGUAGES = 16384;
+ enum SQLINTEGER SQL_ISV_TABLE_CONSTRAINTS = 32768;
+ enum SQLINTEGER SQL_ISV_TABLE_PRIVILEGES = 65536;
+ enum SQLINTEGER SQL_ISV_TABLES = 131072;
+ enum SQLINTEGER SQL_ISV_TRANSLATIONS = 262144;
+ enum SQLINTEGER SQL_ISV_USAGE_PRIVILEGES = 524288;
+ enum SQLINTEGER SQL_ISV_VIEW_COLUMN_USAGE = 1048576;
+ enum SQLINTEGER SQL_ISV_VIEW_TABLE_USAGE = 2097152;
+ enum SQLINTEGER SQL_ISV_VIEWS = 4194304;
+ enum SQLINTEGER SQL_AD_CONSTRAINT_NAME_DEFINITION = 1;
+ enum SQLINTEGER SQL_AD_ADD_DOMAIN_CONSTRAINT = 2;
+ enum SQLINTEGER SQL_AD_DROP_DOMAIN_CONSTRAINT = 4;
+ enum SQLINTEGER SQL_AD_ADD_DOMAIN_DEFAULT = 8;
+ enum SQLINTEGER SQL_AD_DROP_DOMAIN_DEFAULT = 16;
+ enum SQLINTEGER SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED = 32;
+ enum SQLINTEGER SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE = 64;
+ enum SQLINTEGER SQL_AD_ADD_CONSTRAINT_DEFERRABLE = 128;
+ enum SQLINTEGER SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE = 256;
+ enum SQLINTEGER SQL_CS_CREATE_SCHEMA = 1;
+ enum SQLINTEGER SQL_CS_AUTHORIZATION = 2;
+ enum SQLINTEGER SQL_CS_DEFAULT_CHARACTER_SET = 4;
+ enum SQLINTEGER SQL_CTR_CREATE_TRANSLATION = 1;
+ enum SQLINTEGER SQL_CA_CREATE_ASSERTION = 1;
+ enum SQLINTEGER SQL_CA_CONSTRAINT_INITIALLY_DEFERRED = 16;
+ enum SQLINTEGER SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE = 32;
+ enum SQLINTEGER SQL_CA_CONSTRAINT_DEFERRABLE = 64;
+ enum SQLINTEGER SQL_CA_CONSTRAINT_NON_DEFERRABLE = 128;
+ enum SQLINTEGER SQL_CCS_CREATE_CHARACTER_SET = 1;
+ enum SQLINTEGER SQL_CCS_COLLATE_CLAUSE = 2;
+ enum SQLINTEGER SQL_CCS_LIMITED_COLLATION = 4;
+ enum SQLINTEGER SQL_CCOL_CREATE_COLLATION = 1;
+ enum SQLINTEGER SQL_CDO_CREATE_DOMAIN = 1;
+ enum SQLINTEGER SQL_CDO_DEFAULT = 2;
+ enum SQLINTEGER SQL_CDO_CONSTRAINT = 4;
+ enum SQLINTEGER SQL_CDO_COLLATION = 8;
+ enum SQLINTEGER SQL_CDO_CONSTRAINT_NAME_DEFINITION = 16;
+ enum SQLINTEGER SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED = 32;
+ enum SQLINTEGER SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE = 64;
+ enum SQLINTEGER SQL_CDO_CONSTRAINT_DEFERRABLE = 128;
+ enum SQLINTEGER SQL_CDO_CONSTRAINT_NON_DEFERRABLE = 256;
+ enum SQLINTEGER SQL_CT_CREATE_TABLE = 1;
+ enum SQLINTEGER SQL_CT_COMMIT_PRESERVE = 2;
+ enum SQLINTEGER SQL_CT_COMMIT_DELETE = 4;
+ enum SQLINTEGER SQL_CT_GLOBAL_TEMPORARY = 8;
+ enum SQLINTEGER SQL_CT_LOCAL_TEMPORARY = 16;
+ enum SQLINTEGER SQL_CT_CONSTRAINT_INITIALLY_DEFERRED = 32;
+ enum SQLINTEGER SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE = 64;
+ enum SQLINTEGER SQL_CT_CONSTRAINT_DEFERRABLE = 128;
+ enum SQLINTEGER SQL_CT_CONSTRAINT_NON_DEFERRABLE = 256;
+ enum SQLINTEGER SQL_CT_COLUMN_CONSTRAINT = 512;
+ enum SQLINTEGER SQL_CT_COLUMN_DEFAULT = 1024;
+ enum SQLINTEGER SQL_CT_COLUMN_COLLATION = 2048;
+ enum SQLINTEGER SQL_CT_TABLE_CONSTRAINT = 4096;
+ enum SQLINTEGER SQL_CT_CONSTRAINT_NAME_DEFINITION = 8192;
+ enum SQLINTEGER SQL_DI_CREATE_INDEX = 1;
+ enum SQLINTEGER SQL_DI_DROP_INDEX = 2;
+ enum SQLINTEGER SQL_DC_DROP_COLLATION = 1;
+ enum SQLINTEGER SQL_DD_DROP_DOMAIN = 1;
+ enum SQLINTEGER SQL_DD_RESTRICT = 2;
+ enum SQLINTEGER SQL_DD_CASCADE = 4;
+ enum SQLINTEGER SQL_DS_DROP_SCHEMA = 1;
+ enum SQLINTEGER SQL_DS_RESTRICT = 2;
+ enum SQLINTEGER SQL_DS_CASCADE = 4;
+ enum SQLINTEGER SQL_DCS_DROP_CHARACTER_SET = 1;
+ enum SQLINTEGER SQL_DA_DROP_ASSERTION = 1;
+ enum SQLINTEGER SQL_DT_DROP_TABLE = 1;
+ enum SQLINTEGER SQL_DT_RESTRICT = 2;
+ enum SQLINTEGER SQL_DT_CASCADE = 4;
+ enum SQLINTEGER SQL_DTR_DROP_TRANSLATION = 1;
+ enum SQLINTEGER SQL_DV_DROP_VIEW = 1;
+ enum SQLINTEGER SQL_DV_RESTRICT = 2;
+ enum SQLINTEGER SQL_DV_CASCADE = 4;
+ enum SQLINTEGER SQL_IS_INSERT_LITERALS = 1;
+ enum SQLINTEGER SQL_IS_INSERT_SEARCHED = 2;
+ enum SQLINTEGER SQL_IS_SELECT_INTO = 4;
+ enum SQLUINTEGER SQL_OIC_CORE = 1u;
+ enum SQLUINTEGER SQL_OIC_LEVEL1 = 2u;
+ enum SQLUINTEGER SQL_OIC_LEVEL2 = 3u;
+ enum SQLINTEGER SQL_SFKD_CASCADE = 1;
+ enum SQLINTEGER SQL_SFKD_NO_ACTION = 2;
+ enum SQLINTEGER SQL_SFKD_SET_DEFAULT = 4;
+ enum SQLINTEGER SQL_SFKD_SET_NULL = 8;
+ enum SQLINTEGER SQL_SFKU_CASCADE = 1;
+ enum SQLINTEGER SQL_SFKU_NO_ACTION = 2;
+ enum SQLINTEGER SQL_SFKU_SET_DEFAULT = 4;
+ enum SQLINTEGER SQL_SFKU_SET_NULL = 8;
+ enum SQLINTEGER SQL_SG_USAGE_ON_DOMAIN = 1;
+ enum SQLINTEGER SQL_SG_USAGE_ON_CHARACTER_SET = 2;
+ enum SQLINTEGER SQL_SG_USAGE_ON_COLLATION = 4;
+ enum SQLINTEGER SQL_SG_USAGE_ON_TRANSLATION = 8;
+ enum SQLINTEGER SQL_SG_WITH_GRANT_OPTION = 16;
+ enum SQLINTEGER SQL_SG_DELETE_TABLE = 32;
+ enum SQLINTEGER SQL_SG_INSERT_TABLE = 64;
+ enum SQLINTEGER SQL_SG_INSERT_COLUMN = 128;
+ enum SQLINTEGER SQL_SG_REFERENCES_TABLE = 256;
+ enum SQLINTEGER SQL_SG_REFERENCES_COLUMN = 512;
+ enum SQLINTEGER SQL_SG_SELECT_TABLE = 1024;
+ enum SQLINTEGER SQL_SG_UPDATE_TABLE = 2048;
+ enum SQLINTEGER SQL_SG_UPDATE_COLUMN = 4096;
+ enum SQLINTEGER SQL_SP_EXISTS = 1;
+ enum SQLINTEGER SQL_SP_ISNOTNULL = 2;
+ enum SQLINTEGER SQL_SP_ISNULL = 4;
+ enum SQLINTEGER SQL_SP_MATCH_FULL = 8;
+ enum SQLINTEGER SQL_SP_MATCH_PARTIAL = 16;
+ enum SQLINTEGER SQL_SP_MATCH_UNIQUE_FULL = 32;
+ enum SQLINTEGER SQL_SP_MATCH_UNIQUE_PARTIAL = 64;
+ enum SQLINTEGER SQL_SP_OVERLAPS = 128;
+ enum SQLINTEGER SQL_SP_UNIQUE = 256;
+ enum SQLINTEGER SQL_SP_LIKE = 512;
+ enum SQLINTEGER SQL_SP_IN = 1024;
+ enum SQLINTEGER SQL_SP_BETWEEN = 2048;
+ enum SQLINTEGER SQL_SP_COMPARISON = 4096;
+ enum SQLINTEGER SQL_SP_QUANTIFIED_COMPARISON = 8192;
+ enum SQLINTEGER SQL_SRJO_CORRESPONDING_CLAUSE = 1;
+ enum SQLINTEGER SQL_SRJO_CROSS_JOIN = 2;
+ enum SQLINTEGER SQL_SRJO_EXCEPT_JOIN = 4;
+ enum SQLINTEGER SQL_SRJO_FULL_OUTER_JOIN = 8;
+ enum SQLINTEGER SQL_SRJO_INNER_JOIN = 16;
+ enum SQLINTEGER SQL_SRJO_INTERSECT_JOIN = 32;
+ enum SQLINTEGER SQL_SRJO_LEFT_OUTER_JOIN = 64;
+ enum SQLINTEGER SQL_SRJO_NATURAL_JOIN = 128;
+ enum SQLINTEGER SQL_SRJO_RIGHT_OUTER_JOIN = 256;
+ enum SQLINTEGER SQL_SRJO_UNION_JOIN = 512;
+ enum SQLINTEGER SQL_SR_USAGE_ON_DOMAIN = 1;
+ enum SQLINTEGER SQL_SR_USAGE_ON_CHARACTER_SET = 2;
+ enum SQLINTEGER SQL_SR_USAGE_ON_COLLATION = 4;
+ enum SQLINTEGER SQL_SR_USAGE_ON_TRANSLATION = 8;
+ enum SQLINTEGER SQL_SR_GRANT_OPTION_FOR = 16;
+ enum SQLINTEGER SQL_SR_CASCADE = 32;
+ enum SQLINTEGER SQL_SR_RESTRICT = 64;
+ enum SQLINTEGER SQL_SR_DELETE_TABLE = 128;
+ enum SQLINTEGER SQL_SR_INSERT_TABLE = 256;
+ enum SQLINTEGER SQL_SR_INSERT_COLUMN = 512;
+ enum SQLINTEGER SQL_SR_REFERENCES_TABLE = 1024;
+ enum SQLINTEGER SQL_SR_REFERENCES_COLUMN = 2048;
+ enum SQLINTEGER SQL_SR_SELECT_TABLE = 4096;
+ enum SQLINTEGER SQL_SR_UPDATE_TABLE = 8192;
+ enum SQLINTEGER SQL_SR_UPDATE_COLUMN = 16384;
+ enum SQLINTEGER SQL_SRVC_VALUE_EXPRESSION = 1;
+ enum SQLINTEGER SQL_SRVC_NULL = 2;
+ enum SQLINTEGER SQL_SRVC_DEFAULT = 4;
+ enum SQLINTEGER SQL_SRVC_ROW_SUBQUERY = 8;
+ enum SQLINTEGER SQL_SVE_CASE = 1;
+ enum SQLINTEGER SQL_SVE_CAST = 2;
+ enum SQLINTEGER SQL_SVE_COALESCE = 4;
+ enum SQLINTEGER SQL_SVE_NULLIF = 8;
+ enum SQLINTEGER SQL_SCC_XOPEN_CLI_VERSION1 = 1;
+ enum SQLINTEGER SQL_SCC_ISO92_CLI = 2;
+ enum SQLINTEGER SQL_DRIVER_AWARE_POOLING_NOT_CAPABLE = 0;
+ enum SQLINTEGER SQL_DRIVER_AWARE_POOLING_CAPABLE = 1;
+ enum SQLINTEGER SQL_DTC_ENLIST_EXPENSIVE = 1;
+ enum SQLINTEGER SQL_DTC_UNENLIST_EXPENSIVE = 2;
+ enum SQLINTEGER SQL_ASYNC_DBC_NOT_CAPABLE = 0;
+ enum SQLINTEGER SQL_ASYNC_DBC_CAPABLE = 1;
+ enum SQLINTEGER SQL_LC_NONE = 0;
+ enum SQLINTEGER SQL_LC_TAKE = 1;
+ enum SQLINTEGER SQL_LC_SKIP = 3;
+ enum SQLINTEGER SQL_RC_NONE = 0;
+ enum SQLINTEGER SQL_RC_INSERT_SINGLE_ROWID = 1;
+ auto SQL_RC_INSERT_SINGLE_ANY()()
+ {
+ return 2 | SQL_RC_INSERT_SINGLE_ROWID;
+ }
+ auto SQL_RC_INSERT_MULTIPLE_ROWID()()
+ {
+ return 4 | SQL_RC_INSERT_SINGLE_ROWID;
+ }
+ auto SQL_RC_INSERT_MULTIPLE_ANY()()
+ {
+ return 8 | SQL_RC_INSERT_MULTIPLE_ROWID | SQL_RC_INSERT_SINGLE_ANY;
+ }
+ enum SQLINTEGER SQL_RC_INSERT_SELECT_ROWID = 16;
+ auto SQL_RC_INSERT_SELECT_ANY()()
+ {
+ return 32 | SQL_RC_INSERT_SELECT_ROWID;
+ }
+ enum SQLINTEGER SQL_RC_UPDATE_ROWID = 64;
+ auto SQL_RC_UPDATE_ANY()()
+ {
+ return 128 | SQL_RC_UPDATE_ROWID;
+ }
+ enum SQLINTEGER SQL_RC_DELETE_ROWID = 256;
+ auto SQL_RC_DELETE_ANY()()
+ {
+ return 512 | SQL_RC_DELETE_ROWID;
+ }
+ enum SQLINTEGER SQL_RC_SELECT_INTO_ROWID = 1024;
+ auto SQL_RC_SELECT_INTO_ANY()()
+ {
+ return 2048 | SQL_RC_SELECT_INTO_ROWID;
+ }
+ enum SQLINTEGER SQL_FC_NONE = 0;
+ enum SQLINTEGER SQL_FC_JSON = 1;
+ enum SQLINTEGER SQL_FC_JSON_BINARY = 2;
+ enum SQLINTEGER SQL_FETCH_FIRST_USER = 31;
+ enum SQLINTEGER SQL_FETCH_FIRST_SYSTEM = 32;
+ enum SQLINTEGER SQL_ENTIRE_ROWSET = 0;
+ enum SQLINTEGER SQL_POSITION = 0;
+ enum SQLINTEGER SQL_REFRESH = 1;
+ enum SQLINTEGER SQL_UPDATE = 2;
+ enum SQLINTEGER SQL_DELETE = 3;
+ enum SQLINTEGER SQL_ADD = 4;
+ enum SQLINTEGER SQL_UPDATE_BY_BOOKMARK = 5;
+ enum SQLINTEGER SQL_DELETE_BY_BOOKMARK = 6;
+ enum SQLINTEGER SQL_FETCH_BY_BOOKMARK = 7;
+ enum SQLINTEGER SQL_LOCK_NO_CHANGE = 0;
+ enum SQLINTEGER SQL_LOCK_EXCLUSIVE = 1;
+ enum SQLINTEGER SQL_LOCK_UNLOCK = 2;
+ auto SQL_POSITION_TO(__MP4, __MP5)(__MP4 hstmt, __MP5 irow)
+ {
+ return SQLSetPos(hstmt, irow, SQL_POSITION, SQL_LOCK_NO_CHANGE);
+ }
+ auto SQL_LOCK_RECORD(__MP6, __MP7, __MP8)(__MP6 hstmt, __MP7 irow, __MP8 fLock)
+ {
+ return SQLSetPos(hstmt, irow, SQL_POSITION, fLock);
+ }
+ auto SQL_REFRESH_RECORD(__MP9, __MP10, __MP11)(__MP9 hstmt, __MP10 irow, __MP11 fLock)
+ {
+ return SQLSetPos(hstmt, irow, SQL_REFRESH, fLock);
+ }
+ auto SQL_UPDATE_RECORD(__MP12, __MP13)(__MP12 hstmt, __MP13 irow)
+ {
+ return SQLSetPos(hstmt, irow, SQL_UPDATE, SQL_LOCK_NO_CHANGE);
+ }
+ auto SQL_DELETE_RECORD(__MP14, __MP15)(__MP14 hstmt, __MP15 irow)
+ {
+ return SQLSetPos(hstmt, irow, SQL_DELETE, SQL_LOCK_NO_CHANGE);
+ }
+ auto SQL_ADD_RECORD(__MP16, __MP17)(__MP16 hstmt, __MP17 irow)
+ {
+ return SQLSetPos(hstmt, irow, SQL_ADD, SQL_LOCK_NO_CHANGE);
+ }
+ enum SQLINTEGER SQL_BEST_ROWID = 1;
+ enum SQLINTEGER SQL_ROWVER = 2;
+ enum SQLINTEGER SQL_PC_NOT_PSEUDO = 1;
+ enum SQLINTEGER SQL_QUICK = 0;
+ enum SQLINTEGER SQL_ENSURE = 1;
+ enum SQLINTEGER SQL_TABLE_STAT = 0;
+ enum SQL_ALL_CATALOGS = "%";
+ enum SQL_ALL_SCHEMAS = "%";
+ enum SQL_ALL_TABLE_TYPES = "%";
+ enum SQLINTEGER SQL_DRIVER_NOPROMPT = 0;
+ enum SQLINTEGER SQL_DRIVER_COMPLETE = 1;
+ enum SQLINTEGER SQL_DRIVER_PROMPT = 2;
+ enum SQLINTEGER SQL_DRIVER_COMPLETE_REQUIRED = 3;
+ enum SQLINTEGER SQL_FETCH_BOOKMARK = 8;
+ enum SQLINTEGER SQL_ROW_SUCCESS = 0;
+ enum SQLINTEGER SQL_ROW_DELETED = 1;
+ enum SQLINTEGER SQL_ROW_UPDATED = 2;
+ enum SQLINTEGER SQL_ROW_NOROW = 3;
+ enum SQLINTEGER SQL_ROW_ADDED = 4;
+ enum SQLINTEGER SQL_ROW_ERROR = 5;
+ enum SQLINTEGER SQL_ROW_SUCCESS_WITH_INFO = 6;
+ enum SQLINTEGER SQL_ROW_PROCEED = 0;
+ enum SQLINTEGER SQL_ROW_IGNORE = 1;
+ enum SQLINTEGER SQL_PARAM_SUCCESS = 0;
+ enum SQLINTEGER SQL_PARAM_SUCCESS_WITH_INFO = 6;
+ enum SQLINTEGER SQL_PARAM_ERROR = 5;
+ enum SQLINTEGER SQL_PARAM_UNUSED = 7;
+ enum SQLINTEGER SQL_PARAM_DIAG_UNAVAILABLE = 1;
+ enum SQLINTEGER SQL_PARAM_PROCEED = 0;
+ enum SQLINTEGER SQL_PARAM_IGNORE = 1;
+ enum SQLINTEGER SQL_CASCADE = 0;
+ enum SQLINTEGER SQL_RESTRICT = 1;
+ enum SQLINTEGER SQL_SET_NULL = 2;
+ enum SQLINTEGER SQL_NO_ACTION = 3;
+ enum SQLINTEGER SQL_SET_DEFAULT = 4;
+ enum SQLINTEGER SQL_INITIALLY_DEFERRED = 5;
+ enum SQLINTEGER SQL_INITIALLY_IMMEDIATE = 6;
+ enum SQLINTEGER SQL_NOT_DEFERRABLE = 7;
+ enum SQLINTEGER SQL_PARAM_TYPE_UNKNOWN = 0;
+ enum SQLINTEGER SQL_PARAM_INPUT = 1;
+ enum SQLINTEGER SQL_PARAM_INPUT_OUTPUT = 2;
+ enum SQLINTEGER SQL_RESULT_COL = 3;
+ enum SQLINTEGER SQL_PARAM_OUTPUT = 4;
+ enum SQLINTEGER SQL_RETURN_VALUE = 5;
+ enum SQLINTEGER SQL_PARAM_INPUT_OUTPUT_STREAM = 8;
+ enum SQLINTEGER SQL_PARAM_OUTPUT_STREAM = 16;
+ enum SQLINTEGER SQL_PT_UNKNOWN = 0;
+ enum SQLINTEGER SQL_PT_PROCEDURE = 1;
+ enum SQLINTEGER SQL_PT_FUNCTION = 2;
+ auto SQL_WCHAR()()
+ {
+ return -8;
+ }
+ auto SQL_WVARCHAR()()
+ {
+ return -9;
+ }
+ auto SQL_WLONGVARCHAR()()
+ {
+ return -10;
+ }
+ enum SQLINTEGER SQL_SQLSTATE_SIZEW = 10;
+}
--- /dev/null
+/**
+ * ODBC Header Module
+ *
+ * ImportC translation from the $(LINK2 https://github.com/microsoft/ODBC-Specification,
+ ODBC 4.0 Specification) Headers.
+ *
+ * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
+ * Source: $(PHOBOSSRC etc/c/odbc/_package.d)
+
+Declarations for interfacing with the ODBC library.
+
+The prior version of the ODBC bindings has been deprecated and will be removed in a future release.
+
+See_Also: $(LINK2 https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference,
+ ODBC API Reference on MSDN)
+ */
+
+module etc.c.odbc;
+
+static if (size_t.sizeof == 8)
+{
+ public import etc.c.odbc.odbc64;
+}
+else
+{
+ public import etc.c.odbc.odbc32;
+}
+
+// Manually converted enums
+public enum int SQL_CA2_MAX_ROWS_AFFECTS_ALL = SQL_CA2_MAX_ROWS_SELECT | SQL_CA2_MAX_ROWS_INSERT |
+ SQL_CA2_MAX_ROWS_DELETE | SQL_CA2_MAX_ROWS_UPDATE | SQL_CA2_MAX_ROWS_CATALOG;
+
+public enum string SQL_ODBC_KEYWORDS = "ABSOLUTE,ACTION,ADA,ADD,ALL,ALLOCATE,ALTER,AND,ANY,ARE,AS,
+ASC,ASSERTION,AT,AUTHORIZATION,AVG,
+BEGIN,BETWEEN,BIT,BIT_LENGTH,BOTH,BY,CASCADE,CASCADED,CASE,CAST,CATALOG,
+CHAR,CHAR_LENGTH,CHARACTER,CHARACTER_LENGTH,CHECK,CLOSE,COALESCE,
+COLLATE,COLLATION,COLUMN,COMMIT,CONNECT,CONNECTION,CONSTRAINT,
+CONSTRAINTS,CONTINUE,CONVERT,CORRESPONDING,COUNT,CREATE,CROSS,CURRENT,
+CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,CURRENT_USER,CURSOR,
+DATE,DAY,DEALLOCATE,DEC,DECIMAL,DECLARE,DEFAULT,DEFERRABLE,
+DEFERRED,DELETE,DESC,DESCRIBE,DESCRIPTOR,DIAGNOSTICS,DISCONNECT,
+DISTINCT,DOMAIN,DOUBLE,DROP,
+ELSE,END,END-EXEC,ESCAPE,EXCEPT,EXCEPTION,EXEC,EXECUTE,
+EXISTS,EXTERNAL,EXTRACT,
+FALSE,FETCH,FIRST,FLOAT,FOR,FOREIGN,FORTRAN,FOUND,FROM,FULL,
+GET,GLOBAL,GO,GOTO,GRANT,GROUP,HAVING,HOUR,
+IDENTITY,IMMEDIATE,IN,INCLUDE,INDEX,INDICATOR,INITIALLY,INNER,
+INPUT,INSENSITIVE,INSERT,INT,INTEGER,INTERSECT,INTERVAL,INTO,IS,ISOLATION,
+JOIN,KEY,LANGUAGE,LAST,LEADING,LEFT,LEVEL,LIKE,LOCAL,LOWER,
+MATCH,MAX,MIN,MINUTE,MODULE,MONTH,
+NAMES,NATIONAL,NATURAL,NCHAR,NEXT,NO,NONE,NOT,NULL,NULLIF,NUMERIC,
+OCTET_LENGTH,OF,ON,ONLY,OPEN,OPTION,OR,ORDER,OUTER,OUTPUT,OVERLAPS,
+PAD,PARTIAL,PASCAL,PLI,POSITION,PRECISION,PREPARE,PRESERVE,
+PRIMARY,PRIOR,PRIVILEGES,PROCEDURE,PUBLIC,
+READ,REAL,REFERENCES,RELATIVE,RESTRICT,REVOKE,RIGHT,ROLLBACK,ROWS,
+SCHEMA,SCROLL,SECOND,SECTION,SELECT,SESSION,SESSION_USER,SET,SIZE,
+SMALLINT,SOME,SPACE,SQL,SQLCA,SQLCODE,SQLERROR,SQLSTATE,SQLWARNING,
+SUBSTRING,SUM,SYSTEM_USER,
+TABLE,TEMPORARY,THEN,TIME,TIMESTAMP,TIMEZONE_HOUR,TIMEZONE_MINUTE,
+TO,TRAILING,TRANSACTION,TRANSLATE,TRANSLATION,TRIM,TRUE,
+UNION,UNIQUE,UNKNOWN,UPDATE,UPPER,USAGE,USER,USING,
+VALUE,VALUES,VARCHAR,VARYING,VIEW,WHEN,WHENEVER,WHERE,WITH,WORK,WRITE,
+YEAR,ZONE";
--- /dev/null
+/**
+ * Windows API header module
+ *
+ * Translated from MinGW Windows headers
+ *
+ * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
+ * Source: $(PHOBOSSRC etc/c/odbc/_sql.d)
+
+Declarations for interfacing with the ODBC library.
+
+See_Also: $(LINK2 https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference,
+ ODBC API Reference on MSDN)
+ */
+deprecated ("The ODBC 3.5 modules are deprecated. Please use the ODBC4 modules in the `etc.c.odbc` package.")
+module etc.c.odbc.sql;
+
+public import etc.c.odbc.sqltypes;
+
+enum ODBCVER = 0x0351;
+
+enum SQL_ACCESSIBLE_PROCEDURES=20;
+enum SQL_ACCESSIBLE_TABLES=19;
+enum SQL_ALL_TYPES=0;
+enum SQL_ALTER_TABLE=86;
+enum SQL_API_SQLALLOCCONNECT=1;
+enum SQL_API_SQLALLOCENV=2;
+enum SQL_API_SQLALLOCSTMT=3;
+enum SQL_API_SQLBINDCOL=4;
+enum SQL_API_SQLCANCEL=5;
+enum SQL_API_SQLCOLUMNS=40;
+enum SQL_API_SQLCONNECT=7;
+enum SQL_API_SQLDATASOURCES=57;
+enum SQL_API_SQLDESCRIBECOL=8;
+enum SQL_API_SQLDISCONNECT=9;
+enum SQL_API_SQLERROR=10;
+enum SQL_API_SQLEXECDIRECT=11;
+enum SQL_API_SQLEXECUTE=12;
+enum SQL_API_SQLFETCH=13;
+enum SQL_API_SQLFREECONNECT=14;
+enum SQL_API_SQLFREEENV=15;
+enum SQL_API_SQLFREESTMT=16;
+enum SQL_API_SQLGETCONNECTOPTION=42;
+enum SQL_API_SQLGETCURSORNAME=17;
+enum SQL_API_SQLGETDATA=43;
+enum SQL_API_SQLGETFUNCTIONS=44;
+enum SQL_API_SQLGETINFO=45;
+enum SQL_API_SQLGETSTMTOPTION=46;
+enum SQL_API_SQLGETTYPEINFO=47;
+enum SQL_API_SQLNUMRESULTCOLS=18;
+enum SQL_API_SQLPARAMDATA=48;
+enum SQL_API_SQLPREPARE=19;
+enum SQL_API_SQLPUTDATA=49;
+enum SQL_API_SQLROWCOUNT=20;
+enum SQL_API_SQLSETCONNECTOPTION=50;
+enum SQL_API_SQLSETCURSORNAME=21;
+enum SQL_API_SQLSETPARAM=22;
+enum SQL_API_SQLSETSTMTOPTION=51;
+enum SQL_API_SQLSPECIALCOLUMNS=52;
+enum SQL_API_SQLSTATISTICS=53;
+enum SQL_API_SQLTABLES=54;
+enum SQL_API_SQLTRANSACT=23;
+
+enum SQL_CB_DELETE=0;
+enum SQL_CB_CLOSE=1;
+enum SQL_CB_PRESERVE=2;
+
+enum SQL_CHAR=1;
+enum SQL_CLOSE=0;
+enum SQL_COMMIT=0;
+enum SQL_CURSOR_COMMIT_BEHAVIOR=23;
+enum SQL_DATA_AT_EXEC=-2;
+enum SQL_DATA_SOURCE_NAME=2;
+enum SQL_DATA_SOURCE_READ_ONLY=25;
+enum SQL_DBMS_NAME=17;
+enum SQL_DBMS_VER=18;
+enum SQL_DECIMAL=3;
+enum SQL_DEFAULT_TXN_ISOLATION=26;
+enum SQL_DOUBLE=8;
+enum SQL_DROP=1;
+enum SQL_ERROR=-1;
+
+enum SQL_FD_FETCH_NEXT=1;
+enum SQL_FD_FETCH_FIRST=2;
+enum SQL_FD_FETCH_LAST=4;
+enum SQL_FD_FETCH_PRIOR=8;
+enum SQL_FD_FETCH_ABSOLUTE=16;
+enum SQL_FD_FETCH_RELATIVE=32;
+
+enum SQL_FETCH_ABSOLUTE=5;
+enum SQL_FETCH_DIRECTION=8;
+enum SQL_FETCH_FIRST=2;
+enum SQL_FETCH_LAST=3;
+enum SQL_FETCH_NEXT=1;
+enum SQL_FETCH_PRIOR=4;
+enum SQL_FETCH_RELATIVE=6;
+enum SQL_FLOAT=6;
+enum SQL_GD_ANY_COLUMN=1;
+enum SQL_GD_ANY_ORDER=2;
+enum SQL_GETDATA_EXTENSIONS=81;
+enum SQL_IC_LOWER=2;
+enum SQL_IC_MIXED=4;
+enum SQL_IC_SENSITIVE=3;
+enum SQL_IC_UPPER=1;
+enum SQL_IDENTIFIER_CASE=28;
+enum SQL_IDENTIFIER_QUOTE_CHAR=29;
+
+enum SQL_INDEX_ALL=1;
+enum SQL_INDEX_CLUSTERED=1;
+enum SQL_INDEX_HASHED=2;
+enum SQL_INDEX_OTHER=3;
+enum SQL_INDEX_UNIQUE=0;
+
+enum SQL_INTEGER=4;
+enum SQL_INTEGRITY=73;
+enum SQL_INVALID_HANDLE=-2;
+
+enum SQL_MAX_CATALOG_NAME_LEN=34;
+enum SQL_MAX_COLUMN_NAME_LEN=30;
+enum SQL_MAX_COLUMNS_IN_GROUP_BY=97;
+enum SQL_MAX_COLUMNS_IN_INDEX=98;
+enum SQL_MAX_COLUMNS_IN_ORDER_BY=99;
+enum SQL_MAX_COLUMNS_IN_SELECT=100;
+enum SQL_MAX_COLUMNS_IN_TABLE=101;
+enum SQL_MAX_CURSOR_NAME_LEN=31;
+enum SQL_MAX_INDEX_SIZE=102;
+enum SQL_MAX_MESSAGE_LENGTH=512;
+enum SQL_MAX_ROW_SIZE=104;
+enum SQL_MAX_SCHEMA_NAME_LEN=32;
+enum SQL_MAX_STATEMENT_LEN=105;
+enum SQL_MAX_TABLE_NAME_LEN=35;
+enum SQL_MAX_TABLES_IN_SELECT=106;
+enum SQL_MAX_USER_NAME_LEN=107;
+
+enum SQL_MAXIMUM_CATALOG_NAME_LENGTH=SQL_MAX_CATALOG_NAME_LEN;
+enum SQL_MAXIMUM_COLUMN_NAME_LENGTH=SQL_MAX_COLUMN_NAME_LEN;
+enum SQL_MAXIMUM_COLUMNS_IN_GROUP_BY=SQL_MAX_COLUMNS_IN_GROUP_BY;
+enum SQL_MAXIMUM_COLUMNS_IN_INDEX=SQL_MAX_COLUMNS_IN_INDEX;
+enum SQL_MAXIMUM_COLUMNS_IN_ORDER_BY=SQL_MAX_COLUMNS_IN_ORDER_BY;
+enum SQL_MAXIMUM_COLUMNS_IN_SELECT=SQL_MAX_COLUMNS_IN_SELECT;
+enum SQL_MAXIMUM_CURSOR_NAME_LENGTH=SQL_MAX_CURSOR_NAME_LEN;
+enum SQL_MAXIMUM_INDEX_SIZE=SQL_MAX_INDEX_SIZE;
+enum SQL_MAXIMUM_ROW_SIZE=SQL_MAX_ROW_SIZE;
+enum SQL_MAXIMUM_SCHEMA_NAME_LENGTH=SQL_MAX_SCHEMA_NAME_LEN;
+enum SQL_MAXIMUM_STATEMENT_LENGTH=SQL_MAX_STATEMENT_LEN;
+enum SQL_MAXIMUM_TABLES_IN_SELECT=SQL_MAX_TABLES_IN_SELECT;
+enum SQL_MAXIMUM_USER_NAME_LENGTH=SQL_MAX_USER_NAME_LEN;
+
+enum SQL_NC_HIGH=0;
+enum SQL_NC_LOW=1;
+enum SQL_NEED_DATA=99;
+enum SQL_NO_NULLS=0;
+enum SQL_NTS=-3;
+enum LONG SQL_NTSL=-3;
+enum SQL_NULL_COLLATION=85;
+enum SQL_NULL_DATA=-1;
+enum SQL_NULL_HDBC=0;
+enum SQL_NULL_HENV=0;
+enum SQL_NULL_HSTMT=0;
+enum SQL_NULLABLE=1;
+enum SQL_NULLABLE_UNKNOWN=2;
+enum SQL_NUMERIC=2;
+enum SQL_ORDER_BY_COLUMNS_IN_SELECT=90;
+enum SQL_PC_PSEUDO=2;
+enum SQL_PC_UNKNOWN=0;
+enum SQL_REAL=7;
+enum SQL_RESET_PARAMS=3;
+enum SQL_ROLLBACK=1;
+enum SQL_SCCO_LOCK=2;
+enum SQL_SCCO_OPT_ROWVER=4;
+enum SQL_SCCO_OPT_VALUES=8;
+enum SQL_SCCO_READ_ONLY=1;
+enum SQL_SCOPE_CURROW=0;
+enum SQL_SCOPE_SESSION=2;
+enum SQL_SCOPE_TRANSACTION=1;
+enum SQL_SCROLL_CONCURRENCY=43;
+enum SQL_SEARCH_PATTERN_ESCAPE=14;
+enum SQL_SERVER_NAME=13;
+enum SQL_SMALLINT=5;
+enum SQL_SPECIAL_CHARACTERS=94;
+enum SQL_STILL_EXECUTING=2;
+//MACRO #define SQL_SUCCEEDED(rc) (((rc)&(~1))==0)
+
+enum SQL_SUCCESS=0;
+enum SQL_SUCCESS_WITH_INFO=1;
+
+enum SQL_TC_ALL=2;
+enum SQL_TC_DDL_COMMIT=3;
+enum SQL_TC_DDL_IGNORE=4;
+enum SQL_TC_DML=1;
+enum SQL_TC_NONE=0;
+
+
+enum SQL_TXN_CAPABLE=46;
+enum SQL_TXN_ISOLATION_OPTION=72;
+enum SQL_TXN_READ_COMMITTED=2;
+enum SQL_TXN_READ_UNCOMMITTED=1;
+enum SQL_TXN_REPEATABLE_READ=4;
+enum SQL_TXN_SERIALIZABLE=8;
+
+enum SQL_TRANSACTION_CAPABLE=SQL_TXN_CAPABLE;
+enum SQL_TRANSACTION_ISOLATION_OPTION=SQL_TXN_ISOLATION_OPTION;
+enum SQL_TRANSACTION_READ_COMMITTED=SQL_TXN_READ_COMMITTED;
+enum SQL_TRANSACTION_READ_UNCOMMITTED=SQL_TXN_READ_UNCOMMITTED;
+enum SQL_TRANSACTION_REPEATABLE_READ=SQL_TXN_REPEATABLE_READ;
+enum SQL_TRANSACTION_SERIALIZABLE=SQL_TXN_SERIALIZABLE;
+
+enum SQL_UNBIND=2;
+enum SQL_UNKNOWN_TYPE=0;
+enum SQL_USER_NAME=47;
+enum SQL_VARCHAR=12;
+
+static if (ODBCVER >= 0x0200)
+{
+enum SQL_AT_ADD_COLUMN = 1;
+enum SQL_AT_DROP_COLUMN = 2;
+}
+
+static if (ODBCVER >= 0x0201)
+{
+enum SQL_OJ_LEFT = 1;
+enum SQL_OJ_RIGHT = 2;
+enum SQL_OJ_FULL = 4;
+enum SQL_OJ_NESTED = 8;
+enum SQL_OJ_NOT_ORDERED = 16;
+enum SQL_OJ_INNER = 32;
+enum SQL_OJ_ALL_COMPARISON_OPS = 64;
+}
+
+static if (ODBCVER >= 0x0300)
+{
+enum SQL_AM_CONNECTION=1;
+enum SQL_AM_NONE=0;
+enum SQL_AM_STATEMENT=2;
+enum SQL_API_SQLALLOCHANDLE=1001;
+enum SQL_API_SQLBINDPARAM=1002;
+enum SQL_API_SQLCLOSECURSOR=1003;
+enum SQL_API_SQLCOLATTRIBUTE=6;
+enum SQL_API_SQLCOPYDESC=1004;
+enum SQL_API_SQLENDTRAN=1005;
+enum SQL_API_SQLFETCHSCROLL=1021;
+enum SQL_API_SQLFREEHANDLE=1006;
+enum SQL_API_SQLGETCONNECTATTR=1007;
+enum SQL_API_SQLGETDESCFIELD=1008;
+enum SQL_API_SQLGETDESCREC=1009;
+enum SQL_API_SQLGETDIAGFIELD=1010;
+enum SQL_API_SQLGETDIAGREC=1011;
+enum SQL_API_SQLGETENVATTR=1012;
+enum SQL_API_SQLGETSTMTATTR=1014;
+enum SQL_API_SQLSETCONNECTATTR=1016;
+enum SQL_API_SQLSETDESCFIELD=1017;
+enum SQL_API_SQLSETDESCREC=1018;
+enum SQL_API_SQLSETENVATTR=1019;
+enum SQL_API_SQLSETSTMTATTR=1020;
+enum SQL_ARD_TYPE=-99;
+enum SQL_AT_ADD_CONSTRAINT=8;
+enum SQL_ATTR_APP_PARAM_DESC=10011;
+enum SQL_ATTR_APP_ROW_DESC=10010;
+enum SQL_ATTR_AUTO_IPD=10001;
+enum SQL_ATTR_CURSOR_SCROLLABLE=-1;
+enum SQL_ATTR_CURSOR_SENSITIVITY=-2;
+enum SQL_ATTR_IMP_PARAM_DESC=10013;
+enum SQL_ATTR_IMP_ROW_DESC=10012;
+enum SQL_ATTR_METADATA_ID=10014;
+enum SQL_ATTR_OUTPUT_NTS=10001;
+enum SQL_CATALOG_NAME=10003;
+enum SQL_CODE_DATE=1;
+enum SQL_CODE_TIME=2;
+enum SQL_CODE_TIMESTAMP=3;
+enum SQL_COLLATION_SEQ=10004;
+enum SQL_CURSOR_SENSITIVITY=10001;
+enum SQL_DATE_LEN=10;
+enum SQL_DATETIME=9;
+enum SQL_DEFAULT=99;
+
+enum SQL_DESC_ALLOC_AUTO=1;
+enum SQL_DESC_ALLOC_USER=2;
+enum SQL_DESC_ALLOC_TYPE=1099;
+enum SQL_DESC_COUNT=1001;
+enum SQL_DESC_TYPE=1002;
+enum SQL_DESC_LENGTH=1003;
+enum SQL_DESC_OCTET_LENGTH_PTR=1004;
+enum SQL_DESC_PRECISION=1005;
+enum SQL_DESC_SCALE=1006;
+enum SQL_DESC_DATETIME_INTERVAL_CODE=1007;
+enum SQL_DESC_NULLABLE=1008;
+enum SQL_DESC_INDICATOR_PTR=1009;
+enum SQL_DESC_DATA_PTR=1010;
+enum SQL_DESC_NAME=1011;
+enum SQL_DESC_UNNAMED=1012;
+enum SQL_DESC_OCTET_LENGTH=1013;
+
+enum SQL_DESCRIBE_PARAMETER=10002;
+
+enum SQL_DIAG_ALTER_DOMAIN=3;
+enum SQL_DIAG_ALTER_TABLE=4;
+enum SQL_DIAG_CALL=7;
+enum SQL_DIAG_CLASS_ORIGIN=8;
+enum SQL_DIAG_CONNECTION_NAME=10;
+enum SQL_DIAG_CREATE_ASSERTION=6;
+enum SQL_DIAG_CREATE_CHARACTER_SET=8;
+enum SQL_DIAG_CREATE_COLLATION=10;
+enum SQL_DIAG_CREATE_DOMAIN=23;
+enum SQL_DIAG_CREATE_INDEX=-1;
+enum SQL_DIAG_CREATE_SCHEMA=64;
+enum SQL_DIAG_CREATE_TABLE=77;
+enum SQL_DIAG_CREATE_TRANSLATION=79;
+enum SQL_DIAG_CREATE_VIEW=84;
+enum SQL_DIAG_DELETE_WHERE=19;
+enum SQL_DIAG_DROP_ASSERTION=24;
+enum SQL_DIAG_DROP_CHARACTER_SET=25;
+enum SQL_DIAG_DROP_COLLATION=26;
+enum SQL_DIAG_DROP_DOMAIN=27;
+enum SQL_DIAG_DROP_INDEX=(-2);
+enum SQL_DIAG_DROP_SCHEMA=31;
+enum SQL_DIAG_DROP_TABLE=32;
+enum SQL_DIAG_DROP_TRANSLATION=33;
+enum SQL_DIAG_DROP_VIEW=36;
+enum SQL_DIAG_DYNAMIC_DELETE_CURSOR=38;
+enum SQL_DIAG_DYNAMIC_FUNCTION=7;
+enum SQL_DIAG_DYNAMIC_FUNCTION_CODE=12;
+enum SQL_DIAG_DYNAMIC_UPDATE_CURSOR=81;
+enum SQL_DIAG_GRANT=48;
+enum SQL_DIAG_INSERT=50;
+enum SQL_DIAG_MESSAGE_TEXT=6;
+enum SQL_DIAG_NATIVE=5;
+enum SQL_DIAG_NUMBER=2;
+enum SQL_DIAG_RETURNCODE=1;
+enum SQL_DIAG_REVOKE=59;
+enum SQL_DIAG_ROW_COUNT=3;
+enum SQL_DIAG_SELECT_CURSOR=85;
+enum SQL_DIAG_SERVER_NAME=11;
+enum SQL_DIAG_SQLSTATE=4;
+enum SQL_DIAG_SUBCLASS_ORIGIN=9;
+enum SQL_DIAG_UNKNOWN_STATEMENT=0;
+enum SQL_DIAG_UPDATE_WHERE=82;
+
+enum SQL_FALSE=0;
+enum SQL_HANDLE_DBC=2;
+enum SQL_HANDLE_DESC=4;
+enum SQL_HANDLE_ENV=1;
+enum SQL_HANDLE_STMT=3;
+enum SQL_INSENSITIVE=1;
+enum SQL_MAX_CONCURRENT_ACTIVITIES=1;
+enum SQL_MAX_DRIVER_CONNECTIONS=0;
+enum SQL_MAX_IDENTIFIER_LEN=10005;
+enum SQL_MAXIMUM_CONCURRENT_ACTIVITIES=SQL_MAX_CONCURRENT_ACTIVITIES;
+enum SQL_MAXIMUM_DRIVER_CONNECTIONS=SQL_MAX_DRIVER_CONNECTIONS;
+enum SQL_MAXIMUM_IDENTIFIER_LENGTH=SQL_MAX_IDENTIFIER_LEN;
+enum SQL_NAMED=0;
+enum SQL_NO_DATA=100;
+enum SQL_NONSCROLLABLE=0;
+enum SQL_NULL_HANDLE=0L;
+enum SQL_NULL_HDESC=0;
+enum SQL_OJ_CAPABILITIES=115;
+enum SQL_OUTER_JOIN_CAPABILITIES=SQL_OJ_CAPABILITIES;
+enum SQL_PC_NON_PSEUDO=1;
+
+enum SQL_PRED_NONE=0;
+enum SQL_PRED_CHAR=1;
+enum SQL_PRED_BASIC=2;
+
+enum SQL_ROW_IDENTIFIER=1;
+enum SQL_SCROLLABLE=1;
+enum SQL_SENSITIVE=2;
+enum SQL_TIME_LEN=8;
+enum SQL_TIMESTAMP_LEN=19;
+enum SQL_TRUE=1;
+enum SQL_TYPE_DATE=91;
+enum SQL_TYPE_TIME=92;
+enum SQL_TYPE_TIMESTAMP=93;
+enum SQL_UNNAMED=1;
+enum SQL_UNSPECIFIED=0;
+enum SQL_XOPEN_CLI_YEAR=10000;
+}//#endif /* ODBCVER >= 0x0300 */
+
+extern (System) {
+ deprecated {
+ SQLRETURN SQLAllocConnect(SQLHENV, SQLHDBC*);
+ SQLRETURN SQLAllocEnv(SQLHENV*);
+ SQLRETURN SQLAllocStmt(SQLHDBC, SQLHSTMT*);
+ SQLRETURN SQLError(SQLHENV, SQLHDBC, SQLHSTMT, SQLCHAR*, SQLINTEGER*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLFreeConnect(SQLHDBC);
+ SQLRETURN SQLFreeEnv(SQLHENV);
+ SQLRETURN SQLSetParam(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLULEN, SQLSMALLINT, SQLPOINTER, SQLLEN*);
+ SQLRETURN SQLGetConnectOption(SQLHDBC, SQLUSMALLINT, SQLPOINTER);
+ SQLRETURN SQLGetStmtOption(SQLHSTMT, SQLUSMALLINT, SQLPOINTER);
+ SQLRETURN SQLSetConnectOption(SQLHDBC, SQLUSMALLINT, SQLULEN);
+ SQLRETURN SQLSetStmtOption(SQLHSTMT, SQLUSMALLINT, SQLROWCOUNT);
+ }
+ SQLRETURN SQLBindCol(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLPOINTER, SQLLEN, SQLLEN*);
+ SQLRETURN SQLCancel(SQLHSTMT);
+ SQLRETURN SQLConnect(SQLHDBC, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
+ SQLRETURN SQLDescribeCol(SQLHSTMT, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLSMALLINT*, SQLULEN*, SQLSMALLINT*, SQLSMALLINT*);
+ SQLRETURN SQLDisconnect(SQLHDBC);
+ SQLRETURN SQLExecDirect(SQLHSTMT, SQLCHAR*, SQLINTEGER);
+ SQLRETURN SQLExecute(SQLHSTMT);
+ SQLRETURN SQLFetch(SQLHSTMT);
+ SQLRETURN SQLFreeStmt(SQLHSTMT, SQLUSMALLINT);
+ SQLRETURN SQLGetCursorName(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLNumResultCols(SQLHSTMT, SQLSMALLINT*);
+ SQLRETURN SQLPrepare(SQLHSTMT, SQLCHAR*, SQLINTEGER);
+ SQLRETURN SQLRowCount(SQLHSTMT, SQLLEN*);
+ SQLRETURN SQLSetCursorName(SQLHSTMT, SQLCHAR*, SQLSMALLINT);
+ SQLRETURN SQLTransact(SQLHENV, SQLHDBC, SQLUSMALLINT);
+ SQLRETURN SQLColumns(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
+ SQLRETURN SQLGetData(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLPOINTER, SQLLEN, SQLLEN*);
+ SQLRETURN SQLGetFunctions(SQLHDBC, SQLUSMALLINT, SQLUSMALLINT*);
+ SQLRETURN SQLGetInfo(SQLHDBC, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLGetTypeInfo(SQLHSTMT, SQLSMALLINT);
+ SQLRETURN SQLParamData(SQLHSTMT, SQLPOINTER*);
+ SQLRETURN SQLPutData(SQLHSTMT, SQLPOINTER, SQLLEN);
+ SQLRETURN SQLSpecialColumns(SQLHSTMT, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLUSMALLINT, SQLUSMALLINT);
+ SQLRETURN SQLStatistics(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLUSMALLINT, SQLUSMALLINT);
+ SQLRETURN SQLTables(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
+ SQLRETURN SQLDataSources(SQLHENV, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
+
+ static if (ODBCVER >= 0x0300)
+ {
+ SQLRETURN SQLAllocHandle(SQLSMALLINT, SQLHANDLE, SQLHANDLE*);
+ SQLRETURN SQLBindParam(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLULEN, SQLSMALLINT, SQLPOINTER, SQLLEN*);
+ SQLRETURN SQLCloseCursor(SQLHSTMT);
+ SQLRETURN SQLColAttribute(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*, SQLPOINTER);
+ SQLRETURN SQLCopyDesc(SQLHDESC, SQLHDESC);
+ SQLRETURN SQLEndTran(SQLSMALLINT, SQLHANDLE, SQLSMALLINT);
+ SQLRETURN SQLFetchScroll(SQLHSTMT, SQLSMALLINT, SQLROWOFFSET);
+ SQLRETURN SQLFreeHandle(SQLSMALLINT, SQLHANDLE);
+ SQLRETURN SQLGetConnectAttr(SQLHDBC, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER*);
+ SQLRETURN SQLGetDescField(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER, SQLINTEGER*);
+ SQLRETURN SQLGetDescRec(SQLHDESC, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*,
+ SQLSMALLINT*, SQLSMALLINT*, SQLLEN*, SQLSMALLINT*, SQLSMALLINT*, SQLSMALLINT*);
+ SQLRETURN SQLGetDiagField(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLGetDiagRec(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLCHAR*, SQLINTEGER*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLGetEnvAttr(SQLHENV, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER*);
+ SQLRETURN SQLGetStmtAttr(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER*);
+ SQLRETURN SQLSetConnectAttr(SQLHDBC, SQLINTEGER, SQLPOINTER, SQLINTEGER);
+ SQLRETURN SQLSetDescField(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER);
+ SQLRETURN SQLSetDescRec(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLLEN, SQLSMALLINT,
+ SQLSMALLINT, SQLPOINTER, SQLLEN*, SQLLEN*);
+ SQLRETURN SQLSetEnvAttr(SQLHENV, SQLINTEGER, SQLPOINTER, SQLINTEGER);
+ SQLRETURN SQLSetStmtAttr(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER);
+ }/* (ODBCVER >= 0x0300) */
+}
--- /dev/null
+/**
+ * Windows API header module
+ *
+ * Translated from MinGW Windows headers
+ *
+ * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
+ * Source: $(PHOBOSSRC etc/c/odbc/_sqlext.d)
+
+See_Also: $(LINK2 https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference,
+ ODBC API Reference on MSDN)
+ */
+deprecated ("The ODBC 3.5 modules are deprecated. Please use the ODBC4 modules in the `etc.c.odbc` package.")
+module etc.c.odbc.sqlext;
+
+/* Conversion notes:
+ The MinGW file was a horrible mess. All of the #defines were sorted alphabetically,
+ which is crazy. This file needs a lot of work.
+ In MinGW, sqlext #includes sqlucode, but sqlucode #includes sqlext,
+ creating a circular dependency!
+*/
+
+public import etc.c.odbc.sql;
+
+enum SQL_SPEC_MAJOR = 3;
+enum SQL_SPEC_MINOR = 51;
+const char[] SQL_SPEC_STRING = "03.51";
+enum SQL_ACCESS_MODE = 101;
+enum SQL_ACTIVE_CONNECTIONS = 0;
+enum SQL_ACTIVE_STATEMENTS = 1;
+
+enum SQL_DATE = 9;
+enum SQL_TIME = 10;
+enum SQL_SIGNED_OFFSET = -20;
+enum SQL_TINYINT = -6;
+enum SQL_TIMESTAMP = 11;
+enum SQL_UNSIGNED_OFFSET = -22;
+
+enum SQL_ADD = 4;
+enum SQL_ALL_EXCEPT_LIKE = 2;
+
+enum SQL_API_ALL_FUNCTIONS = 0;
+enum SQL_API_SQLCOLATTRIBUTES = 6;
+enum SQL_API_SQLDRIVERCONNECT = 41;
+enum SQL_API_SQLBROWSECONNECT = 55;
+enum SQL_API_SQLCOLUMNPRIVILEGES = 56;
+enum SQL_API_SQLDESCRIBEPARAM = 58;
+enum SQL_API_SQLEXTENDEDFETCH = 59;
+enum SQL_API_SQLFOREIGNKEYS = 60;
+enum SQL_API_SQLMORERESULTS = 61;
+enum SQL_API_SQLNATIVESQL = 62;
+enum SQL_API_SQLNUMPARAMS = 63;
+enum SQL_API_SQLPARAMOPTIONS = 64;
+enum SQL_API_SQLPRIMARYKEYS = 65;
+enum SQL_API_SQLPROCEDURECOLUMNS = 66;
+enum SQL_API_SQLPROCEDURES = 67;
+enum SQL_API_SQLSETPOS = 68;
+enum SQL_API_SQLSETSCROLLOPTIONS = 69;
+enum SQL_API_SQLTABLEPRIVILEGES = 70;
+enum SQL_API_SQLDRIVERS = 71;
+enum SQL_API_SQLBINDPARAMETER = 72;
+enum SQL_API_LOADBYORDINAL = 199;
+
+enum SQL_ASYNC_ENABLE = 4;
+enum SQL_ASYNC_ENABLE_OFF = 0UL;
+enum SQL_ASYNC_ENABLE_ON = 1UL;
+enum SQL_ASYNC_ENABLE_DEFAULT = SQL_ASYNC_ENABLE_OFF;
+
+enum SQL_ATTR_CONNECTION_DEAD = 1209;
+enum SQL_ATTR_READONLY = 0;
+enum SQL_ATTR_READWRITE_UNKNOWN = 2;
+enum SQL_ATTR_WRITE = 1;
+
+enum SQL_AUTOCOMMIT = 102;
+enum SQL_AUTOCOMMIT_OFF = 0UL;
+enum SQL_AUTOCOMMIT_ON = 1UL;
+enum SQL_AUTOCOMMIT_DEFAULT = SQL_AUTOCOMMIT_ON;
+enum SQL_BEST_ROWID = 1;
+enum SQL_BIGINT = -5;
+enum SQL_BINARY = -2;
+enum SQL_BIND_BY_COLUMN = 0UL;
+enum SQL_BIND_TYPE = 5;
+enum SQL_BIND_TYPE_DEFAULT = SQL_BIND_BY_COLUMN;
+enum SQL_BIT = -7;
+
+enum SQL_BOOKMARK_PERSISTENCE = 82;
+
+// for BOOKMARK_PERSISTENCE
+enum SQL_BP_CLOSE = 1;
+enum SQL_BP_DELETE = 2;
+enum SQL_BP_DROP = 4;
+enum SQL_BP_TRANSACTION = 8;
+enum SQL_BP_UPDATE = 16;
+enum SQL_BP_OTHER_HSTMT = 32;
+enum SQL_BP_SCROLL = 64;
+
+enum SQL_C_BINARY = SQL_BINARY;
+enum SQL_C_BIT = SQL_BIT;
+enum SQL_C_CHAR = SQL_CHAR;
+enum SQL_C_DATE = SQL_DATE;
+enum SQL_C_DOUBLE = SQL_DOUBLE;
+enum SQL_C_FLOAT = SQL_REAL;
+enum SQL_C_LONG = SQL_INTEGER;
+enum SQL_C_SHORT = SQL_SMALLINT;
+enum SQL_C_SLONG = SQL_C_LONG+SQL_SIGNED_OFFSET;
+enum SQL_C_SSHORT = SQL_C_SHORT+SQL_SIGNED_OFFSET;
+enum SQL_C_STINYINT = SQL_TINYINT+SQL_SIGNED_OFFSET;
+enum SQL_C_TIME = SQL_TIME;
+enum SQL_C_TIMESTAMP = SQL_TIMESTAMP;
+enum SQL_C_TINYINT = SQL_TINYINT;
+enum SQL_C_ULONG = SQL_C_LONG+SQL_UNSIGNED_OFFSET;
+enum SQL_C_USHORT = SQL_C_SHORT+SQL_UNSIGNED_OFFSET;
+enum SQL_C_UTINYINT = SQL_TINYINT+SQL_UNSIGNED_OFFSET;
+enum SQL_C_BOOKMARK = SQL_C_ULONG;
+enum SQL_C_DEFAULT = 99;
+
+enum SQL_CASCADE = 0;
+enum SQL_CB_NON_NULL = 1;
+enum SQL_CB_NULL = 0;
+deprecated {
+enum SQL_CC_CLOSE = SQL_CB_CLOSE;/* deprecated */
+enum SQL_CC_DELETE = SQL_CB_DELETE;/* deprecated */
+enum SQL_CC_PRESERVE = SQL_CB_PRESERVE;/* deprecated */
+}
+enum SQL_CD_FALSE = 0L;
+enum SQL_CD_TRUE = 1L;
+
+enum SQL_CN_ANY = 2;
+enum SQL_CN_DIFFERENT = 1;
+enum SQL_CN_NONE = 0;
+
+enum SQL_COLUMN_ALIAS = 87;
+
+enum SQL_COLUMN_COUNT = 0;
+enum SQL_COLUMN_NAME = 1;
+enum SQL_COLUMN_DISPLAY_SIZE = 6;
+enum SQL_COLUMN_LABEL = 18;
+enum SQL_COLUMN_LENGTH = 3;
+enum SQL_COLUMN_MONEY = 9;
+enum SQL_COLUMN_NULLABLE = 7;
+enum SQL_COLUMN_OWNER_NAME = 16;
+enum SQL_COLUMN_PRECISION = 4;
+enum SQL_COLUMN_QUALIFIER_NAME = 17;
+enum SQL_COLUMN_SCALE = 5;
+enum SQL_COLUMN_UNSIGNED = 8;
+enum SQL_COLUMN_UPDATABLE = 10;
+enum SQL_COLUMN_AUTO_INCREMENT = 11;
+enum SQL_COLUMN_CASE_SENSITIVE = 12;
+enum SQL_COLUMN_SEARCHABLE = 13;
+enum SQL_COLUMN_TYPE = 2;
+enum SQL_COLUMN_TYPE_NAME = 14;
+enum SQL_COLUMN_TABLE_NAME = 15;
+
+enum SQL_CONCAT_NULL_BEHAVIOR = 22;
+
+enum SQL_CONCUR_READ_ONLY = 1;
+enum SQL_CONCUR_DEFAULT = SQL_CONCUR_READ_ONLY;
+enum SQL_CONCUR_LOCK = 2;
+enum SQL_CONCUR_ROWVER = 3;
+enum SQL_CONCUR_TIMESTAMP = SQL_CONCUR_ROWVER;/* deprecated */
+enum SQL_CONCUR_VALUES = 4;
+
+enum SQL_CONCURRENCY = 7;
+enum SQL_CONVERT_BIGINT = 53;
+enum SQL_CONVERT_BINARY = 54;
+enum SQL_CONVERT_BIT = 55;
+enum SQL_CONVERT_CHAR = 56;
+enum SQL_CONVERT_DATE = 57;
+enum SQL_CONVERT_DECIMAL = 58;
+enum SQL_CONVERT_DOUBLE = 59;
+enum SQL_CONVERT_FLOAT = 60;
+enum SQL_CONVERT_FUNCTIONS = 48;
+enum SQL_CONVERT_INTEGER = 61;
+enum SQL_CONVERT_LONGVARBINARY = 71;
+enum SQL_CONVERT_LONGVARCHAR = 62;
+enum SQL_CONVERT_NUMERIC = 63;
+enum SQL_CONVERT_REAL = 64;
+enum SQL_CONVERT_SMALLINT = 65;
+enum SQL_CONVERT_TIME = 66;
+enum SQL_CONVERT_TIMESTAMP = 67;
+enum SQL_CONVERT_TINYINT = 68;
+enum SQL_CONVERT_VARBINARY = 69;
+enum SQL_CONVERT_VARCHAR = 70;
+enum SQL_CORRELATION_NAME = 74;
+enum SQL_CR_CLOSE = SQL_CB_CLOSE;/* deprecated */
+enum SQL_CR_DELETE = SQL_CB_DELETE;/* deprecated */
+enum SQL_CR_PRESERVE = SQL_CB_PRESERVE;/* deprecated */
+
+enum : ULONG {
+ SQL_CUR_USE_IF_NEEDED = 0,
+ SQL_CUR_USE_ODBC,
+ SQL_CUR_USE_DRIVER,
+ SQL_CUR_DEFAULT = SQL_CUR_USE_DRIVER
+}
+
+enum SQL_CURRENT_QUALIFIER = 109;
+enum SQL_CURSOR_DYNAMIC = 2UL;
+enum SQL_CURSOR_FORWARD_ONLY = 0UL;
+enum SQL_CURSOR_KEYSET_DRIVEN = 1UL;
+enum SQL_CURSOR_ROLLBACK_BEHAVIOR = 24;
+enum SQL_CURSOR_STATIC = 3UL;
+enum SQL_CURSOR_TYPE = 6;
+enum SQL_CURSOR_TYPE_DEFAULT = SQL_CURSOR_FORWARD_ONLY;
+
+enum SQL_CV_CASCADED = 0x00000004L;
+enum SQL_CV_CHECK_OPTION = 0x00000002L;
+enum SQL_CV_CREATE_VIEW = 0x00000001L;
+enum SQL_CV_LOCAL = 0x00000008L;
+enum SQL_CVT_BIGINT = 0x00004000L;
+enum SQL_CVT_BINARY = 0x00000400L;
+enum SQL_CVT_BIT = 0x00001000L;
+enum SQL_CVT_CHAR = 0x00000001L;
+enum SQL_CVT_DATE = 0x00008000L;
+enum SQL_CVT_DECIMAL = 0x00000004L;
+enum SQL_CVT_DOUBLE = 0x00000080L;
+enum SQL_CVT_FLOAT = 0x00000020L;
+enum SQL_CVT_INTEGER = 0x00000008L;
+enum SQL_CVT_LONGVARBINARY = 0x00040000L;
+enum SQL_CVT_LONGVARCHAR = 0x00000200L;
+enum SQL_CVT_NUMERIC = 0x00000002L;
+enum SQL_CVT_REAL = 0x00000040L;
+enum SQL_CVT_SMALLINT = 0x00000010L;
+enum SQL_CVT_TIME = 0x00010000L;
+enum SQL_CVT_TIMESTAMP = 0x00020000L;
+enum SQL_CVT_TINYINT = 0x00002000L;
+enum SQL_CVT_VARBINARY = 0x00000800L;
+enum SQL_CVT_VARCHAR = 0x00000100L;
+enum SQL_DATABASE_NAME = 16;/* deprecated */
+
+enum SQL_DEFAULT_PARAM = -5;
+enum SQL_DELETE = 3;
+
+enum SQL_DRIVER_COMPLETE = 1;
+enum SQL_DRIVER_COMPLETE_REQUIRED = 3;
+enum SQL_DRIVER_HDBC = 3;
+enum SQL_DRIVER_HENV = 4;
+enum SQL_DRIVER_HLIB = 76;
+enum SQL_DRIVER_HSTMT = 5;
+enum SQL_DRIVER_NAME = 6;
+enum SQL_DRIVER_NOPROMPT = 0;
+enum SQL_DRIVER_ODBC_VER = 77;
+enum SQL_DRIVER_PROMPT = 2;
+enum SQL_DRIVER_VER = 7;
+
+enum SQL_DTC_ENLIST_EXPENSIVE = 1;
+enum SQL_DTC_UNENLIST_EXPENSIVE = 2;
+enum SQL_DTC_TRANSITION_COST = 1750;
+enum SQL_ENSURE = 1;
+enum SQL_ENTIRE_ROWSET = 0;
+enum SQL_EXPRESSIONS_IN_ORDERBY = 27;
+enum SQL_FD_FETCH_BOOKMARK = 128;
+enum SQL_FD_FETCH_PREV = SQL_FD_FETCH_PRIOR;/* deprecated */
+enum SQL_FD_FETCH_RESUME = 64;
+enum SQL_FETCH_BOOKMARK = 8;
+enum SQL_FETCH_PREV = SQL_FETCH_PRIOR;/* deprecated */
+enum SQL_FETCH_RESUME = 7;/* deprecated */
+
+enum SQL_FILE_NOT_SUPPORTED = 0x0000;
+enum SQL_FILE_TABLE = 0x0001;
+enum SQL_FILE_QUALIFIER = 0x0002;
+enum SQL_FILE_CATALOG = SQL_FILE_QUALIFIER;
+enum SQL_FILE_USAGE = 84;
+
+enum SQL_FN_CVT_CONVERT = 0x00000001L;
+enum SQL_FN_NUM_ABS = 0x00000001L;
+enum SQL_FN_NUM_ACOS = 0x00000002L;
+enum SQL_FN_NUM_ASIN = 0x00000004L;
+enum SQL_FN_NUM_ATAN = 0x00000008L;
+enum SQL_FN_NUM_ATAN2 = 0x00000010L;
+enum SQL_FN_NUM_CEILING = 0x00000020L;
+enum SQL_FN_NUM_COS = 0x00000040L;
+enum SQL_FN_NUM_COT = 0x00000080L;
+enum SQL_FN_NUM_DEGREES = 0x00040000L;
+enum SQL_FN_NUM_EXP = 0x00000100L;
+enum SQL_FN_NUM_FLOOR = 0x00000200L;
+enum SQL_FN_NUM_LOG = 0x00000400L;
+enum SQL_FN_NUM_LOG10 = 0x00080000L;
+enum SQL_FN_NUM_MOD = 0x00000800L;
+enum SQL_FN_NUM_PI = 0x00010000L;
+enum SQL_FN_NUM_POWER = 0x00100000L;
+enum SQL_FN_NUM_RADIANS = 0x00200000L;
+enum SQL_FN_NUM_RAND = 0x00020000L;
+enum SQL_FN_NUM_ROUND = 0x00400000L;
+enum SQL_FN_NUM_SIGN = 0x00001000L;
+enum SQL_FN_NUM_SIN = 0x00002000L;
+enum SQL_FN_NUM_SQRT = 0x00004000L;
+enum SQL_FN_NUM_TAN = 0x00008000L;
+enum SQL_FN_NUM_TRUNCATE = 0x00800000L;
+enum SQL_FN_STR_ASCII = 0x00002000L;
+enum SQL_FN_STR_CHAR = 0x00004000L;
+enum SQL_FN_STR_CONCAT = 0x00000001L;
+enum SQL_FN_STR_DIFFERENCE = 0x00008000L;
+enum SQL_FN_STR_INSERT = 0x00000002L;
+enum SQL_FN_STR_LCASE = 0x00000040L;
+enum SQL_FN_STR_LEFT = 0x00000004L;
+enum SQL_FN_STR_LENGTH = 0x00000010L;
+enum SQL_FN_STR_LOCATE = 0x00000020L;
+enum SQL_FN_STR_LOCATE_2 = 0x00010000L;
+enum SQL_FN_STR_LTRIM = 0x00000008L;
+enum SQL_FN_STR_REPEAT = 0x00000080L;
+enum SQL_FN_STR_REPLACE = 0x00000100L;
+enum SQL_FN_STR_RIGHT = 0x00000200L;
+enum SQL_FN_STR_RTRIM = 0x00000400L;
+enum SQL_FN_STR_SOUNDEX = 0x00020000L;
+enum SQL_FN_STR_SPACE = 0x00040000L;
+enum SQL_FN_STR_SUBSTRING = 0x00000800L;
+enum SQL_FN_STR_UCASE = 0x00001000L;
+enum SQL_FN_SYS_DBNAME = 0x00000002L;
+enum SQL_FN_SYS_IFNULL = 0x00000004L;
+enum SQL_FN_SYS_USERNAME = 0x00000001L;
+enum SQL_FN_TD_CURDATE = 0x00000002L;
+enum SQL_FN_TD_CURTIME = 0x00000200L;
+enum SQL_FN_TD_DAYNAME = 0x00008000L;
+enum SQL_FN_TD_DAYOFMONTH = 0x00000004L;
+enum SQL_FN_TD_DAYOFWEEK = 0x00000008L;
+enum SQL_FN_TD_DAYOFYEAR = 0x00000010L;
+enum SQL_FN_TD_HOUR = 0x00000400L;
+enum SQL_FN_TD_MINUTE = 0x00000800L;
+enum SQL_FN_TD_MONTH = 0x00000020L;
+enum SQL_FN_TD_MONTHNAME = 0x00010000L;
+enum SQL_FN_TD_NOW = 0x00000001L;
+enum SQL_FN_TD_QUARTER = 0x00000040L;
+enum SQL_FN_TD_SECOND = 0x00001000L;
+enum SQL_FN_TD_TIMESTAMPADD = 0x00002000L;
+enum SQL_FN_TD_TIMESTAMPDIFF = 0x00004000L;
+enum SQL_FN_TD_WEEK = 0x00000080L;
+enum SQL_FN_TD_YEAR = 0x00000100L;
+enum SQL_FN_TSI_DAY = 0x00000010L;
+enum SQL_FN_TSI_FRAC_SECOND = 0x00000001L;
+enum SQL_FN_TSI_HOUR = 0x00000008L;
+enum SQL_FN_TSI_MINUTE = 0x00000004L;
+enum SQL_FN_TSI_MONTH = 0x00000040L;
+enum SQL_FN_TSI_QUARTER = 0x00000080L;
+enum SQL_FN_TSI_SECOND = 0x00000002L;
+enum SQL_FN_TSI_WEEK = 0x00000020L;
+enum SQL_FN_TSI_YEAR = 0x00000100L;
+enum SQL_GB_GROUP_BY_CONTAINS_SELECT = 2;
+enum SQL_GB_GROUP_BY_EQUALS_SELECT = 1;
+enum SQL_GB_NO_RELATION = 3;
+enum SQL_GB_NOT_SUPPORTED = 0;
+enum SQL_GD_BLOCK = 4;
+enum SQL_GD_BOUND = 8;
+enum SQL_GET_BOOKMARK = 13;
+enum SQL_GROUP_BY = 88;
+enum SQL_IGNORE = -6;
+enum SQL_INFO_FIRST = 0;
+enum SQL_KEYSET_SIZE = 8;
+enum SQL_KEYSET_SIZE_DEFAULT = 0UL;
+enum SQL_KEYWORDS = 89;
+enum SQL_LCK_EXCLUSIVE = 2;
+enum SQL_LCK_NO_CHANGE = 1;
+enum SQL_LCK_UNLOCK = 4;
+
+enum SQL_LEN_BINARY_ATTR_OFFSET = -100;
+enum SQL_LEN_DATA_AT_EXEC_OFFSET = -100;
+//MACRO #define SQL_LEN_BINARY_ATTR(length) (-(length)+SQL_LEN_BINARY_ATTR_OFFSET)
+//MACRO #define SQL_LEN_DATA_AT_EXEC(length) (-(length)+SQL_LEN_DATA_AT_EXEC_OFFSET)
+
+enum SQL_LIKE_ESCAPE_CLAUSE = 113;
+enum SQL_LIKE_ONLY = 1;
+enum SQL_LOCK_EXCLUSIVE = 1;
+enum SQL_LOCK_NO_CHANGE = 0;
+enum SQL_LOCK_TYPES = 78;
+enum SQL_LOCK_UNLOCK = 2;
+enum SQL_LOGIN_TIMEOUT = 103;
+enum SQL_LOGIN_TIMEOUT_DEFAULT = 15UL;
+enum SQL_LONGVARBINARY = -4;
+enum SQL_LONGVARCHAR = -1;
+enum SQL_MAX_BINARY_LITERAL_LEN = 112;
+enum SQL_MAX_CHAR_LITERAL_LEN = 108;
+enum SQL_MAX_DSN_LENGTH = 32;
+enum SQL_MAX_LENGTH = 3;
+enum SQL_MAX_LENGTH_DEFAULT = 0UL;
+enum SQL_MAX_OPTION_STRING_LENGTH = 256;
+enum SQL_MAX_OWNER_NAME_LEN = 32;
+enum SQL_MAX_PROCEDURE_NAME_LEN = 33;
+enum SQL_MAX_QUALIFIER_NAME_LEN = 34;
+enum SQL_MAX_ROW_SIZE_INCLUDES_LONG = 103;
+enum SQL_MAX_ROWS = 1;
+enum SQL_MAX_ROWS_DEFAULT = 0UL;
+
+enum SQL_MODE_READ_WRITE = 0UL;
+enum SQL_MODE_READ_ONLY = 1UL;
+enum SQL_MODE_DEFAULT = SQL_MODE_READ_WRITE;
+
+enum SQL_MULT_RESULT_SETS = 36;
+enum SQL_MULTIPLE_ACTIVE_TXN = 37;
+enum SQL_NC_END = 0x0004;
+enum SQL_NC_START = 0x0002;
+enum SQL_NEED_LONG_DATA_LEN = 111;
+enum SQL_NNC_NON_NULL = 0x0001;
+enum SQL_NNC_NULL = 0x0000;
+enum SQL_NO_TOTAL = -4;
+enum SQL_NON_NULLABLE_COLUMNS = 75;
+
+enum SQL_NOSCAN_OFF = 0UL;
+enum SQL_NOSCAN_ON = 1UL;
+enum SQL_NOSCAN = 2;
+enum SQL_NOSCAN_DEFAULT = SQL_NOSCAN_OFF;
+
+enum SQL_NUMERIC_FUNCTIONS = 49;
+enum SQL_OAC_LEVEL1 = 0x0001;
+enum SQL_OAC_LEVEL2 = 0x0002;
+enum SQL_OAC_NONE = 0x0000;
+enum SQL_ODBC_API_CONFORMANCE = 9;
+enum SQL_ODBC_CURSORS = 110;
+enum SQL_ODBC_SAG_CLI_CONFORMANCE = 12;
+enum SQL_ODBC_SQL_CONFORMANCE = 15;
+enum SQL_ODBC_SQL_OPT_IEF = 73;
+enum SQL_ODBC_VER = 10;
+enum SQL_OPT_TRACE = 104;
+
+enum SQL_OPT_TRACE_FILE_DEFAULT = "\\SQL.LOG";
+enum SQL_OPT_TRACE_OFF = 0UL;
+enum SQL_OPT_TRACE_DEFAULT = SQL_OPT_TRACE_OFF;
+enum SQL_OPT_TRACE_ON = 1UL;
+
+enum SQL_OPT_TRACEFILE = 105;
+enum SQL_OSC_CORE = 1;
+enum SQL_OSC_EXTENDED = 2;
+enum SQL_OSC_MINIMUM = 0;
+enum SQL_OSCC_COMPLIANT = 1;
+enum SQL_OSCC_NOT_COMPLIANT = 0;
+enum SQL_OU_DML_STATEMENTS = 1;
+enum SQL_OU_INDEX_DEFINITION = 8;
+enum SQL_OU_PRIVILEGE_DEFINITION = 16;
+enum SQL_OU_PROCEDURE_INVOCATION = 2;
+enum SQL_OU_TABLE_DEFINITION = 4;
+enum SQL_OUTER_JOINS = 38;
+enum SQL_OWNER_TERM = 39;
+enum SQL_OWNER_USAGE = 91;
+enum SQL_PACKET_SIZE = 112;
+enum SQL_PARAM_INPUT = 1;
+enum SQL_PARAM_INPUT_OUTPUT = 2;
+enum SQL_PARAM_OUTPUT = 4;
+enum SQL_PARAM_TYPE_DEFAULT = SQL_PARAM_INPUT_OUTPUT;
+enum SQL_PARAM_TYPE_UNKNOWN = 0;
+enum SQL_PC_NOT_PSEUDO = 1;
+enum SQL_POS_ADD = 16;
+enum SQL_POS_DELETE = 8;
+enum SQL_POS_OPERATIONS = 79;
+enum SQL_POS_POSITION = 1;
+enum SQL_POS_REFRESH = 2;
+enum SQL_POS_UPDATE = 4;
+enum SQL_POSITION = 0;
+enum SQL_POSITIONED_STATEMENTS = 80;
+enum SQL_PROCEDURE_TERM = 40;
+enum SQL_PROCEDURES = 21;
+enum SQL_PS_POSITIONED_DELETE = 1;
+enum SQL_PS_POSITIONED_UPDATE = 2;
+enum SQL_PS_SELECT_FOR_UPDATE = 4;
+enum SQL_PT_FUNCTION = 2;
+enum SQL_PT_PROCEDURE = 1;
+enum SQL_PT_UNKNOWN = 0;
+enum SQL_QL_END = 0x0002;
+enum SQL_QL_START = 0x0001;
+enum SQL_QU_DML_STATEMENTS = 1;
+enum SQL_QU_INDEX_DEFINITION = 8;
+enum SQL_QU_PRIVILEGE_DEFINITION = 16;
+enum SQL_QU_PROCEDURE_INVOCATION = 2;
+enum SQL_QU_TABLE_DEFINITION = 4;
+enum SQL_QUALIFIER_LOCATION = 114;
+enum SQL_QUALIFIER_NAME_SEPARATOR = 41;
+enum SQL_QUALIFIER_TERM = 42;
+enum SQL_QUALIFIER_USAGE = 92;
+enum SQL_QUERY_TIMEOUT = 0;
+enum SQL_QUERY_TIMEOUT_DEFAULT = 0UL;
+enum SQL_QUICK = 0;
+enum SQL_QUIET_MODE = 111;
+enum SQL_QUOTED_IDENTIFIER_CASE = 93;
+
+enum SQL_RD_OFF = 0UL;
+enum SQL_RD_ON = 1UL;
+enum SQL_RD_DEFAULT = SQL_RD_ON;
+
+enum SQL_REFRESH = 1;
+enum SQL_RESTRICT = 1;
+enum SQL_RESULT_COL = 3;
+enum SQL_RETRIEVE_DATA = 11;
+enum SQL_RETURN_VALUE = 5;
+enum SQL_ROW_ADDED = 4;
+enum SQL_ROW_DELETED = 1;
+enum SQL_ROW_ERROR = 5;
+enum SQL_ROW_NOROW = 3;
+enum SQL_ROW_NUMBER = 14;
+enum SQL_ROW_SUCCESS = 0;
+enum SQL_ROW_UPDATED = 2;
+enum SQL_ROW_UPDATES = 11;
+enum SQL_ROWSET_SIZE = 9;
+enum SQL_ROWSET_SIZE_DEFAULT = 1UL;
+enum SQL_ROWVER = 2;
+enum SQL_SC_NON_UNIQUE = 0UL;
+enum SQL_SC_TRY_UNIQUE = 1UL;
+enum SQL_SC_UNIQUE = 2UL;
+enum SQL_SCCO_OPT_TIMESTAMP = SQL_SCCO_OPT_ROWVER;/* deprecated */
+enum SQL_SCROLL_DYNAMIC = -2L;/* deprecated */
+enum SQL_SCROLL_FORWARD_ONLY = 0L;/* deprecated */
+enum SQL_SCROLL_KEYSET_DRIVEN = -1L;/* deprecated */
+enum SQL_SCROLL_OPTIONS = 44;
+enum SQL_SCROLL_STATIC = -3L;/* deprecated */
+enum SQL_SEARCHABLE = 3;
+enum SQL_SET_NULL = 2;
+enum SQL_SETPARAM_VALUE_MAX = -1L;
+enum SQL_SETPOS_MAX_LOCK_VALUE = SQL_LOCK_UNLOCK;
+enum SQL_SETPOS_MAX_OPTION_VALUE = SQL_ADD;
+enum SQL_SIMULATE_CURSOR = 10;
+enum SQL_SO_DYNAMIC = 4;
+enum SQL_SO_FORWARD_ONLY = 1;
+enum SQL_SO_KEYSET_DRIVEN = 2;
+enum SQL_SO_MIXED = 8;
+enum SQL_SO_STATIC = 16;
+enum SQL_SQ_COMPARISON = 1;
+enum SQL_SQ_CORRELATED_SUBQUERIES = 16;
+enum SQL_SQ_EXISTS = 2;
+enum SQL_SQ_IN = 4;
+enum SQL_SQ_QUANTIFIED = 8;
+enum SQL_SQLSTATE_SIZE = 5;
+enum SQL_SS_ADDITIONS = 1;
+enum SQL_SS_DELETIONS = 2;
+enum SQL_SS_UPDATES = 4;
+enum SQL_STATIC_SENSITIVITY = 83;
+enum SQL_STRING_FUNCTIONS = 50;
+enum SQL_SUBQUERIES = 95;
+enum SQL_SYSTEM_FUNCTIONS = 51;
+enum SQL_TABLE_STAT = 0;
+enum SQL_TABLE_TERM = 45;
+enum SQL_TIMEDATE_ADD_INTERVALS = 109;
+enum SQL_TIMEDATE_DIFF_INTERVALS = 110;
+enum SQL_TIMEDATE_FUNCTIONS = 52;
+enum SQL_TRANSLATE_DLL = 106;
+enum SQL_TRANSLATE_OPTION = 107;
+enum SQL_TXN_ISOLATION = 108;
+enum SQL_TXN_VERSIONING = 16;
+enum SQL_TYPE_NULL = 0;
+enum SQL_U_UNION = 1;
+enum SQL_U_UNION_ALL = 2;
+
+enum SQL_UB_OFF = 0UL;
+enum SQL_UB_DEFAULT = SQL_UB_OFF;
+enum SQL_UB_ON = 1UL;
+
+enum SQL_UNION = 96;
+enum SQL_UNSEARCHABLE = 0;
+enum SQL_UPDATE = 2;
+enum SQL_USE_BOOKMARKS = 12;
+enum SQL_VARBINARY = -3;
+
+enum SQL_COLATT_OPT_MAX = SQL_COLUMN_LABEL;
+enum SQL_COLATT_OPT_MIN = SQL_COLUMN_COUNT;
+enum SQL_PRED_SEARCHABLE = SQL_SEARCHABLE;
+
+//MACRO #define SQL_POSITION_TO(s, r) SQLSetPos(s, r, SQL_POSITION, SQL_LOCK_NO_CHANGE)
+
+//MACRO #define SQL_LOCK_RECORD(s, r, l) SQLSetPos(s, r, SQL_POSITION, l)
+
+//MACRO #define SQL_REFRESH_RECORD(s, r, l) SQLSetPos(s, r, SQL_REFRESH, l)
+
+//MACRO #define SQL_UPDATE_RECORD(s, r) SQLSetPos(s, r, SQL_UPDATE, SQL_LOCK_NO_CHANGE)
+
+//MACRO #define SQL_DELETE_RECORD(s, r) SQLSetPos(s, r, SQL_DELETE, SQL_LOCK_NO_CHANGE)
+
+//MACRO #define SQL_ADD_RECORD(s, r) SQLSetPos(s, r, SQL_ADD, SQL_LOCK_NO_CHANGE)
+
+
+static if (ODBCVER < 0x0300)
+{
+enum SQL_CONNECT_OPT_DRVR_START = 1000;
+enum SQL_CONN_OPT_MAX = SQL_PACKET_SIZE;
+enum SQL_CONN_OPT_MIN = SQL_ACCESS_MODE;
+enum SQL_STMT_OPT_MAX = SQL_ROW_NUMBER;
+enum SQL_STMT_OPT_MIN = SQL_QUERY_TIMEOUT;
+enum SQL_TYPE_DRIVER_START = SQL_INTERVAL_YEAR;
+enum SQL_TYPE_DRIVER_END = SQL_UNICODE_LONGVARCHAR;
+enum SQL_TYPE_MIN = SQL_BIT;
+enum SQL_TYPE_MAX = SQL_VARCHAR;
+}
+
+static if (ODBCVER < 0x0300)
+{
+enum SQL_NO_DATA_FOUND = 100;
+enum SQL_INTERVAL_YEAR = -80;
+enum SQL_INTERVAL_MONTH = -81;
+enum SQL_INTERVAL_YEAR_TO_MONTH = -82;
+enum SQL_INTERVAL_DAY = -83;
+enum SQL_INTERVAL_HOUR = -84;
+enum SQL_INTERVAL_MINUTE = -85;
+enum SQL_INTERVAL_SECOND = -86;
+enum SQL_INTERVAL_DAY_TO_HOUR = -87;
+enum SQL_INTERVAL_DAY_TO_MINUTE = -88;
+enum SQL_INTERVAL_DAY_TO_SECOND = -89;
+enum SQL_INTERVAL_HOUR_TO_MINUTE = -90;
+enum SQL_INTERVAL_HOUR_TO_SECOND = -91;
+enum SQL_INTERVAL_MINUTE_TO_SECOND = -92;
+}
+else
+{
+enum SQL_NO_DATA_FOUND = SQL_NO_DATA;
+enum SQL_CODE_YEAR = 1;
+enum SQL_CODE_MONTH = 2;
+enum SQL_CODE_DAY = 3;
+enum SQL_CODE_HOUR = 4;
+enum SQL_CODE_MINUTE = 5;
+enum SQL_CODE_SECOND = 6;
+enum SQL_CODE_YEAR_TO_MONTH = 7;
+enum SQL_CODE_DAY_TO_HOUR = 8;
+enum SQL_CODE_DAY_TO_MINUTE = 9;
+enum SQL_CODE_DAY_TO_SECOND = 10;
+enum SQL_CODE_HOUR_TO_MINUTE = 11;
+enum SQL_CODE_HOUR_TO_SECOND = 12;
+enum SQL_CODE_MINUTE_TO_SECOND = 13;
+enum SQL_INTERVAL_YEAR = 100 + SQL_CODE_YEAR;
+enum SQL_INTERVAL_MONTH = 100 + SQL_CODE_MONTH;
+enum SQL_INTERVAL_DAY = 100 + SQL_CODE_DAY;
+enum SQL_INTERVAL_HOUR = 100 + SQL_CODE_HOUR;
+enum SQL_INTERVAL_MINUTE = 100 + SQL_CODE_MINUTE;
+enum SQL_INTERVAL_SECOND = 100 + SQL_CODE_SECOND;
+enum SQL_INTERVAL_YEAR_TO_MONTH = 100 + SQL_CODE_YEAR_TO_MONTH;
+enum SQL_INTERVAL_DAY_TO_HOUR = 100 + SQL_CODE_DAY_TO_HOUR;
+enum SQL_INTERVAL_DAY_TO_MINUTE = 100 + SQL_CODE_DAY_TO_MINUTE;
+enum SQL_INTERVAL_DAY_TO_SECOND = 100 + SQL_CODE_DAY_TO_SECOND;
+enum SQL_INTERVAL_HOUR_TO_MINUTE = 100 + SQL_CODE_HOUR_TO_MINUTE;
+enum SQL_INTERVAL_HOUR_TO_SECOND = 100 + SQL_CODE_HOUR_TO_SECOND;
+enum SQL_INTERVAL_MINUTE_TO_SECOND = 100 + SQL_CODE_MINUTE_TO_SECOND;
+}//[Yes] #endif
+
+
+static if ((ODBCVER >= 0x0201) && (ODBCVER < 0x0300))
+{
+enum SQL_OJ_CAPABILITIES = 65003;
+}
+
+static if (ODBCVER >= 0x0250)
+{
+enum SQL_NO_ACTION = 3;
+enum SQL_SET_DEFAULT = 4;
+}
+
+static if (ODBCVER >= 0x0300)
+{
+enum SQL_ACTIVE_ENVIRONMENTS = 116;
+enum SQL_AD_ADD_CONSTRAINT_DEFERRABLE = 0x00000080L;
+enum SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED = 0x00000020L;
+enum SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE = 0x00000040L;
+enum SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE = 0x00000100L;
+enum SQL_AD_ADD_DOMAIN_CONSTRAINT = 0x00000002L;
+enum SQL_AD_ADD_DOMAIN_DEFAULT = 0x00000008L;
+enum SQL_AD_CONSTRAINT_NAME_DEFINITION = 0x00000001L;
+enum SQL_AD_DROP_DOMAIN_CONSTRAINT = 0x00000004L;
+enum SQL_AD_DROP_DOMAIN_DEFAULT = 0x00000010L;
+enum SQL_AF_ALL = 0x00000040L;
+enum SQL_AF_AVG = 0x00000001L;
+enum SQL_AF_COUNT = 0x00000002L;
+enum SQL_AF_DISTINCT = 0x00000020L;
+enum SQL_AF_MAX = 0x00000004L;
+enum SQL_AF_MIN = 0x00000008L;
+enum SQL_AF_SUM = 0x00000010L;
+enum SQL_AGGREGATE_FUNCTIONS = 169;
+enum SQL_ALL_CATALOGS = "%";
+enum SQL_ALL_SCHEMAS = "%";
+enum SQL_ALL_TABLE_TYPES = "%";
+enum SQL_ALTER_DOMAIN = 117;
+enum SQL_AM_CONNECTION = 1;
+enum SQL_AM_NONE = 0;
+enum SQL_AM_STATEMENT = 2;
+enum SQL_API_ODBC3_ALL_FUNCTIONS = 999;
+enum SQL_API_ODBC3_ALL_FUNCTIONS_SIZE = 250;
+enum SQL_API_SQLALLOCHANDLESTD = 73;
+enum SQL_API_SQLBULKOPERATIONS = 24;
+enum SQL_ASYNC_MODE = 10021;
+enum SQL_AT_ADD_COLUMN_COLLATION = 0x00000080L;
+enum SQL_AT_ADD_COLUMN_DEFAULT = 0x00000040L;
+enum SQL_AT_ADD_COLUMN_SINGLE = 0x00000020L;
+enum SQL_AT_ADD_TABLE_CONSTRAINT = 0x00001000L;
+enum SQL_AT_CONSTRAINT_DEFERRABLE = 0x00040000L;
+enum SQL_AT_CONSTRAINT_INITIALLY_DEFERRED = 0x00010000L;
+enum SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE = 0x00020000L;
+enum SQL_AT_CONSTRAINT_NAME_DEFINITION = 0x00008000L;
+enum SQL_AT_CONSTRAINT_NON_DEFERRABLE = 0x00080000L;
+enum SQL_AT_DROP_COLUMN_CASCADE = 0x00000400L;
+enum SQL_AT_DROP_COLUMN_DEFAULT = 0x00000200L;
+enum SQL_AT_DROP_COLUMN_RESTRICT = 0x00000800L;
+enum SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE = 0x00002000L;
+enum SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT = 0x00004000L;
+enum SQL_AT_SET_COLUMN_DEFAULT = 0x00000100L;
+enum SQL_ATTR_ACCESS_MODE = SQL_ACCESS_MODE;
+enum SQL_ATTR_ASYNC_ENABLE = 4;
+enum SQL_ATTR_AUTOCOMMIT = SQL_AUTOCOMMIT;
+enum SQL_ATTR_CONCURRENCY = SQL_CONCURRENCY;
+enum SQL_ATTR_CONNECTION_POOLING = 201;
+enum SQL_ATTR_CONNECTION_TIMEOUT = 113;
+enum SQL_ATTR_CP_MATCH = 202;
+enum SQL_ATTR_CURRENT_CATALOG = SQL_CURRENT_QUALIFIER;
+enum SQL_ATTR_CURSOR_TYPE = SQL_CURSOR_TYPE;
+enum SQL_ATTR_DISCONNECT_BEHAVIOR = 114;
+enum SQL_ATTR_ENABLE_AUTO_IPD = 15;
+enum SQL_ATTR_ENLIST_IN_DTC = 1207;
+enum SQL_ATTR_ENLIST_IN_XA = 1208;
+enum SQL_ATTR_FETCH_BOOKMARK_PTR = 16;
+enum SQL_ATTR_KEYSET_SIZE = SQL_KEYSET_SIZE;
+enum SQL_ATTR_LOGIN_TIMEOUT = SQL_LOGIN_TIMEOUT;
+enum SQL_ATTR_MAX_LENGTH = SQL_MAX_LENGTH;
+enum SQL_ATTR_MAX_ROWS = SQL_MAX_ROWS;
+enum SQL_ATTR_NOSCAN = SQL_NOSCAN;
+enum SQL_ATTR_ODBC_CURSORS = SQL_ODBC_CURSORS;
+enum SQL_ATTR_ODBC_VERSION = 200;
+enum SQL_ATTR_PACKET_SIZE = SQL_PACKET_SIZE;
+enum SQL_ATTR_PARAM_BIND_OFFSET_PTR = 17;
+enum SQL_ATTR_PARAM_BIND_TYPE = 18;
+enum SQL_ATTR_PARAM_OPERATION_PTR = 19;
+enum SQL_ATTR_PARAM_STATUS_PTR = 20;
+enum SQL_ATTR_PARAMS_PROCESSED_PTR = 21;
+enum SQL_ATTR_PARAMSET_SIZE = 22;
+enum SQL_ATTR_QUERY_TIMEOUT = SQL_QUERY_TIMEOUT;
+enum SQL_ATTR_QUIET_MODE = SQL_QUIET_MODE;
+enum SQL_ATTR_RETRIEVE_DATA = SQL_RETRIEVE_DATA;
+enum SQL_ATTR_ROW_ARRAY_SIZE = 27;
+enum SQL_ATTR_ROW_BIND_OFFSET_PTR = 23;
+enum SQL_ATTR_ROW_BIND_TYPE = SQL_BIND_TYPE;
+enum SQL_ATTR_ROW_NUMBER = SQL_ROW_NUMBER;
+enum SQL_ATTR_ROW_OPERATION_PTR = 24;
+enum SQL_ATTR_ROW_STATUS_PTR = 25;
+enum SQL_ATTR_ROWS_FETCHED_PTR = 26;
+enum SQL_ATTR_SIMULATE_CURSOR = SQL_SIMULATE_CURSOR;
+enum SQL_ATTR_TRACE = SQL_OPT_TRACE;
+enum SQL_ATTR_TRACEFILE = SQL_OPT_TRACEFILE;
+enum SQL_ATTR_TRANSLATE_LIB = SQL_TRANSLATE_DLL;
+enum SQL_ATTR_TRANSLATE_OPTION = SQL_TRANSLATE_OPTION;
+enum SQL_ATTR_TXN_ISOLATION = SQL_TXN_ISOLATION;
+enum SQL_ATTR_USE_BOOKMARKS = SQL_USE_BOOKMARKS;
+enum SQL_BATCH_ROW_COUNT = 120;
+enum SQL_BATCH_SUPPORT = 121;
+enum SQL_BRC_EXPLICIT = 0x0000002;
+enum SQL_BRC_PROCEDURES = 0x0000001;
+enum SQL_BRC_ROLLED_UP = 0x0000004;
+enum SQL_BS_ROW_COUNT_EXPLICIT = 0x00000002L;
+enum SQL_BS_ROW_COUNT_PROC = 0x00000008L;
+enum SQL_BS_SELECT_EXPLICIT = 0x00000001L;
+enum SQL_BS_SELECT_PROC = 0x00000004L;
+enum SQL_C_INTERVAL_DAY = SQL_INTERVAL_DAY;
+enum SQL_C_INTERVAL_DAY_TO_HOUR = SQL_INTERVAL_DAY_TO_HOUR;
+enum SQL_C_INTERVAL_DAY_TO_MINUTE = SQL_INTERVAL_DAY_TO_MINUTE;
+enum SQL_C_INTERVAL_DAY_TO_SECOND = SQL_INTERVAL_DAY_TO_SECOND;
+enum SQL_C_INTERVAL_HOUR = SQL_INTERVAL_HOUR;
+enum SQL_C_INTERVAL_HOUR_TO_MINUTE = SQL_INTERVAL_HOUR_TO_MINUTE;
+enum SQL_C_INTERVAL_HOUR_TO_SECOND = SQL_INTERVAL_HOUR_TO_SECOND;
+enum SQL_C_INTERVAL_MINUTE = SQL_INTERVAL_MINUTE;
+enum SQL_C_INTERVAL_MINUTE_TO_SECOND = SQL_INTERVAL_MINUTE_TO_SECOND;
+enum SQL_C_INTERVAL_MONTH = SQL_INTERVAL_MONTH;
+enum SQL_C_INTERVAL_SECOND = SQL_INTERVAL_SECOND;
+enum SQL_C_INTERVAL_YEAR = SQL_INTERVAL_YEAR;
+enum SQL_C_INTERVAL_YEAR_TO_MONTH = SQL_INTERVAL_YEAR_TO_MONTH;
+enum SQL_C_NUMERIC = SQL_NUMERIC;
+enum SQL_C_SBIGINT = SQL_BIGINT+SQL_SIGNED_OFFSET;
+enum SQL_C_TYPE_DATE = SQL_TYPE_DATE;
+enum SQL_C_TYPE_TIME = SQL_TYPE_TIME;
+enum SQL_C_TYPE_TIMESTAMP = SQL_TYPE_TIMESTAMP;
+enum SQL_C_UBIGINT = SQL_BIGINT+SQL_UNSIGNED_OFFSET;
+enum SQL_C_VARBOOKMARK = SQL_C_BINARY;
+enum SQL_CA_CONSTRAINT_DEFERRABLE = 0x00000040L;
+enum SQL_CA_CONSTRAINT_INITIALLY_DEFERRED = 0x00000010L;
+enum SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE = 0x00000020L;
+enum SQL_CA_CONSTRAINT_NON_DEFERRABLE = 0x00000080L;
+enum SQL_CA_CREATE_ASSERTION = 0x00000001L;
+enum SQL_CA1_ABSOLUTE = 0x00000002L;
+enum SQL_CA1_BOOKMARK = 0x00000008L;
+enum SQL_CA1_BULK_ADD = 0x00010000L;
+enum SQL_CA1_BULK_DELETE_BY_BOOKMARK = 0x00040000L;
+enum SQL_CA1_BULK_FETCH_BY_BOOKMARK = 0x00080000L;
+enum SQL_CA1_BULK_UPDATE_BY_BOOKMARK = 0x00020000L;
+enum SQL_CA1_LOCK_EXCLUSIVE = 0x00000080L;
+enum SQL_CA1_LOCK_NO_CHANGE = 0x00000040L;
+enum SQL_CA1_LOCK_UNLOCK = 0x00000100L;
+enum SQL_CA1_NEXT = 0x00000001L;
+enum SQL_CA1_POS_DELETE = 0x00000800L;
+enum SQL_CA1_POS_POSITION = 0x00000200L;
+enum SQL_CA1_POS_REFRESH = 0x00001000L;
+enum SQL_CA1_POS_UPDATE = 0x00000400L;
+enum SQL_CA1_POSITIONED_DELETE = 0x00004000L;
+enum SQL_CA1_POSITIONED_UPDATE = 0x00002000L;
+enum SQL_CA1_RELATIVE = 0x00000004L;
+enum SQL_CA1_SELECT_FOR_UPDATE = 0x00008000L;
+enum SQL_CA2_CRC_APPROXIMATE = 0x00002000L;
+enum SQL_CA2_CRC_EXACT = 0x00001000L;
+enum SQL_CA2_LOCK_CONCURRENCY = 0x00000002L;
+
+enum SQL_CA2_MAX_ROWS_CATALOG = 0x00000800L;
+enum SQL_CA2_MAX_ROWS_DELETE = 0x00000200L;
+enum SQL_CA2_MAX_ROWS_INSERT = 0x00000100L;
+enum SQL_CA2_MAX_ROWS_SELECT = 0x00000080L;
+enum SQL_CA2_MAX_ROWS_UPDATE = 0x00000400L;
+enum SQL_CA2_MAX_ROWS_AFFECTS_ALL = SQL_CA2_MAX_ROWS_SELECT | SQL_CA2_MAX_ROWS_INSERT |
+ SQL_CA2_MAX_ROWS_DELETE | SQL_CA2_MAX_ROWS_UPDATE | SQL_CA2_MAX_ROWS_CATALOG;
+
+enum SQL_CA2_OPT_ROWVER_CONCURRENCY = 0x00000004L;
+enum SQL_CA2_OPT_VALUES_CONCURRENCY = 0x00000008L;
+enum SQL_CA2_READ_ONLY_CONCURRENCY = 0x00000001L;
+enum SQL_CA2_SENSITIVITY_ADDITIONS = 0x00000010L;
+enum SQL_CA2_SENSITIVITY_DELETIONS = 0x00000020L;
+enum SQL_CA2_SENSITIVITY_UPDATES = 0x00000040L;
+enum SQL_CA2_SIMULATE_NON_UNIQUE = 0x00004000L;
+enum SQL_CA2_SIMULATE_TRY_UNIQUE = 0x00008000L;
+enum SQL_CA2_SIMULATE_UNIQUE = 0x00010000L;
+enum SQL_CATALOG_LOCATION = SQL_QUALIFIER_LOCATION;
+enum SQL_CATALOG_NAME_SEPARATOR = SQL_QUALIFIER_NAME_SEPARATOR;
+enum SQL_CATALOG_TERM = SQL_QUALIFIER_TERM;
+enum SQL_CATALOG_USAGE = SQL_QUALIFIER_USAGE;
+enum SQL_CCOL_CREATE_COLLATION = 0x00000001L;
+enum SQL_CCS_COLLATE_CLAUSE = 0x00000002L;
+enum SQL_CCS_CREATE_CHARACTER_SET = 0x00000001L;
+enum SQL_CCS_LIMITED_COLLATION = 0x00000004L;
+enum SQL_CDO_COLLATION = 0x00000008L;
+enum SQL_CDO_CONSTRAINT = 0x00000004L;
+enum SQL_CDO_CONSTRAINT_DEFERRABLE = 0x00000080L;
+enum SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED = 0x00000020L;
+enum SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE = 0x00000040L;
+enum SQL_CDO_CONSTRAINT_NAME_DEFINITION = 0x00000010L;
+enum SQL_CDO_CONSTRAINT_NON_DEFERRABLE = 0x00000100L;
+enum SQL_CDO_CREATE_DOMAIN = 0x00000001L;
+enum SQL_CDO_DEFAULT = 0x00000002L;
+enum SQL_CL_END = SQL_QL_END;
+enum SQL_CL_START = SQL_QL_START;
+enum SQL_COL_PRED_BASIC = SQL_ALL_EXCEPT_LIKE;
+enum SQL_COL_PRED_CHAR = SQL_LIKE_ONLY;
+enum SQL_COLUMN_DRIVER_START = 1000;
+enum SQL_COLUMN_IGNORE = SQL_IGNORE;
+enum SQL_COLUMN_NUMBER_UNKNOWN = -2;
+enum SQL_CONVERT_GUID = 173;
+
+enum SQL_CONVERT_WCHAR = 122;
+enum SQL_CONVERT_INTERVAL_DAY_TIME = 123;
+enum SQL_CONVERT_INTERVAL_YEAR_MONTH = 124;
+enum SQL_CONVERT_WLONGVARCHAR = 125;
+enum SQL_CONVERT_WVARCHAR = 126;
+
+enum SQL_CREATE_ASSERTION = 127;
+enum SQL_CREATE_CHARACTER_SET = 128;
+enum SQL_CREATE_COLLATION = 129;
+enum SQL_CREATE_DOMAIN = 130;
+enum SQL_CREATE_SCHEMA = 131;
+enum SQL_CREATE_TABLE = 132;
+enum SQL_CREATE_TRANSLATION = 133;
+enum SQL_CREATE_VIEW = 134;
+
+
+enum SQL_CP_OFF = 0UL;
+enum SQL_CP_DEFAULT = SQL_CP_OFF;
+enum SQL_CP_ONE_PER_DRIVER = 1UL;
+enum SQL_CP_ONE_PER_HENV = 2UL;
+
+enum SQL_CP_STRICT_MATCH = 0UL;
+enum SQL_CP_MATCH_DEFAULT = SQL_CP_STRICT_MATCH;
+enum SQL_CP_RELAXED_MATCH = 1UL;
+
+enum SQL_CS_CREATE_SCHEMA = 0x00000001L;
+enum SQL_CS_AUTHORIZATION = 0x00000002L;
+enum SQL_CS_DEFAULT_CHARACTER_SET = 0x00000004L;
+
+enum SQL_CT_COLUMN_COLLATION = 0x00000800L;
+enum SQL_CT_COLUMN_CONSTRAINT = 0x00000200L;
+enum SQL_CT_COLUMN_DEFAULT = 0x00000400L;
+enum SQL_CT_COMMIT_DELETE = 0x00000004L;
+enum SQL_CT_COMMIT_PRESERVE = 0x00000002L;
+enum SQL_CT_CONSTRAINT_DEFERRABLE = 0x00000080L;
+enum SQL_CT_CONSTRAINT_INITIALLY_DEFERRED = 0x00000020L;
+enum SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE = 0x00000040L;
+enum SQL_CT_CONSTRAINT_NAME_DEFINITION = 0x00002000L;
+enum SQL_CT_CONSTRAINT_NON_DEFERRABLE = 0x00000100L;
+enum SQL_CT_CREATE_TABLE = 0x00000001L;
+enum SQL_CT_GLOBAL_TEMPORARY = 0x00000008L;
+enum SQL_CT_LOCAL_TEMPORARY = 0x00000010L;
+enum SQL_CT_TABLE_CONSTRAINT = 0x00001000L;
+
+enum SQL_CTR_CREATE_TRANSLATION = 0x00000001L;
+
+enum SQL_CU_DML_STATEMENTS = SQL_QU_DML_STATEMENTS;
+enum SQL_CU_INDEX_DEFINITION = SQL_QU_INDEX_DEFINITION;
+enum SQL_CU_PRIVILEGE_DEFINITION = SQL_QU_PRIVILEGE_DEFINITION;
+enum SQL_CU_PROCEDURE_INVOCATION = SQL_QU_PROCEDURE_INVOCATION;
+enum SQL_CU_TABLE_DEFINITION = SQL_QU_TABLE_DEFINITION;
+
+enum SQL_CVT_INTERVAL_YEAR_MONTH = 0x00080000L;
+enum SQL_CVT_INTERVAL_DAY_TIME = 0x00100000L;
+enum SQL_CVT_WCHAR = 0x00200000L;
+enum SQL_CVT_WLONGVARCHAR = 0x00400000L;
+enum SQL_CVT_WVARCHAR = 0x00800000L;
+enum SQL_CVT_GUID = 0x01000000L;
+
+enum SQL_DA_DROP_ASSERTION = 0x00000001L;
+enum SQL_DATETIME_LITERALS = 119;
+
+enum SQL_DB_DISCONNECT = 1UL;
+enum SQL_DB_RETURN_TO_POOL = 0UL;
+enum SQL_DB_DEFAULT = SQL_DB_RETURN_TO_POOL;
+
+enum SQL_DC_DROP_COLLATION = 0x00000001L;
+enum SQL_DCS_DROP_CHARACTER_SET = 0x00000001L;
+enum SQL_DD_CASCADE = 0x00000004L;
+enum SQL_DD_DROP_DOMAIN = 0x00000001L;
+enum SQL_DD_RESTRICT = 0x00000002L;
+enum SQL_DDL_INDEX = 170;
+enum SQL_DELETE_BY_BOOKMARK = 6;
+enum SQL_DESC_ARRAY_SIZE = 20;
+enum SQL_DESC_ARRAY_STATUS_PTR = 21;
+enum SQL_DESC_AUTO_UNIQUE_VALUE = SQL_COLUMN_AUTO_INCREMENT;
+enum SQL_DESC_BASE_COLUMN_NAME = 22;
+enum SQL_DESC_BASE_TABLE_NAME = 23;
+enum SQL_DESC_BIND_OFFSET_PTR = 24;
+enum SQL_DESC_BIND_TYPE = 25;
+enum SQL_DESC_CASE_SENSITIVE = SQL_COLUMN_CASE_SENSITIVE;
+enum SQL_DESC_CATALOG_NAME = SQL_COLUMN_QUALIFIER_NAME;
+enum SQL_DESC_CONCISE_TYPE = SQL_COLUMN_TYPE;
+enum SQL_DESC_DATETIME_INTERVAL_PRECISION = 26;
+enum SQL_DESC_DISPLAY_SIZE = SQL_COLUMN_DISPLAY_SIZE;
+enum SQL_DESC_FIXED_PREC_SCALE = SQL_COLUMN_MONEY;
+enum SQL_DESC_LABEL = SQL_COLUMN_LABEL;
+enum SQL_DESC_LITERAL_PREFIX = 27;
+enum SQL_DESC_LITERAL_SUFFIX = 28;
+enum SQL_DESC_LOCAL_TYPE_NAME = 29;
+enum SQL_DESC_MAXIMUM_SCALE = 30;
+enum SQL_DESC_MINIMUM_SCALE = 31;
+enum SQL_DESC_NUM_PREC_RADIX = 32;
+enum SQL_DESC_PARAMETER_TYPE = 33;
+enum SQL_DESC_ROWS_PROCESSED_PTR = 34;
+enum SQL_DESC_SCHEMA_NAME = SQL_COLUMN_OWNER_NAME;
+enum SQL_DESC_SEARCHABLE = SQL_COLUMN_SEARCHABLE;
+enum SQL_DESC_TABLE_NAME = SQL_COLUMN_TABLE_NAME;
+enum SQL_DESC_TYPE_NAME = SQL_COLUMN_TYPE_NAME;
+enum SQL_DESC_UNSIGNED = SQL_COLUMN_UNSIGNED;
+enum SQL_DESC_UPDATABLE = SQL_COLUMN_UPDATABLE;
+enum SQL_DI_CREATE_INDEX = 0x00000001L;
+enum SQL_DI_DROP_INDEX = 0x00000002L;
+
+enum SQL_DIAG_COLUMN_NUMBER = -1247;
+enum SQL_DIAG_ROW_NUMBER = -1248;
+enum SQL_DIAG_CURSOR_ROW_COUNT = -1249;
+
+enum SQL_DL_SQL92_DATE = 0x00000001L;
+enum SQL_DL_SQL92_INTERVAL_DAY = 0x00000020L;
+enum SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR = 0x00000400L;
+enum SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE = 0x00000800L;
+enum SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND = 0x00001000L;
+enum SQL_DL_SQL92_INTERVAL_HOUR = 0x00000040L;
+enum SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE = 0x00002000L;
+enum SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND = 0x00004000L;
+enum SQL_DL_SQL92_INTERVAL_MINUTE = 0x00000080L;
+enum SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND = 0x00008000L;
+enum SQL_DL_SQL92_INTERVAL_MONTH = 0x00000010L;
+enum SQL_DL_SQL92_INTERVAL_SECOND = 0x00000100L;
+enum SQL_DL_SQL92_INTERVAL_YEAR = 0x00000008L;
+enum SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH = 0x00000200L;
+enum SQL_DL_SQL92_TIME = 0x00000002L;
+enum SQL_DL_SQL92_TIMESTAMP = 0x00000004L;
+enum SQL_DM_VER = 171;
+enum SQL_DRIVER_HDESC = 135;
+enum SQL_DROP_ASSERTION = 136;
+enum SQL_DROP_CHARACTER_SET = 137;
+enum SQL_DROP_COLLATION = 138;
+enum SQL_DROP_DOMAIN = 139;
+enum SQL_DROP_SCHEMA = 140;
+enum SQL_DROP_TABLE = 141;
+enum SQL_DROP_TRANSLATION = 142;
+enum SQL_DROP_VIEW = 143;
+enum SQL_DS_CASCADE = 0x00000004L;
+enum SQL_DS_DROP_SCHEMA = 0x00000001L;
+enum SQL_DS_RESTRICT = 0x00000002L;
+enum SQL_DT_CASCADE = 0x00000004L;
+enum SQL_DT_DROP_TABLE = 0x00000001L;
+enum SQL_DT_RESTRICT = 0x00000002L;
+enum SQL_DTC_DONE = 0L;
+enum SQL_DTR_DROP_TRANSLATION = 0x00000001L;
+enum SQL_DV_CASCADE = 0x00000004L;
+enum SQL_DV_DROP_VIEW = 0x00000001L;
+enum SQL_DV_RESTRICT = 0x00000002L;
+enum SQL_DYNAMIC_CURSOR_ATTRIBUTES1 = 144;
+enum SQL_DYNAMIC_CURSOR_ATTRIBUTES2 = 145;
+enum SQL_EXT_API_LAST = SQL_API_SQLBINDPARAMETER;
+enum SQL_EXT_API_START = 40;
+enum SQL_FETCH_BY_BOOKMARK = 7;
+enum SQL_FETCH_FIRST_SYSTEM = 32;
+enum SQL_FETCH_FIRST_USER = 31;
+enum SQL_FN_CVT_CAST = 0x00000002L;
+enum SQL_FN_STR_BIT_LENGTH = 0x00080000L;
+enum SQL_FN_STR_CHAR_LENGTH = 0x00100000L;
+enum SQL_FN_STR_CHARACTER_LENGTH = 0x00200000L;
+enum SQL_FN_STR_OCTET_LENGTH = 0x00400000L;
+enum SQL_FN_STR_POSITION = 0x00800000L;
+enum SQL_FN_TD_CURRENT_DATE = 0x00020000L;
+enum SQL_FN_TD_CURRENT_TIME = 0x00040000L;
+enum SQL_FN_TD_CURRENT_TIMESTAMP = 0x00080000L;
+enum SQL_FN_TD_EXTRACT = 0x00100000L;
+enum SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 = 146;
+enum SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 = 147;
+ /* #define SQL_FUNC_EXISTS(exists, api)
+ ((*(((UWORD*) (exists)) + ((api) >> 4)) & (1 << ((api) & 15)) ) ?
+ SQL_TRUE : SQL_FALSE )
+ */
+enum SQL_GB_COLLATE = 0x0004;
+enum SQL_HANDLE_SENV = 5;
+
+enum SQL_IK_NONE = 0;
+enum SQL_IK_ASC = 1;
+enum SQL_IK_DESC = 2;
+enum SQL_IK_ALL = SQL_IK_ASC | SQL_IK_DESC;
+
+enum SQL_INDEX_KEYWORDS = 148;
+enum SQL_INFO_DRIVER_START = 1000;
+enum SQL_INFO_LAST = SQL_QUALIFIER_LOCATION;
+enum SQL_INFO_SCHEMA_VIEWS = 149;
+enum SQL_INITIALLY_DEFERRED = 5;
+enum SQL_INITIALLY_IMMEDIATE = 6;
+enum SQL_INSERT_STATEMENT = 172;
+enum SQL_INTERVAL = 10;
+enum SQL_IS_INSERT_LITERALS = 0x00000001L;
+enum SQL_IS_INSERT_SEARCHED = 0x00000002L;
+enum SQL_IS_INTEGER = -6;
+enum SQL_IS_POINTER = -4;
+enum SQL_IS_SELECT_INTO = 0x00000004L;
+enum SQL_IS_SMALLINT = -8;
+enum SQL_IS_UINTEGER = -5;
+enum SQL_IS_USMALLINT = -7;
+enum SQL_ISV_ASSERTIONS = 0x00000001L;
+enum SQL_ISV_CHARACTER_SETS = 0x00000002L;
+enum SQL_ISV_CHECK_CONSTRAINTS = 0x00000004L;
+enum SQL_ISV_COLLATIONS = 0x00000008L;
+enum SQL_ISV_COLUMN_DOMAIN_USAGE = 0x00000010L;
+enum SQL_ISV_COLUMN_PRIVILEGES = 0x00000020L;
+enum SQL_ISV_COLUMNS = 0x00000040L;
+enum SQL_ISV_CONSTRAINT_COLUMN_USAGE = 0x00000080L;
+enum SQL_ISV_CONSTRAINT_TABLE_USAGE = 0x00000100L;
+enum SQL_ISV_DOMAIN_CONSTRAINTS = 0x00000200L;
+enum SQL_ISV_DOMAINS = 0x00000400L;
+enum SQL_ISV_KEY_COLUMN_USAGE = 0x00000800L;
+enum SQL_ISV_REFERENTIAL_CONSTRAINTS = 0x00001000L;
+enum SQL_ISV_SCHEMATA = 0x00002000L;
+enum SQL_ISV_SQL_LANGUAGES = 0x00004000L;
+enum SQL_ISV_TABLE_CONSTRAINTS = 0x00008000L;
+enum SQL_ISV_TABLE_PRIVILEGES = 0x00010000L;
+enum SQL_ISV_TABLES = 0x00020000L;
+enum SQL_ISV_TRANSLATIONS = 0x00040000L;
+enum SQL_ISV_USAGE_PRIVILEGES = 0x00080000L;
+enum SQL_ISV_VIEW_COLUMN_USAGE = 0x00100000L;
+enum SQL_ISV_VIEW_TABLE_USAGE = 0x00200000L;
+enum SQL_ISV_VIEWS = 0x00400000L;
+enum SQL_KEYSET_CURSOR_ATTRIBUTES1 = 150;
+enum SQL_KEYSET_CURSOR_ATTRIBUTES2 = 151;
+enum SQL_MAX_ASYNC_CONCURRENT_STATEMENTS = 10022;
+enum SQL_NO_COLUMN_NUMBER = -1;
+enum SQL_NO_ROW_NUMBER = -1;
+enum SQL_NOT_DEFERRABLE = 7;
+enum SQL_NUM_EXTENSIONS = SQL_EXT_API_LAST-SQL_EXT_API_START+1;
+enum SQL_NUM_FUNCTIONS = 23;
+enum SQL_ODBC_INTERFACE_CONFORMANCE = 152;
+
+ enum : ULONG {
+ SQL_OIC_CORE = 1,
+ SQL_OIC_LEVEL1,
+ SQL_OIC_LEVEL2
+ }
+ enum : ULONG {
+ SQL_OV_ODBC2 = 2,
+ SQL_OV_ODBC3 = 3
+ }
+
+enum ULONG
+ SQL_PARAM_BIND_BY_COLUMN = 0,
+ SQL_PARAM_BIND_TYPE_DEFAULT = SQL_PARAM_BIND_BY_COLUMN;
+
+enum SQL_PARAM_ARRAY_ROW_COUNTS = 153;
+enum SQL_PARAM_ARRAY_SELECTS = 154;
+enum SQL_PARAM_DIAG_UNAVAILABLE = 1;
+enum SQL_PARAM_ERROR = 5;
+enum SQL_PARAM_IGNORE = 1;
+enum SQL_PARAM_PROCEED = 0;
+enum SQL_PARAM_SUCCESS = 0;
+enum SQL_PARAM_SUCCESS_WITH_INFO = 6;
+enum SQL_PARAM_UNUSED = 7;
+
+enum SQL_PARC_BATCH = 1;
+enum SQL_PARC_NO_BATCH = 2;
+enum SQL_PAS_BATCH = 1;
+enum SQL_PAS_NO_BATCH = 2;
+enum SQL_PAS_NO_SELECT = 3;
+
+enum SQL_ROW_IGNORE = 1;
+enum SQL_ROW_NUMBER_UNKNOWN = -2;
+enum SQL_ROW_PROCEED = 0;
+enum SQL_ROW_SUCCESS_WITH_INFO = 6;
+
+enum SQL_SC_FIPS127_2_TRANSITIONAL = 0x00000002L;
+enum SQL_SC_SQL92_ENTRY = 0x00000001L;
+enum SQL_SC_SQL92_FULL = 0x00000008L;
+enum SQL_SC_SQL92_INTERMEDIATE = 0x00000004L;
+
+enum SQL_SCC_ISO92_CLI = 0x00000002L;
+enum SQL_SCC_XOPEN_CLI_VERSION1 = 0x00000001L;
+
+enum SQL_SCHEMA_TERM = SQL_OWNER_TERM;
+enum SQL_SCHEMA_USAGE = SQL_OWNER_USAGE;
+enum SQL_SDF_CURRENT_DATE = 0x00000001L;
+enum SQL_SDF_CURRENT_TIME = 0x00000002L;
+enum SQL_SDF_CURRENT_TIMESTAMP = 0x00000004L;
+enum SQL_SFKD_CASCADE = 0x00000001L;
+enum SQL_SFKD_NO_ACTION = 0x00000002L;
+enum SQL_SFKD_SET_DEFAULT = 0x00000004L;
+enum SQL_SFKD_SET_NULL = 0x00000008L;
+enum SQL_SFKU_CASCADE = 0x00000001L;
+enum SQL_SFKU_NO_ACTION = 0x00000002L;
+enum SQL_SFKU_SET_DEFAULT = 0x00000004L;
+enum SQL_SFKU_SET_NULL = 0x00000008L;
+enum SQL_SG_DELETE_TABLE = 0x00000020L;
+enum SQL_SG_INSERT_COLUMN = 0x00000080L;
+enum SQL_SG_INSERT_TABLE = 0x00000040L;
+enum SQL_SG_REFERENCES_COLUMN = 0x00000200L;
+enum SQL_SG_REFERENCES_TABLE = 0x00000100L;
+enum SQL_SG_SELECT_TABLE = 0x00000400L;
+enum SQL_SG_UPDATE_COLUMN = 0x00001000L;
+enum SQL_SG_UPDATE_TABLE = 0x00000800L;
+enum SQL_SG_USAGE_ON_CHARACTER_SET = 0x00000002L;
+enum SQL_SG_USAGE_ON_COLLATION = 0x00000004L;
+enum SQL_SG_USAGE_ON_DOMAIN = 0x00000001L;
+enum SQL_SG_USAGE_ON_TRANSLATION = 0x00000008L;
+enum SQL_SG_WITH_GRANT_OPTION = 0x00000010L;
+enum SQL_SNVF_BIT_LENGTH = 0x00000001L;
+enum SQL_SNVF_CHAR_LENGTH = 0x00000002L;
+enum SQL_SNVF_CHARACTER_LENGTH = 0x00000004L;
+enum SQL_SNVF_EXTRACT = 0x00000008L;
+enum SQL_SNVF_OCTET_LENGTH = 0x00000010L;
+enum SQL_SNVF_POSITION = 0x00000020L;
+enum SQL_SP_BETWEEN = 0x00000800L;
+enum SQL_SP_COMPARISON = 0x00001000L;
+enum SQL_SP_EXISTS = 0x00000001L;
+enum SQL_SP_IN = 0x00000400L;
+enum SQL_SP_ISNOTNULL = 0x00000002L;
+enum SQL_SP_ISNULL = 0x00000004L;
+enum SQL_SP_LIKE = 0x00000200L;
+enum SQL_SP_MATCH_FULL = 0x00000008L;
+enum SQL_SP_MATCH_PARTIAL = 0x00000010L;
+enum SQL_SP_MATCH_UNIQUE_FULL = 0x00000020L;
+enum SQL_SP_MATCH_UNIQUE_PARTIAL = 0x00000040L;
+enum SQL_SP_OVERLAPS = 0x00000080L;
+enum SQL_SP_QUANTIFIED_COMPARISON = 0x00002000L;
+enum SQL_SP_UNIQUE = 0x00000100L;
+enum SQL_SQL_CONFORMANCE = 118;
+enum SQL_SQL92_DATETIME_FUNCTIONS = 155;
+enum SQL_SQL92_FOREIGN_KEY_DELETE_RULE = 156;
+enum SQL_SQL92_FOREIGN_KEY_UPDATE_RULE = 157;
+enum SQL_SQL92_GRANT = 158;
+enum SQL_SQL92_NUMERIC_VALUE_FUNCTIONS = 159;
+enum SQL_SQL92_PREDICATES = 160;
+enum SQL_SQL92_RELATIONAL_JOIN_OPERATORS = 161;
+enum SQL_SQL92_REVOKE = 162;
+enum SQL_SQL92_ROW_VALUE_CONSTRUCTOR = 163;
+enum SQL_SQL92_STRING_FUNCTIONS = 164;
+enum SQL_SQL92_VALUE_EXPRESSIONS = 165;
+enum SQL_SR_CASCADE = 0x00000020L;
+enum SQL_SR_DELETE_TABLE = 0x00000080L;
+enum SQL_SR_GRANT_OPTION_FOR = 0x00000010L;
+enum SQL_SR_INSERT_COLUMN = 0x00000200L;
+enum SQL_SR_INSERT_TABLE = 0x00000100L;
+enum SQL_SR_REFERENCES_COLUMN = 0x00000800L;
+enum SQL_SR_REFERENCES_TABLE = 0x00000400L;
+enum SQL_SR_RESTRICT = 0x00000040L;
+enum SQL_SR_SELECT_TABLE = 0x00001000L;
+enum SQL_SR_UPDATE_COLUMN = 0x00004000L;
+enum SQL_SR_UPDATE_TABLE = 0x00002000L;
+enum SQL_SR_USAGE_ON_CHARACTER_SET = 0x00000002L;
+enum SQL_SR_USAGE_ON_COLLATION = 0x00000004L;
+enum SQL_SR_USAGE_ON_DOMAIN = 0x00000001L;
+enum SQL_SR_USAGE_ON_TRANSLATION = 0x00000008L;
+enum SQL_SRJO_CORRESPONDING_CLAUSE = 0x00000001L;
+enum SQL_SRJO_CROSS_JOIN = 0x00000002L;
+enum SQL_SRJO_EXCEPT_JOIN = 0x00000004L;
+enum SQL_SRJO_FULL_OUTER_JOIN = 0x00000008L;
+enum SQL_SRJO_INNER_JOIN = 0x00000010L;
+enum SQL_SRJO_INTERSECT_JOIN = 0x00000020L;
+enum SQL_SRJO_LEFT_OUTER_JOIN = 0x00000040L;
+enum SQL_SRJO_NATURAL_JOIN = 0x00000080L;
+enum SQL_SRJO_RIGHT_OUTER_JOIN = 0x00000100L;
+enum SQL_SRJO_UNION_JOIN = 0x00000200L;
+enum SQL_SRVC_DEFAULT = 0x00000004L;
+enum SQL_SRVC_NULL = 0x00000002L;
+enum SQL_SRVC_ROW_SUBQUERY = 0x00000008L;
+enum SQL_SRVC_VALUE_EXPRESSION = 0x00000001L;
+enum SQL_SSF_CONVERT = 0x00000001L;
+enum SQL_SSF_LOWER = 0x00000002L;
+enum SQL_SSF_SUBSTRING = 0x00000008L;
+enum SQL_SSF_TRANSLATE = 0x00000010L;
+enum SQL_SSF_TRIM_BOTH = 0x00000020L;
+enum SQL_SSF_TRIM_LEADING = 0x00000040L;
+enum SQL_SSF_TRIM_TRAILING = 0x00000080L;
+enum SQL_SSF_UPPER = 0x00000004L;
+enum SQL_STANDARD_CLI_CONFORMANCE = 166;
+enum SQL_STATIC_CURSOR_ATTRIBUTES1 = 167;
+enum SQL_STATIC_CURSOR_ATTRIBUTES2 = 168;
+enum SQL_SU_DML_STATEMENTS = SQL_OU_DML_STATEMENTS;
+enum SQL_SU_INDEX_DEFINITION = SQL_OU_INDEX_DEFINITION;
+enum SQL_SU_PRIVILEGE_DEFINITION = SQL_OU_PRIVILEGE_DEFINITION;
+enum SQL_SU_PROCEDURE_INVOCATION = SQL_OU_PROCEDURE_INVOCATION;
+enum SQL_SU_TABLE_DEFINITION = SQL_OU_TABLE_DEFINITION;
+enum SQL_SVE_CASE = 0x00000001L;
+enum SQL_SVE_CAST = 0x00000002L;
+enum SQL_SVE_COALESCE = 0x00000004L;
+enum SQL_SVE_NULLIF = 0x00000008L;
+enum SQL_UB_FIXED = SQL_UB_ON;
+enum SQL_UB_VARIABLE = 2UL;
+enum SQL_UNION_STATEMENT = SQL_UNION;
+enum SQL_UPDATE_BY_BOOKMARK = 5;
+enum SQL_US_UNION = SQL_U_UNION;
+enum SQL_US_UNION_ALL = SQL_U_UNION_ALL;
+}//[Yes] #endif /* ODBCVER >= 0x300 */
+static if (ODBCVER >= 0x0350)
+{
+enum SQL_DESC_ROWVER = 35;
+enum SQL_GUID = -11;
+enum SQL_C_GUID = SQL_GUID;
+ //#ifdef ODBC_STD
+ //#define SQLAllocHandle SQLAllocHandleStd
+ //#define SQLAllocEnv(p) SQLAllocHandleStd(SQL_HANDLE_ENV, SQL_NULL_HANDLE, p)
+ //#define SQL_YEAR SQL_CODE_YEAR
+ //#define SQL_MONTH SQL_CODE_MONTH
+ //#define SQL_DAY SQL_CODE_DAY
+ //#define SQL_HOUR SQL_CODE_HOUR
+ //#define SQL_MINUTE SQL_CODE_MINUTE
+ //#define SQL_SECOND SQL_CODE_SECOND
+ //#define SQL_YEAR_TO_MONTH SQL_CODE_YEAR_TO_MONTH
+ //#define SQL_DAY_TO_HOUR SQL_CODE_DAY_TO_HOUR
+ //#define SQL_DAY_TO_MINUTE SQL_CODE_DAY_TO_MINUTE
+ //#define SQL_DAY_TO_SECOND SQL_CODE_DAY_TO_SECOND
+ //#define SQL_HOUR_TO_MINUTE SQL_CODE_HOUR_TO_MINUTE
+ //#define SQL_HOUR_TO_SECOND SQL_CODE_HOUR_TO_SECOND
+ //#define SQL_MINUTE_TO_SECOND SQL_CODE_MINUTE_TO_SECOND
+ //#endif /* ODBC_STD */
+}//#endif /* ODBCVER >= 0x0350 */
+
+//static if (ODBCVER >= 0x0351)
+//{
+enum SQL_ATTR_ANSI_APP=115;
+enum SQL_AA_TRUE=1L;
+enum SQL_AA_FALSE=0L;
+//}//[Yes] #endif
+
+enum TRACE_VERSION=1000;
+enum TRACE_ON=1;
+
+const char [] SQL_ODBC_KEYWORDS =
+ "ABSOLUTE, ACTION, ADA, ADD, ALL, ALLOCATE, ALTER, AND, ANY, ARE, AS, "
+ ~ "ASC, ASSERTION, AT, AUTHORIZATION, AVG, "
+ ~ "BEGIN, BETWEEN, BIT, BIT_LENGTH, BOTH, BY, CASCADE, CASCADED, CASE, CAST, CATALOG, "
+ ~ "CHAR, CHAR_LENGTH, CHARACTER, CHARACTER_LENGTH, CHECK, CLOSE, COALESCE, "
+ ~ "COLLATE, COLLATION, COLUMN, COMMIT, CONNECT, CONNECTION, CONSTRAINT, "
+ ~ "CONSTRAINTS, CONTINUE, CONVERT, CORRESPONDING, COUNT, CREATE, CROSS, CURRENT, "
+ ~ "CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER, CURSOR, "
+ ~ "DATE, DAY, DEALLOCATE, DEC, DECIMAL, DECLARE, DEFAULT, DEFERRABLE, "
+ ~ "DEFERRED, DELETE, DESC, DESCRIBE, DESCRIPTOR, DIAGNOSTICS, DISCONNECT, "
+ ~ "DISTINCT, DOMAIN, DOUBLE, DROP, "
+ ~ "ELSE, END, END-EXEC, ESCAPE, EXCEPT, EXCEPTION, EXEC, EXECUTE, "
+ ~ "EXISTS, EXTERNAL, EXTRACT, "
+ ~ "FALSE, FETCH, FIRST, FLOAT, FOR, FOREIGN, FORTRAN, FOUND, FROM, FULL, "
+ ~ "GET, GLOBAL, GO, GOTO, GRANT, GROUP, HAVING, HOUR, "
+ ~ "IDENTITY, IMMEDIATE, IN, INCLUDE, INDEX, INDICATOR, INITIALLY, INNER, "
+ ~ "INPUT, INSENSITIVE, INSERT, INT, INTEGER, INTERSECT, INTERVAL, INTO, IS, ISOLATION, "
+ ~ "JOIN, KEY, LANGUAGE, LAST, LEADING, LEFT, LEVEL, LIKE, LOCAL, LOWER, "
+ ~ "MATCH, MAX, MIN, MINUTE, MODULE, MONTH, "
+ ~ "NAMES, NATIONAL, NATURAL, NCHAR, NEXT, NO, NONE, NOT, NULL, NULLIF, NUMERIC, "
+ ~ "OCTET_LENGTH, OF, ON, ONLY, OPEN, OPTION, OR, ORDER, OUTER, OUTPUT, OVERLAPS, "
+ ~ "PAD, PARTIAL, PASCAL, PLI, POSITION, PRECISION, PREPARE, PRESERVE, "
+ ~ "PRIMARY, PRIOR, PRIVILEGES, PROCEDURE, PUBLIC, "
+ ~ "READ, REAL, REFERENCES, RELATIVE, RESTRICT, REVOKE, RIGHT, ROLLBACK, ROWS"
+ ~ "SCHEMA, SCROLL, SECOND, SECTION, SELECT, SESSION, SESSION_USER, SET, SIZE, "
+ ~ "SMALLINT, SOME, SPACE, SQL, SQLCA, SQLCODE, SQLERROR, SQLSTATE, SQLWARNING, "
+ ~ "SUBSTRING, SUM, SYSTEM_USER, "
+ ~ "TABLE, TEMPORARY, THEN, TIME, TIMESTAMP, TIMEZONE_HOUR, TIMEZONE_MINUTE, "
+ ~ "TO, TRAILING, TRANSACTION, TRANSLATE, TRANSLATION, TRIM, TRUE, "
+ ~ "UNION, UNIQUE, UNKNOWN, UPDATE, UPPER, USAGE, USER, USING, "
+ ~ "VALUE, VALUES, VARCHAR, VARYING, VIEW, WHEN, WHENEVER, WHERE, WITH, WORK, WRITE, "
+ ~ "YEAR, ZONE";
+extern (System) {
+ SQLRETURN SQLDriverConnect(SQLHDBC, SQLHWND, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLUSMALLINT);
+ SQLRETURN SQLBrowseConnect(SQLHDBC, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLColumnPrivileges(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
+ SQLRETURN SQLColAttributes(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*, SQLLEN*);
+ SQLRETURN SQLDescribeParam(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT*, SQLULEN*, SQLSMALLINT*, SQLSMALLINT*);
+ SQLRETURN SQLExtendedFetch(SQLHSTMT, SQLUSMALLINT, SQLINTEGER, SQLUINTEGER*, SQLUSMALLINT*);
+ SQLRETURN SQLForeignKeys(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
+ SQLRETURN SQLMoreResults(SQLHSTMT);
+ SQLRETURN SQLNativeSql(SQLHDBC, SQLCHAR*, SQLINTEGER, SQLCHAR*, SQLINTEGER, SQLINTEGER*);
+ SQLRETURN SQLNumParams(SQLHSTMT, SQLSMALLINT*);
+ SQLRETURN SQLParamOptions(SQLHSTMT, SQLUINTEGER, SQLUINTEGER*);
+ SQLRETURN SQLPrimaryKeys(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
+ SQLRETURN SQLProcedureColumns(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
+ SQLRETURN SQLProcedures(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
+ SQLRETURN SQLSetPos(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLUSMALLINT);
+ SQLRETURN SQLTablePrivileges(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
+ SQLRETURN SQLDrivers(SQLHENV, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLBindParameter(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLULEN, SQLSMALLINT, SQLPOINTER, SQLLEN, SQLLEN*);
+ SQLRETURN SQLSetScrollOptions(SQLHSTMT, SQLUSMALLINT, SQLLEN, SQLUSMALLINT);/* deprecated */
+ DWORD ODBCGetTryWaitValue();
+ BOOL ODBCSetTryWaitValue(DWORD);
+ RETCODE TraceOpenLogFile(LPWSTR, LPWSTR, DWORD);
+ RETCODE TraceCloseLogFile();
+ VOID TraceReturn(RETCODE, RETCODE);
+ DWORD TraceVersion();
+ //static if (ODBCVER >= 0x0300)
+ //{
+ SQLRETURN SQLBulkOperations(SQLHSTMT, SQLSMALLINT);
+ SQLRETURN SQLAllocHandleStd( SQLSMALLINT, SQLHANDLE, SQLHANDLE*);
+ //}
+}
--- /dev/null
+/**
+ * Windows API header module
+ *
+ * Translated from MinGW Windows headers
+ *
+ * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
+ * Source: $(PHOBOSSRC etc/c/odbc/_sqltypes.d)
+
+Declarations for interfacing with the ODBC library.
+
+See_Also: $(LINK2 https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference,
+ ODBC API Reference on MSDN)
+ */
+deprecated ("The ODBC 3.5 modules are deprecated. Please use the ODBC4 modules in the `etc.c.odbc` package.")
+module etc.c.odbc.sqltypes;
+
+version (ANSI) {} else version = Unicode;
+
+/* Conversion notes:
+ It's assumed that ODBC >= 0x0300.
+*/
+
+// Import windows types or declare appropriate aliases if we are not.
+version (Windows)
+{
+ public import core.sys.windows.windef;
+ public import core.sys.windows.basetyps; // for GUID
+}
+else
+{
+ alias ushort USHORT, WORD;
+ alias uint ULONG, LONG, BOOL, DWORD;
+ alias void VOID;
+ alias void* PVOID, HANDLE, HWND;
+ alias ubyte UCHAR, BYTE;
+ alias wchar* LPWSTR;
+
+ align(1) struct GUID { // size is 16
+ align(1):
+ DWORD Data1;
+ WORD Data2;
+ WORD Data3;
+ BYTE[8] Data4;
+ }
+}
+alias GUID SQLGUID;
+
+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 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;
+}
+
+enum SQL_MAX_NUMERIC_LEN = 16;
+
+struct SQL_NUMERIC_STRUCT {
+ SQLCHAR precision;
+ SQLSCHAR scale;
+ SQLCHAR sign;
+ SQLCHAR[SQL_MAX_NUMERIC_LEN] val;
+}
+// } ODBCVER >= 0x0300
--- /dev/null
+/**
+ * Windows API header module
+ *
+ * Translated from MinGW Windows headers
+ *
+ * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
+ * Source: $(PHOBOSSRC etc/c/odbc/_sqlucode.d)
+
+Declarations for interfacing with the ODBC library.
+
+See_Also: $(LINK2 https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference,
+ ODBC API Reference on MSDN)
+ */
+deprecated ("The ODBC 3.5 modules are deprecated. Please use the ODBC4 modules in the `etc.c.odbc` package.")
+module etc.c.odbc.sqlucode;
+
+version (ANSI) {} else version = Unicode;
+
+import etc.c.odbc.sqlext;
+
+enum SQL_WCHAR = -8;
+enum SQL_WVARCHAR = -9;
+enum SQL_WLONGVARCHAR = -10;
+enum SQL_C_WCHAR = SQL_WCHAR;
+
+enum SQL_SQLSTATE_SIZEW = 10;
+version (Unicode)
+{
+enum SQL_C_TCHAR = SQL_C_WCHAR;
+}
+else
+{
+enum SQL_C_TCHAR = SQL_C_CHAR;
+}
+
+// Moved from sqlext
+static if (ODBCVER <= 0x0300)
+{
+enum SQL_UNICODE = -95;
+enum SQL_UNICODE_VARCHAR = -96;
+enum SQL_UNICODE_LONGVARCHAR = -97;
+enum SQL_UNICODE_CHAR = SQL_UNICODE;
+}
+else
+{
+enum SQL_UNICODE = SQL_WCHAR;
+enum SQL_UNICODE_VARCHAR = SQL_WVARCHAR;
+enum SQL_UNICODE_LONGVARCHAR = SQL_WLONGVARCHAR;
+enum SQL_UNICODE_CHAR = SQL_WCHAR;
+}
+
+extern (System) {
+ SQLRETURN SQLBrowseConnectA(SQLHDBC, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLBrowseConnectW(SQLHDBC, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLColAttributeA(SQLHSTMT, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*, SQLPOINTER);
+ SQLRETURN SQLColAttributeW(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*, SQLPOINTER);
+ SQLRETURN SQLColAttributesA(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*, SQLLEN*);
+ SQLRETURN SQLColAttributesW(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*, SQLLEN*);
+ SQLRETURN SQLColumnPrivilegesA( SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT , SQLCHAR*, SQLSMALLINT );
+ SQLRETURN SQLColumnPrivilegesW( SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT );
+ SQLRETURN SQLColumnsA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT , SQLCHAR*, SQLSMALLINT );
+ SQLRETURN SQLColumnsW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT , SQLWCHAR*, SQLSMALLINT );
+ SQLRETURN SQLConnectA(SQLHDBC, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
+ SQLRETURN SQLConnectW(SQLHDBC, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT);
+ SQLRETURN SQLDataSourcesA(SQLHENV, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLDataSourcesW(SQLHENV, SQLUSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLDescribeColA(SQLHSTMT, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLSMALLINT*, SQLULEN*, SQLSMALLINT*, SQLSMALLINT*);
+ SQLRETURN SQLDescribeColW(SQLHSTMT, SQLUSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLSMALLINT*, SQLULEN*, SQLSMALLINT*, SQLSMALLINT*);
+ SQLRETURN SQLDriverConnectA(SQLHDBC, SQLHWND, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLUSMALLINT);
+ SQLRETURN SQLDriverConnectW(SQLHDBC, SQLHWND, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLUSMALLINT);
+ SQLRETURN SQLDriversA(SQLHENV, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLDriversW(SQLHENV, SQLUSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLErrorA(SQLHENV, SQLHDBC, SQLHSTMT, SQLCHAR*, SQLINTEGER*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLErrorW(SQLHENV, SQLHDBC, SQLHSTMT, SQLWCHAR*, SQLINTEGER*, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLExecDirectA(SQLHSTMT, SQLCHAR*, SQLINTEGER);
+ SQLRETURN SQLExecDirectW(SQLHSTMT, SQLWCHAR*, SQLINTEGER);
+ SQLRETURN SQLForeignKeysA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
+ SQLRETURN SQLForeignKeysW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT);
+ SQLRETURN SQLGetConnectAttrA(SQLHDBC, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER*);
+ SQLRETURN SQLGetConnectAttrW(SQLHDBC, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER*);
+ SQLRETURN SQLGetConnectOptionA(SQLHDBC, SQLUSMALLINT, SQLPOINTER);
+ SQLRETURN SQLGetConnectOptionW(SQLHDBC, SQLUSMALLINT, SQLPOINTER);
+ SQLRETURN SQLGetCursorNameA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLGetCursorNameW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLGetInfoA(SQLHDBC, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLGetInfoW(SQLHDBC, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLGetTypeInfoA(SQLHSTMT, SQLSMALLINT);
+ SQLRETURN SQLGetTypeInfoW(SQLHSTMT, SQLSMALLINT);
+ SQLRETURN SQLNativeSqlA(SQLHDBC, SQLCHAR*, SQLINTEGER, SQLCHAR*, SQLINTEGER, SQLINTEGER*);
+ SQLRETURN SQLNativeSqlW(SQLHDBC, SQLWCHAR*, SQLINTEGER, SQLWCHAR*, SQLINTEGER, SQLINTEGER*);
+ SQLRETURN SQLPrepareA(SQLHSTMT, SQLCHAR*, SQLINTEGER);
+ SQLRETURN SQLPrepareW(SQLHSTMT, SQLWCHAR*, SQLINTEGER);
+ SQLRETURN SQLPrimaryKeysA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT );
+ SQLRETURN SQLPrimaryKeysW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT);
+ SQLRETURN SQLProcedureColumnsA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
+ SQLRETURN SQLProcedureColumnsW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT);
+ SQLRETURN SQLProceduresA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
+ SQLRETURN SQLProceduresW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT);
+ SQLRETURN SQLSetConnectAttrA(SQLHDBC, SQLINTEGER, SQLPOINTER, SQLINTEGER);
+ SQLRETURN SQLSetConnectAttrW(SQLHDBC, SQLINTEGER, SQLPOINTER, SQLINTEGER);
+ SQLRETURN SQLSetConnectOptionA(SQLHDBC, SQLUSMALLINT, SQLULEN);
+ SQLRETURN SQLSetConnectOptionW(SQLHDBC, SQLUSMALLINT, SQLULEN);
+ SQLRETURN SQLSetCursorNameA(SQLHSTMT, SQLCHAR*, SQLSMALLINT);
+ SQLRETURN SQLSetCursorNameW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT);
+ SQLRETURN SQLSpecialColumnsA(SQLHSTMT, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT , SQLUSMALLINT, SQLUSMALLINT);
+ SQLRETURN SQLSpecialColumnsW(SQLHSTMT, SQLUSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT , SQLUSMALLINT, SQLUSMALLINT);
+ SQLRETURN SQLStatisticsA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT , SQLUSMALLINT, SQLUSMALLINT);
+ SQLRETURN SQLStatisticsW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT , SQLUSMALLINT, SQLUSMALLINT);
+ SQLRETURN SQLTablePrivilegesA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
+ SQLRETURN SQLTablePrivilegesW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT );
+ SQLRETURN SQLTablesA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT);
+ SQLRETURN SQLTablesW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT);
+ static if (ODBCVER >= 0x0300)
+ {
+ SQLRETURN SQLGetDescFieldA(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER, SQLINTEGER*);
+ SQLRETURN SQLGetDescFieldW(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER, SQLINTEGER*);
+ SQLRETURN SQLSetDescFieldA(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER);
+ SQLRETURN SQLSetDescFieldW(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER);
+ SQLRETURN SQLGetDescRecA(SQLHDESC, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLSMALLINT*, SQLSMALLINT*, SQLLEN*, SQLSMALLINT*, SQLSMALLINT*, SQLSMALLINT*);
+ SQLRETURN SQLGetDescRecW(SQLHDESC, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLSMALLINT*, SQLSMALLINT*, SQLLEN*, SQLSMALLINT*, SQLSMALLINT*, SQLSMALLINT*);
+ SQLRETURN SQLGetDiagFieldA(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLGetDiagFieldW(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLGetDiagRecA(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLCHAR*, SQLINTEGER*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLGetDiagRecW(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLWCHAR*, SQLINTEGER*, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*);
+ SQLRETURN SQLGetStmtAttrA(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER*);
+ SQLRETURN SQLGetStmtAttrW(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER*);
+ SQLRETURN SQLSetStmtAttrA(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER);
+ SQLRETURN SQLSetStmtAttrW(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER);
+ } // #endif /* (ODBCVER >= 0x0300) */
+}
+
+version (Unicode)
+{
+ alias SQLBrowseConnectW SQLBrowseConnect;
+ alias SQLColAttributeW SQLColAttribute;
+ alias SQLColAttributesW SQLColAttributes;
+ alias SQLColumnPrivilegesW SQLColumnPrivileges;
+ alias SQLColumnsW SQLColumns;
+ alias SQLConnectW SQLConnect;
+ alias SQLDataSourcesW SQLDataSources;
+ alias SQLDescribeColW SQLDescribeCol;
+ alias SQLDriverConnectW SQLDriverConnect;
+ alias SQLDriversW SQLDrivers;
+ alias SQLErrorW SQLError;
+ alias SQLExecDirectW SQLExecDirect;
+ alias SQLForeignKeysW SQLForeignKeys;
+ alias SQLGetConnectAttrW SQLGetConnectAttr;
+ alias SQLGetConnectOptionW SQLGetConnectOption;
+ alias SQLGetCursorNameW SQLGetCursorName;
+ alias SQLGetDescFieldW SQLGetDescField;
+ alias SQLGetDescRecW SQLGetDescRec;
+ alias SQLGetDiagFieldW SQLGetDiagField;
+ alias SQLGetDiagRecW SQLGetDiagRec;
+ alias SQLGetInfoW SQLGetInfo;
+ alias SQLGetStmtAttrW SQLGetStmtAttr;
+ alias SQLGetTypeInfoW SQLGetTypeInfo;
+ alias SQLNativeSqlW SQLNativeSql;
+ alias SQLPrepareW SQLPrepare;
+ alias SQLPrimaryKeysW SQLPrimaryKeys;
+ alias SQLProcedureColumnsW SQLProcedureColumns;
+ alias SQLProceduresW SQLProcedures;
+ alias SQLSetConnectAttrW SQLSetConnectAttr;
+ alias SQLSetConnectOptionW SQLSetConnectOption;
+ alias SQLSetCursorNameW SQLSetCursorName;
+ alias SQLSetDescFieldW SQLSetDescField;
+ alias SQLSetStmtAttrW SQLSetStmtAttr;
+ alias SQLSpecialColumnsW SQLSpecialColumns;
+ alias SQLStatisticsW SQLStatistics;
+ alias SQLTablePrivilegesW SQLTablePrivileges;
+ alias SQLTablesW SQLTables;
+}
--- /dev/null
+module etc.c.sqlite3;
+/*
+** 2001-09-15
+**
+** The author disclaims copyright to this source code. In place of
+** a legal notice, here is a blessing:
+**
+** May you do good and not evil.
+** May you find forgiveness for yourself and forgive others.
+** May you share freely, never taking more than you give.
+**
+*************************************************************************
+** This header file defines the interface that the SQLite library
+** presents to client programs. If a C-function, structure, datatype,
+** or constant definition does not appear in this file, then it is
+** not a published API of SQLite, is subject to change without
+** notice, and should not be referenced by programs that use SQLite.
+**
+** Some of the definitions that are in this file are marked as
+** "experimental". Experimental interfaces are normally new
+** features recently added to SQLite. We do not anticipate changes
+** to experimental interfaces but reserve the right to make minor changes
+** if experience from use "in the wild" suggest such changes are prudent.
+**
+** The official C-language API documentation for SQLite is derived
+** from comments in this file. This file is the authoritative source
+** on how SQLite interfaces are suppose to operate.
+**
+** The name of this file under configuration management is "sqlite.h.in".
+** The makefile makes some minor changes to this file (such as inserting
+** the version number) and changes its name to "sqlite3.h" as
+** part of the build process.
+*/
+
+import core.stdc.stdarg : va_list;
+import core.stdc.config : c_ulong;
+
+extern (C) __gshared nothrow:
+
+/**
+* CAPI3REF: Compile-Time Library Version Numbers
+*/
+enum SQLITE_VERSION = "3.33.0";
+/// Ditto
+enum SQLITE_VERSION_NUMBER = 3033000;
+/// Ditto
+enum SQLITE_SOURCE_ID = "2020-08-14 13:23:32 fca8dc8b578f215a969cd899336378966156154710873e68b3d9ac5881b0ff3f";
+
+/**
+* CAPI3REF: Run-Time Library Version Numbers
+*/
+extern immutable(char)* sqlite3_version;
+/// Ditto
+immutable(char)* sqlite3_libversion();
+/// Ditto
+immutable(char)* sqlite3_sourceid();
+/// Ditto
+int sqlite3_libversion_number();
+
+/**
+* CAPI3REF: Run-Time Library Compilation Options Diagnostics
+*/
+int sqlite3_compileoption_used(const char *zOptName);
+/// Ditto
+immutable(char)* sqlite3_compileoption_get(int N);
+
+/**
+* CAPI3REF: Test To See If The Library Is Threadsafe
+*/
+int sqlite3_threadsafe();
+
+/**
+* CAPI3REF: Database Connection Handle
+*/
+struct sqlite3;
+
+///
+alias sqlite3_int64 = long;
+///
+alias sqlite3_uint64 = ulong;
+
+/**
+* CAPI3REF: Closing A Database Connection
+*
+*/
+int sqlite3_close(sqlite3 *);
+int sqlite3_close_v2(sqlite3*);
+
+/**
+* The type for a callback function.
+* This is legacy and deprecated. It is included for historical
+* compatibility and is not documented.
+*/
+alias sqlite3_callback = int function (void*,int,char**, char**);
+
+/**
+* CAPI3REF: One-Step Query Execution Interface
+*/
+int sqlite3_exec(
+ sqlite3*, /** An open database */
+ const(char)*sql, /** SQL to be evaluated */
+ int function (void*,int,char**,char**) callback, /** Callback function */
+ void *, /** 1st argument to callback */
+ char **errmsg /** Error msg written here */
+);
+
+/**
+* CAPI3REF: Result Codes
+*/
+enum
+{
+ SQLITE_OK = 0, /** Successful result */
+/* beginning-of-error-codes */
+/// Ditto
+ SQLITE_ERROR = 1, /** Generic error */
+ SQLITE_INTERNAL = 2, /** Internal logic error in SQLite */
+ SQLITE_PERM = 3, /** Access permission denied */
+ SQLITE_ABORT = 4, /** Callback routine requested an abort */
+ SQLITE_BUSY = 5, /** The database file is locked */
+ SQLITE_LOCKED = 6, /** A table in the database is locked */
+ SQLITE_NOMEM = 7, /** A malloc() failed */
+ SQLITE_READONLY = 8, /** Attempt to write a readonly database */
+ SQLITE_INTERRUPT = 9, /** Operation terminated by sqlite3_interrupt()*/
+ SQLITE_IOERR = 10, /** Some kind of disk I/O error occurred */
+ SQLITE_CORRUPT = 11, /** The database disk image is malformed */
+ SQLITE_NOTFOUND = 12, /** Unknown opcode in sqlite3_file_control() */
+ SQLITE_FULL = 13, /** Insertion failed because database is full */
+ SQLITE_CANTOPEN = 14, /** Unable to open the database file */
+ SQLITE_PROTOCOL = 15, /** Database lock protocol error */
+ SQLITE_EMPTY = 16, /** Internal use only */
+ SQLITE_SCHEMA = 17, /** The database schema changed */
+ SQLITE_TOOBIG = 18, /** String or BLOB exceeds size limit */
+ SQLITE_CONSTRAINT = 19, /** Abort due to constraint violation */
+ SQLITE_MISMATCH = 20, /** Data type mismatch */
+ SQLITE_MISUSE = 21, /** Library used incorrectly */
+ SQLITE_NOLFS = 22, /** Uses OS features not supported on host */
+ SQLITE_AUTH = 23, /** Authorization denied */
+ SQLITE_FORMAT = 24, /** Not used */
+ SQLITE_RANGE = 25, /** 2nd parameter to sqlite3_bind out of range */
+ SQLITE_NOTADB = 26, /** File opened that is not a database file */
+ SQLITE_NOTICE = 27,
+ SQLITE_WARNING = 28,
+ SQLITE_ROW = 100, /** sqlite3_step() has another row ready */
+ SQLITE_DONE = 101 /** sqlite3_step() has finished executing */
+}
+/* end-of-error-codes */
+
+/**
+* CAPI3REF: Extended Result Codes
+*/
+enum
+{
+ SQLITE_ERROR_MISSING_COLLSEQ = (SQLITE_ERROR | (1 << 8)),
+ SQLITE_ERROR_RETRY = (SQLITE_ERROR | (2 << 8)),
+ SQLITE_ERROR_SNAPSHOT = (SQLITE_ERROR | (3 << 8)),
+ SQLITE_IOERR_READ = (SQLITE_IOERR | (1 << 8)),
+ SQLITE_IOERR_SHORT_READ = (SQLITE_IOERR | (2 << 8)),
+ SQLITE_IOERR_WRITE = (SQLITE_IOERR | (3 << 8)),
+ SQLITE_IOERR_FSYNC = (SQLITE_IOERR | (4 << 8)),
+ SQLITE_IOERR_DIR_FSYNC = (SQLITE_IOERR | (5 << 8)),
+ SQLITE_IOERR_TRUNCATE = (SQLITE_IOERR | (6 << 8)),
+ SQLITE_IOERR_FSTAT = (SQLITE_IOERR | (7 << 8)),
+ SQLITE_IOERR_UNLOCK = (SQLITE_IOERR | (8 << 8)),
+ SQLITE_IOERR_RDLOCK = (SQLITE_IOERR | (9 << 8)),
+ SQLITE_IOERR_DELETE = (SQLITE_IOERR | (10 << 8)),
+ SQLITE_IOERR_BLOCKED = (SQLITE_IOERR | (11 << 8)),
+ SQLITE_IOERR_NOMEM = (SQLITE_IOERR | (12 << 8)),
+ SQLITE_IOERR_ACCESS = (SQLITE_IOERR | (13 << 8)),
+ SQLITE_IOERR_CHECKRESERVEDLOCK = (SQLITE_IOERR | (14 << 8)),
+ SQLITE_IOERR_LOCK = (SQLITE_IOERR | (15 << 8)),
+ SQLITE_IOERR_CLOSE = (SQLITE_IOERR | (16 << 8)),
+ SQLITE_IOERR_DIR_CLOSE = (SQLITE_IOERR | (17 << 8)),
+ SQLITE_IOERR_SHMOPEN = (SQLITE_IOERR | (18 << 8)),
+ SQLITE_IOERR_SHMSIZE = (SQLITE_IOERR | (19 << 8)),
+ SQLITE_IOERR_SHMLOCK = (SQLITE_IOERR | (20 << 8)),
+ SQLITE_IOERR_SHMMAP = (SQLITE_IOERR | (21 << 8)),
+ SQLITE_IOERR_SEEK = (SQLITE_IOERR | (22 << 8)),
+ SQLITE_IOERR_DELETE_NOENT = (SQLITE_IOERR | (23 << 8)),
+ SQLITE_IOERR_MMAP = (SQLITE_IOERR | (24 << 8)),
+ SQLITE_IOERR_GETTEMPPATH = (SQLITE_IOERR | (25 << 8)),
+ SQLITE_IOERR_CONVPATH = (SQLITE_IOERR | (26 << 8)),
+ SQLITE_IOERR_VNODE = (SQLITE_IOERR | (27 << 8)),
+ SQLITE_IOERR_AUTH = (SQLITE_IOERR | (28 << 8)),
+ SQLITE_IOERR_BEGIN_ATOMIC = (SQLITE_IOERR | (29 << 8)),
+ SQLITE_IOERR_COMMIT_ATOMIC = (SQLITE_IOERR | (30 << 8)),
+ SQLITE_IOERR_ROLLBACK_ATOMIC = (SQLITE_IOERR | (31 << 8)),
+ SQLITE_IOERR_DATA = (SQLITE_IOERR | (32 << 8)),
+ SQLITE_LOCKED_SHAREDCACHE = (SQLITE_LOCKED | (1 << 8)),
+ SQLITE_LOCKED_VTAB = (SQLITE_LOCKED | (2 << 8)),
+ SQLITE_BUSY_RECOVERY = (SQLITE_BUSY | (1 << 8)),
+ SQLITE_BUSY_SNAPSHOT = (SQLITE_BUSY | (2 << 8)),
+ SQLITE_BUSY_TIMEOUT = (SQLITE_BUSY | (3 << 8)),
+ SQLITE_CANTOPEN_NOTEMPDIR = (SQLITE_CANTOPEN | (1 << 8)),
+ SQLITE_CANTOPEN_ISDIR = (SQLITE_CANTOPEN | (2 << 8)),
+ SQLITE_CANTOPEN_FULLPATH = (SQLITE_CANTOPEN | (3 << 8)),
+ SQLITE_CANTOPEN_CONVPATH = (SQLITE_CANTOPEN | (4 << 8)),
+ SQLITE_CANTOPEN_DIRTYWAL = (SQLITE_CANTOPEN | (5 << 8)), /* Not Used */
+ SQLITE_CANTOPEN_SYMLINK = (SQLITE_CANTOPEN | (6 << 8)),
+ SQLITE_CORRUPT_VTAB = (SQLITE_CORRUPT | (1 << 8)),
+ SQLITE_CORRUPT_SEQUENCE = (SQLITE_CORRUPT | (2 << 8)),
+ SQLITE_CORRUPT_INDEX = (SQLITE_CORRUPT | (3 << 8)),
+ SQLITE_READONLY_RECOVERY = (SQLITE_READONLY | (1 << 8)),
+ SQLITE_READONLY_CANTLOCK = (SQLITE_READONLY | (2 << 8)),
+ SQLITE_READONLY_ROLLBACK = (SQLITE_READONLY | (3 << 8)),
+ SQLITE_READONLY_DBMOVED = (SQLITE_READONLY | (4 << 8)),
+ SQLITE_READONLY_CANTINIT = (SQLITE_READONLY | (5 << 8)),
+ SQLITE_READONLY_DIRECTORY = (SQLITE_READONLY | (6 << 8)),
+ SQLITE_ABORT_ROLLBACK = (SQLITE_ABORT | (2 << 8)),
+ SQLITE_CONSTRAINT_CHECK = (SQLITE_CONSTRAINT | (1 << 8)),
+ SQLITE_CONSTRAINT_COMMITHOOK = (SQLITE_CONSTRAINT | (2 << 8)),
+ SQLITE_CONSTRAINT_FOREIGNKEY = (SQLITE_CONSTRAINT | (3 << 8)),
+ SQLITE_CONSTRAINT_FUNCTION = (SQLITE_CONSTRAINT | (4 << 8)),
+ SQLITE_CONSTRAINT_NOTNULL = (SQLITE_CONSTRAINT | (5 << 8)),
+ SQLITE_CONSTRAINT_PRIMARYKEY = (SQLITE_CONSTRAINT | (6 << 8)),
+ SQLITE_CONSTRAINT_TRIGGER = (SQLITE_CONSTRAINT | (7 << 8)),
+ SQLITE_CONSTRAINT_UNIQUE = (SQLITE_CONSTRAINT | (8 << 8)),
+ SQLITE_CONSTRAINT_VTAB = (SQLITE_CONSTRAINT | (9 << 8)),
+ SQLITE_CONSTRAINT_ROWID = (SQLITE_CONSTRAINT |(10 << 8)),
+ QLITE_CONSTRAINT_PINNED = (SQLITE_CONSTRAINT |(11 << 8)),
+ SQLITE_NOTICE_RECOVER_WAL = (SQLITE_NOTICE | (1 << 8)),
+ SQLITE_NOTICE_RECOVER_ROLLBACK = (SQLITE_NOTICE | (2 << 8)),
+ SQLITE_WARNING_AUTOINDEX = (SQLITE_WARNING | (1 << 8)),
+ SQLITE_AUTH_USER = (SQLITE_AUTH | (1 << 8)),
+ SQLITE_OK_LOAD_PERMANENTLY = (SQLITE_OK | (1 << 8)),
+ SQLITE_OK_SYMLINK = (SQLITE_OK | (2 << 8))
+}
+
+/**
+* CAPI3REF: Flags For File Open Operations
+*/
+enum
+{
+ SQLITE_OPEN_READONLY = 0x00000001, /** Ok for sqlite3_open_v2() */
+ SQLITE_OPEN_READWRITE = 0x00000002, /** Ok for sqlite3_open_v2() */
+ SQLITE_OPEN_CREATE = 0x00000004, /** Ok for sqlite3_open_v2() */
+ SQLITE_OPEN_DELETEONCLOSE = 0x00000008, /** VFS only */
+ SQLITE_OPEN_EXCLUSIVE = 0x00000010, /** VFS only */
+ SQLITE_OPEN_AUTOPROXY = 0x00000020, /** VFS only */
+ SQLITE_OPEN_URI = 0x00000040, /** Ok for sqlite3_open_v2() */
+ SQLITE_OPEN_MEMORY = 0x00000080, /** Ok for sqlite3_open_v2() */
+ SQLITE_OPEN_MAIN_DB = 0x00000100, /** VFS only */
+ SQLITE_OPEN_TEMP_DB = 0x00000200, /** VFS only */
+ SQLITE_OPEN_TRANSIENT_DB = 0x00000400, /** VFS only */
+ SQLITE_OPEN_MAIN_JOURNAL = 0x00000800, /** VFS only */
+ SQLITE_OPEN_TEMP_JOURNAL = 0x00001000, /** VFS only */
+ SQLITE_OPEN_SUBJOURNAL = 0x00002000, /** VFS only */
+ SQLITE_OPEN_SUPER_JOURNAL = 0x00004000, /** VFS only */
+ SQLITE_OPEN_NOMUTEX = 0x00008000, /** Ok for sqlite3_open_v2() */
+ SQLITE_OPEN_FULLMUTEX = 0x00010000, /** Ok for sqlite3_open_v2() */
+ SQLITE_OPEN_SHAREDCACHE = 0x00020000, /** Ok for sqlite3_open_v2() */
+ SQLITE_OPEN_PRIVATECACHE = 0x00040000, /** Ok for sqlite3_open_v2() */
+ SQLITE_OPEN_WAL = 0x00080000, /** VFS only */
+ SQLITE_OPEN_NOFOLLOW = 0x01000000 /** Ok for sqlite3_open_v2() */
+}
+
+deprecated ("Legacy compatibility")
+{
+ alias SQLITE_OPEN_MASTER_JOURNAL = SQLITE_OPEN_SUPER_JOURNAL; /** VFS only */
+}
+
+/**
+* CAPI3REF: Device Characteristics
+*/
+enum
+{
+ SQLITE_IOCAP_ATOMIC = 0x00000001,
+ SQLITE_IOCAP_ATOMIC512 = 0x00000002,
+ SQLITE_IOCAP_ATOMIC1K = 0x00000004,
+ SQLITE_IOCAP_ATOMIC2K = 0x00000008,
+ SQLITE_IOCAP_ATOMIC4K = 0x00000010,
+ SQLITE_IOCAP_ATOMIC8K = 0x00000020,
+ SQLITE_IOCAP_ATOMIC16K = 0x00000040,
+ SQLITE_IOCAP_ATOMIC32K = 0x00000080,
+ SQLITE_IOCAP_ATOMIC64K = 0x00000100,
+ SQLITE_IOCAP_SAFE_APPEND = 0x00000200,
+ SQLITE_IOCAP_SEQUENTIAL = 0x00000400,
+ SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN = 0x00000800,
+ SQLITE_IOCAP_POWERSAFE_OVERWRITE = 0x00001000,
+ SQLITE_IOCAP_IMMUTABLE = 0x00002000,
+ SQLITE_IOCAP_BATCH_ATOMIC = 0x00004000
+}
+
+/**
+* CAPI3REF: File Locking Levels
+*/
+enum
+{
+ SQLITE_LOCK_NONE = 0,
+ SQLITE_LOCK_SHARED = 1,
+ SQLITE_LOCK_RESERVED = 2,
+ SQLITE_LOCK_PENDING = 3,
+ SQLITE_LOCK_EXCLUSIVE = 4
+}
+
+/**
+* CAPI3REF: Synchronization Type Flags
+*/
+enum
+{
+ SQLITE_SYNC_NORMAL = 0x00002,
+ SQLITE_SYNC_FULL = 0x00003,
+ SQLITE_SYNC_DATAONLY = 0x00010
+}
+
+/**
+* CAPI3REF: OS Interface Open File Handle
+*/
+struct sqlite3_file
+{
+ const(sqlite3_io_methods)*pMethods; /* Methods for an open file */
+}
+
+/**
+* CAPI3REF: OS Interface File Virtual Methods Object
+*/
+
+struct sqlite3_io_methods
+{
+ int iVersion;
+ int function (sqlite3_file*) xClose;
+ int function (sqlite3_file*, void*, int iAmt, sqlite3_int64 iOfst) xRead;
+ int function (sqlite3_file*, const void*, int iAmt, sqlite3_int64 iOfst) xWrite;
+ int function (sqlite3_file*, sqlite3_int64 size) xTruncate;
+ int function (sqlite3_file*, int flags) xSync;
+ int function (sqlite3_file*, sqlite3_int64 *pSize) xFileSize;
+ int function (sqlite3_file*, int) xLock;
+ int function (sqlite3_file*, int) xUnlock;
+ int function (sqlite3_file*, int *pResOut) xCheckReservedLock;
+ int function (sqlite3_file*, int op, void *pArg) xFileControl;
+ int function (sqlite3_file*) xSectorSize;
+ int function (sqlite3_file*) xDeviceCharacteristics;
+ /* Methods above are valid for version 1 */
+ int function (sqlite3_file*, int iPg, int pgsz, int, void **) xShmMap;
+ int function (sqlite3_file*, int offset, int n, int flags) xShmLock;
+ void function (sqlite3_file*) xShmBarrier;
+ int function (sqlite3_file*, int deleteFlag) xShmUnmap;
+ /* Methods above are valid for version 2 */
+ /* Additional methods may be added in future releases */
+ int function (sqlite3_file*, sqlite3_int64 iOfst, int iAmt, void **pp) xFetch;
+ int function (sqlite3_file*, sqlite3_int64 iOfst, void *p) xUnfetch;
+}
+
+/**
+* CAPI3REF: Standard File Control Opcodes
+*/
+enum
+{
+ SQLITE_FCNTL_LOCKSTATE = 1,
+ SQLITE_FCNTL_GET_LOCKPROXYFILE = 2,
+ SQLITE_FCNTL_SET_LOCKPROXYFILE = 3,
+ SQLITE_FCNTL_LAST_ERRNO = 4,
+ SQLITE_FCNTL_SIZE_HINT = 5,
+ SQLITE_FCNTL_CHUNK_SIZE = 6,
+ SQLITE_FCNTL_FILE_POINTER = 7,
+ SQLITE_FCNTL_SYNC_OMITTED = 8,
+ SQLITE_FCNTL_WIN32_AV_RETRY = 9,
+ SQLITE_FCNTL_PERSIST_WAL = 10,
+ SQLITE_FCNTL_OVERWRITE = 11,
+ SQLITE_FCNTL_VFSNAME = 12,
+ SQLITE_FCNTL_POWERSAFE_OVERWRITE = 13,
+ SQLITE_FCNTL_PRAGMA = 14,
+ SQLITE_FCNTL_BUSYHANDLER = 15,
+ SQLITE_FCNTL_TEMPFILENAME = 16,
+ SQLITE_FCNTL_MMAP_SIZE = 18,
+ SQLITE_FCNTL_TRACE = 19,
+ SQLITE_FCNTL_HAS_MOVED = 20,
+ SQLITE_FCNTL_SYNC = 21,
+ SQLITE_FCNTL_COMMIT_PHASETWO = 22,
+ SQLITE_FCNTL_WIN32_SET_HANDLE = 23,
+ SQLITE_FCNTL_WAL_BLOCK = 24,
+ SQLITE_FCNTL_ZIPVFS = 25,
+ SQLITE_FCNTL_RBU = 26,
+ SQLITE_FCNTL_VFS_POINTER = 27,
+ SQLITE_FCNTL_JOURNAL_POINTER = 28,
+ SQLITE_FCNTL_WIN32_GET_HANDLE = 29,
+ SQLITE_FCNTL_PDB = 30,
+ SQLITE_FCNTL_BEGIN_ATOMIC_WRITE = 31,
+ SQLITE_FCNTL_COMMIT_ATOMIC_WRITE = 32,
+ SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE = 33,
+ SQLITE_FCNTL_LOCK_TIMEOUT = 34,
+ SQLITE_FCNTL_DATA_VERSION = 35,
+ SQLITE_FCNTL_SIZE_LIMIT = 36,
+ SQLITE_FCNTL_CKPT_DONE = 37,
+ SQLITE_FCNTL_RESERVE_BYTES = 38,
+ SQLITE_FCNTL_CKPT_START = 39
+}
+
+deprecated ("deprecated names")
+{
+ alias SQLITE_GET_LOCKPROXYFILE = SQLITE_FCNTL_GET_LOCKPROXYFILE;
+ alias SQLITE_SET_LOCKPROXYFILE = SQLITE_FCNTL_SET_LOCKPROXYFILE;
+ alias SQLITE_LAST_ERRNO = SQLITE_FCNTL_LAST_ERRNO;
+}
+
+/**
+* CAPI3REF: Mutex Handle
+*/
+struct sqlite3_mutex;
+
+/**
+* CAPI3REF: Loadable Extension Thunk
+*/
+struct sqlite3_api_routines;
+
+/**
+* CAPI3REF: OS Interface Object
+*/
+
+alias xDlSymReturn = void * function();
+/// Ditto
+alias sqlite3_syscall_ptr = void function();
+
+struct sqlite3_vfs
+{
+ int iVersion; /** Structure version number (currently 2) */
+ int szOsFile; /** Size of subclassed sqlite3_file */
+ int mxPathname; /** Maximum file pathname length */
+ sqlite3_vfs *pNext; /** Next registered VFS */
+ const(char)*zName; /** Name of this virtual file system */
+ void *pAppData; /** Pointer to application-specific data */
+ int function (sqlite3_vfs*, const char *zName, sqlite3_file*,
+ int flags, int *pOutFlags) xOpen;
+ int function (sqlite3_vfs*, const char *zName, int syncDir) xDelete;
+ int function (sqlite3_vfs*, const char *zName, int flags, int *pResOut) xAccess;
+ int function (sqlite3_vfs*, const char *zName, int nOut, char *zOut) xFullPathname;
+ void* function (sqlite3_vfs*, const char *zFilename) xDlOpen;
+ void function (sqlite3_vfs*, int nByte, char *zErrMsg) xDlError;
+ xDlSymReturn function (sqlite3_vfs*,void*, const char *zSymbol) *xDlSym;
+ void function (sqlite3_vfs*, void*) xDlClose;
+ int function (sqlite3_vfs*, int nByte, char *zOut) xRandomness;
+ int function (sqlite3_vfs*, int microseconds) xSleep;
+ int function (sqlite3_vfs*, double*) xCurrentTime;
+ int function (sqlite3_vfs*, int, char *) xGetLastError;
+ /*
+ ** The methods above are in version 1 of the sqlite_vfs object
+ ** definition. Those that follow are added in version 2 or later
+ */
+ int function (sqlite3_vfs*, sqlite3_int64*) xCurrentTimeInt64;
+ /*
+ ** The methods above are in versions 1 and 2 of the sqlite_vfs object.
+ ** Those below are for version 3 and greater.
+ */
+ int function(sqlite3_vfs*, const char * zName, sqlite3_syscall_ptr) xSetSystemCall;
+ sqlite3_syscall_ptr function(sqlite3_vfs*, const char * zName) xGetSystemCall;
+ const(char)* function(sqlite3_vfs*, const char * zName) xNextSystemCall;
+ /*
+ ** The methods above are in versions 1 through 3 of the sqlite_vfs object.
+ ** New fields may be appended in figure versions. The iVersion
+ ** value will increment whenever this happens.
+ */
+}
+
+/**
+* CAPI3REF: Flags for the xAccess VFS method
+*/
+enum
+{
+ SQLITE_ACCESS_EXISTS = 0,
+
+ SQLITE_ACCESS_READWRITE = 1, /** Used by PRAGMA temp_store_directory */
+ SQLITE_ACCESS_READ = 2 /** Unused */
+}
+
+/**
+* CAPI3REF: Flags for the xShmLock VFS method
+*/
+enum
+{
+ SQLITE_SHM_UNLOCK = 1,
+ SQLITE_SHM_LOCK = 2,
+ SQLITE_SHM_SHARED = 4,
+ SQLITE_SHM_EXCLUSIVE = 8
+}
+
+/**
+* CAPI3REF: Maximum xShmLock index
+*/
+enum SQLITE_SHM_NLOCK = 8;
+
+
+/**
+* CAPI3REF: Initialize The SQLite Library
+*/
+int sqlite3_initialize();
+/// Ditto
+int sqlite3_shutdown();
+/// Ditto
+int sqlite3_os_init();
+/// Ditto
+int sqlite3_os_end();
+
+/**
+* CAPI3REF: Configuring The SQLite Library
+*/
+int sqlite3_config(int, ...);
+
+/**
+* CAPI3REF: Configure database connections
+*/
+int sqlite3_db_config(sqlite3*, int op, ...);
+
+/**
+* CAPI3REF: Memory Allocation Routines
+*/
+struct sqlite3_mem_methods
+{
+ void* function (int) xMalloc; /** Memory allocation function */
+ void function (void*) xFree; /** Free a prior allocation */
+ void* function (void*,int) xRealloc; /** Resize an allocation */
+ int function (void*) xSize; /** Return the size of an allocation */
+ int function (int) xRoundup; /** Round up request size to allocation size */
+ int function (void*) xInit; /** Initialize the memory allocator */
+ void function (void*) xShutdown; /** Deinitialize the memory allocator */
+ void *pAppData; /** Argument to xInit() and xShutdown() */
+}
+
+/**
+* CAPI3REF: Configuration Options
+*/
+enum
+{
+ SQLITE_CONFIG_SINGLETHREAD = 1, /** nil */
+ SQLITE_CONFIG_MULTITHREAD = 2, /** nil */
+ SQLITE_CONFIG_SERIALIZED = 3, /** nil */
+ SQLITE_CONFIG_MALLOC = 4, /** sqlite3_mem_methods* */
+ SQLITE_CONFIG_GETMALLOC = 5, /** sqlite3_mem_methods* */
+ SQLITE_CONFIG_SCRATCH = 6, /** No longer used */
+ SQLITE_CONFIG_PAGECACHE = 7, /** void*, int sz, int N */
+ SQLITE_CONFIG_HEAP = 8, /** void*, int nByte, int min */
+ SQLITE_CONFIG_MEMSTATUS = 9, /** boolean */
+ SQLITE_CONFIG_MUTEX = 10, /** sqlite3_mutex_methods* */
+ SQLITE_CONFIG_GETMUTEX = 11, /** sqlite3_mutex_methods* */
+/* previously SQLITE_CONFIG_CHUNKALLOC 12 which is now unused. */
+ SQLITE_CONFIG_LOOKASIDE = 13, /** int int */
+ SQLITE_CONFIG_PCACHE = 14, /** no-op */
+ SQLITE_CONFIG_GETPCACHE = 15, /** no-op */
+ SQLITE_CONFIG_LOG = 16, /** xFunc, void* */
+ SQLITE_CONFIG_URI = 17, /** int */
+ SQLITE_CONFIG_PCACHE2 = 18, /** sqlite3_pcache_methods2* */
+ SQLITE_CONFIG_GETPCACHE2 = 19, /** sqlite3_pcache_methods2* */
+ SQLITE_CONFIG_COVERING_INDEX_SCAN = 20, /** int */
+ SQLITE_CONFIG_SQLLOG = 21, /** xSqllog, void* */
+ SQLITE_CONFIG_MMAP_SIZE = 22, /** sqlite3_int64, sqlite3_int64 */
+ SQLITE_CONFIG_WIN32_HEAPSIZE = 23, /** int nByte */
+ SQLITE_CONFIG_PCACHE_HDRSZ = 24, /** int *psz */
+ SQLITE_CONFIG_PMASZ = 25, /** unsigned int szPma */
+ SQLITE_CONFIG_STMTJRNL_SPILL = 26, /** int nByte */
+ SQLITE_CONFIG_SMALL_MALLOC = 27, /** boolean */
+ SQLITE_CONFIG_SORTERREF_SIZE = 28, /** int nByte */
+ SQLITE_CONFIG_MEMDB_MAXSIZE = 29 /** sqlite3_int64 */
+}
+
+/**
+* CAPI3REF: Database Connection Configuration Options
+*/
+enum
+{
+ SQLITE_DBCONFIG_MAINDBNAME = 1000, /** const char* */
+ SQLITE_DBCONFIG_LOOKASIDE = 1001, /** void* int int */
+ SQLITE_DBCONFIG_ENABLE_FKEY = 1002, /** int int* */
+ SQLITE_DBCONFIG_ENABLE_TRIGGER = 1003, /** int int* */
+ SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER = 1004, /** int int* */
+ SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION = 1005, /** int int* */
+ SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE = 1006, /** int int* */
+ SQLITE_DBCONFIG_ENABLE_QPSG = 1007, /** int int* */
+ SQLITE_DBCONFIG_TRIGGER_EQP = 1008, /** int int* */
+ SQLITE_DBCONFIG_RESET_DATABASE = 1009, /** int int* */
+ SQLITE_DBCONFIG_DEFENSIVE = 1010, /** int int* */
+ SQLITE_DBCONFIG_WRITABLE_SCHEMA = 1011, /** int int* */
+ SQLITE_DBCONFIG_LEGACY_ALTER_TABLE = 1012, /** int int* */
+ SQLITE_DBCONFIG_DQS_DML = 1013, /** int int* */
+ SQLITE_DBCONFIG_DQS_DDL = 1014, /** int int* */
+ SQLITE_DBCONFIG_ENABLE_VIEW = 1015, /** int int* */
+ SQLITE_DBCONFIG_LEGACY_FILE_FORMAT = 1016, /** int int* */
+ SQLITE_DBCONFIG_TRUSTED_SCHEMA = 1017, /** int int* */
+ SQLITE_DBCONFIG_MAX = 1017 /** Largest DBCONFIG */
+}
+
+
+/**
+* CAPI3REF: Enable Or Disable Extended Result Codes
+*/
+int sqlite3_extended_result_codes(sqlite3*, int onoff);
+
+/**
+* CAPI3REF: Last Insert Rowid
+*/
+sqlite3_int64 sqlite3_last_insert_rowid(sqlite3*);
+
+/**
+* CAPI3REF: Set the Last Insert Rowid value
+*/
+void sqlite3_set_last_insert_rowid(sqlite3*,sqlite3_int64);
+
+/**
+* CAPI3REF: Count The Number Of Rows Modified
+*/
+int sqlite3_changes(sqlite3*);
+
+/**
+* CAPI3REF: Total Number Of Rows Modified
+*/
+int sqlite3_total_changes(sqlite3*);
+
+/**
+* CAPI3REF: Interrupt A Long-Running Query
+*/
+void sqlite3_interrupt(sqlite3*);
+
+/**
+* CAPI3REF: Determine If An SQL Statement Is Complete
+*/
+int sqlite3_complete(const char *sql);
+/// Ditto
+int sqlite3_complete16(const void *sql);
+
+/**
+* CAPI3REF: Register A Callback To Handle SQLITE_BUSY Errors
+*/
+int sqlite3_busy_handler(sqlite3*, int function (void*,int), void*);
+
+/**
+* CAPI3REF: Set A Busy Timeout
+*/
+int sqlite3_busy_timeout(sqlite3*, int ms);
+
+/**
+* CAPI3REF: Convenience Routines For Running Queries
+*/
+int sqlite3_get_table(
+ sqlite3 *db, /** An open database */
+ const(char)*zSql, /** SQL to be evaluated */
+ char ***pazResult, /** Results of the query */
+ int *pnRow, /** Number of result rows written here */
+ int *pnColumn, /** Number of result columns written here */
+ char **pzErrmsg /** Error msg written here */
+);
+///
+void sqlite3_free_table(char **result);
+
+/**
+* CAPI3REF: Formatted String Printing Functions
+*/
+char *sqlite3_mprintf(const char*,...);
+char *sqlite3_vmprintf(const char*, va_list);
+char *sqlite3_snprintf(int,char*,const char*, ...);
+char *sqlite3_vsnprintf(int,char*,const char*, va_list);
+
+/**
+* CAPI3REF: Memory Allocation Subsystem
+*/
+void *sqlite3_malloc(int);
+/// Ditto
+void *sqlite3_malloc64(sqlite3_uint64);
+/// Ditto
+void *sqlite3_realloc(void*, int);
+/// Ditto
+void *sqlite3_realloc64(void*, sqlite3_uint64);
+/// Ditto
+void sqlite3_free(void*);
+/// Ditto
+sqlite3_uint64 sqlite3_msize(void*);
+
+/**
+* CAPI3REF: Memory Allocator Statistics
+*/
+sqlite3_int64 sqlite3_memory_used();
+sqlite3_int64 sqlite3_memory_highwater(int resetFlag);
+
+/**
+* CAPI3REF: Pseudo-Random Number Generator
+*/
+void sqlite3_randomness(int N, void *P);
+
+/**
+* CAPI3REF: Compile-Time Authorization Callbacks
+*/
+int sqlite3_set_authorizer(
+ sqlite3*,
+ int function (void*,int,const char*,const char*,const char*,const char*) xAuth,
+ void *pUserData
+);
+
+/**
+* CAPI3REF: Authorizer Return Codes
+*/
+enum
+{
+ SQLITE_DENY = 1, /** Abort the SQL statement with an error */
+ SQLITE_IGNORE = 2 /** Don't allow access, but don't generate an error */
+}
+
+/**
+* CAPI3REF: Authorizer Action Codes
+*/
+/******************************************* 3rd ************ 4th ***********/
+enum
+{
+ SQLITE_CREATE_INDEX = 1, /** Index Name Table Name */
+ SQLITE_CREATE_TABLE = 2, /** Table Name NULL */
+ SQLITE_CREATE_TEMP_INDEX = 3, /** Index Name Table Name */
+ SQLITE_CREATE_TEMP_TABLE = 4, /** Table Name NULL */
+ SQLITE_CREATE_TEMP_TRIGGER = 5, /** Trigger Name Table Name */
+ SQLITE_CREATE_TEMP_VIEW = 6, /** View Name NULL */
+ SQLITE_CREATE_TRIGGER = 7, /** Trigger Name Table Name */
+ SQLITE_CREATE_VIEW = 8, /** View Name NULL */
+ SQLITE_DELETE = 9, /** Table Name NULL */
+ SQLITE_DROP_INDEX = 10, /** Index Name Table Name */
+ SQLITE_DROP_TABLE = 11, /** Table Name NULL */
+ SQLITE_DROP_TEMP_INDEX = 12, /** Index Name Table Name */
+ SQLITE_DROP_TEMP_TABLE = 13, /** Table Name NULL */
+ SQLITE_DROP_TEMP_TRIGGER = 14, /** Trigger Name Table Name */
+ SQLITE_DROP_TEMP_VIEW = 15, /** View Name NULL */
+ SQLITE_DROP_TRIGGER = 16, /** Trigger Name Table Name */
+ SQLITE_DROP_VIEW = 17, /** View Name NULL */
+ SQLITE_INSERT = 18, /** Table Name NULL */
+ SQLITE_PRAGMA = 19, /** Pragma Name 1st arg or NULL */
+ SQLITE_READ = 20, /** Table Name Column Name */
+ SQLITE_SELECT = 21, /** NULL NULL */
+ SQLITE_TRANSACTION = 22, /** Operation NULL */
+ SQLITE_UPDATE = 23, /** Table Name Column Name */
+ SQLITE_ATTACH = 24, /** Filename NULL */
+ SQLITE_DETACH = 25, /** Database Name NULL */
+ SQLITE_ALTER_TABLE = 26, /** Database Name Table Name */
+ SQLITE_REINDEX = 27, /** Index Name NULL */
+ SQLITE_ANALYZE = 28, /** Table Name NULL */
+ SQLITE_CREATE_VTABLE = 29, /** Table Name Module Name */
+ SQLITE_DROP_VTABLE = 30, /** Table Name Module Name */
+ SQLITE_FUNCTION = 31, /** NULL Function Name */
+ SQLITE_SAVEPOINT = 32, /** Operation Savepoint Name */
+ SQLITE_COPY = 0, /** No longer used */
+ SQLITE_RECURSIVE = 33 /** NULL NULL */
+}
+
+/**
+* CAPI3REF: Tracing And Profiling Functions
+*/
+deprecated void *sqlite3_trace(sqlite3*, void function (void*,const char*) xTrace, void*);
+/// Ditto
+deprecated void *sqlite3_profile(sqlite3*, void function (void*,const char*,sqlite3_uint64) xProfile, void*);
+
+/**
+* CAPI3REF: SQL Trace Event Codes
+*/
+enum
+{
+ SQLITE_TRACE_STMT = 0x01,
+ SQLITE_TRACE_PROFILE = 0x02,
+ SQLITE_TRACE_ROW = 0x04,
+ SQLITE_TRACE_CLOSE = 0x08
+}
+
+/**
+* CAPI3REF: SQL Trace Hook
+*/
+int sqlite3_trace_v2(
+ sqlite3*,
+ uint uMask,
+ int function (uint, void*, void*, void*) xCallback,
+ void* pCtx
+);
+
+/**
+* CAPI3REF: Query Progress Callbacks
+*/
+void sqlite3_progress_handler(sqlite3*, int, int function (void*), void*);
+
+/**
+* CAPI3REF: Opening A New Database Connection
+*/
+int sqlite3_open(
+ const(char)*filename, /** Database filename (UTF-8) */
+ sqlite3 **ppDb /** OUT: SQLite db handle */
+);
+/// Ditto
+int sqlite3_open16(
+ const(void)*filename, /** Database filename (UTF-16) */
+ sqlite3 **ppDb /** OUT: SQLite db handle */
+);
+/// Ditto
+int sqlite3_open_v2(
+ const(char)*filename, /** Database filename (UTF-8) */
+ sqlite3 **ppDb, /** OUT: SQLite db handle */
+ int flags, /** Flags */
+ const(char)*zVfs /** Name of VFS module to use */
+);
+
+/*
+* CAPI3REF: Obtain Values For URI Parameters
+*/
+const(char)* sqlite3_uri_parameter(const(char)* zFilename, const(char)* zParam);
+/// Ditto
+int sqlite3_uri_boolean(const(char)* zFile, const(char)* zParam, int bDefault);
+/// Ditto
+sqlite3_int64 sqlite3_uri_int64(const char*, const char*, sqlite3_int64);
+/// Ditto
+const(char)* sqlite3_uri_key(const(char)* zFilename, int N);
+
+/*
+* CAPI3REF: Translate filenames
+*/
+const(char)* sqlite3_filename_database(const(char)*);
+/// Ditto
+const(char)* sqlite3_filename_journal(const(char)*);
+/// Ditto
+const(char)* sqlite3_filename_wal(const(char)*);
+
+/*
+* CAPI3REF: Database File Corresponding To A Journal
+*/
+sqlite3_file* sqlite3_database_file_object(const(char)*);
+
+/*
+* CAPI3REF: Create and Destroy VFS Filenames
+*/
+char* sqlite3_create_filename(
+ const(char)* zDatabase,
+ const(char)* zJournal,
+ const(char)* zWal,
+ int nParam,
+ const(char*)* azParam
+);
+/// Ditto
+void sqlite3_free_filename(char*);
+
+/**
+* CAPI3REF: Error Codes And Messages
+*/
+int sqlite3_errcode(sqlite3 *db);
+/// Ditto
+int sqlite3_extended_errcode(sqlite3 *db);
+/// Ditto
+const(char)* sqlite3_errmsg(sqlite3*);
+/// Ditto
+const(void)* sqlite3_errmsg16(sqlite3*);
+/// Ditto
+const(char)* sqlite3_errstr(int);
+
+/**
+* CAPI3REF: SQL Statement Object
+*/
+struct sqlite3_stmt;
+
+/**
+* CAPI3REF: Run-time Limits
+*/
+int sqlite3_limit(sqlite3*, int id, int newVal);
+
+/**
+* CAPI3REF: Run-Time Limit Categories
+*/
+enum
+{
+ SQLITE_LIMIT_LENGTH = 0,
+ SQLITE_LIMIT_SQL_LENGTH = 1,
+ SQLITE_LIMIT_COLUMN = 2,
+ SQLITE_LIMIT_EXPR_DEPTH = 3,
+ SQLITE_LIMIT_COMPOUND_SELECT = 4,
+ SQLITE_LIMIT_VDBE_OP = 5,
+ SQLITE_LIMIT_FUNCTION_ARG = 6,
+ SQLITE_LIMIT_ATTACHED = 7,
+ SQLITE_LIMIT_LIKE_PATTERN_LENGTH = 8,
+ SQLITE_LIMIT_VARIABLE_NUMBER = 9,
+ SQLITE_LIMIT_TRIGGER_DEPTH = 10,
+ SQLITE_LIMIT_WORKER_THREADS = 11
+}
+
+/**
+* CAPI3REF: Prepare Flags
+*/
+enum
+{
+ SQLITE_PREPARE_PERSISTENT = 0x01,
+ SQLITE_PREPARE_NORMALIZE = 0x02,
+ SQLITE_PREPARE_NO_VTAB = 0x04
+}
+
+/**
+* CAPI3REF: Compiling An SQL Statement
+*/
+int sqlite3_prepare(
+ sqlite3 *db, /** Database handle */
+ const(char)*zSql, /** SQL statement, UTF-8 encoded */
+ int nByte, /** Maximum length of zSql in bytes. */
+ sqlite3_stmt **ppStmt, /** OUT: Statement handle */
+ const(char*)*pzTail /** OUT: Pointer to unused portion of zSql */
+);
+/// Ditto
+int sqlite3_prepare_v2(
+ sqlite3 *db, /** Database handle */
+ const(char)*zSql, /** SQL statement, UTF-8 encoded */
+ int nByte, /** Maximum length of zSql in bytes. */
+ sqlite3_stmt **ppStmt, /** OUT: Statement handle */
+ const(char*)*pzTail /** OUT: Pointer to unused portion of zSql */
+);
+/// Ditto
+int sqlite3_prepare_v3(
+ sqlite3 *db, /** Database handle */
+ const(char)* zSql, /** SQL statement, UTF-8 encoded */
+ int nByte, /** Maximum length of zSql in bytes. */
+ uint prepFlags, /** Zero or more SQLITE_PREPARE_ flags */
+ sqlite3_stmt **ppStmt, /* OUT: Statement handle */
+ const(char*)*pzTail /* OUT: Pointer to unused portion of zSql */
+);
+/// Ditto
+int sqlite3_prepare16(
+ sqlite3 *db, /** Database handle */
+ const(void)*zSql, /** SQL statement, UTF-16 encoded */
+ int nByte, /** Maximum length of zSql in bytes. */
+ sqlite3_stmt **ppStmt, /** OUT: Statement handle */
+ const(void*)*pzTail /** OUT: Pointer to unused portion of zSql */
+);
+/// Ditto
+int sqlite3_prepare16_v2(
+ sqlite3 *db, /** Database handle */
+ const(void)*zSql, /** SQL statement, UTF-16 encoded */
+ int nByte, /** Maximum length of zSql in bytes. */
+ sqlite3_stmt **ppStmt, /** OUT: Statement handle */
+ const(void*)*pzTail /** OUT: Pointer to unused portion of zSql */
+);
+/// Ditto
+int sqlite3_prepare16_v3(
+ sqlite3 *db, /** Database handle */
+ const(void)*zSql, /** SQL statement, UTF-16 encoded */
+ int nByte, /** Maximum length of zSql in bytes. */
+ uint prepFlags, /** Zero or more SQLITE_PREPARE_ flags */
+ sqlite3_stmt **ppStmt, /** OUT: Statement handle */
+ const(void*)*pzTail /** OUT: Pointer to unused portion of zSql */
+);
+
+/**
+* CAPI3REF: Retrieving Statement SQL
+*/
+const(char)* sqlite3_sql(sqlite3_stmt *pStmt);
+/// Ditto
+char* sqlite3_expanded_sql(sqlite3_stmt *pStmt);
+const(char)* sqlite3_normalized_sql(sqlite3_stmt *pStmt);
+
+/*
+* CAPI3REF: Determine If An SQL Statement Writes The Database
+*/
+int sqlite3_stmt_readonly(sqlite3_stmt *pStmt);
+
+/*
+* CAPI3REF: Query The EXPLAIN Setting For A Prepared Statement
+*/
+int sqlite3_stmt_isexplain(sqlite3_stmt *pStmt);
+
+/**
+* CAPI3REF: Determine If A Prepared Statement Has Been Reset
+*/
+int sqlite3_stmt_busy(sqlite3_stmt*);
+
+
+/**
+* CAPI3REF: Dynamically Typed Value Object
+*/
+struct sqlite3_value;
+
+/**
+* CAPI3REF: SQL Function Context Object
+*/
+struct sqlite3_context;
+
+/**
+* CAPI3REF: Binding Values To Prepared Statements
+*/
+int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void function (void*));
+/// Ditto
+int sqlite3_bind_blob64(sqlite3_stmt*, int, const void*, sqlite3_uint64,void function (void*));
+/// Ditto
+int sqlite3_bind_double(sqlite3_stmt*, int, double);
+/// Ditto
+int sqlite3_bind_int(sqlite3_stmt*, int, int);
+/// Ditto
+int sqlite3_bind_int64(sqlite3_stmt*, int, sqlite3_int64);
+/// Ditto
+int sqlite3_bind_null(sqlite3_stmt*, int);
+/// Ditto
+int sqlite3_bind_text(sqlite3_stmt*, int, const char*, int n, void function (void*));
+/// Ditto
+int sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, void function (void*));
+/// Ditto
+int sqlite3_bind_text64(sqlite3_stmt*, int, const char*, sqlite3_uint64,void function (void*), ubyte encoding);
+/// Ditto
+int sqlite3_bind_value(sqlite3_stmt*, int, const sqlite3_value*);
+/// Ditto
+int sqlite3_bind_zeroblob(sqlite3_stmt*, int, int n);
+/// Ditto
+int sqlite3_bind_zeroblob64(sqlite3_stmt*, int, sqlite3_uint64 n);
+
+/**
+* CAPI3REF: Number Of SQL Parameters
+*/
+int sqlite3_bind_parameter_count(sqlite3_stmt*);
+
+/**
+* CAPI3REF: Name Of A Host Parameter
+*/
+const(char)* sqlite3_bind_parameter_name(sqlite3_stmt*, int);
+
+/**
+* CAPI3REF: Index Of A Parameter With A Given Name
+*/
+int sqlite3_bind_parameter_index(sqlite3_stmt*, const char *zName);
+
+/**
+* CAPI3REF: Reset All Bindings On A Prepared Statement
+*/
+int sqlite3_clear_bindings(sqlite3_stmt*);
+
+/**
+* CAPI3REF: Number Of Columns In A Result Set
+*/
+int sqlite3_column_count(sqlite3_stmt *pStmt);
+
+/**
+* CAPI3REF: Column Names In A Result Set
+*/
+const(char)* sqlite3_column_name(sqlite3_stmt*, int N);
+/// Ditto
+const(void)* sqlite3_column_name16(sqlite3_stmt*, int N);
+
+/**
+* CAPI3REF: Source Of Data In A Query Result
+*/
+const(char)* sqlite3_column_database_name(sqlite3_stmt*,int);
+/// Ditto
+const(void)* sqlite3_column_database_name16(sqlite3_stmt*,int);
+/// Ditto
+const(char)* sqlite3_column_table_name(sqlite3_stmt*,int);
+/// Ditto
+const (void)* sqlite3_column_table_name16(sqlite3_stmt*,int);
+/// Ditto
+const (char)* sqlite3_column_origin_name(sqlite3_stmt*,int);
+/// Ditto
+const (void)* sqlite3_column_origin_name16(sqlite3_stmt*,int);
+
+/**
+* CAPI3REF: Declared Datatype Of A Query Result
+*/
+const (char)* sqlite3_column_decltype(sqlite3_stmt*,int);
+/// Ditto
+const (void)* sqlite3_column_decltype16(sqlite3_stmt*,int);
+
+/**
+* CAPI3REF: Evaluate An SQL Statement
+*/
+int sqlite3_step(sqlite3_stmt*);
+
+/**
+* CAPI3REF: Number of columns in a result set
+*/
+int sqlite3_data_count(sqlite3_stmt *pStmt);
+
+/**
+* CAPI3REF: Fundamental Datatypes
+*/
+enum
+{
+ SQLITE_INTEGER = 1,
+ SQLITE_FLOAT = 2,
+ SQLITE_BLOB = 4,
+ SQLITE_NULL = 5,
+ SQLITE3_TEXT = 3
+}
+
+/**
+* CAPI3REF: Result Values From A Query
+*/
+const (void)* sqlite3_column_blob(sqlite3_stmt*, int iCol);
+/// Ditto
+double sqlite3_column_double(sqlite3_stmt*, int iCol);
+/// Ditto
+int sqlite3_column_int(sqlite3_stmt*, int iCol);
+/// Ditto
+sqlite3_int64 sqlite3_column_int64(sqlite3_stmt*, int iCol);
+/// Ditto
+const (char)* sqlite3_column_text(sqlite3_stmt*, int iCol);
+/// Ditto
+const (void)* sqlite3_column_text16(sqlite3_stmt*, int iCol);
+/// Ditto
+sqlite3_value *sqlite3_column_value(sqlite3_stmt*, int iCol);
+/// Ditto
+int sqlite3_column_bytes(sqlite3_stmt*, int iCol);
+/// Ditto
+int sqlite3_column_bytes16(sqlite3_stmt*, int iCol);
+/// Ditto
+int sqlite3_column_type(sqlite3_stmt*, int iCol);
+
+/**
+* CAPI3REF: Destroy A Prepared Statement Object
+*/
+int sqlite3_finalize(sqlite3_stmt *pStmt);
+
+/**
+* CAPI3REF: Reset A Prepared Statement Object
+*/
+int sqlite3_reset(sqlite3_stmt *pStmt);
+
+/**
+* CAPI3REF: Create Or Redefine SQL Functions
+*/
+int sqlite3_create_function(
+ sqlite3 *db,
+ const(char)*zFunctionName,
+ int nArg,
+ int eTextRep,
+ void *pApp,
+ void function (sqlite3_context*,int,sqlite3_value**) xFunc,
+ void function (sqlite3_context*,int,sqlite3_value**) xStep,
+ void function (sqlite3_context*) xFinal
+);
+/// Ditto
+int sqlite3_create_function16(
+ sqlite3 *db,
+ const(void)*zFunctionName,
+ int nArg,
+ int eTextRep,
+ void *pApp,
+ void function (sqlite3_context*,int,sqlite3_value**) xFunc,
+ void function (sqlite3_context*,int,sqlite3_value**) xStep,
+ void function (sqlite3_context*) xFinal
+);
+/// Ditto
+int sqlite3_create_function_v2(
+ sqlite3 *db,
+ const(char)*zFunctionName,
+ int nArg,
+ int eTextRep,
+ void *pApp,
+ void function (sqlite3_context*,int,sqlite3_value**) xFunc,
+ void function (sqlite3_context*,int,sqlite3_value**) xStep,
+ void function (sqlite3_context*) xFinal,
+ void function (void*) xDestroy
+);
+/// Ditto
+int sqlite3_create_window_function(
+ sqlite3 *db,
+ const(char)*zFunctionName,
+ int nArg,
+ int eTextRep,
+ void *pApp,
+ void function (sqlite3_context*,int,sqlite3_value**) xStep,
+ void function (sqlite3_context*) xFinal,
+ void function (sqlite3_context*) xValue,
+ void function (sqlite3_context*,int,sqlite3_value**) xInverse,
+ void function (void*) xDestroy
+);
+
+/**
+* CAPI3REF: Text Encodings
+*
+* These constant define integer codes that represent the various
+* text encodings supported by SQLite.
+*/
+enum
+{
+ SQLITE_UTF8 = 1, /** IMP: R-37514-35566 */
+ SQLITE_UTF16LE = 2, /** IMP: R-03371-37637 */
+ SQLITE_UTF16BE = 3, /** IMP: R-51971-34154 */
+ SQLITE_UTF16 = 4, /** Use native byte order */
+ SQLITE_ANY = 5, /** sqlite3_create_function only */
+ SQLITE_UTF16_ALIGNED = 8 /** sqlite3_create_collation only */
+}
+
+/**
+* CAPI3REF: Function Flags
+*/
+enum SQLITE_DETERMINISTIC = 0x000000800;
+enum SQLITE_DIRECTONLY = 0x000080000;
+enum SQLITE_SUBTYPE = 0x000100000;
+enum SQLITE_INNOCUOUS = 0x000200000;
+
+/**
+* CAPI3REF: Deprecated Functions
+*/
+deprecated int sqlite3_aggregate_count(sqlite3_context*);
+deprecated int sqlite3_expired(sqlite3_stmt*);
+deprecated int sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*);
+deprecated int sqlite3_global_recover();
+deprecated void sqlite3_thread_cleanup();
+deprecated int sqlite3_memory_alarm(void function(void*,sqlite3_int64,int),void*,sqlite3_int64);
+
+/**
+* CAPI3REF: Obtaining SQL Function Parameter Values
+*/
+const (void)* sqlite3_value_blob(sqlite3_value*);
+/// Ditto
+int sqlite3_value_bytes(sqlite3_value*);
+/// Ditto
+int sqlite3_value_bytes16(sqlite3_value*);
+/// Ditto
+double sqlite3_value_double(sqlite3_value*);
+/// Ditto
+int sqlite3_value_int(sqlite3_value*);
+/// Ditto
+sqlite3_int64 sqlite3_value_int64(sqlite3_value*);
+/// Ditto
+const (char)* sqlite3_value_text(sqlite3_value*);
+/// Ditto
+const (void)* sqlite3_value_text16(sqlite3_value*);
+/// Ditto
+const (void)* sqlite3_value_text16le(sqlite3_value*);
+/// Ditto
+const (void)* sqlite3_value_text16be(sqlite3_value*);
+/// Ditto
+int sqlite3_value_type(sqlite3_value*);
+/// Ditto
+int sqlite3_value_numeric_type(sqlite3_value*);
+/// Ditto
+int sqlite3_value_nochange(sqlite3_value*);
+/// Ditto
+int sqlite3_value_frombind(sqlite3_value*);
+
+/*
+* CAPI3REF: Finding The Subtype Of SQL Values
+*/
+uint sqlite3_value_subtype(sqlite3_value*);
+
+/*
+* CAPI3REF: Copy And Free SQL Values
+*/
+sqlite3_value* sqlite3_value_dup(const sqlite3_value*);
+void sqlite3_value_free(sqlite3_value*);
+
+/**
+* CAPI3REF: Obtain Aggregate Function Context
+*/
+void *sqlite3_aggregate_context(sqlite3_context*, int nBytes);
+
+/**
+* CAPI3REF: User Data For Functions
+*/
+void *sqlite3_user_data(sqlite3_context*);
+
+/**
+* CAPI3REF: Database Connection For Functions
+*/
+sqlite3 *sqlite3_context_db_handle(sqlite3_context*);
+
+/**
+* CAPI3REF: Function Auxiliary Data
+*/
+void *sqlite3_get_auxdata(sqlite3_context*, int N);
+/// Ditto
+void sqlite3_set_auxdata(sqlite3_context*, int N, void*, void function (void*));
+
+
+/**
+* CAPI3REF: Constants Defining Special Destructor Behavior
+*/
+alias sqlite3_destructor_type = void function (void*);
+/// Ditto
+enum
+{
+ SQLITE_STATIC = (cast(sqlite3_destructor_type) 0),
+ SQLITE_TRANSIENT = (cast (sqlite3_destructor_type) -1)
+}
+
+/**
+* CAPI3REF: Setting The Result Of An SQL Function
+*/
+void sqlite3_result_blob(sqlite3_context*, const void*, int, void function(void*));
+/// Ditto
+void sqlite3_result_blob64(sqlite3_context*,const void*,sqlite3_uint64,void function(void*));
+/// Ditto
+void sqlite3_result_double(sqlite3_context*, double);
+/// Ditto
+void sqlite3_result_error(sqlite3_context*, const char*, int);
+/// Ditto
+void sqlite3_result_error16(sqlite3_context*, const void*, int);
+/// Ditto
+void sqlite3_result_error_toobig(sqlite3_context*);
+/// Ditto
+void sqlite3_result_error_nomem(sqlite3_context*);
+/// Ditto
+void sqlite3_result_error_code(sqlite3_context*, int);
+/// Ditto
+void sqlite3_result_int(sqlite3_context*, int);
+/// Ditto
+void sqlite3_result_int64(sqlite3_context*, sqlite3_int64);
+/// Ditto
+void sqlite3_result_null(sqlite3_context*);
+/// Ditto
+void sqlite3_result_text(sqlite3_context*, const char*, int, void function(void*));
+/// Ditto
+void sqlite3_result_text64(sqlite3_context*, const char*,sqlite3_uint64,void function(void*), ubyte encoding);
+/// Ditto
+void sqlite3_result_text16(sqlite3_context*, const void*, int, void function(void*));
+/// Ditto
+void sqlite3_result_text16le(sqlite3_context*, const void*, int, void function(void*));
+/// Ditto
+void sqlite3_result_text16be(sqlite3_context*, const void*, int, void function(void*));
+/// Ditto
+void sqlite3_result_value(sqlite3_context*, sqlite3_value*);
+/// Ditto
+void sqlite3_result_zeroblob(sqlite3_context*, int n);
+/// Ditto
+int sqlite3_result_zeroblob64(sqlite3_context*, sqlite3_uint64 n);
+
+/*
+* CAPI3REF: Setting The Subtype Of An SQL Function
+*/
+void sqlite3_result_subtype(sqlite3_context*,uint);
+
+/**
+* CAPI3REF: Define New Collating Sequences
+*/
+int sqlite3_create_collation(
+ sqlite3*,
+ const(char)*zName,
+ int eTextRep,
+ void *pArg,
+ int function (void*,int,const void*,int,const void*) xCompare
+);
+/// Ditto
+int sqlite3_create_collation_v2(
+ sqlite3*,
+ const(char)*zName,
+ int eTextRep,
+ void *pArg,
+ int function (void*,int,const void*,int,const void*) xCompare,
+ void function (void*) xDestroy
+);
+/// Ditto
+int sqlite3_create_collation16(
+ sqlite3*,
+ const(void)*zName,
+ int eTextRep,
+ void *pArg,
+ int function (void*,int,const void*,int,const void*) xCompare
+);
+
+/**
+* CAPI3REF: Collation Needed Callbacks
+*/
+int sqlite3_collation_needed(
+ sqlite3*,
+ void*,
+ void function (void*,sqlite3*,int eTextRep,const char*)
+);
+/// Ditto
+int sqlite3_collation_needed16(
+ sqlite3*,
+ void*,
+ void function (void*,sqlite3*,int eTextRep,const void*)
+);
+
+/**
+* Specify the activation key for a CEROD database. Unless
+* activated, none of the CEROD routines will work.
+*/
+void sqlite3_activate_cerod(
+ const(char)*zPassPhrase /** Activation phrase */
+);
+
+/**
+* CAPI3REF: Suspend Execution For A Short Time
+*/
+int sqlite3_sleep(int);
+
+/**
+* CAPI3REF: Name Of The Folder Holding Temporary Files
+*/
+extern char *sqlite3_temp_directory;
+
+/**
+* CAPI3REF: Name Of The Folder Holding Database Files
+*/
+extern char *sqlite3_data_directory;
+
+/**
+* CAPI3REF: Win32 Specific Interface
+*/
+int sqlite3_win32_set_directory(
+ c_ulong type, /** Identifier for directory being set or reset */
+ void* zValue /** New value for directory being set or reset */
+);
+/// Ditto
+int sqlite3_win32_set_directory8(
+ c_ulong type, /** Identifier for directory being set or reset */
+ void* zValue /** New value for directory being set or reset */
+);
+/// Ditto
+int sqlite3_win32_set_directory16(
+ c_ulong type, /** Identifier for directory being set or reset */
+ void* zValue /** New value for directory being set or reset */
+);
+
+/**
+* CAPI3REF: Win32 Directory Types
+*/
+enum
+{
+ SQLITE_WIN32_DATA_DIRECTORY_TYPE = 1,
+ SQLITE_WIN32_TEMP_DIRECTORY_TYPE = 2
+}
+
+/**
+* CAPI3REF: Test For Auto-Commit Mode
+*/
+int sqlite3_get_autocommit(sqlite3*);
+
+/**
+* CAPI3REF: Find The Database Handle Of A Prepared Statement
+*/
+sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
+
+/**
+* CAPI3REF: Return The Filename For A Database Connection
+*/
+const(char)* sqlite3_db_filename(sqlite3 *db, const char* zDbName);
+
+/**
+* CAPI3REF: Determine if a database is read-only
+*/
+int sqlite3_db_readonly(sqlite3 *db, const char * zDbName);
+
+/*
+* CAPI3REF: Find the next prepared statement
+*/
+sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt);
+
+/**
+* CAPI3REF: Commit And Rollback Notification Callbacks
+*/
+void *sqlite3_commit_hook(sqlite3*, int function (void*), void*);
+/// Ditto
+void *sqlite3_rollback_hook(sqlite3*, void function (void *), void*);
+
+/**
+* CAPI3REF: Data Change Notification Callbacks
+*/
+void *sqlite3_update_hook(
+ sqlite3*,
+ void function (void *,int ,char *, char *, sqlite3_int64),
+ void*
+);
+
+/**
+* CAPI3REF: Enable Or Disable Shared Pager Cache
+*/
+int sqlite3_enable_shared_cache(int);
+
+/**
+* CAPI3REF: Attempt To Free Heap Memory
+*/
+int sqlite3_release_memory(int);
+
+/**
+* CAPI3REF: Free Memory Used By A Database Connection
+*/
+int sqlite3_db_release_memory(sqlite3*);
+
+/*
+* CAPI3REF: Impose A Limit On Heap Size
+*/
+sqlite3_int64 sqlite3_soft_heap_limit64(sqlite3_int64 N);
+sqlite3_int64 sqlite3_hard_heap_limit64(sqlite3_int64 N);
+
+/**
+* CAPI3REF: Deprecated Soft Heap Limit Interface
+*/
+deprecated void sqlite3_soft_heap_limit(int N);
+
+/**
+* CAPI3REF: Extract Metadata About A Column Of A Table
+*/
+int sqlite3_table_column_metadata(
+ sqlite3 *db, /** Connection handle */
+ const(char)*zDbName, /** Database name or NULL */
+ const(char)*zTableName, /** Table name */
+ const(char)*zColumnName, /** Column name */
+ char **pzDataType, /** OUTPUT: Declared data type */
+ char **pzCollSeq, /** OUTPUT: Collation sequence name */
+ int *pNotNull, /** OUTPUT: True if NOT NULL constraint exists */
+ int *pPrimaryKey, /** OUTPUT: True if column part of PK */
+ int *pAutoinc /** OUTPUT: True if column is auto-increment */
+);
+
+/**
+* CAPI3REF: Load An Extension
+*/
+int sqlite3_load_extension(
+ sqlite3 *db, /** Load the extension into this database connection */
+ const(char)*zFile, /** Name of the shared library containing extension */
+ const(char)*zProc, /** Entry point. Derived from zFile if 0 */
+ char **pzErrMsg /** Put error message here if not 0 */
+);
+
+/**
+* CAPI3REF: Enable Or Disable Extension Loading
+*/
+int sqlite3_enable_load_extension(sqlite3 *db, int onoff);
+
+/**
+* CAPI3REF: Automatically Load Statically Linked Extensions
+*/
+int sqlite3_auto_extension(void function () xEntryPoint);
+
+/**
+* CAPI3REF: Cancel Automatic Extension Loading
+*/
+int sqlite3_cancel_auto_extension(void function() xEntryPoint);
+
+/**
+* CAPI3REF: Reset Automatic Extension Loading
+*/
+void sqlite3_reset_auto_extension();
+
+/**
+* The interface to the virtual-table mechanism is currently considered
+* to be experimental. The interface might change in incompatible ways.
+* If this is a problem for you, do not use the interface at this time.
+*
+* When the virtual-table mechanism stabilizes, we will declare the
+* interface fixed, support it indefinitely, and remove this comment.
+*/
+
+/**
+* CAPI3REF: Virtual Table Object
+*/
+
+alias mapFunction = void function (sqlite3_context*,int,sqlite3_value**);
+
+/// Ditto
+struct sqlite3_module
+{
+ int iVersion;
+ int function (sqlite3*, void *pAux,
+ int argc, const char **argv,
+ sqlite3_vtab **ppVTab, char**) xCreate;
+ int function (sqlite3*, void *pAux,
+ int argc, const char **argv,
+ sqlite3_vtab **ppVTab, char**) xConnect;
+ int function (sqlite3_vtab *pVTab, sqlite3_index_info*) xBestIndex;
+ int function (sqlite3_vtab *pVTab) xDisconnect;
+ int function (sqlite3_vtab *pVTab) xDestroy;
+ int function (sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor) xOpen;
+ int function (sqlite3_vtab_cursor*) xClose;
+ int function (sqlite3_vtab_cursor*, int idxNum, const char *idxStr,
+ int argc, sqlite3_value **argv) xFilter;
+ int function (sqlite3_vtab_cursor*) xNext;
+ int function (sqlite3_vtab_cursor*) xEof;
+ int function (sqlite3_vtab_cursor*, sqlite3_context*, int) xColumn;
+ int function (sqlite3_vtab_cursor*, sqlite3_int64 *pRowid) xRowid;
+ int function (sqlite3_vtab *, int, sqlite3_value **, sqlite3_int64 *) xUpdate;
+ int function (sqlite3_vtab *pVTab) xBegin;
+ int function (sqlite3_vtab *pVTab) xSync;
+ int function (sqlite3_vtab *pVTab) xCommit;
+ int function (sqlite3_vtab *pVTab) xRollback;
+ int function (sqlite3_vtab *pVtab, int nArg, const char *zName,
+ mapFunction*,
+ void **ppArg) xFindFunction;
+ int function (sqlite3_vtab *pVtab, const char *zNew) xRename;
+ int function (sqlite3_vtab *pVTab, int) xSavepoint;
+ int function (sqlite3_vtab *pVTab, int) xRelease;
+ int function (sqlite3_vtab *pVTab, int) xRollbackTo;
+ int function (const char*) xShadowName;
+}
+
+/**
+* CAPI3REF: Virtual Table Indexing Information
+*/
+struct sqlite3_index_info
+{
+ struct sqlite3_index_constraint
+ {
+ int iColumn; /** constrained. -1 for ROWID */
+ char op; /** Constraint operator */
+ char usable; /** True if this constraint is usable */
+ int iTermOffset; /** Used internally - xBestIndex should ignore */
+ }
+ struct sqlite3_index_orderby
+ {
+ int iColumn; /** Column number */
+ char desc; /** True for DESC. False for ASC. */
+ }
+ struct sqlite3_index_constraint_usage
+ {
+ int argvIndex; /** if >0, constraint is part of argv to xFilter */
+ char omit; /** Do not code a test for this constraint */
+ }
+ /* Inputs */
+ int nConstraint; /** Number of entries in aConstraint */
+ sqlite3_index_constraint* aConstraint; /** Table of WHERE clause constraints */
+ int nOrderBy; /** Number of terms in the ORDER BY clause */
+ sqlite3_index_orderby *aOrderBy; /** The ORDER BY clause */
+ /* Outputs */
+ sqlite3_index_constraint_usage *aConstraintUsage;
+ int idxNum; /** Number used to identify the index */
+ char *idxStr; /** String, possibly obtained from sqlite3_malloc */
+ int needToFreeIdxStr; /** Free idxStr using sqlite3_free() if true */
+ int orderByConsumed; /** True if output is already ordered */
+ double estimatedCost; /** Estimated cost of using this index */
+ sqlite3_int64 estimatedRows;
+ int idxFlags;
+ sqlite3_uint64 colUsed;
+}
+
+/**
+* CAPI3REF: Virtual Table Scan Flags
+*/
+enum
+{
+ SQLITE_INDEX_SCAN_UNIQUE = 1
+}
+
+/**
+* CAPI3REF: Virtual Table Constraint Operator Codes
+*/
+enum
+{
+ SQLITE_INDEX_CONSTRAINT_EQ = 2,
+ SQLITE_INDEX_CONSTRAINT_GT = 4,
+ SQLITE_INDEX_CONSTRAINT_LE = 8,
+ SQLITE_INDEX_CONSTRAINT_LT = 16,
+ SQLITE_INDEX_CONSTRAINT_GE = 32,
+ SQLITE_INDEX_CONSTRAINT_MATCH = 64,
+ SQLITE_INDEX_CONSTRAINT_LIKE = 65,
+ SQLITE_INDEX_CONSTRAINT_GLOB = 66,
+ SQLITE_INDEX_CONSTRAINT_REGEXP = 67,
+ SQLITE_INDEX_CONSTRAINT_NE = 68,
+ SQLITE_INDEX_CONSTRAINT_ISNOT = 69,
+ SQLITE_INDEX_CONSTRAINT_ISNOTNULL = 70,
+ SQLITE_INDEX_CONSTRAINT_ISNULL = 71,
+ SQLITE_INDEX_CONSTRAINT_IS = 72,
+ SQLITE_INDEX_CONSTRAINT_FUNCTION = 150
+}
+
+/**
+* CAPI3REF: Register A Virtual Table Implementation
+*/
+int sqlite3_create_module(
+ sqlite3 *db, /* SQLite connection to register module with */
+ const(char)*zName, /* Name of the module */
+ const(sqlite3_module)*p, /* Methods for the module */
+ void *pClientData /* Client data for xCreate/xConnect */
+);
+/// Ditto
+int sqlite3_create_module_v2(
+ sqlite3 *db, /* SQLite connection to register module with */
+ const(char)*zName, /* Name of the module */
+ const(sqlite3_module)*p, /* Methods for the module */
+ void *pClientData, /* Client data for xCreate/xConnect */
+ void function (void*) xDestroy /* Module destructor function */
+);
+
+/**
+* CAPI3REF: Remove Unnecessary Virtual Table Implementations
+*/
+int sqlite3_drop_modules(
+ sqlite3 *db, /* Remove modules from this connection */
+ const(char*)* azKeep /* Except, do not remove the ones named here */
+);
+
+/**
+* CAPI3REF: Virtual Table Instance Object
+*/
+struct sqlite3_vtab
+{
+ const(sqlite3_module)*pModule; /** The module for this virtual table */
+ int nRef; /** NO LONGER USED */
+ char *zErrMsg; /** Error message from sqlite3_mprintf() */
+ /* Virtual table implementations will typically add additional fields */
+}
+
+/**
+* CAPI3REF: Virtual Table Cursor Object
+*/
+struct sqlite3_vtab_cursor
+{
+ sqlite3_vtab *pVtab; /** Virtual table of this cursor */
+ /* Virtual table implementations will typically add additional fields */
+}
+
+/**
+* CAPI3REF: Declare The Schema Of A Virtual Table
+*/
+int sqlite3_declare_vtab(sqlite3*, const char *zSQL);
+
+/**
+* CAPI3REF: Overload A Function For A Virtual Table
+*/
+int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg);
+
+/**
+* The interface to the virtual-table mechanism defined above (back up
+* to a comment remarkably similar to this one) is currently considered
+* to be experimental. The interface might change in incompatible ways.
+* If this is a problem for you, do not use the interface at this time.
+*
+* When the virtual-table mechanism stabilizes, we will declare the
+* interface fixed, support it indefinitely, and remove this comment.
+*/
+
+/*
+* CAPI3REF: A Handle To An Open BLOB
+*/
+struct sqlite3_blob;
+
+/**
+* CAPI3REF: Open A BLOB For Incremental I/O
+*/
+int sqlite3_blob_open(
+ sqlite3*,
+ const(char)* zDb,
+ const(char)* zTable,
+ const(char)* zColumn,
+ sqlite3_int64 iRow,
+ int flags,
+ sqlite3_blob **ppBlob
+);
+
+/**
+* CAPI3REF: Move a BLOB Handle to a New Row
+*/
+int sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64);
+
+/**
+* CAPI3REF: Close A BLOB Handle
+*/
+int sqlite3_blob_close(sqlite3_blob *);
+
+/**
+* CAPI3REF: Return The Size Of An Open BLOB
+*/
+int sqlite3_blob_bytes(sqlite3_blob *);
+
+/**
+* CAPI3REF: Read Data From A BLOB Incrementally
+*/
+int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);
+
+/**
+* CAPI3REF: Write Data Into A BLOB Incrementally
+*/
+int sqlite3_blob_write(sqlite3_blob *, const void *z, int n, int iOffset);
+
+/**
+* CAPI3REF: Virtual File System Objects
+*/
+sqlite3_vfs *sqlite3_vfs_find(const char *zVfsName);
+/// Ditto
+int sqlite3_vfs_register(sqlite3_vfs*, int makeDflt);
+/// Ditto
+int sqlite3_vfs_unregister(sqlite3_vfs*);
+
+/**
+* CAPI3REF: Mutexes
+*/
+sqlite3_mutex *sqlite3_mutex_alloc(int);
+/// Ditto
+void sqlite3_mutex_free(sqlite3_mutex*);
+/// Ditto
+void sqlite3_mutex_enter(sqlite3_mutex*);
+/// Ditto
+int sqlite3_mutex_try(sqlite3_mutex*);
+/// Ditto
+void sqlite3_mutex_leave(sqlite3_mutex*);
+
+/**
+* CAPI3REF: Mutex Methods Object
+*/
+struct sqlite3_mutex_methods
+{
+ int function () xMutexInit;
+ int function () xMutexEnd;
+ sqlite3_mutex* function (int) xMutexAlloc;
+ void function (sqlite3_mutex *) xMutexFree;
+ void function (sqlite3_mutex *) xMutexEnter;
+ int function (sqlite3_mutex *) xMutexTry;
+ void function (sqlite3_mutex *) xMutexLeave;
+ int function (sqlite3_mutex *) xMutexHeld;
+ int function (sqlite3_mutex *) xMutexNotheld;
+}
+
+/**
+* CAPI3REF: Mutex Verification Routines
+*/
+
+//#ifndef NDEBUG
+int sqlite3_mutex_held(sqlite3_mutex*);
+/// Ditto
+int sqlite3_mutex_notheld(sqlite3_mutex*);
+//#endif
+
+/**
+* CAPI3REF: Mutex Types
+*/
+enum
+{
+ SQLITE_MUTEX_FAST = 0,
+ SQLITE_MUTEX_RECURSIVE = 1,
+ SQLITE_MUTEX_STATIC_MAIN = 2,
+ SQLITE_MUTEX_STATIC_MEM = 3, /** sqlite3_malloc() */
+ SQLITE_MUTEX_STATIC_MEM2 = 4, /** NOT USED */
+ SQLITE_MUTEX_STATIC_OPEN = 4, /** sqlite3BtreeOpen() */
+ SQLITE_MUTEX_STATIC_PRNG = 5, /** sqlite3_randomness() */
+ SQLITE_MUTEX_STATIC_LRU = 6, /** lru page list */
+ SQLITE_MUTEX_STATIC_LRU2 = 7, /** NOT USED */
+ SQLITE_MUTEX_STATIC_PMEM = 7, /** sqlite3PageMalloc() */
+ SQLITE_MUTEX_STATIC_APP1 = 8, /** For use by application */
+ SQLITE_MUTEX_STATIC_APP2 = 9, /** For use by application */
+ SQLITE_MUTEX_STATIC_APP3 = 10, /** For use by application */
+ SQLITE_MUTEX_STATIC_VFS1 = 11, /** For use by built-in VFS */
+ SQLITE_MUTEX_STATIC_VFS2 = 12, /** For use by extension VFS */
+ SQLITE_MUTEX_STATIC_VFS3 = 13, /** For use by application VFS */
+}
+
+deprecated ("Legacy compatibility")
+{
+ alias SQLITE_MUTEX_STATIC_MASTER = SQLITE_MUTEX_STATIC_MAIN;
+}
+
+/**
+* CAPI3REF: Retrieve the mutex for a database connection
+*/
+sqlite3_mutex *sqlite3_db_mutex(sqlite3*);
+
+/**
+* CAPI3REF: Low-Level Control Of Database Files
+*/
+int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*);
+
+/**
+* CAPI3REF: Testing Interface
+*/
+int sqlite3_test_control(int op, ...);
+
+/**
+* CAPI3REF: Testing Interface Operation Codes
+*/
+enum
+{
+ SQLITE_TESTCTRL_FIRST = 5,
+ SQLITE_TESTCTRL_PRNG_SAVE = 5,
+ SQLITE_TESTCTRL_PRNG_RESTORE = 6,
+ SQLITE_TESTCTRL_PRNG_RESET = 7, /** NOT USED */
+ SQLITE_TESTCTRL_BITVEC_TEST = 8,
+ SQLITE_TESTCTRL_FAULT_INSTALL = 9,
+ SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS = 10,
+ SQLITE_TESTCTRL_PENDING_BYTE = 11,
+ SQLITE_TESTCTRL_ASSERT = 12,
+ SQLITE_TESTCTRL_ALWAYS = 13,
+ SQLITE_TESTCTRL_RESERVE = 14, /** NOT USED */
+ SQLITE_TESTCTRL_OPTIMIZATIONS = 15,
+ SQLITE_TESTCTRL_ISKEYWORD = 16, /** NOT USED */
+ SQLITE_TESTCTRL_SCRATCHMALLOC = 17, /** NOT USED */
+ SQLITE_TESTCTRL_INTERNAL_FUNCTIONS = 17,
+ SQLITE_TESTCTRL_LOCALTIME_FAULT = 18,
+ SQLITE_TESTCTRL_EXPLAIN_STMT = 19, /** NOT USED */
+ SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD = 19,
+ SQLITE_TESTCTRL_NEVER_CORRUPT = 20,
+ SQLITE_TESTCTRL_VDBE_COVERAGE = 21,
+ SQLITE_TESTCTRL_BYTEORDER = 22,
+ SQLITE_TESTCTRL_ISINIT = 23,
+ SQLITE_TESTCTRL_SORTER_MMAP = 24,
+ SQLITE_TESTCTRL_IMPOSTER = 25,
+ SQLITE_TESTCTRL_PARSER_COVERAGE = 26,
+ SQLITE_TESTCTRL_RESULT_INTREAL = 27,
+ SQLITE_TESTCTRL_PRNG_SEED = 28,
+ SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS = 29,
+ SQLITE_TESTCTRL_LAST = 29, /** Largest TESTCTRL */
+}
+
+/**
+* CAPI3REF: SQL Keyword Checking
+*/
+int sqlite3_keyword_count();
+/// Ditto
+int sqlite3_keyword_name(int, const(char*)*, int*);
+/// Ditto
+int sqlite3_keyword_check(const(char)*, int);
+
+/**
+* CAPI3REF: Dynamic String Object
+*/
+struct sqlite3_str;
+
+/**
+* CAPI3REF: Create A New Dynamic String Object
+*/
+sqlite3_str* sqlite3_str_new(sqlite3*);
+
+/**
+* CAPI3REF: Finalize A Dynamic String
+*/
+char* sqlite3_str_finish(sqlite3_str*);
+
+/**
+* CAPI3REF: Add Content To A Dynamic String
+*/
+void sqlite3_str_appendf(sqlite3_str*, const(char)* zFormat, ...);
+/// Ditto
+void sqlite3_str_vappendf(sqlite3_str*, const(char)* zFormat, va_list);
+/// Ditto
+void sqlite3_str_append(sqlite3_str*, const(char)* zIn, int N);
+/// Ditto
+void sqlite3_str_appendall(sqlite3_str*, const(char)* zIn);
+/// Ditto
+void sqlite3_str_appendchar(sqlite3_str*, int N, char C);
+/// Ditto
+void sqlite3_str_reset(sqlite3_str*);
+
+/**
+* CAPI3REF: Status Of A Dynamic String
+*/
+int sqlite3_str_errcode(sqlite3_str*);
+int sqlite3_str_length(sqlite3_str*);
+char* sqlite3_str_value(sqlite3_str*);
+
+/**
+* CAPI3REF: SQLite Runtime Status
+*/
+int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag);
+/// Ditto
+int sqlite3_status64(int op, long *pCurrent, long *pHighwater, int resetFlag);
+
+/**
+* CAPI3REF: Status Parameters
+*/
+enum
+{
+ SQLITE_STATUS_MEMORY_USED = 0,
+ SQLITE_STATUS_PAGECACHE_USED = 1,
+ SQLITE_STATUS_PAGECACHE_OVERFLOW = 2,
+ SQLITE_STATUS_SCRATCH_USED = 3, /** NOT USED */
+ SQLITE_STATUS_SCRATCH_OVERFLOW = 4, /** NOT USED */
+ SQLITE_STATUS_MALLOC_SIZE = 5,
+ SQLITE_STATUS_PARSER_STACK = 6,
+ SQLITE_STATUS_PAGECACHE_SIZE = 7,
+ SQLITE_STATUS_SCRATCH_SIZE = 8, /** NOT USED */
+ SQLITE_STATUS_MALLOC_COUNT = 9
+}
+
+/**
+* CAPI3REF: Database Connection Status
+*/
+int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg);
+
+/**
+* CAPI3REF: Status Parameters for database connections
+*/
+enum
+{
+ SQLITE_DBSTATUS_LOOKASIDE_USED = 0,
+ SQLITE_DBSTATUS_CACHE_USED = 1,
+ SQLITE_DBSTATUS_SCHEMA_USED = 2,
+ SQLITE_DBSTATUS_STMT_USED = 3,
+ SQLITE_DBSTATUS_LOOKASIDE_HIT = 4,
+ SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE = 5,
+ SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL = 6,
+ SQLITE_DBSTATUS_CACHE_HIT = 7,
+ SQLITE_DBSTATUS_CACHE_MISS = 8,
+ SQLITE_DBSTATUS_CACHE_WRITE = 9,
+ SQLITE_DBSTATUS_DEFERRED_FKS = 10,
+ SQLITE_DBSTATUS_CACHE_USED_SHARED = 11,
+ SQLITE_DBSTATUS_CACHE_SPILL = 12,
+ SQLITE_DBSTATUS_MAX = 12 /** Largest defined DBSTATUS */
+}
+
+/**
+* CAPI3REF: Prepared Statement Status
+*/
+int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
+
+/**
+* CAPI3REF: Status Parameters for prepared statements
+*/
+enum
+{
+ SQLITE_STMTSTATUS_FULLSCAN_STEP = 1,
+ SQLITE_STMTSTATUS_SORT = 2,
+ SQLITE_STMTSTATUS_AUTOINDEX = 3,
+ SQLITE_STMTSTATUS_VM_STEP = 4,
+ SQLITE_STMTSTATUS_REPREPARE = 5,
+ SQLITE_STMTSTATUS_RUN = 6,
+ SQLITE_STMTSTATUS_MEMUSED = 99
+}
+
+/**
+* CAPI3REF: Custom Page Cache Object
+*/
+struct sqlite3_pcache;
+
+/**
+* CAPI3REF: Custom Page Cache Object
+*/
+struct sqlite3_pcache_page
+{
+ void *pBuf; /* The content of the page */
+ void *pExtra; /* Extra information associated with the page */
+}
+
+/**
+* CAPI3REF: Application Defined Page Cache.
+*/
+struct sqlite3_pcache_methods2
+{
+ int iVersion;
+ void *pArg;
+ int function(void*) xInit;
+ void function(void*) xShutdown;
+ sqlite3_pcache * function(int szPage, int szExtra, int bPurgeable) xCreate;
+ void function(sqlite3_pcache*, int nCachesize) xCachesize;
+ int function(sqlite3_pcache*) xPagecount;
+ sqlite3_pcache_page * function(sqlite3_pcache*, uint key, int createFlag) xFetch;
+ void function(sqlite3_pcache*, sqlite3_pcache_page*, int discard) xUnpin;
+ void function(sqlite3_pcache*, sqlite3_pcache_page*,
+ uint oldKey, uint newKey) xRekey;
+ void function(sqlite3_pcache*, uint iLimit) xTruncate;
+ void function(sqlite3_pcache*) xDestroy;
+ void function(sqlite3_pcache*) xShrink;
+}
+
+struct sqlite3_pcache_methods
+{
+ void *pArg;
+ int function (void*) xInit;
+ void function (void*) xShutdown;
+ sqlite3_pcache* function (int szPage, int bPurgeable) xCreate;
+ void function (sqlite3_pcache*, int nCachesize) xCachesize;
+ int function (sqlite3_pcache*) xPagecount;
+ void* function (sqlite3_pcache*, uint key, int createFlag) xFetch;
+ void function (sqlite3_pcache*, void*, int discard) xUnpin;
+ void function (sqlite3_pcache*, void*, uint oldKey, uint newKey) xRekey;
+ void function (sqlite3_pcache*, uint iLimit) xTruncate;
+ void function (sqlite3_pcache*) xDestroy;
+}
+
+/**
+* CAPI3REF: Online Backup Object
+*/
+struct sqlite3_backup;
+
+/**
+* CAPI3REF: Online Backup API.
+*/
+sqlite3_backup *sqlite3_backup_init(
+ sqlite3 *pDest, /** Destination database handle */
+ const(char)*zDestName, /** Destination database name */
+ sqlite3 *pSource, /** Source database handle */
+ const(char)*zSourceName /** Source database name */
+);
+/// Ditto
+int sqlite3_backup_step(sqlite3_backup *p, int nPage);
+/// Ditto
+int sqlite3_backup_finish(sqlite3_backup *p);
+/// Ditto
+int sqlite3_backup_remaining(sqlite3_backup *p);
+/// Ditto
+int sqlite3_backup_pagecount(sqlite3_backup *p);
+
+/**
+* CAPI3REF: Unlock Notification
+*/
+int sqlite3_unlock_notify(
+ sqlite3 *pBlocked, /** Waiting connection */
+ void function (void **apArg, int nArg) xNotify, /** Callback function to invoke */
+ void *pNotifyArg /** Argument to pass to xNotify */
+);
+
+/**
+* CAPI3REF: String Comparison
+*/
+int sqlite3_stricmp(const char * , const char * );
+int sqlite3_strnicmp(const char * , const char * , int);
+
+/*
+* CAPI3REF: String Globbing
+*
+*/
+int sqlite3_strglob(const(char)* zGlob, const(char)* zStr);
+
+/*
+* CAPI3REF: String LIKE Matching
+*/
+int sqlite3_strlike(const(char)* zGlob, const(char)* zStr, uint cEsc);
+
+/**
+* CAPI3REF: Error Logging Interface
+*/
+void sqlite3_log(int iErrCode, const char *zFormat, ...);
+
+/**
+* CAPI3REF: Write-Ahead Log Commit Hook
+*/
+void *sqlite3_wal_hook(
+ sqlite3*,
+ int function (void *,sqlite3*,const char*,int),
+ void*
+);
+
+/**
+* CAPI3REF: Configure an auto-checkpoint
+*/
+int sqlite3_wal_autocheckpoint(sqlite3 *db, int N);
+
+/**
+* CAPI3REF: Checkpoint a database
+*/
+int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb);
+
+/**
+* CAPI3REF: Checkpoint a database
+*/
+int sqlite3_wal_checkpoint_v2(
+ sqlite3 *db, /** Database handle */
+ const(char)*zDb, /** Name of attached database (or NULL) */
+ int eMode, /** SQLITE_CHECKPOINT_* value */
+ int *pnLog, /** OUT: Size of WAL log in frames */
+ int *pnCkpt /** OUT: Total number of frames checkpointed */
+);
+
+/**
+* CAPI3REF: Checkpoint operation parameters
+*/
+enum
+{
+ SQLITE_CHECKPOINT_PASSIVE = 0,
+ SQLITE_CHECKPOINT_FULL = 1,
+ SQLITE_CHECKPOINT_RESTART = 2,
+ SQLITE_CHECKPOINT_TRUNCATE = 3,
+}
+
+/*
+* CAPI3REF: Virtual Table Interface Configuration
+*/
+int sqlite3_vtab_config(sqlite3*, int op, ...);
+
+/**
+* CAPI3REF: Virtual Table Configuration Options
+*/
+enum SQLITE_VTAB_CONSTRAINT_SUPPORT = 1;
+enum SQLITE_VTAB_INNOCUOUS = 2;
+enum SQLITE_VTAB_DIRECTONLY = 3;
+
+/*
+* 2010 August 30
+*
+* The author disclaims copyright to this source code. In place of
+* a legal notice, here is a blessing:
+*
+* May you do good and not evil.
+* May you find forgiveness for yourself and forgive others.
+* May you share freely, never taking more than you give.
+*
+************************************************************************
+*/
+
+//#ifndef _SQLITE3RTREE_H_
+//#define _SQLITE3RTREE_H_
+
+
+/*
+* CAPI3REF: Determine The Virtual Table Conflict Policy
+*/
+int sqlite3_vtab_on_conflict(sqlite3 *);
+
+/*
+* CAPI3REF: Determine If Virtual Table Column Access Is For UPDATE
+*/
+int sqlite3_vtab_nochange(sqlite3_context*);
+
+/*
+* CAPI3REF: Determine The Collation For a Virtual Table Constraint
+*/
+const(char)* sqlite3_vtab_collation (sqlite3_index_info*, int);
+
+/*
+* CAPI3REF: Conflict resolution modes
+*/
+enum
+{
+ SQLITE_ROLLBACK = 1,
+ SQLITE_FAIL = 3,
+ SQLITE_REPLACE = 5
+}
+
+/*
+* CAPI3REF: Prepared Statement Scan Status Opcodes
+*/
+enum
+{
+ SQLITE_SCANSTAT_NLOOP = 0,
+ SQLITE_SCANSTAT_NVISIT = 1,
+ SQLITE_SCANSTAT_EST = 2,
+ SQLITE_SCANSTAT_NAME = 3,
+ SQLITE_SCANSTAT_EXPLAIN = 4,
+ SQLITE_SCANSTAT_SELECTID = 5,
+}
+
+/*
+* CAPI3REF: Prepared Statement Scan Status
+*/
+int sqlite3_stmt_scanstatus(sqlite3_stmt *pStmt, int idx, int iScanStatusOp, void *pOut);
+
+/*
+* CAPI3REF: Zero Scan-Status Counters
+*/
+void sqlite3_stmt_scanstatus_reset(sqlite3_stmt *);
+
+/*
+* CAPI3REF: Flush caches to disk mid-transaction
+*/
+int sqlite3_db_cacheflush(sqlite3 *);
+
+/*
+* CAPI3REF: The pre-update hook
+*/
+void* sqlite3_preupdate_hook(
+ sqlite3* db,
+ void function(
+ void* pCtx,
+ sqlite3* db, /** Database handle */
+ int op, /** SQLITE_UPDATE, DELETE or INSERT */
+ const(char)* zDb, /** Database name */
+ const(char)* zName, /** Table name */
+ sqlite3_int64 iKey1, /** Rowid of row about to be deleted/updated */
+ sqlite3_int64 iKey2
+ ) xPreUpdate,
+ void*
+);
+/// Ditto
+int sqlite3_preupdate_old(sqlite3*, int, sqlite3_value**);
+/// Ditto
+int sqlite3_preupdate_count(sqlite3*);
+/// Ditto
+int sqlite3_preupdate_depth(sqlite3*);
+/// Ditto
+int sqlite3_preupdate_new(sqlite3*, int, sqlite3_value**);
+
+/*
+* CAPI3REF: Database Snapshot
+*/
+struct sqlite3_snapshot
+{
+ ubyte[48] hidden;
+}
+
+/*
+* CAPI3REF: Record A Database Snapshot
+*/
+int sqlite3_snapshot_get(sqlite3 *db, char *zSchema, sqlite3_snapshot **ppSnapshot);
+
+/*
+* CAPI3REF: Start a read transaction on an historical snapshot
+*/
+int sqlite3_snapshot_open(sqlite3 *db, char *zSchema, sqlite3_snapshot *pSnapshot);
+
+/*
+* CAPI3REF: Destroy a snapshot
+*/
+void sqlite3_snapshot_free(sqlite3_snapshot *);
+
+/*
+* CAPI3REF: Compare the ages of two snapshot handles
+*/
+int sqlite3_snapshot_cmp(sqlite3_snapshot* p1, sqlite3_snapshot* p2);
+
+/*
+* CAPI3REF: Recover snapshots from a wal file
+*/
+int sqlite3_snapshot_recover (sqlite3* db, const(char)* zDb);
+
+/*
+* CAPI3REF: Serialize a database
+*/
+ubyte* sqlite3_serialize(
+ sqlite3* db,
+ const(char)* zSchema,
+ sqlite3_int64* piSize,
+ uint mFlags
+);
+
+/*
+* CAPI3REF: Serialize a database
+*/
+enum
+{
+ SQLITE_SERIALIZE_NOCOPY = 0x001
+}
+
+/*
+* CAPI3REF: Deserialize a database
+*/
+int sqlite3_deserialize (
+ sqlite3* db,
+ const(char)* zSchema,
+ ubyte* pData,
+ sqlite3_int64 szDb,
+ sqlite3_int64 szBuf,
+ uint mFlags
+);
+
+/*
+* CAPI3REF: Flags for sqlite3_deserialize()
+*/
+enum
+{
+ SQLITE_DESERIALIZE_FREEONCLOSE = 1,
+ SQLITE_DESERIALIZE_RESIZEABLE = 2,
+ SQLITE_DESERIALIZE_READONLY = 4
+}
+
+/**
+* Register a geometry callback named zGeom that can be used as part of an
+* R-Tree geometry query as follows:
+*
+* SELECT ... FROM $(LT)rtree$(GT) WHERE $(LT)rtree col$(GT) MATCH $zGeom(... params ...)
+*/
+int sqlite3_rtree_geometry_callback(
+ sqlite3 *db,
+ const(char)*zGeom,
+ int function (sqlite3_rtree_geometry *, int nCoord, double *aCoord, int *pRes) xGeom,
+ void *pContext
+);
+
+/**
+* A pointer to a structure of the following type is passed as the first
+* argument to callbacks registered using rtree_geometry_callback().
+*/
+struct sqlite3_rtree_geometry
+{
+ void *pContext; /** Copy of pContext passed to s_r_g_c() */
+ int nParam; /** Size of array aParam[] */
+ double *aParam; /** Parameters passed to SQL geom function */
+ void *pUser; /** Callback implementation user data */
+ void function (void *) xDelUser; /** Called by SQLite to clean up pUser */
+}
+
+int sqlite3_rtree_query_callback(
+ sqlite3 *db,
+ const(char)* zQueryFunc,
+ int function(sqlite3_rtree_query_info*) xQueryFunc,
+ void *pContext,
+ void function(void*) xDestructor
+);
+
+struct sqlite3_rtree_query_info
+{
+ void *pContext; /* pContext from when function registered */
+ int nParam; /* Number of function parameters */
+ double*aParam; /* value of function parameters */
+ void *pUser; /* callback can use this, if desired */
+ void function(void*) xDelUser; /* function to free pUser */
+ double*aCoord; /* Coordinates of node or entry to check */
+ uint *anQueue; /* Number of pending entries in the queue */
+ int nCoord; /* Number of coordinates */
+ int iLevel; /* Level of current node or entry */
+ int mxLevel; /* The largest iLevel value in the tree */
+ sqlite3_int64 iRowid; /* Rowid for current entry */
+ double rParentScore; /* Score of parent node */
+ int eParentWithin; /* Visibility of parent node */
+ int eWithin; /* OUT: Visibility */
+ double rScore; /* OUT: Write the score here */
+ sqlite3_value **apSqlParam; /* Original SQL values of parameters */
+}
+
+enum
+{
+ NOT_WITHIN = 0, /** Object completely outside of query region */
+ PARTLY_WITHIN = 1, /** Object partially overlaps query region */
+ FULLY_WITHIN = 2 /** Object fully contained within query region */
+}
+
+/*
+* CAPI3REF: Session Object Handle
+*/
+struct sqlite3_session;
+
+/*
+* CAPI3REF: Session Object Handle
+*/
+struct sqlite3_changeset_iter;
+
+/*
+* CAPI3REF: Create A New Session Object
+*/
+int sqlite3session_create (
+ sqlite3* db,
+ const(char)* zDb,
+ sqlite3_session** ppSession
+);
+
+/*
+* CAPI3REF: Delete A Session Object
+*/
+void sqlite3session_delete(sqlite3_session* pSession);
+
+/*
+* CAPI3REF: Enable Or Disable A Session Object
+*/
+int sqlite3session_enable(sqlite3_session* pSession, int bEnable);
+
+/*
+* CAPI3REF: Set Or Clear the Indirect Change Flag
+*/
+int sqlite3session_indirect(sqlite3_session* pSession, int bIndirect);
+
+/*
+* CAPI3REF: Attach A Table To A Session Object
+*/
+int sqlite3session_attach(sqlite3_session* pSession, const(char)* zTab);
+
+/*
+* CAPI3REF: Set a table filter on a Session Object
+*/
+void sqlite3session_table_filter(
+ sqlite3_session* pSession,
+ int function (void* pCtx, const(char)* zTab) xFilter,
+ void* pCtx
+);
+
+/*
+* CAPI3REF: Generate A Changeset From A Session Object
+*/
+int sqlite3session_changeset(
+ sqlite3_session* pSession,
+ int* pnChangeset,
+ void** ppChangeset
+);
+
+/*
+* CAPI3REF: Load The Difference Between Tables Into A Session
+*/
+int sqlite3session_diff(
+ sqlite3_session* pSession,
+ const(char)* zFromDb,
+ const(char)* zTbl,
+ char** pzErrMsg
+);
+
+/*
+* CAPI3REF: Generate A Patchset From A Session Object
+*/
+int sqlite3session_patchset(
+ sqlite3_session* pSession,
+ int* pnPatchset,
+ void** ppPatchset
+);
+
+/*
+* CAPI3REF: Test if a changeset has recorded any changes
+*/
+int sqlite3session_isempty (sqlite3_session* pSession);
+
+/*
+* CAPI3REF: Create An Iterator To Traverse A Changeset
+*/
+int sqlite3changeset_start(
+ sqlite3_changeset_iter** pp,
+ int nChangeset,
+ void* pChangeset
+);
+/// Ditto
+int sqlite3changeset_start_v2(
+ sqlite3_changeset_iter** pp,
+ int nChangeset,
+ void* pChangeset,
+ int flags
+);
+
+/*
+* CAPI3REF: Flags for sqlite3changeset_start_v2
+*/
+enum
+{
+ SQLITE_CHANGESETSTART_INVERT = 0x0002
+}
+
+/*
+* CAPI3REF: Advance A Changeset Iterator
+*/
+int sqlite3changeset_next(sqlite3_changeset_iter* pIter);
+
+/*
+* CAPI3REF: Obtain The Current Operation From A Changeset Iterator
+*/
+int sqlite3changeset_op(
+ sqlite3_changeset_iter* pIter,
+ const(char*)* pzTab,
+ int* pnCol,
+ int* pOp,
+ int* pbIndirect
+);
+
+/*
+* CAPI3REF: Obtain The Primary Key Definition Of A Table
+*/
+int sqlite3changeset_pk(
+ sqlite3_changeset_iter* pIter,
+ ubyte** pabPK,
+ int* pnCol
+);
+
+/*
+* CAPI3REF: Obtain old.* Values From A Changeset Iterator
+*/
+int sqlite3changeset_old(
+ sqlite3_changeset_iter* pIter,
+ int iVal,
+ sqlite3_value** ppValue
+);
+
+/*
+* CAPI3REF: Obtain new.* Values From A Changeset Iterator
+*/
+int sqlite3changeset_new(
+ sqlite3_changeset_iter* pIter,
+ int iVal,
+ sqlite3_value** ppValue
+);
+
+/*
+* CAPI3REF: Obtain Conflicting Row Values From A Changeset Iterator
+*/
+int sqlite3changeset_conflict(
+ sqlite3_changeset_iter* pIter,
+ int iVal,
+ sqlite3_value** ppValue
+);
+
+/*
+* CAPI3REF: Determine The Number Of Foreign Key Constraint Violations
+*/
+int sqlite3changeset_fk_conflicts(sqlite3_changeset_iter* pIter, int* pnOut);
+
+/*
+* CAPI3REF: Finalize A Changeset Iterator
+*/
+int sqlite3changeset_finalize (sqlite3_changeset_iter* pIter);
+
+/*
+* CAPI3REF: Invert A Changeset
+*/
+int sqlite3changeset_invert(
+ int nIn,
+ const(void)* pIn,
+ int* pnOut,
+ void** ppOut
+);
+
+/*
+* CAPI3REF: Concatenate Two Changeset Objects
+*/
+int sqlite3changeset_concat(
+ int nA,
+ void* pA,
+ int nB,
+ void* pB,
+ int* pnOut,
+ void** ppOut
+);
+
+/*
+* CAPI3REF: Changegroup Handle
+*/
+struct sqlite3_changegroup;
+
+/*
+* CAPI3REF: Create A New Changegroup Object
+*/
+int sqlite3changegroup_new(sqlite3_changegroup** pp);
+
+/*
+* CAPI3REF: Add A Changeset To A Changegroup
+*/
+int sqlite3changegroup_add(sqlite3_changegroup*, int nData, void* pData);
+
+/*
+* CAPI3REF: Obtain A Composite Changeset From A Changegroup
+*/
+int sqlite3changegroup_output(
+ sqlite3_changegroup*,
+ int* pnData,
+ void** ppData
+);
+
+/*
+* CAPI3REF: Delete A Changegroup Object
+*/
+void sqlite3changegroup_delete (sqlite3_changegroup*);
+
+/*
+* CAPI3REF: Apply A Changeset To A Database
+*/
+int sqlite3changeset_apply(
+ sqlite3* db,
+ int nChangeset,
+ void* pChangeset,
+ int function(void* pCtx, const(char)* zTab) xFilter,
+ int function(void* pCtx, int eConflict, sqlite3_changeset_iter* p) xConflict,
+ void* pCtx
+);
+/// Ditto
+int sqlite3changeset_apply_v2(
+ sqlite3* db,
+ int nChangeset,
+ void* pChangeset,
+ int function(void* pCtx, const(char)* zTab) xFilter,
+ int function(void* pCtx, int eConflict, sqlite3_changeset_iter* p) xConflict,
+ void* pCtx,
+ void** ppRebase,
+ int* pnRebase,
+ int flags
+);
+
+/*
+* CAPI3REF: Flags for sqlite3changeset_apply_v2
+*/
+enum
+{
+ SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001,
+ SQLITE_CHANGESETAPPLY_INVERT = 0x0002
+}
+
+/*
+* CAPI3REF: Constants Passed To The Conflict Handler
+*/
+enum
+{
+ SQLITE_CHANGESET_DATA = 1,
+ SQLITE_CHANGESET_NOTFOUND = 2,
+ SQLITE_CHANGESET_CONFLICT = 3,
+ SQLITE_CHANGESET_CONSTRAINT = 4,
+ SQLITE_CHANGESET_FOREIGN_KEY = 5
+}
+
+/*
+* CAPI3REF: Constants Returned By The Conflict Handler
+*/
+enum
+{
+ SQLITE_CHANGESET_OMIT = 0,
+ SQLITE_CHANGESET_REPLACE = 1,
+ SQLITE_CHANGESET_ABORT = 2
+}
+
+/*
+* CAPI3REF: Rebasing changesets
+*/
+struct sqlite3_rebaser;
+
+/*
+* CAPI3REF: Create a changeset rebaser object
+*/
+int sqlite3rebaser_create(sqlite3_rebaser** ppNew);
+
+/*
+* CAPI3REF: Configure a changeset rebaser object
+*/
+int sqlite3rebaser_configure(
+ sqlite3_rebaser*,
+ int nRebase,
+ const(void)* pRebase
+);
+
+/*
+* CAPI3REF: Rebase a changeset
+*/
+int sqlite3rebaser_rebase(
+ sqlite3_rebaser*,
+ int nIn,
+ const(void)* pIn,
+ int* pnOut,
+ void** ppOut
+);
+
+/*
+* CAPI3REF: Delete a changeset rebaser object
+*/
+void sqlite3rebaser_delete(sqlite3_rebaser* p);
+
+/*
+* CAPI3REF: Streaming Versions of API functions
+*/
+int sqlite3changeset_apply_strm(
+ sqlite3* db,
+ int function (void* pIn, void* pData, int* pnData) xInput,
+ void* pIn,
+ int function (void* pCtx, const(char)* zTab) xFilter,
+ int function (void* pCtx, int eConflict, sqlite3_changeset_iter* p) xConflict,
+ void* pCtx
+);
+/// Ditto
+int sqlite3changeset_apply_v2_strm(
+ sqlite3* db,
+ int function (void* pIn, void* pData, int* pnData) xInput,
+ void* pIn,
+ int function (void* pCtx, const(char)* zTab) xFilter,
+ int function (void* pCtx, int eConflict, sqlite3_changeset_iter* p) xConflict,
+ void* pCtx,
+ void** ppRebase,
+ int* pnRebase,
+ int flags
+);
+/// Ditto
+int sqlite3changeset_concat_strm(
+ int function (void* pIn, void* pData, int* pnData) xInputA,
+ void* pInA,
+ int function (void* pIn, void* pData, int* pnData) xInputB,
+ void* pInB,
+ int function (void* pOut, const(void)* pData, int nData) xOutput,
+ void* pOut
+);
+/// Ditto
+int sqlite3changeset_invert_strm(
+ int function (void* pIn, void* pData, int* pnData) xInput,
+ void* pIn,
+ int function (void* pOut, const(void)* pData, int nData) xOutput,
+ void* pOut
+);
+/// Ditto
+int sqlite3changeset_start_strm(
+ sqlite3_changeset_iter** pp,
+ int function (void* pIn, void* pData, int* pnData) xInput,
+ void* pIn
+);
+/// Ditto
+int sqlite3changeset_start_v2_strm(
+ sqlite3_changeset_iter** pp,
+ int function (void* pIn, void* pData, int* pnData) xInput,
+ void* pIn,
+ int flags
+);
+/// Ditto
+int sqlite3session_changeset_strm(
+ sqlite3_session* pSession,
+ int function (void* pOut, const(void)* pData, int nData) xOutput,
+ void* pOut
+);
+/// Ditto
+int sqlite3session_patchset_strm(
+ sqlite3_session* pSession,
+ int function (void* pOut, const(void)* pData, int nData) xOutput,
+ void* pOut
+);
+/// Ditto
+int sqlite3changegroup_add_strm(
+ sqlite3_changegroup*,
+ int function (void* pIn, void* pData, int* pnData) xInput,
+ void* pIn
+);
+/// Ditto
+int sqlite3changegroup_output_strm(
+ sqlite3_changegroup*,
+ int function (void* pOut, const(void)* pData, int nData) xOutput,
+ void* pOut
+);
+/// Ditto
+int sqlite3rebaser_rebase_strm(
+ sqlite3_rebaser* pRebaser,
+ int function (void* pIn, void* pData, int* pnData) xInput,
+ void* pIn,
+ int function (void* pOut, const(void)* pData, int nData) xOutput,
+ void* pOut
+);
+
+/*
+* CAPI3REF: Configure global parameters
+*/
+int sqlite3session_config(int op, void* pArg);
+
+/*
+* CAPI3REF: Values for sqlite3session_config()
+*/
+enum
+{
+ SQLITE_SESSION_CONFIG_STRMSIZE = 1
+}
+
+/******************************************************************************
+* Interfaces to extend FTS5.
+*/
+struct Fts5Context;
+/// Ditto
+alias fts5_extension_function = void function(
+ const Fts5ExtensionApi *pApi,
+ Fts5Context *pFts,
+ sqlite3_context *pCtx,
+ int nVal,
+ sqlite3_value **apVal
+);
+/// Ditto
+struct Fts5PhraseIter
+{
+ const(ubyte) *a;
+ const(ubyte) *b;
+}
+/// Ditto
+struct Fts5ExtensionApi
+{
+ int iVersion; /** Currently always set to 3 */
+ void* function(Fts5Context*) xUserData;
+ int function(Fts5Context*) xColumnCount;
+ int function(Fts5Context*, sqlite3_int64 *pnRow) xRowCount;
+ int function(Fts5Context*, int iCol, sqlite3_int64 *pnToken) xColumnTotalSize;
+ int function(Fts5Context*,
+ const char *pText, int nText,
+ void *pCtx,
+ int function(void*, int, const char*, int, int, int) xToken
+ ) xTokenize;
+ int function(Fts5Context*) xPhraseCount;
+ int function(Fts5Context*, int iPhrase) xPhraseSize;
+ int function(Fts5Context*, int *pnInst) xInstCount;
+ int function(Fts5Context*, int iIdx, int *piPhrase, int *piCol, int *piOff) xInst;
+ sqlite3_int64 function(Fts5Context*) xRowid;
+ int function(Fts5Context*, int iCol, const char **pz, int *pn) xColumnText;
+ int function(Fts5Context*, int iCol, int *pnToken) xColumnSize;
+ int function(Fts5Context*, int iPhrase, void *pUserData,
+ int function(const Fts5ExtensionApi*,Fts5Context*,void*)
+ ) xQueryPhrase;
+ int function(Fts5Context*, void *pAux, void function(void*) xDelete) xSetAuxdata;
+ void* function(Fts5Context*, int bClear) xGetAuxdata;
+ int function(Fts5Context*, int iPhrase, Fts5PhraseIter*, int*, int*) xPhraseFirst;
+ void function(Fts5Context*, Fts5PhraseIter*, int *piCol, int *piOff) xPhraseNext;
+ int function(Fts5Context*, int iPhrase, Fts5PhraseIter*, int*) xPhraseFirstColumn;
+ void function(Fts5Context*, Fts5PhraseIter*, int* piCol) xPhraseNextColumn;
+}
+/// Ditto
+struct Fts5Tokenizer;
+struct fts5_tokenizer
+{
+ int function(void*, const char **azArg, int nArg, Fts5Tokenizer **ppOut) xCreate;
+ void function(Fts5Tokenizer*) xDelete;
+ int function(Fts5Tokenizer*,
+ void *pCtx,
+ int flags,
+ const char *pText, int nText,
+ int function(
+ void *pCtx,
+ int tflags,
+ const char *pToken,
+ int nToken,
+ int iStart,
+ int iEnd
+ ) xToken
+ ) xTokenize;
+}
+/// Ditto
+enum FTS5_TOKENIZE_QUERY = 0x0001;
+/// Ditto
+enum FTS5_TOKENIZE_PREFIX = 0x0002;
+/// Ditto
+enum FTS5_TOKENIZE_DOCUMENT = 0x0004;
+/// Ditto
+enum FTS5_TOKENIZE_AUX = 0x0008;
+/// Ditto
+enum FTS5_TOKEN_COLOCATED = 0x0001;
+/// Ditto
+struct fts5_api
+{
+ int iVersion;
+
+ int function(
+ fts5_api *pApi,
+ const char *zName,
+ void *pContext,
+ fts5_tokenizer *pTokenizer,
+ void function(void*) xDestroy
+ ) xCreateTokenizer;
+
+ int function(
+ fts5_api *pApi,
+ const char *zName,
+ void **ppContext,
+ fts5_tokenizer *pTokenizer
+ ) xFindTokenizer;
+
+ int function(
+ fts5_api *pApi,
+ const char *zName,
+ void *pContext,
+ fts5_extension_function xFunction,
+ void function(void*) xDestroy
+ ) xCreateFunction;
+}