1 // Copyright © 2015-2017 winapi-rs developers
2 // Licensed under the Apache License, Version 2.0
3 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
4 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
5 // All files in the project carrying such notice may not be copied, modified, or distributed
6 // except according to those terms.
7 //! This module defines the SQL extension APIs
8 use um::sql::{
9     SQL_CHAR, SQL_DOUBLE, SQL_INTEGER, SQL_NUMERIC, SQL_REAL, SQL_SMALLINT, SQL_TYPE_DATE,
10     SQL_TYPE_TIME, SQL_TYPE_TIMESTAMP
11 };
12 use um::sqltypes::{SQLINTEGER, SQLSMALLINT, SQLUSMALLINT};
13 pub const SQL_ATTR_ODBC_VERSION: SQLINTEGER = 200;
14 pub const SQL_ATTR_CONNECTION_POOLING: SQLINTEGER = 201;
15 pub const SQL_ATTR_CP_MATCH: SQLINTEGER = 202;
16 pub const SQL_OV_ODBC2: SQLINTEGER = 2;
17 pub const SQL_OV_ODBC3: SQLINTEGER = 3;
18 pub const SQL_OV_ODBC3_80: SQLINTEGER = 380;
19 pub const SQL_ACCESS_MODE: SQLINTEGER = 101;
20 pub const SQL_AUTOCOMMIT: SQLINTEGER = 102;
21 pub const SQL_LOGIN_TIMEOUT: SQLINTEGER = 103;
22 pub const SQL_OPT_TRACE: SQLINTEGER = 104;
23 pub const SQL_OPT_TRACEFILE: SQLINTEGER = 105;
24 pub const SQL_TRANSLATE_DLL: SQLINTEGER = 106;
25 pub const SQL_TRANSLATE_OPTION: SQLINTEGER = 107;
26 pub const SQL_TXN_ISOLATION: SQLINTEGER = 108;
27 pub const SQL_CURRENT_QUALIFIER: SQLINTEGER = 109;
28 pub const SQL_ODBC_CURSORS: SQLINTEGER = 110;
29 pub const SQL_QUIET_MODE: SQLINTEGER = 111;
30 pub const SQL_PACKET_SIZE: SQLINTEGER = 112;
31 pub const SQL_ATTR_ACCESS_MODE: SQLINTEGER = SQL_ACCESS_MODE;
32 pub const SQL_ATTR_AUTOCOMMIT: SQLINTEGER = SQL_AUTOCOMMIT;
33 pub const SQL_ATTR_CONNECTION_TIMEOUT: SQLINTEGER = 113;
34 pub const SQL_ATTR_CURRENT_CATALOG: SQLINTEGER = SQL_CURRENT_QUALIFIER;
35 pub const SQL_ATTR_DISCONNECT_BEHAVIOR: SQLINTEGER = 114;
36 pub const SQL_ATTR_ENLIST_IN_DTC: SQLINTEGER = 1207;
37 pub const SQL_ATTR_ENLIST_IN_XA: SQLINTEGER = 1208;
38 pub const SQL_ATTR_LOGIN_TIMEOUT: SQLINTEGER = SQL_LOGIN_TIMEOUT;
39 pub const SQL_ATTR_ODBC_CURSORS: SQLINTEGER = SQL_ODBC_CURSORS;
40 pub const SQL_ATTR_PACKET_SIZE: SQLINTEGER = SQL_PACKET_SIZE;
41 pub const SQL_ATTR_QUIET_MODE: SQLINTEGER = SQL_QUIET_MODE;
42 pub const SQL_ATTR_TRACE: SQLINTEGER = SQL_OPT_TRACE;
43 pub const SQL_ATTR_TRACEFILE: SQLINTEGER = SQL_OPT_TRACEFILE;
44 pub const SQL_ATTR_TRANSLATE_LIB: SQLINTEGER = SQL_TRANSLATE_DLL;
45 pub const SQL_ATTR_TRANSLATE_OPTION: SQLINTEGER = SQL_TRANSLATE_OPTION;
46 pub const SQL_ATTR_TXN_ISOLATION: SQLINTEGER = SQL_TXN_ISOLATION;
47 pub const SQL_ATTR_CONNECTION_DEAD: SQLINTEGER = 1209;
48 pub const SQL_IS_POINTER: SQLINTEGER = -4;
49 pub const SQL_IS_UINTEGER: SQLINTEGER = -5;
50 pub const SQL_IS_INTEGER: SQLINTEGER = -6;
51 pub const SQL_IS_USMALLINT: SQLINTEGER = -7;
52 pub const SQL_IS_SMALLINT: SQLINTEGER = -8;
53 pub const SQL_DATE: SQLSMALLINT = 9;
54 pub const SQL_INTERVAL: SQLSMALLINT = 10;
55 pub const SQL_TIME: SQLSMALLINT = 10;
56 pub const SQL_TIMESTAMP: SQLSMALLINT = 11;
57 pub const SQL_LONGVARCHAR: SQLSMALLINT = -1;
58 pub const SQL_BINARY: SQLSMALLINT = -2;
59 pub const SQL_VARBINARY: SQLSMALLINT = -3;
60 pub const SQL_LONGVARBINARY: SQLSMALLINT = -4;
61 pub const SQL_BIGINT: SQLSMALLINT = -5;
62 pub const SQL_TINYINT: SQLSMALLINT = -6;
63 pub const SQL_BIT: SQLSMALLINT = -7;
64 pub const SQL_GUID: SQLSMALLINT = -11;
65 pub const SQL_C_CHAR: SQLSMALLINT = SQL_CHAR;
66 pub const SQL_C_LONG: SQLSMALLINT = SQL_INTEGER;
67 pub const SQL_C_SHORT: SQLSMALLINT = SQL_SMALLINT;
68 pub const SQL_C_FLOAT: SQLSMALLINT = SQL_REAL;
69 pub const SQL_C_DOUBLE: SQLSMALLINT = SQL_DOUBLE;
70 pub const SQL_C_NUMERIC: SQLSMALLINT = SQL_NUMERIC;
71 pub const SQL_C_DEFAULT: SQLSMALLINT = 99;
72 pub const SQL_SIGNED_OFFSET: SQLSMALLINT = -20;
73 pub const SQL_UNSIGNED_OFFSET: SQLSMALLINT = -22;
74 pub const SQL_C_DATE: SQLSMALLINT = SQL_DATE;
75 pub const SQL_C_TIME: SQLSMALLINT = SQL_TIME;
76 pub const SQL_C_TIMESTAMP: SQLSMALLINT = SQL_TIMESTAMP;
77 pub const SQL_C_TYPE_DATE: SQLSMALLINT = SQL_TYPE_DATE;
78 pub const SQL_C_TYPE_TIME: SQLSMALLINT = SQL_TYPE_TIME;
79 pub const SQL_C_TYPE_TIMESTAMP: SQLSMALLINT = SQL_TYPE_TIMESTAMP;
80 pub const SQL_C_BINARY: SQLSMALLINT = SQL_BINARY;
81 pub const SQL_C_BIT: SQLSMALLINT = SQL_BIT;
82 pub const SQL_C_SBIGINT: SQLSMALLINT = SQL_BIGINT + SQL_SIGNED_OFFSET;
83 pub const SQL_C_UBIGINT: SQLSMALLINT = SQL_BIGINT + SQL_UNSIGNED_OFFSET;
84 pub const SQL_C_TINYINT: SQLSMALLINT = SQL_TINYINT;
85 pub const SQL_C_SLONG: SQLSMALLINT = SQL_C_LONG + SQL_SIGNED_OFFSET;
86 pub const SQL_C_SSHORT: SQLSMALLINT = SQL_C_SHORT + SQL_SIGNED_OFFSET;
87 pub const SQL_C_STINYINT: SQLSMALLINT = SQL_TINYINT + SQL_SIGNED_OFFSET;
88 pub const SQL_C_ULONG: SQLSMALLINT = SQL_C_LONG + SQL_UNSIGNED_OFFSET;
89 pub const SQL_C_USHORT: SQLSMALLINT = SQL_C_SHORT + SQL_UNSIGNED_OFFSET;
90 pub const SQL_C_UTINYINT: SQLSMALLINT = SQL_TINYINT + SQL_UNSIGNED_OFFSET;
91 pub const SQL_C_GUID: SQLSMALLINT = SQL_GUID;
92 pub const SQL_TYPE_NULL: SQLSMALLINT = 0;
93 pub const SQL_DRIVER_NOPROMPT: SQLUSMALLINT = 0;
94 pub const SQL_DRIVER_COMPLETE: SQLUSMALLINT = 1;
95 pub const SQL_DRIVER_PROMPT: SQLUSMALLINT = 2;
96 pub const SQL_DRIVER_COMPLETE_REQUIRED: SQLUSMALLINT = 3;