|
| 1 | +/** |
| 2 | + * ODBC Header Module |
| 3 | + * |
| 4 | + * ImportC translation from the $(LINK2 https://github.com/microsoft/ODBC-Specification, |
| 5 | + ODBC 4.0 Specification) Headers. |
| 6 | + * |
| 7 | + * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) |
| 8 | + * Source: $(PHOBOSSRC etc/c/odbc/_package.d) |
| 9 | +
|
| 10 | +Declarations for interfacing with the ODBC library. |
| 11 | +
|
| 12 | +The prior version of the ODBC bindings has been deprecated and will be removed in a future release. |
| 13 | +
|
| 14 | +See_Also: $(LINK2 https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference, |
| 15 | + ODBC API Reference on MSDN) |
| 16 | + */ |
| 17 | + |
| 18 | +module etc.c.odbc; |
| 19 | + |
| 20 | +//64-bit architectures |
| 21 | +version(X86_64) { |
| 22 | + public import etc.c.odbc.odbc64; |
| 23 | +} |
| 24 | +version(AArch64) { |
| 25 | + public import etc.c.odbc.odbc64; |
| 26 | +} |
| 27 | +version(PPC64) { |
| 28 | + public import etc.c.odbc.odbc64; |
| 29 | +} |
| 30 | +version(MIPS64) { |
| 31 | + public import etc.c.odbc.odbc64; |
| 32 | +} |
| 33 | +version(RISCV64) { |
| 34 | + public import etc.c.odbc.odbc64; |
| 35 | +} |
| 36 | +version(SPARC64) { |
| 37 | + public import etc.c.odbc.odbc64; |
| 38 | +} |
| 39 | +version(HPPA64) { |
| 40 | + public import etc.c.odbc.odbc64; |
| 41 | +} |
| 42 | +version(IA64) { |
| 43 | + public import etc.c.odbc.odbc64; |
| 44 | +} |
| 45 | + |
| 46 | +//32-bit architectures |
| 47 | +version(X86) { |
| 48 | + public import etc.c.odbc.odbc32; |
| 49 | +} |
| 50 | +version(ARM) { |
| 51 | + public import etc.c.odbc.odbc32; |
| 52 | +} |
| 53 | +version(PPC32) { |
| 54 | + public import etc.c.odbc.odbc32; |
| 55 | +} |
| 56 | +version(MIPS32) { |
| 57 | + public import etc.c.odbc.odbc32; |
| 58 | +} |
| 59 | +version(RISCV32) { |
| 60 | + public import etc.c.odbc.odbc32; |
| 61 | +} |
| 62 | +version(SPARC) { |
| 63 | + public import etc.c.odbc.odbc32; |
| 64 | +} |
| 65 | +version(HPPA) { |
| 66 | + public import etc.c.odbc.odbc32; |
| 67 | +} |
| 68 | + |
| 69 | +// Manually converted enums |
| 70 | +public enum int ODBCVER = 0x0400; |
| 71 | +public enum int SQL_CA2_MAX_ROWS_AFFECTS_ALL = SQL_CA2_MAX_ROWS_SELECT | SQL_CA2_MAX_ROWS_INSERT | |
| 72 | + SQL_CA2_MAX_ROWS_DELETE | SQL_CA2_MAX_ROWS_UPDATE | SQL_CA2_MAX_ROWS_CATALOG; |
| 73 | +public enum string SQL_ALL_CATALOGS = "%"; |
| 74 | +public enum string SQL_ALL_SCHEMAS = "%"; |
| 75 | +public enum string SQL_ALL_TABLE_TYPES = "%"; |
| 76 | +public enum string SQL_ODBC_KEYWORDS = "ABSOLUTE,ACTION,ADA,ADD,ALL,ALLOCATE,ALTER,AND,ANY,ARE,AS, |
| 77 | +ASC,ASSERTION,AT,AUTHORIZATION,AVG, |
| 78 | +BEGIN,BETWEEN,BIT,BIT_LENGTH,BOTH,BY,CASCADE,CASCADED,CASE,CAST,CATALOG, |
| 79 | +CHAR,CHAR_LENGTH,CHARACTER,CHARACTER_LENGTH,CHECK,CLOSE,COALESCE, |
| 80 | +COLLATE,COLLATION,COLUMN,COMMIT,CONNECT,CONNECTION,CONSTRAINT, |
| 81 | +CONSTRAINTS,CONTINUE,CONVERT,CORRESPONDING,COUNT,CREATE,CROSS,CURRENT, |
| 82 | +CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,CURRENT_USER,CURSOR, |
| 83 | +DATE,DAY,DEALLOCATE,DEC,DECIMAL,DECLARE,DEFAULT,DEFERRABLE, |
| 84 | +DEFERRED,DELETE,DESC,DESCRIBE,DESCRIPTOR,DIAGNOSTICS,DISCONNECT, |
| 85 | +DISTINCT,DOMAIN,DOUBLE,DROP, |
| 86 | +ELSE,END,END-EXEC,ESCAPE,EXCEPT,EXCEPTION,EXEC,EXECUTE, |
| 87 | +EXISTS,EXTERNAL,EXTRACT, |
| 88 | +FALSE,FETCH,FIRST,FLOAT,FOR,FOREIGN,FORTRAN,FOUND,FROM,FULL, |
| 89 | +GET,GLOBAL,GO,GOTO,GRANT,GROUP,HAVING,HOUR, |
| 90 | +IDENTITY,IMMEDIATE,IN,INCLUDE,INDEX,INDICATOR,INITIALLY,INNER, |
| 91 | +INPUT,INSENSITIVE,INSERT,INT,INTEGER,INTERSECT,INTERVAL,INTO,IS,ISOLATION, |
| 92 | +JOIN,KEY,LANGUAGE,LAST,LEADING,LEFT,LEVEL,LIKE,LOCAL,LOWER, |
| 93 | +MATCH,MAX,MIN,MINUTE,MODULE,MONTH, |
| 94 | +NAMES,NATIONAL,NATURAL,NCHAR,NEXT,NO,NONE,NOT,NULL,NULLIF,NUMERIC, |
| 95 | +OCTET_LENGTH,OF,ON,ONLY,OPEN,OPTION,OR,ORDER,OUTER,OUTPUT,OVERLAPS, |
| 96 | +PAD,PARTIAL,PASCAL,PLI,POSITION,PRECISION,PREPARE,PRESERVE, |
| 97 | +PRIMARY,PRIOR,PRIVILEGES,PROCEDURE,PUBLIC, |
| 98 | +READ,REAL,REFERENCES,RELATIVE,RESTRICT,REVOKE,RIGHT,ROLLBACK,ROWS, |
| 99 | +SCHEMA,SCROLL,SECOND,SECTION,SELECT,SESSION,SESSION_USER,SET,SIZE, |
| 100 | +SMALLINT,SOME,SPACE,SQL,SQLCA,SQLCODE,SQLERROR,SQLSTATE,SQLWARNING, |
| 101 | +SUBSTRING,SUM,SYSTEM_USER, |
| 102 | +TABLE,TEMPORARY,THEN,TIME,TIMESTAMP,TIMEZONE_HOUR,TIMEZONE_MINUTE, |
| 103 | +TO,TRAILING,TRANSACTION,TRANSLATE,TRANSLATION,TRIM,TRUE, |
| 104 | +UNION,UNIQUE,UNKNOWN,UPDATE,UPPER,USAGE,USER,USING, |
| 105 | +VALUE,VALUES,VARCHAR,VARYING,VIEW,WHEN,WHENEVER,WHERE,WITH,WORK,WRITE, |
| 106 | +YEAR,ZONE"; |
| 107 | + |
| 108 | +// Manually converted macros |
| 109 | +public long SQL_LEN_DATA_AT_EXEC(long length) |
| 110 | +{ |
| 111 | + return (-(length)+SQL_LEN_DATA_AT_EXEC_OFFSET); |
| 112 | +} |
| 113 | + |
| 114 | +public long SQL_LEN_BINARY_ATTR(long length) |
| 115 | +{ |
| 116 | + return (-(length)+SQL_LEN_BINARY_ATTR_OFFSET); |
| 117 | +} |
| 118 | + |
| 119 | +public SQLRETURN SQL_POSITION_TO(SQLHSTMT hstmt, SQLSETPOSIROW irow) |
| 120 | +{ |
| 121 | + return SQLSetPos(hstmt,irow,SQL_POSITION,SQL_LOCK_NO_CHANGE); |
| 122 | +} |
| 123 | + |
| 124 | +public SQLRETURN SQL_LOCK_RECORD(SQLHSTMT hstmt, SQLSETPOSIROW irow, SQLUSMALLINT fLock) |
| 125 | +{ |
| 126 | + return SQLSetPos(hstmt,irow,SQL_POSITION,fLock); |
| 127 | +} |
| 128 | + |
| 129 | +public SQLRETURN SQL_REFRESH_RECORD(SQLHSTMT hstmt, SQLSETPOSIROW irow, SQLUSMALLINT fLock) |
| 130 | +{ |
| 131 | + return SQLSetPos(hstmt,irow,SQL_REFRESH,fLock); |
| 132 | +} |
| 133 | + |
| 134 | +public SQLRETURN SQL_UPDATE_RECORD(SQLHSTMT hstmt, SQLSETPOSIROW irow) |
| 135 | +{ |
| 136 | + return SQLSetPos(hstmt,irow,SQL_UPDATE,SQL_LOCK_NO_CHANGE); |
| 137 | +} |
| 138 | + |
| 139 | +public SQLRETURN SQL_DELETE_RECORD(SQLHSTMT hstmt, SQLSETPOSIROW irow) |
| 140 | +{ |
| 141 | + return SQLSetPos(hstmt,irow,SQL_DELETE,SQL_LOCK_NO_CHANGE); |
| 142 | +} |
| 143 | + |
| 144 | +public SQLRETURN SQL_ADD_RECORD(SQLHSTMT hstmt, SQLSETPOSIROW irow) |
| 145 | +{ |
| 146 | + return SQLSetPos(hstmt,irow,SQL_ADD,SQL_LOCK_NO_CHANGE); |
| 147 | +} |
0 commit comments