1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/// Information requested by SQLGetInfo
#[repr(u16)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum InfoType {
MaxDriverConnections = 0,
MaxConcurrentActivities = 1,
DataSourceName = 2,
// FetchDirection = 8, Deprecated in ODBC 3
ServerName = 13,
SearchPatternEscape = 14,
DbmsName = 17,
DbmsVer = 18,
AccessibleTables = 19,
AccessibleProcedures = 20,
CursorCommitBehaviour = 23,
DataSourceReadOnly = 25,
DefaultTxnIsolation = 26,
IdentifierCase = 28,
IdentifierQuoteChar = 29,
MaxColumnNameLen = 30,
MaxCursorNameLen = 31,
MaxSchemaNameLen = 32,
MaxCatalogNameLen = 34,
MaxTableNameLen = 35,
// ScrollConcurrency = 43, deprecated in ODBC 3
/// `SQL_SCROLL_OPTIONS` C-API places this in the extended header. Lists the supported cursor
/// types (forward-only, static, keyset-driven, dynamic, or mixed). All data sources must
/// support forward-only cursors. See:
/// <https://learn.microsoft.com/sql/odbc/reference/develop-app/determining-cursor-capabilities>
ScrollOptions = 44,
TransactionCapable = 46,
UserName = 47,
TransactionIsolationProtocol = 72,
Integrity = 73,
GetDataExtensions = 81,
NullCollation = 85,
AlterTable = 86,
OrderByColumnsInSelect = 90,
SpecialCharacters = 94,
MaxColumnsInGroupBy = 97,
MaxColumnsInIndex = 98,
MaxColumnsInOrderBy = 99,
MaxColumnsInSelect = 100,
MaxColumnsInTable = 101,
MaxIndexSize = 102,
MaxRowSize = 104,
MaxStatementLen = 105,
MaxTablesInSelect = 106,
MaxUserNameLen = 107,
OuterJoinCapabilities = 115,
/// `SQL_ACTIVE_ENVIRONMENTS` C-API places this in the extended header. A `u16` value that
/// specifies the maximum number of active environments that the driver can support. If there is
/// no specified limit or the limit is unknown, this value is set to zero.
ActiveEnvironments = 116,
/// `SQL_DYNAMIC_CURSOR_ATTRIBUTES1` C-API places this in the extended header. Lists the fetch
/// types supported by scrollable cursors. The bits in the return value correspond to the fetch
/// types in SQLFetchScroll. See:
/// <https://learn.microsoft.com/sql/odbc/reference/develop-app/determining-cursor-capabilities>
DynamicCursorAttributes1 = 144,
/// `SQL_DYNAMIC_CURSOR_ATTRIBUTES2` C-API places this in the extended header. Lists whether
/// cursors can detect their own updates, deletes, and inserts. See:
/// <https://learn.microsoft.com/sql/odbc/reference/develop-app/determining-cursor-capabilities>
DynamicCursorAttributes2 = 145,
/// `SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1` C-API places this in the extended header. Lists the
/// fetch types supported by scrollable cursors. The bits in the return value correspond to the
/// fetch types in SQLFetchScroll. See:
/// <https://learn.microsoft.com/sql/odbc/reference/develop-app/determining-cursor-capabilities>
ForwardOnlyCursorAttributes1 = 146,
/// `SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2` C-API places this in the extended header. Lists
/// whether cursors can detect their own updates, deletes, and inserts. See:
/// <https://learn.microsoft.com/sql/odbc/reference/develop-app/determining-cursor-capabilities>
ForwardOnlyCursorAttributes2 = 147,
/// `SQL_KEYSET_CURSOR_ATTRIBUTES1` C-API places this in the extended header. Lists the fetch
/// types supported by scrollable cursors. The bits in the return value correspond to the fetch
/// types in SQLFetchScroll. See:
/// <https://learn.microsoft.com/sql/odbc/reference/develop-app/determining-cursor-capabilities>
KeysetCursorAttributes1 = 150,
/// `SQL_KEYSET_CURSOR_ATTRIBUTES2` C-API places this in the extended header. Lists whether
/// cursors can detect their own updates, deletes, and inserts. See:
/// <https://learn.microsoft.com/sql/odbc/reference/develop-app/determining-cursor-capabilities>
KeysetCursorAttributes2 = 151,
/// `SQL_STATIC_CURSOR_ATTRIBUTES1` C-API places this in the extended header. Lists the fetch
/// types supported by scrollable cursors. The bits in the return value correspond to the fetch
/// types in SQLFetchScroll. See:
/// <https://learn.microsoft.com/sql/odbc/reference/develop-app/determining-cursor-capabilities>
StaticCursorAttributes1 = 167,
/// `SQL_STATIC_CURSOR_ATTRIBUTES2` C-API places this in the extended header. Lists whether
/// cursors can detect their own updates, deletes, and inserts. See:
/// <https://learn.microsoft.com/sql/odbc/reference/develop-app/determining-cursor-capabilities>
StaticCursorAttributes2 = 168,
XopenCliYear = 10000,
CursorSensitivity = 10001,
DescribeParameter = 10002,
CatalogName = 10003,
CollationSeq = 10004,
MaxIdentifierLen = 10005,
AsyncMode = 10021,
MaxAsyncConcurrentStatements = 10022,
AsyncDbcFunctions = 10023,
DriverAwarePoolingSupported = 10024,
AsyncNotification = 10025,
}