libphobos: Add sqlite3 and odbc bindings

Phobos changes:

	- Add ODBC 4.0 modules to replace deprecated druntime bindings.
	- Add SQLite 3.x module.

libphobos/ChangeLog:

	* src/Makefile.am (PHOBOS_DSOURCES): Add 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.
	* src/Makefile.in: Regenerate.
	* src/etc/c/odbc/odbc32.d: New file.
	* src/etc/c/odbc/odbc64.d: New file.
	* src/etc/c/odbc/package.d: New file.
	* src/etc/c/odbc/sql.d: New file.
	* src/etc/c/odbc/sqlext.d: New file.
	* src/etc/c/odbc/sqltypes.d: New file.
	* src/etc/c/odbc/sqlucode.d: New file.
	* src/etc/c/sqlite3.d: New file.
This commit is contained in:
Iain Buclaw 2025-03-15 15:28:10 +01:00
parent 63e7478db7
commit 3653c7d726
10 changed files with 8705 additions and 15 deletions

View file

@ -87,13 +87,15 @@ PHOBOS_DSOURCES =
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 \

View file

@ -148,7 +148,14 @@ LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
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 \
@ -548,13 +555,15 @@ libgphobos_la_LINK = $(LIBTOOL) --tag=D $(libgphobos_la_LIBTOOLFLAGS) \
$(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 \
@ -703,6 +712,17 @@ etc/c/$(am__dirstamp):
@$(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
@ -974,6 +994,8 @@ mostlyclean-compile:
-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)
@ -1030,6 +1052,7 @@ mostlyclean-libtool:
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
@ -1160,6 +1183,7 @@ distclean-generic:
-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)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,63 @@
/**
* 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";

View file

@ -0,0 +1,442 @@
/**
* 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) */
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,178 @@
/**
* 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

View file

@ -0,0 +1,171 @@
/**
* 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;
}

File diff suppressed because it is too large Load diff