rs_odbc/
info.rs

1use crate::attr::{Attr, AttrGet, AttrLen};
2use crate::env::{OdbcVersion, SQL_OV_ODBC3, SQL_OV_ODBC3_80, SQL_OV_ODBC4};
3use crate::str::{OdbcChar, OdbcStr};
4use crate::{
5    Ident, OdbcDefined, Scalar, SQLCHAR, SQLSMALLINT, SQLUINTEGER, SQLUSMALLINT, SQLWCHAR,
6};
7use rs_odbc_derive::{odbc_bitmask, odbc_type, Ident};
8use core::mem::MaybeUninit;
9
10pub trait InfoType<I: Ident, V: OdbcVersion>:
11    Attr<I> + AttrLen<Self::DefinedBy, SQLSMALLINT>
12{
13}
14
15// Implement InfoType for all versions of info type attributes
16impl<I: Ident, T: Scalar> InfoType<I, SQL_OV_ODBC3_80> for T where
17    T: InfoType<I, <SQL_OV_ODBC3_80 as OdbcVersion>::PrevVersion>
18{
19}
20impl<I: Ident, T: Scalar> InfoType<I, SQL_OV_ODBC4> for T where
21    T: InfoType<I, <SQL_OV_ODBC4 as OdbcVersion>::PrevVersion>
22{
23}
24impl<I: Ident, T: Scalar> InfoType<I, SQL_OV_ODBC3_80> for [T] where
25    [T]: InfoType<I, <SQL_OV_ODBC3_80 as OdbcVersion>::PrevVersion>
26{
27}
28impl<I: Ident, T: Scalar> InfoType<I, SQL_OV_ODBC4> for [T] where
29    [T]: InfoType<I, <SQL_OV_ODBC4 as OdbcVersion>::PrevVersion>
30{
31}
32impl<I: Ident, CH: OdbcChar> InfoType<I, SQL_OV_ODBC3_80> for OdbcStr<CH> where
33    OdbcStr<CH>: InfoType<I, <SQL_OV_ODBC3_80 as OdbcVersion>::PrevVersion>
34{
35}
36impl<I: Ident, CH: OdbcChar> InfoType<I, SQL_OV_ODBC4> for OdbcStr<CH> where
37    OdbcStr<CH>: InfoType<I, <SQL_OV_ODBC4 as OdbcVersion>::PrevVersion>
38{
39}
40
41// Implement InfoType for uninitialized info type attributes
42impl<I: Ident, T: Scalar, V: OdbcVersion> InfoType<I, V> for MaybeUninit<T>
43where
44    T: InfoType<I, V> + AttrGet<I>,
45    Self: AttrLen<Self::DefinedBy, SQLSMALLINT>,
46{
47}
48impl<I: Ident, T: Scalar, V: OdbcVersion> InfoType<I, V> for [MaybeUninit<T>]
49where
50    [T]: InfoType<I, V> + AttrGet<I>,
51    Self: AttrLen<Self::DefinedBy, SQLSMALLINT>,
52{
53}
54impl<I: Ident, V: OdbcVersion> InfoType<I, V> for OdbcStr<MaybeUninit<SQLCHAR>> where
55    OdbcStr<SQLCHAR>: InfoType<I, V> + AttrGet<I>
56{
57}
58impl<I: Ident, V: OdbcVersion> InfoType<I, V> for OdbcStr<MaybeUninit<SQLWCHAR>> where
59    OdbcStr<SQLWCHAR>: InfoType<I, V> + AttrGet<I>
60{
61}
62
63//=====================================================================================//
64//-------------------------------------Attributes--------------------------------------//
65
66// These aliases include extensions of abbreviations
67pub use SQL_MAX_CATALOG_NAME_LEN as SQL_MAXIMUM_CATALOG_NAME_LENGTH;
68pub use SQL_MAX_COLUMNS_IN_GROUP_BY as SQL_MAXIMUM_COLUMNS_IN_GROUP_BY;
69pub use SQL_MAX_COLUMNS_IN_ORDER_BY as SQL_MAXIMUM_COLUMNS_IN_ORDER_BY;
70pub use SQL_MAX_COLUMNS_IN_SELECT as SQL_MAXIMUM_COLUMNS_IN_SELECT;
71pub use SQL_MAX_COLUMNS_IN_TABLE as SQL_MAXIMUM_COLUMNS_IN_TABLE;
72pub use SQL_MAX_COLUMN_NAME_LEN as SQL_MAXIMUM_COLUMN_NAME_LENGTH;
73pub use SQL_MAX_CONCURRENT_ACTIVITIES as SQL_MAXIMUM_CONCURRENT_ACTIVITIES;
74pub use SQL_MAX_CURSOR_NAME_LEN as SQL_MAXIMUM_CURSOR_NAME_LENGTH;
75pub use SQL_MAX_DRIVER_CONNECTIONS as SQL_MAXIMUM_DRIVER_CONNECTIONS;
76pub use SQL_MAX_IDENTIFIER_LEN as SQL_MAXIMUM_IDENTIFIER_LENGTH;
77pub use SQL_MAX_SCHEMA_NAME_LEN as SQL_MAXIMUM_SCHEMA_NAME_LENGTH;
78pub use SQL_MAX_STATEMENT_LEN as SQL_MAXIMUM_STATEMENT_LENGTH;
79pub use SQL_MAX_TABLES_IN_SELECT as SQL_MAXIMUM_TABLES_IN_SELECT;
80pub use SQL_MAX_TABLE_NAME_LEN as SQL_MAXIMUM_TABLE_NAME_LENGTH;
81pub use SQL_MAX_USER_NAME_LEN as SQL_MAXIMUM_USER_NAME_LENGTH;
82pub use SQL_MULT_RESULT_SETS as SQL_MULTIPLE_RESULT_SETS;
83pub use SQL_OJ_CAPABILITIES as SQL_OUTER_JOIN_CAPABILITIES;
84pub use SQL_TXN_CAPABLE as SQL_TRANSACTION_CAPABLE;
85pub use SQL_TXN_ISOLATION_OPTION as SQL_TRANSACTION_ISOLATION_OPTION;
86
87// TODO: Not mentioned in the specification, only implementation
88pub use SQL_MAX_COLUMNS_IN_INDEX as SQL_MAXIMUM_COLUMNS_IN_INDEX;
89pub use SQL_MAX_INDEX_SIZE as SQL_MAXIMUM_INDEX_SIZE;
90pub use SQL_MAX_ROW_SIZE as SQL_MAXIMUM_ROW_SIZE;
91
92// TODO: Try to categorize all of the following items just like all the other attributes
93
94#[derive(Ident)]
95#[identifier(SQLUSMALLINT, 171)]
96#[allow(non_camel_case_types)]
97pub struct SQL_DM_VER;
98impl InfoType<SQL_DM_VER, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
99unsafe impl Attr<SQL_DM_VER> for OdbcStr<SQLCHAR> {
100    type DefinedBy = OdbcDefined;
101}
102unsafe impl AttrGet<SQL_DM_VER> for OdbcStr<SQLCHAR> {}
103
104#[derive(Ident)]
105#[identifier(SQLUSMALLINT, 10000)]
106#[allow(non_camel_case_types)]
107pub struct SQL_XOPEN_CLI_YEAR;
108impl InfoType<SQL_XOPEN_CLI_YEAR, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
109unsafe impl Attr<SQL_XOPEN_CLI_YEAR> for OdbcStr<SQLCHAR> {
110    type DefinedBy = OdbcDefined;
111}
112unsafe impl AttrGet<SQL_XOPEN_CLI_YEAR> for OdbcStr<SQLCHAR> {}
113
114#[derive(Ident)]
115#[identifier(SQLUSMALLINT, 134)]
116#[allow(non_camel_case_types)]
117pub struct SQL_CREATE_VIEW;
118impl InfoType<SQL_CREATE_VIEW, SQL_OV_ODBC3> for CreateView {}
119unsafe impl Attr<SQL_CREATE_VIEW> for CreateView {
120    type DefinedBy = OdbcDefined;
121}
122unsafe impl AttrGet<SQL_CREATE_VIEW> for CreateView {}
123
124#[derive(Ident)]
125#[identifier(SQLUSMALLINT, 155)]
126#[allow(non_camel_case_types)]
127pub struct SQL_SQL92_DATETIME_FUNCTIONS;
128impl InfoType<SQL_SQL92_DATETIME_FUNCTIONS, SQL_OV_ODBC3> for DatetimeFunctions {}
129unsafe impl Attr<SQL_SQL92_DATETIME_FUNCTIONS> for DatetimeFunctions {
130    type DefinedBy = OdbcDefined;
131}
132unsafe impl AttrGet<SQL_SQL92_DATETIME_FUNCTIONS> for DatetimeFunctions {}
133
134#[derive(Ident)]
135#[identifier(SQLUSMALLINT, 156)]
136#[allow(non_camel_case_types)]
137pub struct SQL_SQL92_FOREIGN_KEY_DELETE_RULE;
138impl InfoType<SQL_SQL92_FOREIGN_KEY_DELETE_RULE, SQL_OV_ODBC3> for ForeignKeyDeleteRule {}
139unsafe impl Attr<SQL_SQL92_FOREIGN_KEY_DELETE_RULE> for ForeignKeyDeleteRule {
140    type DefinedBy = OdbcDefined;
141}
142unsafe impl AttrGet<SQL_SQL92_FOREIGN_KEY_DELETE_RULE> for ForeignKeyDeleteRule {}
143
144#[derive(Ident)]
145#[identifier(SQLUSMALLINT, 157)]
146#[allow(non_camel_case_types)]
147pub struct SQL_SQL92_FOREIGN_KEY_UPDATE_RULE;
148impl InfoType<SQL_SQL92_FOREIGN_KEY_UPDATE_RULE, SQL_OV_ODBC3> for ForeignKeyUpdateRule {}
149unsafe impl Attr<SQL_SQL92_FOREIGN_KEY_UPDATE_RULE> for ForeignKeyUpdateRule {
150    type DefinedBy = OdbcDefined;
151}
152unsafe impl AttrGet<SQL_SQL92_FOREIGN_KEY_UPDATE_RULE> for ForeignKeyUpdateRule {}
153
154#[derive(Ident)]
155#[identifier(SQLUSMALLINT, 158)]
156#[allow(non_camel_case_types)]
157pub struct SQL_SQL92_GRANT;
158impl InfoType<SQL_SQL92_GRANT, SQL_OV_ODBC3> for Grant {}
159unsafe impl Attr<SQL_SQL92_GRANT> for Grant {
160    type DefinedBy = OdbcDefined;
161}
162unsafe impl AttrGet<SQL_SQL92_GRANT> for Grant {}
163
164#[derive(Ident)]
165#[identifier(SQLUSMALLINT, 119)]
166#[allow(non_camel_case_types)]
167pub struct SQL_DATETIME_LITERALS;
168impl InfoType<SQL_DATETIME_LITERALS, SQL_OV_ODBC3> for DatetimeLiterals {}
169unsafe impl Attr<SQL_DATETIME_LITERALS> for DatetimeLiterals {
170    type DefinedBy = OdbcDefined;
171}
172unsafe impl AttrGet<SQL_DATETIME_LITERALS> for DatetimeLiterals {}
173
174#[derive(Ident)]
175#[identifier(SQLUSMALLINT, 159)]
176#[allow(non_camel_case_types)]
177pub struct SQL_SQL92_NUMERIC_VALUE_FUNCTIONS;
178impl InfoType<SQL_SQL92_NUMERIC_VALUE_FUNCTIONS, SQL_OV_ODBC3> for NumericValueFunctions {}
179unsafe impl Attr<SQL_SQL92_NUMERIC_VALUE_FUNCTIONS> for NumericValueFunctions {
180    type DefinedBy = OdbcDefined;
181}
182unsafe impl AttrGet<SQL_SQL92_NUMERIC_VALUE_FUNCTIONS> for NumericValueFunctions {}
183
184#[derive(Ident)]
185#[identifier(SQLUSMALLINT, 160)]
186#[allow(non_camel_case_types)]
187pub struct SQL_SQL92_PREDICATES;
188impl InfoType<SQL_SQL92_PREDICATES, SQL_OV_ODBC3> for Predicates {}
189unsafe impl Attr<SQL_SQL92_PREDICATES> for Predicates {
190    type DefinedBy = OdbcDefined;
191}
192unsafe impl AttrGet<SQL_SQL92_PREDICATES> for Predicates {}
193
194#[derive(Ident)]
195#[identifier(SQLUSMALLINT, 161)]
196#[allow(non_camel_case_types)]
197pub struct SQL_SQL92_RELATIONAL_JOIN_OPERATORS;
198impl InfoType<SQL_SQL92_RELATIONAL_JOIN_OPERATORS, SQL_OV_ODBC3> for RelationalJoinOperators {}
199unsafe impl Attr<SQL_SQL92_RELATIONAL_JOIN_OPERATORS> for RelationalJoinOperators {
200    type DefinedBy = OdbcDefined;
201}
202unsafe impl AttrGet<SQL_SQL92_RELATIONAL_JOIN_OPERATORS> for RelationalJoinOperators {}
203
204#[derive(Ident)]
205#[identifier(SQLUSMALLINT, 162)]
206#[allow(non_camel_case_types)]
207pub struct SQL_SQL92_REVOKE;
208impl InfoType<SQL_SQL92_REVOKE, SQL_OV_ODBC3> for Revoke {}
209unsafe impl Attr<SQL_SQL92_REVOKE> for Revoke {
210    type DefinedBy = OdbcDefined;
211}
212unsafe impl AttrGet<SQL_SQL92_REVOKE> for Revoke {}
213
214#[derive(Ident)]
215#[identifier(SQLUSMALLINT, 163)]
216#[allow(non_camel_case_types)]
217pub struct SQL_SQL92_ROW_VALUE_CONSTRUCTOR;
218impl InfoType<SQL_SQL92_ROW_VALUE_CONSTRUCTOR, SQL_OV_ODBC3> for RowValueConstructor {}
219unsafe impl Attr<SQL_SQL92_ROW_VALUE_CONSTRUCTOR> for RowValueConstructor {
220    type DefinedBy = OdbcDefined;
221}
222unsafe impl AttrGet<SQL_SQL92_ROW_VALUE_CONSTRUCTOR> for RowValueConstructor {}
223
224#[derive(Ident)]
225#[identifier(SQLUSMALLINT, 164)]
226#[allow(non_camel_case_types)]
227pub struct SQL_SQL92_STRING_FUNCTIONS;
228impl InfoType<SQL_SQL92_STRING_FUNCTIONS, SQL_OV_ODBC3> for StringScalarFunctions {}
229unsafe impl Attr<SQL_SQL92_STRING_FUNCTIONS> for StringScalarFunctions {
230    type DefinedBy = OdbcDefined;
231}
232unsafe impl AttrGet<SQL_SQL92_STRING_FUNCTIONS> for StringScalarFunctions {}
233
234#[derive(Ident)]
235#[identifier(SQLUSMALLINT, 165)]
236#[allow(non_camel_case_types)]
237pub struct SQL_SQL92_VALUE_EXPRESSIONS;
238impl InfoType<SQL_SQL92_VALUE_EXPRESSIONS, SQL_OV_ODBC3> for ValueExpressions {}
239unsafe impl Attr<SQL_SQL92_VALUE_EXPRESSIONS> for ValueExpressions {
240    type DefinedBy = OdbcDefined;
241}
242unsafe impl AttrGet<SQL_SQL92_VALUE_EXPRESSIONS> for ValueExpressions {}
243
244#[derive(Ident)]
245#[identifier(SQLUSMALLINT, 166)]
246#[allow(non_camel_case_types)]
247pub struct SQL_STANDARD_CLI_CONFORMANCE;
248impl InfoType<SQL_STANDARD_CLI_CONFORMANCE, SQL_OV_ODBC3> for StandardCliConformance {}
249unsafe impl Attr<SQL_STANDARD_CLI_CONFORMANCE> for StandardCliConformance {
250    type DefinedBy = OdbcDefined;
251}
252unsafe impl AttrGet<SQL_STANDARD_CLI_CONFORMANCE> for StandardCliConformance {}
253
254// TODO: What about these
255//#[derive(Ident)]
256//#[identifier(SQLUSMALLINT, 0)]
257//#[allow(non_camel_case_types)]
258//pub struct SQL_INFO_FIRST;
259//impl InfoType<SQL_INFO_FIRST, SQL_OV_ODBC3> for {}
260//unsafe impl Attr<SQL_INFO_FIRST> for {
261//    type DefinedBy = OdbcDefined;
262//}
263//unsafe impl AttrGet<SQL_INFO_FIRST> for {}
264
265//#[derive(Ident)]
266//#[identifier(SQLUSMALLINT, 12)]
267//#[allow(non_camel_case_types)]
268//pub struct SQL_ODBC_SAG_CLI_CONFORMANCE;
269//impl InfoType<SQL_ODBC_SAG_CLI_CONFORMANCE, SQL_OV_ODBC3> for {}
270//unsafe impl Attr<SQL_ODBC_SAG_CLI_CONFORMANCE> for {
271//    type DefinedBy = OdbcDefined;
272//}
273//unsafe impl AttrGet<SQL_ODBC_SAG_CLI_CONFORMANCE> for {}
274
275//#[derive(Ident)]
276//#[identifier(SQLUSMALLINT, SQL_UNION)]
277//#[allow(non_camel_case_types)]
278//pub struct SQL_UNION_STATEMENT;
279//impl InfoType<SQL_UNION_STATEMENT, SQL_OV_ODBC3> for {}
280//unsafe impl Attr<SQL_UNION_STATEMENT> for {
281//    type DefinedBy = OdbcDefined;
282//}
283//unsafe impl AttrGet<SQL_UNION_STATEMENT> for {}
284
285//#[derive(Ident)]
286//#[identifier(SQLUSMALLINT, 174)]
287//#[allow(non_camel_case_types)]
288//pub struct SQL_SCHEMA_INFERENCE;
289//impl InfoType<SQL_SCHEMA_INFERENCE, SQL_OV_ODBC4> for {}
290//unsafe impl Attr<SQL_SCHEMA_INFERENCE> for {
291//    type DefinedBy = OdbcDefined;
292//}
293//unsafe impl AttrGet<SQL_SCHEMA_INFERENCE> for {}
294
295#[derive(Ident)]
296#[identifier(SQLUSMALLINT, 175)]
297#[allow(non_camel_case_types)]
298pub struct SQL_BINARY_FUNCTIONS;
299impl InfoType<SQL_BINARY_FUNCTIONS, SQL_OV_ODBC4> for BinaryFunctions {}
300unsafe impl Attr<SQL_BINARY_FUNCTIONS> for BinaryFunctions {
301    type DefinedBy = OdbcDefined;
302}
303unsafe impl AttrGet<SQL_BINARY_FUNCTIONS> for BinaryFunctions {}
304
305#[derive(Ident)]
306#[identifier(SQLUSMALLINT, 176)]
307#[allow(non_camel_case_types)]
308pub struct SQL_ISO_STRING_FUNCTIONS;
309impl InfoType<SQL_ISO_STRING_FUNCTIONS, SQL_OV_ODBC4> for StringScalarFunctions {}
310unsafe impl Attr<SQL_ISO_STRING_FUNCTIONS> for StringScalarFunctions {
311    type DefinedBy = OdbcDefined;
312}
313unsafe impl AttrGet<SQL_ISO_STRING_FUNCTIONS> for StringScalarFunctions {}
314
315#[derive(Ident)]
316#[identifier(SQLUSMALLINT, 177)]
317#[allow(non_camel_case_types)]
318pub struct SQL_ISO_BINARY_FUNCTIONS;
319impl InfoType<SQL_ISO_BINARY_FUNCTIONS, SQL_OV_ODBC4> for IsoBinaryFunctions {}
320unsafe impl Attr<SQL_ISO_BINARY_FUNCTIONS> for IsoBinaryFunctions {
321    type DefinedBy = OdbcDefined;
322}
323unsafe impl AttrGet<SQL_ISO_BINARY_FUNCTIONS> for IsoBinaryFunctions {}
324
325#[derive(Ident)]
326#[identifier(SQLUSMALLINT, 178)]
327#[allow(non_camel_case_types)]
328pub struct SQL_LIMIT_ESCAPE_CLAUSE;
329impl InfoType<SQL_LIMIT_ESCAPE_CLAUSE, SQL_OV_ODBC4> for LimitEscapeClause {}
330unsafe impl Attr<SQL_LIMIT_ESCAPE_CLAUSE> for LimitEscapeClause {
331    type DefinedBy = OdbcDefined;
332}
333unsafe impl AttrGet<SQL_LIMIT_ESCAPE_CLAUSE> for LimitEscapeClause {}
334
335#[derive(Ident)]
336#[identifier(SQLUSMALLINT, 179)]
337#[allow(non_camel_case_types)]
338pub struct SQL_NATIVE_ESCAPE_CLAUSE;
339impl InfoType<SQL_NATIVE_ESCAPE_CLAUSE, SQL_OV_ODBC4> for OdbcStr<SQLCHAR> {}
340unsafe impl Attr<SQL_NATIVE_ESCAPE_CLAUSE> for OdbcStr<SQLCHAR> {
341    type DefinedBy = OdbcDefined;
342}
343unsafe impl AttrGet<SQL_NATIVE_ESCAPE_CLAUSE> for OdbcStr<SQLCHAR> {}
344
345#[derive(Ident)]
346#[identifier(SQLUSMALLINT, 180)]
347#[allow(non_camel_case_types)]
348pub struct SQL_RETURN_ESCAPE_CLAUSE;
349impl InfoType<SQL_RETURN_ESCAPE_CLAUSE, SQL_OV_ODBC4> for ReturnEscapeClause {}
350unsafe impl Attr<SQL_RETURN_ESCAPE_CLAUSE> for ReturnEscapeClause {
351    type DefinedBy = OdbcDefined;
352}
353unsafe impl AttrGet<SQL_RETURN_ESCAPE_CLAUSE> for ReturnEscapeClause {}
354
355#[derive(Ident)]
356#[identifier(SQLUSMALLINT, 181)]
357#[allow(non_camel_case_types)]
358pub struct SQL_FORMAT_ESCAPE_CLAUSE;
359impl InfoType<SQL_FORMAT_ESCAPE_CLAUSE, SQL_OV_ODBC4> for FormatEscapeClause {}
360unsafe impl Attr<SQL_FORMAT_ESCAPE_CLAUSE> for FormatEscapeClause {
361    type DefinedBy = OdbcDefined;
362}
363unsafe impl AttrGet<SQL_FORMAT_ESCAPE_CLAUSE> for FormatEscapeClause {}
364
365#[derive(Ident)]
366#[identifier(SQLUSMALLINT, 155)]
367#[allow(non_camel_case_types)]
368pub struct SQL_ISO_DATETIME_FUNCTIONS;
369impl InfoType<SQL_ISO_DATETIME_FUNCTIONS, SQL_OV_ODBC4> for DatetimeFunctions {}
370unsafe impl Attr<SQL_ISO_DATETIME_FUNCTIONS> for DatetimeFunctions {
371    type DefinedBy = OdbcDefined;
372}
373unsafe impl AttrGet<SQL_ISO_DATETIME_FUNCTIONS> for DatetimeFunctions {}
374
375#[derive(Ident)]
376#[identifier(SQLUSMALLINT, 156)]
377#[allow(non_camel_case_types)]
378pub struct SQL_ISO_FOREIGN_KEY_DELETE_RULE;
379impl InfoType<SQL_ISO_FOREIGN_KEY_DELETE_RULE, SQL_OV_ODBC4> for ForeignKeyDeleteRule {}
380unsafe impl Attr<SQL_ISO_FOREIGN_KEY_DELETE_RULE> for ForeignKeyDeleteRule {
381    type DefinedBy = OdbcDefined;
382}
383unsafe impl AttrGet<SQL_ISO_FOREIGN_KEY_DELETE_RULE> for ForeignKeyDeleteRule {}
384
385#[derive(Ident)]
386#[identifier(SQLUSMALLINT, 157)]
387#[allow(non_camel_case_types)]
388pub struct SQL_ISO_FOREIGN_KEY_UPDATE_RULE;
389impl InfoType<SQL_ISO_FOREIGN_KEY_UPDATE_RULE, SQL_OV_ODBC4> for ForeignKeyUpdateRule {}
390unsafe impl Attr<SQL_ISO_FOREIGN_KEY_UPDATE_RULE> for ForeignKeyUpdateRule {
391    type DefinedBy = OdbcDefined;
392}
393unsafe impl AttrGet<SQL_ISO_FOREIGN_KEY_UPDATE_RULE> for ForeignKeyUpdateRule {}
394
395#[derive(Ident)]
396#[identifier(SQLUSMALLINT, 158)]
397#[allow(non_camel_case_types)]
398pub struct SQL_ISO_GRANT;
399impl InfoType<SQL_ISO_GRANT, SQL_OV_ODBC4> for Grant {}
400unsafe impl Attr<SQL_ISO_GRANT> for Grant {
401    type DefinedBy = OdbcDefined;
402}
403unsafe impl AttrGet<SQL_ISO_GRANT> for Grant {}
404
405#[derive(Ident)]
406#[identifier(SQLUSMALLINT, 159)]
407#[allow(non_camel_case_types)]
408pub struct SQL_ISO_NUMERIC_VALUE_FUNCTIONS;
409impl InfoType<SQL_ISO_NUMERIC_VALUE_FUNCTIONS, SQL_OV_ODBC4> for NumericValueFunctions {}
410unsafe impl Attr<SQL_ISO_NUMERIC_VALUE_FUNCTIONS> for NumericValueFunctions {
411    type DefinedBy = OdbcDefined;
412}
413unsafe impl AttrGet<SQL_ISO_NUMERIC_VALUE_FUNCTIONS> for NumericValueFunctions {}
414
415#[derive(Ident)]
416#[identifier(SQLUSMALLINT, 160)]
417#[allow(non_camel_case_types)]
418pub struct SQL_ISO_PREDICATES;
419impl InfoType<SQL_ISO_PREDICATES, SQL_OV_ODBC4> for Predicates {}
420unsafe impl Attr<SQL_ISO_PREDICATES> for Predicates {
421    type DefinedBy = OdbcDefined;
422}
423unsafe impl AttrGet<SQL_ISO_PREDICATES> for Predicates {}
424
425#[derive(Ident)]
426#[identifier(SQLUSMALLINT, 161)]
427#[allow(non_camel_case_types)]
428pub struct SQL_ISO_RELATIONAL_JOIN_OPERATORS;
429impl InfoType<SQL_ISO_RELATIONAL_JOIN_OPERATORS, SQL_OV_ODBC4> for RelationalJoinOperators {}
430unsafe impl Attr<SQL_ISO_RELATIONAL_JOIN_OPERATORS> for RelationalJoinOperators {
431    type DefinedBy = OdbcDefined;
432}
433unsafe impl AttrGet<SQL_ISO_RELATIONAL_JOIN_OPERATORS> for RelationalJoinOperators {}
434
435#[derive(Ident)]
436#[identifier(SQLUSMALLINT, 162)]
437#[allow(non_camel_case_types)]
438pub struct SQL_ISO_REVOKE;
439impl InfoType<SQL_ISO_REVOKE, SQL_OV_ODBC4> for Revoke {}
440unsafe impl Attr<SQL_ISO_REVOKE> for Revoke {
441    type DefinedBy = OdbcDefined;
442}
443unsafe impl AttrGet<SQL_ISO_REVOKE> for Revoke {}
444
445#[derive(Ident)]
446#[identifier(SQLUSMALLINT, 163)]
447#[allow(non_camel_case_types)]
448pub struct SQL_ISO_ROW_VALUE_CONSTRUCTOR;
449impl InfoType<SQL_ISO_ROW_VALUE_CONSTRUCTOR, SQL_OV_ODBC4> for RowValueConstructor {}
450unsafe impl Attr<SQL_ISO_ROW_VALUE_CONSTRUCTOR> for RowValueConstructor {
451    type DefinedBy = OdbcDefined;
452}
453unsafe impl AttrGet<SQL_ISO_ROW_VALUE_CONSTRUCTOR> for RowValueConstructor {}
454
455#[derive(Ident)]
456#[identifier(SQLUSMALLINT, 165)]
457#[allow(non_camel_case_types)]
458pub struct SQL_ISO_VALUE_EXPRESSIONS;
459impl InfoType<SQL_ISO_VALUE_EXPRESSIONS, SQL_OV_ODBC4> for ValueExpressions {}
460unsafe impl Attr<SQL_ISO_VALUE_EXPRESSIONS> for ValueExpressions {
461    type DefinedBy = OdbcDefined;
462}
463unsafe impl AttrGet<SQL_ISO_VALUE_EXPRESSIONS> for ValueExpressions {}
464
465/////////////////////////////////////////////////////////////////////////////////////////
466////////////////////////////////// Driver Information ///////////////////////////////////
467/////////////////////////////////////////////////////////////////////////////////////////
468
469#[derive(Ident)]
470#[identifier(SQLUSMALLINT, 116)]
471#[allow(non_camel_case_types)]
472pub struct SQL_ACTIVE_ENVIRONMENTS;
473impl InfoType<SQL_ACTIVE_ENVIRONMENTS, SQL_OV_ODBC3> for SQLUSMALLINT {}
474unsafe impl Attr<SQL_ACTIVE_ENVIRONMENTS> for SQLUSMALLINT {
475    type DefinedBy = OdbcDefined;
476}
477unsafe impl AttrGet<SQL_ACTIVE_ENVIRONMENTS> for SQLUSMALLINT {}
478
479#[derive(Ident)]
480#[identifier(SQLUSMALLINT, 10023)]
481#[allow(non_camel_case_types)]
482pub struct SQL_ASYNC_DBC_FUNCTIONS;
483impl InfoType<SQL_ASYNC_DBC_FUNCTIONS, SQL_OV_ODBC3_80> for AsyncDbcFunctions {}
484unsafe impl Attr<SQL_ASYNC_DBC_FUNCTIONS> for AsyncDbcFunctions {
485    type DefinedBy = OdbcDefined;
486}
487unsafe impl AttrGet<SQL_ASYNC_DBC_FUNCTIONS> for AsyncDbcFunctions {}
488
489#[derive(Ident)]
490#[identifier(SQLUSMALLINT, 10021)]
491#[allow(non_camel_case_types)]
492pub struct SQL_ASYNC_MODE;
493impl InfoType<SQL_ASYNC_MODE, SQL_OV_ODBC3> for AsyncMode {}
494unsafe impl Attr<SQL_ASYNC_MODE> for AsyncMode {
495    type DefinedBy = OdbcDefined;
496}
497unsafe impl AttrGet<SQL_ASYNC_MODE> for AsyncMode {}
498
499#[derive(Ident)]
500#[identifier(SQLUSMALLINT, 10025)]
501#[allow(non_camel_case_types)]
502pub struct SQL_ASYNC_NOTIFICATION;
503impl InfoType<SQL_ASYNC_NOTIFICATION, SQL_OV_ODBC3_80> for AsyncNotification {}
504unsafe impl Attr<SQL_ASYNC_NOTIFICATION> for AsyncNotification {
505    type DefinedBy = OdbcDefined;
506}
507unsafe impl AttrGet<SQL_ASYNC_NOTIFICATION> for AsyncNotification {}
508
509#[derive(Ident)]
510#[identifier(SQLUSMALLINT, 120)]
511#[allow(non_camel_case_types)]
512pub struct SQL_BATCH_ROW_COUNT;
513impl InfoType<SQL_BATCH_ROW_COUNT, SQL_OV_ODBC3> for BatchRowCount {}
514unsafe impl Attr<SQL_BATCH_ROW_COUNT> for BatchRowCount {
515    type DefinedBy = OdbcDefined;
516}
517unsafe impl AttrGet<SQL_BATCH_ROW_COUNT> for BatchRowCount {}
518
519#[derive(Ident)]
520#[identifier(SQLUSMALLINT, 121)]
521#[allow(non_camel_case_types)]
522pub struct SQL_BATCH_SUPPORT;
523impl InfoType<SQL_BATCH_SUPPORT, SQL_OV_ODBC3> for BatchSupport {}
524unsafe impl Attr<SQL_BATCH_SUPPORT> for BatchSupport {
525    type DefinedBy = OdbcDefined;
526}
527unsafe impl AttrGet<SQL_BATCH_SUPPORT> for BatchSupport {}
528
529#[derive(Ident)]
530#[identifier(SQLUSMALLINT, 2)]
531#[allow(non_camel_case_types)]
532pub struct SQL_DATA_SOURCE_NAME;
533impl InfoType<SQL_DATA_SOURCE_NAME, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
534unsafe impl Attr<SQL_DATA_SOURCE_NAME> for OdbcStr<SQLCHAR> {
535    type DefinedBy = OdbcDefined;
536}
537unsafe impl AttrGet<SQL_DATA_SOURCE_NAME> for OdbcStr<SQLCHAR> {}
538
539#[derive(Ident)]
540#[identifier(SQLUSMALLINT, 10024)]
541#[allow(non_camel_case_types)]
542pub struct SQL_DRIVER_AWARE_POOLING_SUPPORTED;
543impl InfoType<SQL_DRIVER_AWARE_POOLING_SUPPORTED, SQL_OV_ODBC3_80> for DriverAwarePoolingSupported {}
544unsafe impl Attr<SQL_DRIVER_AWARE_POOLING_SUPPORTED> for DriverAwarePoolingSupported {
545    type DefinedBy = OdbcDefined;
546}
547unsafe impl AttrGet<SQL_DRIVER_AWARE_POOLING_SUPPORTED> for DriverAwarePoolingSupported {}
548
549// TODO: How are these handles used?
550//#[derive(Ident)]
551//#[identifier(SQLUSMALLINT, 3)]
552//#[allow(non_camel_case_types)]
553//pub struct SQL_DRIVER_HDBC;
554//impl InfoType<SQL_DRIVER_HDBC, SQL_OV_ODBC3> for {}
555//unsafe impl Attr<SQL_DRIVER_HDBC> for {
556//    type DefinedBy = OdbcDefined;
557//}
558//unsafe impl AttrGet<SQL_DRIVER_HDBC> for {}
559//
560//#[derive(Ident)]
561//#[identifier(SQLUSMALLINT, 135)]
562//#[allow(non_camel_case_types)]
563//pub struct SQL_DRIVER_HDESC;
564//impl InfoType<SQL_DRIVER_HDESC, SQL_OV_ODBC3> for {}
565//unsafe impl Attr<SQL_DRIVER_HDESC> for {
566//    type DefinedBy = OdbcDefined;
567//}
568//unsafe impl AttrGet<SQL_DRIVER_HDESC> for {}
569//
570//#[derive(Ident)]
571//#[identifier(SQLUSMALLINT, 4)]
572//#[allow(non_camel_case_types)]
573//pub struct SQL_DRIVER_HENV;
574//impl InfoType<SQL_DRIVER_HENV, SQL_OV_ODBC3> for {}
575//unsafe impl Attr<SQL_DRIVER_HENV> for {
576//    type DefinedBy = OdbcDefined;
577//}
578//unsafe impl AttrGet<SQL_DRIVER_HENV> for {}
579//
580//#[derive(Ident)]
581//#[identifier(SQLUSMALLINT, 76)]
582//#[allow(non_camel_case_types)]
583//pub struct SQL_DRIVER_HLIB;
584//impl InfoType<SQL_DRIVER_HLIB, SQL_OV_ODBC3> for {}
585//unsafe impl Attr<SQL_DRIVER_HLIB> for {
586//    type DefinedBy = OdbcDefined;
587//}
588//unsafe impl AttrGet<SQL_DRIVER_HLIB> for {}
589//
590//#[derive(Ident)]
591//#[identifier(SQLUSMALLINT, 5)]
592//#[allow(non_camel_case_types)]
593//pub struct SQL_DRIVER_HSTMT;
594//impl InfoType<SQL_DRIVER_HSTMT, SQL_OV_ODBC3> for {}
595//unsafe impl Attr<SQL_DRIVER_HSTMT> for {
596//    type DefinedBy = OdbcDefined;
597//}
598//unsafe impl AttrGet<SQL_DRIVER_HSTMT> for {}
599
600#[derive(Ident)]
601#[identifier(SQLUSMALLINT, 6)]
602#[allow(non_camel_case_types)]
603pub struct SQL_DRIVER_NAME;
604impl InfoType<SQL_DRIVER_NAME, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
605unsafe impl Attr<SQL_DRIVER_NAME> for OdbcStr<SQLCHAR> {
606    type DefinedBy = OdbcDefined;
607}
608unsafe impl AttrGet<SQL_DRIVER_NAME> for OdbcStr<SQLCHAR> {}
609
610#[derive(Ident)]
611#[identifier(SQLUSMALLINT, 77)]
612#[allow(non_camel_case_types)]
613pub struct SQL_DRIVER_ODBC_VER;
614impl InfoType<SQL_DRIVER_ODBC_VER, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
615unsafe impl Attr<SQL_DRIVER_ODBC_VER> for OdbcStr<SQLCHAR> {
616    type DefinedBy = OdbcDefined;
617}
618unsafe impl AttrGet<SQL_DRIVER_ODBC_VER> for OdbcStr<SQLCHAR> {}
619
620#[derive(Ident)]
621#[identifier(SQLUSMALLINT, 7)]
622#[allow(non_camel_case_types)]
623pub struct SQL_DRIVER_VER;
624impl InfoType<SQL_DRIVER_VER, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
625unsafe impl Attr<SQL_DRIVER_VER> for OdbcStr<SQLCHAR> {
626    type DefinedBy = OdbcDefined;
627}
628unsafe impl AttrGet<SQL_DRIVER_VER> for OdbcStr<SQLCHAR> {}
629
630#[derive(Ident)]
631#[identifier(SQLUSMALLINT, 144)]
632#[allow(non_camel_case_types)]
633pub struct SQL_DYNAMIC_CURSOR_ATTRIBUTES1;
634impl InfoType<SQL_DYNAMIC_CURSOR_ATTRIBUTES1, SQL_OV_ODBC3> for CursorAttributes1 {}
635unsafe impl Attr<SQL_DYNAMIC_CURSOR_ATTRIBUTES1> for CursorAttributes1 {
636    type DefinedBy = OdbcDefined;
637}
638unsafe impl AttrGet<SQL_DYNAMIC_CURSOR_ATTRIBUTES1> for CursorAttributes1 {}
639
640#[derive(Ident)]
641#[identifier(SQLUSMALLINT, 145)]
642#[allow(non_camel_case_types)]
643pub struct SQL_DYNAMIC_CURSOR_ATTRIBUTES2;
644impl InfoType<SQL_DYNAMIC_CURSOR_ATTRIBUTES2, SQL_OV_ODBC3> for CursorAttributes2 {}
645unsafe impl Attr<SQL_DYNAMIC_CURSOR_ATTRIBUTES2> for CursorAttributes2 {
646    type DefinedBy = OdbcDefined;
647}
648unsafe impl AttrGet<SQL_DYNAMIC_CURSOR_ATTRIBUTES2> for CursorAttributes2 {}
649
650#[derive(Ident)]
651#[identifier(SQLUSMALLINT, 146)]
652#[allow(non_camel_case_types)]
653pub struct SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1;
654impl InfoType<SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1, SQL_OV_ODBC3> for CursorAttributes1 {}
655unsafe impl Attr<SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1> for CursorAttributes1 {
656    type DefinedBy = OdbcDefined;
657}
658unsafe impl AttrGet<SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1> for CursorAttributes1 {}
659
660#[derive(Ident)]
661#[identifier(SQLUSMALLINT, 147)]
662#[allow(non_camel_case_types)]
663pub struct SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2;
664impl InfoType<SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2, SQL_OV_ODBC3> for CursorAttributes2 {}
665unsafe impl Attr<SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2> for CursorAttributes2 {
666    type DefinedBy = OdbcDefined;
667}
668unsafe impl AttrGet<SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2> for CursorAttributes2 {}
669
670#[derive(Ident)]
671#[identifier(SQLUSMALLINT, 84)]
672#[allow(non_camel_case_types)]
673pub struct SQL_FILE_USAGE;
674impl InfoType<SQL_FILE_USAGE, SQL_OV_ODBC3> for FileUsage {}
675unsafe impl Attr<SQL_FILE_USAGE> for FileUsage {
676    type DefinedBy = OdbcDefined;
677}
678unsafe impl AttrGet<SQL_FILE_USAGE> for FileUsage {}
679
680#[derive(Ident)]
681#[identifier(SQLUSMALLINT, 81)]
682#[allow(non_camel_case_types)]
683pub struct SQL_GETDATA_EXTENSIONS;
684impl InfoType<SQL_GETDATA_EXTENSIONS, SQL_OV_ODBC3> for GetdataExtensions {}
685unsafe impl Attr<SQL_GETDATA_EXTENSIONS> for GetdataExtensions {
686    type DefinedBy = OdbcDefined;
687}
688unsafe impl AttrGet<SQL_GETDATA_EXTENSIONS> for GetdataExtensions {}
689
690#[derive(Ident)]
691#[identifier(SQLUSMALLINT, 149)]
692#[allow(non_camel_case_types)]
693pub struct SQL_INFO_SCHEMA_VIEWS;
694impl InfoType<SQL_INFO_SCHEMA_VIEWS, SQL_OV_ODBC3> for InfoSchemaViews {}
695unsafe impl Attr<SQL_INFO_SCHEMA_VIEWS> for InfoSchemaViews {
696    type DefinedBy = OdbcDefined;
697}
698unsafe impl AttrGet<SQL_INFO_SCHEMA_VIEWS> for InfoSchemaViews {}
699
700#[derive(Ident)]
701#[identifier(SQLUSMALLINT, 150)]
702#[allow(non_camel_case_types)]
703pub struct SQL_KEYSET_CURSOR_ATTRIBUTES1;
704impl InfoType<SQL_KEYSET_CURSOR_ATTRIBUTES1, SQL_OV_ODBC3> for CursorAttributes1 {}
705unsafe impl Attr<SQL_KEYSET_CURSOR_ATTRIBUTES1> for CursorAttributes1 {
706    type DefinedBy = OdbcDefined;
707}
708unsafe impl AttrGet<SQL_KEYSET_CURSOR_ATTRIBUTES1> for CursorAttributes1 {}
709
710#[derive(Ident)]
711#[identifier(SQLUSMALLINT, 151)]
712#[allow(non_camel_case_types)]
713pub struct SQL_KEYSET_CURSOR_ATTRIBUTES2;
714impl InfoType<SQL_KEYSET_CURSOR_ATTRIBUTES2, SQL_OV_ODBC3> for CursorAttributes2 {}
715unsafe impl Attr<SQL_KEYSET_CURSOR_ATTRIBUTES2> for CursorAttributes2 {
716    type DefinedBy = OdbcDefined;
717}
718unsafe impl AttrGet<SQL_KEYSET_CURSOR_ATTRIBUTES2> for CursorAttributes2 {}
719
720#[derive(Ident)]
721#[identifier(SQLUSMALLINT, 10022)]
722#[allow(non_camel_case_types)]
723pub struct SQL_MAX_ASYNC_CONCURRENT_STATEMENTS;
724impl InfoType<SQL_MAX_ASYNC_CONCURRENT_STATEMENTS, SQL_OV_ODBC3> for SQLUINTEGER {}
725unsafe impl Attr<SQL_MAX_ASYNC_CONCURRENT_STATEMENTS> for SQLUINTEGER {
726    type DefinedBy = OdbcDefined;
727}
728unsafe impl AttrGet<SQL_MAX_ASYNC_CONCURRENT_STATEMENTS> for SQLUINTEGER {}
729
730#[derive(Ident)]
731#[identifier(SQLUSMALLINT, 1)]
732#[allow(non_camel_case_types)]
733pub struct SQL_MAX_CONCURRENT_ACTIVITIES;
734impl InfoType<SQL_MAX_CONCURRENT_ACTIVITIES, SQL_OV_ODBC3> for SQLUSMALLINT {}
735unsafe impl Attr<SQL_MAX_CONCURRENT_ACTIVITIES> for SQLUSMALLINT {
736    type DefinedBy = OdbcDefined;
737}
738unsafe impl AttrGet<SQL_MAX_CONCURRENT_ACTIVITIES> for SQLUSMALLINT {}
739
740#[derive(Ident)]
741#[identifier(SQLUSMALLINT, 0)]
742#[allow(non_camel_case_types)]
743pub struct SQL_MAX_DRIVER_CONNECTIONS;
744impl InfoType<SQL_MAX_DRIVER_CONNECTIONS, SQL_OV_ODBC3> for SQLUSMALLINT {}
745unsafe impl Attr<SQL_MAX_DRIVER_CONNECTIONS> for SQLUSMALLINT {
746    type DefinedBy = OdbcDefined;
747}
748unsafe impl AttrGet<SQL_MAX_DRIVER_CONNECTIONS> for SQLUSMALLINT {}
749
750#[derive(Ident)]
751#[identifier(SQLUSMALLINT, 152)]
752#[allow(non_camel_case_types)]
753pub struct SQL_ODBC_INTERFACE_CONFORMANCE;
754impl InfoType<SQL_ODBC_INTERFACE_CONFORMANCE, SQL_OV_ODBC3> for OdbcInterfaceConformance {}
755unsafe impl Attr<SQL_ODBC_INTERFACE_CONFORMANCE> for OdbcInterfaceConformance {
756    type DefinedBy = OdbcDefined;
757}
758unsafe impl AttrGet<SQL_ODBC_INTERFACE_CONFORMANCE> for OdbcInterfaceConformance {}
759
760#[derive(Ident)]
761#[identifier(SQLUSMALLINT, 10)]
762#[allow(non_camel_case_types)]
763pub struct SQL_ODBC_VER;
764impl InfoType<SQL_ODBC_VER, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
765unsafe impl Attr<SQL_ODBC_VER> for OdbcStr<SQLCHAR> {
766    type DefinedBy = OdbcDefined;
767}
768unsafe impl AttrGet<SQL_ODBC_VER> for OdbcStr<SQLCHAR> {}
769
770#[derive(Ident)]
771#[identifier(SQLUSMALLINT, 153)]
772#[allow(non_camel_case_types)]
773pub struct SQL_PARAM_ARRAY_ROW_COUNTS;
774impl InfoType<SQL_PARAM_ARRAY_ROW_COUNTS, SQL_OV_ODBC3> for ParamArrayRowCounts {}
775unsafe impl Attr<SQL_PARAM_ARRAY_ROW_COUNTS> for ParamArrayRowCounts {
776    type DefinedBy = OdbcDefined;
777}
778unsafe impl AttrGet<SQL_PARAM_ARRAY_ROW_COUNTS> for ParamArrayRowCounts {}
779
780#[derive(Ident)]
781#[identifier(SQLUSMALLINT, 154)]
782#[allow(non_camel_case_types)]
783pub struct SQL_PARAM_ARRAY_SELECTS;
784impl InfoType<SQL_PARAM_ARRAY_SELECTS, SQL_OV_ODBC3> for ParamArraySelects {}
785unsafe impl Attr<SQL_PARAM_ARRAY_SELECTS> for ParamArraySelects {
786    type DefinedBy = OdbcDefined;
787}
788unsafe impl AttrGet<SQL_PARAM_ARRAY_SELECTS> for ParamArraySelects {}
789
790#[derive(Ident)]
791#[identifier(SQLUSMALLINT, 11)]
792#[allow(non_camel_case_types)]
793pub struct SQL_ROW_UPDATES;
794impl InfoType<SQL_ROW_UPDATES, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
795unsafe impl Attr<SQL_ROW_UPDATES> for OdbcStr<SQLCHAR> {
796    type DefinedBy = OdbcDefined;
797}
798unsafe impl AttrGet<SQL_ROW_UPDATES> for OdbcStr<SQLCHAR> {}
799
800#[derive(Ident)]
801#[identifier(SQLUSMALLINT, 14)]
802#[allow(non_camel_case_types)]
803pub struct SQL_SEARCH_PATTERN_ESCAPE;
804impl InfoType<SQL_SEARCH_PATTERN_ESCAPE, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
805unsafe impl Attr<SQL_SEARCH_PATTERN_ESCAPE> for OdbcStr<SQLCHAR> {
806    type DefinedBy = OdbcDefined;
807}
808unsafe impl AttrGet<SQL_SEARCH_PATTERN_ESCAPE> for OdbcStr<SQLCHAR> {}
809
810#[derive(Ident)]
811#[identifier(SQLUSMALLINT, 13)]
812#[allow(non_camel_case_types)]
813pub struct SQL_SERVER_NAME;
814impl InfoType<SQL_SERVER_NAME, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
815unsafe impl Attr<SQL_SERVER_NAME> for OdbcStr<SQLCHAR> {
816    type DefinedBy = OdbcDefined;
817}
818unsafe impl AttrGet<SQL_SERVER_NAME> for OdbcStr<SQLCHAR> {}
819
820#[derive(Ident)]
821#[identifier(SQLUSMALLINT, 167)]
822#[allow(non_camel_case_types)]
823pub struct SQL_STATIC_CURSOR_ATTRIBUTES1;
824impl InfoType<SQL_STATIC_CURSOR_ATTRIBUTES1, SQL_OV_ODBC3> for CursorAttributes1 {}
825unsafe impl Attr<SQL_STATIC_CURSOR_ATTRIBUTES1> for CursorAttributes1 {
826    type DefinedBy = OdbcDefined;
827}
828unsafe impl AttrGet<SQL_STATIC_CURSOR_ATTRIBUTES1> for CursorAttributes1 {}
829
830#[derive(Ident)]
831#[identifier(SQLUSMALLINT, 168)]
832#[allow(non_camel_case_types)]
833pub struct SQL_STATIC_CURSOR_ATTRIBUTES2;
834impl InfoType<SQL_STATIC_CURSOR_ATTRIBUTES2, SQL_OV_ODBC3> for CursorAttributes2 {}
835unsafe impl Attr<SQL_STATIC_CURSOR_ATTRIBUTES2> for CursorAttributes2 {
836    type DefinedBy = OdbcDefined;
837}
838unsafe impl AttrGet<SQL_STATIC_CURSOR_ATTRIBUTES2> for CursorAttributes2 {}
839
840/////////////////////////////////////////////////////////////////////////////////////////
841/////////////////////////////// DBMS Product Information ////////////////////////////////
842/////////////////////////////////////////////////////////////////////////////////////////
843
844#[derive(Ident)]
845#[identifier(SQLUSMALLINT, 16)]
846#[allow(non_camel_case_types)]
847pub struct SQL_DATABASE_NAME;
848impl InfoType<SQL_DATABASE_NAME, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
849unsafe impl Attr<SQL_DATABASE_NAME> for OdbcStr<SQLCHAR> {
850    type DefinedBy = OdbcDefined;
851}
852unsafe impl AttrGet<SQL_DATABASE_NAME> for OdbcStr<SQLCHAR> {}
853
854#[derive(Ident)]
855#[identifier(SQLUSMALLINT, 17)]
856#[allow(non_camel_case_types)]
857pub struct SQL_DBMS_NAME;
858impl InfoType<SQL_DBMS_NAME, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
859unsafe impl Attr<SQL_DBMS_NAME> for OdbcStr<SQLCHAR> {
860    type DefinedBy = OdbcDefined;
861}
862unsafe impl AttrGet<SQL_DBMS_NAME> for OdbcStr<SQLCHAR> {}
863
864#[derive(Ident)]
865#[identifier(SQLUSMALLINT, 18)]
866#[allow(non_camel_case_types)]
867pub struct SQL_DBMS_VER;
868impl InfoType<SQL_DBMS_VER, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
869unsafe impl Attr<SQL_DBMS_VER> for OdbcStr<SQLCHAR> {
870    type DefinedBy = OdbcDefined;
871}
872unsafe impl AttrGet<SQL_DBMS_VER> for OdbcStr<SQLCHAR> {}
873
874/////////////////////////////////////////////////////////////////////////////////////////
875/////////////////////////////// Data Source Information /////////////////////////////////
876/////////////////////////////////////////////////////////////////////////////////////////
877
878#[derive(Ident)]
879#[identifier(SQLUSMALLINT, 20)]
880#[allow(non_camel_case_types)]
881pub struct SQL_ACCESSIBLE_PROCEDURES;
882impl InfoType<SQL_ACCESSIBLE_PROCEDURES, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
883unsafe impl Attr<SQL_ACCESSIBLE_PROCEDURES> for OdbcStr<SQLCHAR> {
884    type DefinedBy = OdbcDefined;
885}
886unsafe impl AttrGet<SQL_ACCESSIBLE_PROCEDURES> for OdbcStr<SQLCHAR> {}
887
888#[derive(Ident)]
889#[identifier(SQLUSMALLINT, 19)]
890#[allow(non_camel_case_types)]
891pub struct SQL_ACCESSIBLE_TABLES;
892impl InfoType<SQL_ACCESSIBLE_TABLES, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
893unsafe impl Attr<SQL_ACCESSIBLE_TABLES> for OdbcStr<SQLCHAR> {
894    type DefinedBy = OdbcDefined;
895}
896unsafe impl AttrGet<SQL_ACCESSIBLE_TABLES> for OdbcStr<SQLCHAR> {}
897
898#[derive(Ident)]
899#[identifier(SQLUSMALLINT, 82)]
900#[allow(non_camel_case_types)]
901pub struct SQL_BOOKMARK_PERSISTENCE;
902impl InfoType<SQL_BOOKMARK_PERSISTENCE, SQL_OV_ODBC3> for BookmarkPersistence {}
903unsafe impl Attr<SQL_BOOKMARK_PERSISTENCE> for BookmarkPersistence {
904    type DefinedBy = OdbcDefined;
905}
906unsafe impl AttrGet<SQL_BOOKMARK_PERSISTENCE> for BookmarkPersistence {}
907
908#[derive(Ident)]
909#[identifier(SQLUSMALLINT, 42)]
910#[allow(non_camel_case_types)]
911pub struct SQL_CATALOG_TERM;
912impl InfoType<SQL_CATALOG_TERM, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
913unsafe impl Attr<SQL_CATALOG_TERM> for OdbcStr<SQLCHAR> {
914    type DefinedBy = OdbcDefined;
915}
916unsafe impl AttrGet<SQL_CATALOG_TERM> for OdbcStr<SQLCHAR> {}
917
918#[derive(Ident)]
919#[identifier(SQLUSMALLINT, 10004)]
920#[allow(non_camel_case_types)]
921pub struct SQL_COLLATION_SEQ;
922impl InfoType<SQL_COLLATION_SEQ, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
923unsafe impl Attr<SQL_COLLATION_SEQ> for OdbcStr<SQLCHAR> {
924    type DefinedBy = OdbcDefined;
925}
926unsafe impl AttrGet<SQL_COLLATION_SEQ> for OdbcStr<SQLCHAR> {}
927
928#[derive(Ident)]
929#[identifier(SQLUSMALLINT, 22)]
930#[allow(non_camel_case_types)]
931pub struct SQL_CONCAT_NULL_BEHAVIOR;
932impl InfoType<SQL_CONCAT_NULL_BEHAVIOR, SQL_OV_ODBC3> for ConcatNullBehavior {}
933unsafe impl Attr<SQL_CONCAT_NULL_BEHAVIOR> for ConcatNullBehavior {
934    type DefinedBy = OdbcDefined;
935}
936unsafe impl AttrGet<SQL_CONCAT_NULL_BEHAVIOR> for ConcatNullBehavior {}
937
938#[derive(Ident)]
939#[identifier(SQLUSMALLINT, 23)]
940#[allow(non_camel_case_types)]
941pub struct SQL_CURSOR_COMMIT_BEHAVIOR;
942impl InfoType<SQL_CURSOR_COMMIT_BEHAVIOR, SQL_OV_ODBC3> for CursorBehavior {}
943unsafe impl Attr<SQL_CURSOR_COMMIT_BEHAVIOR> for CursorBehavior {
944    type DefinedBy = OdbcDefined;
945}
946unsafe impl AttrGet<SQL_CURSOR_COMMIT_BEHAVIOR> for CursorBehavior {}
947
948#[derive(Ident)]
949#[identifier(SQLUSMALLINT, 24)]
950#[allow(non_camel_case_types)]
951pub struct SQL_CURSOR_ROLLBACK_BEHAVIOR;
952impl InfoType<SQL_CURSOR_ROLLBACK_BEHAVIOR, SQL_OV_ODBC3> for CursorBehavior {}
953unsafe impl Attr<SQL_CURSOR_ROLLBACK_BEHAVIOR> for CursorBehavior {
954    type DefinedBy = OdbcDefined;
955}
956unsafe impl AttrGet<SQL_CURSOR_ROLLBACK_BEHAVIOR> for CursorBehavior {}
957
958#[derive(Ident)]
959#[identifier(SQLUSMALLINT, 10001)]
960#[allow(non_camel_case_types)]
961pub struct SQL_CURSOR_SENSITIVITY;
962impl InfoType<SQL_CURSOR_SENSITIVITY, SQL_OV_ODBC3> for CursorSensitivity {}
963unsafe impl Attr<SQL_CURSOR_SENSITIVITY> for CursorSensitivity {
964    type DefinedBy = OdbcDefined;
965}
966unsafe impl AttrGet<SQL_CURSOR_SENSITIVITY> for CursorSensitivity {}
967
968#[derive(Ident)]
969#[identifier(SQLUSMALLINT, 25)]
970#[allow(non_camel_case_types)]
971pub struct SQL_DATA_SOURCE_READ_ONLY;
972impl InfoType<SQL_DATA_SOURCE_READ_ONLY, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
973unsafe impl Attr<SQL_DATA_SOURCE_READ_ONLY> for OdbcStr<SQLCHAR> {
974    type DefinedBy = OdbcDefined;
975}
976unsafe impl AttrGet<SQL_DATA_SOURCE_READ_ONLY> for OdbcStr<SQLCHAR> {}
977
978#[derive(Ident)]
979#[identifier(SQLUSMALLINT, 26)]
980#[allow(non_camel_case_types)]
981pub struct SQL_DEFAULT_TXN_ISOLATION;
982impl InfoType<SQL_DEFAULT_TXN_ISOLATION, SQL_OV_ODBC3> for TxnIsolation {}
983unsafe impl Attr<SQL_DEFAULT_TXN_ISOLATION> for TxnIsolation {
984    type DefinedBy = OdbcDefined;
985}
986unsafe impl AttrGet<SQL_DEFAULT_TXN_ISOLATION> for TxnIsolation {}
987
988#[derive(Ident)]
989#[identifier(SQLUSMALLINT, 10002)]
990#[allow(non_camel_case_types)]
991pub struct SQL_DESCRIBE_PARAMETER;
992impl InfoType<SQL_DESCRIBE_PARAMETER, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
993unsafe impl Attr<SQL_DESCRIBE_PARAMETER> for OdbcStr<SQLCHAR> {
994    type DefinedBy = OdbcDefined;
995}
996unsafe impl AttrGet<SQL_DESCRIBE_PARAMETER> for OdbcStr<SQLCHAR> {}
997
998#[derive(Ident)]
999#[identifier(SQLUSMALLINT, 36)]
1000#[allow(non_camel_case_types)]
1001pub struct SQL_MULT_RESULT_SETS;
1002impl InfoType<SQL_MULT_RESULT_SETS, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1003unsafe impl Attr<SQL_MULT_RESULT_SETS> for OdbcStr<SQLCHAR> {
1004    type DefinedBy = OdbcDefined;
1005}
1006unsafe impl AttrGet<SQL_MULT_RESULT_SETS> for OdbcStr<SQLCHAR> {}
1007
1008#[derive(Ident)]
1009#[identifier(SQLUSMALLINT, 37)]
1010#[allow(non_camel_case_types)]
1011pub struct SQL_MULTIPLE_ACTIVE_TXN;
1012impl InfoType<SQL_MULTIPLE_ACTIVE_TXN, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1013unsafe impl Attr<SQL_MULTIPLE_ACTIVE_TXN> for OdbcStr<SQLCHAR> {
1014    type DefinedBy = OdbcDefined;
1015}
1016unsafe impl AttrGet<SQL_MULTIPLE_ACTIVE_TXN> for OdbcStr<SQLCHAR> {}
1017
1018#[derive(Ident)]
1019#[identifier(SQLUSMALLINT, 111)]
1020#[allow(non_camel_case_types)]
1021pub struct SQL_NEED_LONG_DATA_LEN;
1022impl InfoType<SQL_NEED_LONG_DATA_LEN, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1023unsafe impl Attr<SQL_NEED_LONG_DATA_LEN> for OdbcStr<SQLCHAR> {
1024    type DefinedBy = OdbcDefined;
1025}
1026unsafe impl AttrGet<SQL_NEED_LONG_DATA_LEN> for OdbcStr<SQLCHAR> {}
1027
1028#[derive(Ident)]
1029#[identifier(SQLUSMALLINT, 85)]
1030#[allow(non_camel_case_types)]
1031pub struct SQL_NULL_COLLATION;
1032impl InfoType<SQL_NULL_COLLATION, SQL_OV_ODBC3> for NullCollation {}
1033unsafe impl Attr<SQL_NULL_COLLATION> for NullCollation {
1034    type DefinedBy = OdbcDefined;
1035}
1036unsafe impl AttrGet<SQL_NULL_COLLATION> for NullCollation {}
1037
1038#[derive(Ident)]
1039#[identifier(SQLUSMALLINT, 40)]
1040#[allow(non_camel_case_types)]
1041pub struct SQL_PROCEDURE_TERM;
1042impl InfoType<SQL_PROCEDURE_TERM, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1043unsafe impl Attr<SQL_PROCEDURE_TERM> for OdbcStr<SQLCHAR> {
1044    type DefinedBy = OdbcDefined;
1045}
1046unsafe impl AttrGet<SQL_PROCEDURE_TERM> for OdbcStr<SQLCHAR> {}
1047
1048#[derive(Ident)]
1049#[identifier(SQLUSMALLINT, 39)]
1050#[allow(non_camel_case_types)]
1051pub struct SQL_SCHEMA_TERM;
1052impl InfoType<SQL_SCHEMA_TERM, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1053unsafe impl Attr<SQL_SCHEMA_TERM> for OdbcStr<SQLCHAR> {
1054    type DefinedBy = OdbcDefined;
1055}
1056unsafe impl AttrGet<SQL_SCHEMA_TERM> for OdbcStr<SQLCHAR> {}
1057
1058#[derive(Ident)]
1059#[identifier(SQLUSMALLINT, 44)]
1060#[allow(non_camel_case_types)]
1061pub struct SQL_SCROLL_OPTIONS;
1062impl InfoType<SQL_SCROLL_OPTIONS, SQL_OV_ODBC3> for ScrollOptions {}
1063unsafe impl Attr<SQL_SCROLL_OPTIONS> for ScrollOptions {
1064    type DefinedBy = OdbcDefined;
1065}
1066unsafe impl AttrGet<SQL_SCROLL_OPTIONS> for ScrollOptions {}
1067
1068#[derive(Ident)]
1069#[identifier(SQLUSMALLINT, 45)]
1070#[allow(non_camel_case_types)]
1071pub struct SQL_TABLE_TERM;
1072impl InfoType<SQL_TABLE_TERM, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1073unsafe impl Attr<SQL_TABLE_TERM> for OdbcStr<SQLCHAR> {
1074    type DefinedBy = OdbcDefined;
1075}
1076unsafe impl AttrGet<SQL_TABLE_TERM> for OdbcStr<SQLCHAR> {}
1077
1078#[derive(Ident)]
1079#[identifier(SQLUSMALLINT, 46)]
1080#[allow(non_camel_case_types)]
1081pub struct SQL_TXN_CAPABLE;
1082impl InfoType<SQL_TXN_CAPABLE, SQL_OV_ODBC3> for TxnCapable {}
1083unsafe impl Attr<SQL_TXN_CAPABLE> for TxnCapable {
1084    type DefinedBy = OdbcDefined;
1085}
1086unsafe impl AttrGet<SQL_TXN_CAPABLE> for TxnCapable {}
1087
1088#[derive(Ident)]
1089#[identifier(SQLUSMALLINT, 72)]
1090#[allow(non_camel_case_types)]
1091pub struct SQL_TXN_ISOLATION_OPTION;
1092impl InfoType<SQL_TXN_ISOLATION_OPTION, SQL_OV_ODBC3> for TxnIsolation {}
1093unsafe impl Attr<SQL_TXN_ISOLATION_OPTION> for TxnIsolation {
1094    type DefinedBy = OdbcDefined;
1095}
1096unsafe impl AttrGet<SQL_TXN_ISOLATION_OPTION> for TxnIsolation {}
1097
1098#[derive(Ident)]
1099#[identifier(SQLUSMALLINT, 47)]
1100#[allow(non_camel_case_types)]
1101pub struct SQL_USER_NAME;
1102impl InfoType<SQL_USER_NAME, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1103unsafe impl Attr<SQL_USER_NAME> for OdbcStr<SQLCHAR> {
1104    type DefinedBy = OdbcDefined;
1105}
1106unsafe impl AttrGet<SQL_USER_NAME> for OdbcStr<SQLCHAR> {}
1107
1108/////////////////////////////////////////////////////////////////////////////////////////
1109//////////////////////////////////// Supported SQL //////////////////////////////////////
1110/////////////////////////////////////////////////////////////////////////////////////////
1111
1112#[derive(Ident)]
1113#[identifier(SQLUSMALLINT, 169)]
1114#[allow(non_camel_case_types)]
1115pub struct SQL_AGGREGATE_FUNCTIONS;
1116impl InfoType<SQL_AGGREGATE_FUNCTIONS, SQL_OV_ODBC3> for AggregateFunctions {}
1117unsafe impl Attr<SQL_AGGREGATE_FUNCTIONS> for AggregateFunctions {
1118    type DefinedBy = OdbcDefined;
1119}
1120unsafe impl AttrGet<SQL_AGGREGATE_FUNCTIONS> for AggregateFunctions {}
1121
1122#[derive(Ident)]
1123#[identifier(SQLUSMALLINT, 117)]
1124#[allow(non_camel_case_types)]
1125pub struct SQL_ALTER_DOMAIN;
1126impl InfoType<SQL_ALTER_DOMAIN, SQL_OV_ODBC3> for AlterDomain {}
1127unsafe impl Attr<SQL_ALTER_DOMAIN> for AlterDomain {
1128    type DefinedBy = OdbcDefined;
1129}
1130unsafe impl AttrGet<SQL_ALTER_DOMAIN> for AlterDomain {}
1131
1132#[derive(Ident)]
1133#[identifier(SQLUSMALLINT, 86)]
1134#[allow(non_camel_case_types)]
1135pub struct SQL_ALTER_TABLE;
1136impl InfoType<SQL_ALTER_TABLE, SQL_OV_ODBC3> for AlterTable {}
1137unsafe impl Attr<SQL_ALTER_TABLE> for AlterTable {
1138    type DefinedBy = OdbcDefined;
1139}
1140unsafe impl AttrGet<SQL_ALTER_TABLE> for AlterTable {}
1141
1142#[derive(Ident)]
1143#[identifier(SQLUSMALLINT, 114)]
1144#[allow(non_camel_case_types)]
1145pub struct SQL_CATALOG_LOCATION;
1146impl InfoType<SQL_CATALOG_LOCATION, SQL_OV_ODBC3> for CatalogLocation {}
1147unsafe impl Attr<SQL_CATALOG_LOCATION> for CatalogLocation {
1148    type DefinedBy = OdbcDefined;
1149}
1150unsafe impl AttrGet<SQL_CATALOG_LOCATION> for CatalogLocation {}
1151
1152#[derive(Ident)]
1153#[identifier(SQLUSMALLINT, 10003)]
1154#[allow(non_camel_case_types)]
1155pub struct SQL_CATALOG_NAME;
1156impl InfoType<SQL_CATALOG_NAME, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1157unsafe impl Attr<SQL_CATALOG_NAME> for OdbcStr<SQLCHAR> {
1158    type DefinedBy = OdbcDefined;
1159}
1160unsafe impl AttrGet<SQL_CATALOG_NAME> for OdbcStr<SQLCHAR> {}
1161
1162#[derive(Ident)]
1163#[identifier(SQLUSMALLINT, 41)]
1164#[allow(non_camel_case_types)]
1165pub struct SQL_CATALOG_NAME_SEPARATOR;
1166impl InfoType<SQL_CATALOG_NAME_SEPARATOR, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1167unsafe impl Attr<SQL_CATALOG_NAME_SEPARATOR> for OdbcStr<SQLCHAR> {
1168    type DefinedBy = OdbcDefined;
1169}
1170unsafe impl AttrGet<SQL_CATALOG_NAME_SEPARATOR> for OdbcStr<SQLCHAR> {}
1171
1172#[derive(Ident)]
1173#[identifier(SQLUSMALLINT, 92)]
1174#[allow(non_camel_case_types)]
1175pub struct SQL_CATALOG_USAGE;
1176impl InfoType<SQL_CATALOG_USAGE, SQL_OV_ODBC3> for CatalogUsage {}
1177unsafe impl Attr<SQL_CATALOG_USAGE> for CatalogUsage {
1178    type DefinedBy = OdbcDefined;
1179}
1180unsafe impl AttrGet<SQL_CATALOG_USAGE> for CatalogUsage {}
1181
1182#[derive(Ident)]
1183#[identifier(SQLUSMALLINT, 87)]
1184#[allow(non_camel_case_types)]
1185pub struct SQL_COLUMN_ALIAS;
1186impl InfoType<SQL_COLUMN_ALIAS, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1187unsafe impl Attr<SQL_COLUMN_ALIAS> for OdbcStr<SQLCHAR> {
1188    type DefinedBy = OdbcDefined;
1189}
1190unsafe impl AttrGet<SQL_COLUMN_ALIAS> for OdbcStr<SQLCHAR> {}
1191
1192#[derive(Ident)]
1193#[identifier(SQLUSMALLINT, 74)]
1194#[allow(non_camel_case_types)]
1195pub struct SQL_CORRELATION_NAME;
1196impl InfoType<SQL_CORRELATION_NAME, SQL_OV_ODBC3> for CorrelationName {}
1197unsafe impl Attr<SQL_CORRELATION_NAME> for CorrelationName {
1198    type DefinedBy = OdbcDefined;
1199}
1200unsafe impl AttrGet<SQL_CORRELATION_NAME> for CorrelationName {}
1201
1202#[derive(Ident)]
1203#[identifier(SQLUSMALLINT, 127)]
1204#[allow(non_camel_case_types)]
1205pub struct SQL_CREATE_ASSERTION;
1206impl InfoType<SQL_CREATE_ASSERTION, SQL_OV_ODBC3> for CreateAssertion {}
1207unsafe impl Attr<SQL_CREATE_ASSERTION> for CreateAssertion {
1208    type DefinedBy = OdbcDefined;
1209}
1210unsafe impl AttrGet<SQL_CREATE_ASSERTION> for CreateAssertion {}
1211
1212#[derive(Ident)]
1213#[identifier(SQLUSMALLINT, 128)]
1214#[allow(non_camel_case_types)]
1215pub struct SQL_CREATE_CHARACTER_SET;
1216impl InfoType<SQL_CREATE_CHARACTER_SET, SQL_OV_ODBC3> for CreateCharacterSet {}
1217unsafe impl Attr<SQL_CREATE_CHARACTER_SET> for CreateCharacterSet {
1218    type DefinedBy = OdbcDefined;
1219}
1220unsafe impl AttrGet<SQL_CREATE_CHARACTER_SET> for CreateCharacterSet {}
1221
1222#[derive(Ident)]
1223#[identifier(SQLUSMALLINT, 129)]
1224#[allow(non_camel_case_types)]
1225pub struct SQL_CREATE_COLLATION;
1226impl InfoType<SQL_CREATE_COLLATION, SQL_OV_ODBC3> for CreateCollation {}
1227unsafe impl Attr<SQL_CREATE_COLLATION> for CreateCollation {
1228    type DefinedBy = OdbcDefined;
1229}
1230unsafe impl AttrGet<SQL_CREATE_COLLATION> for CreateCollation {}
1231
1232#[derive(Ident)]
1233#[identifier(SQLUSMALLINT, 130)]
1234#[allow(non_camel_case_types)]
1235pub struct SQL_CREATE_DOMAIN;
1236impl InfoType<SQL_CREATE_DOMAIN, SQL_OV_ODBC3> for CreateDomain {}
1237unsafe impl Attr<SQL_CREATE_DOMAIN> for CreateDomain {
1238    type DefinedBy = OdbcDefined;
1239}
1240unsafe impl AttrGet<SQL_CREATE_DOMAIN> for CreateDomain {}
1241
1242#[derive(Ident)]
1243#[identifier(SQLUSMALLINT, 131)]
1244#[allow(non_camel_case_types)]
1245pub struct SQL_CREATE_SCHEMA;
1246impl InfoType<SQL_CREATE_SCHEMA, SQL_OV_ODBC3> for CreateSchema {}
1247unsafe impl Attr<SQL_CREATE_SCHEMA> for CreateSchema {
1248    type DefinedBy = OdbcDefined;
1249}
1250unsafe impl AttrGet<SQL_CREATE_SCHEMA> for CreateSchema {}
1251
1252#[derive(Ident)]
1253#[identifier(SQLUSMALLINT, 132)]
1254#[allow(non_camel_case_types)]
1255pub struct SQL_CREATE_TABLE;
1256impl InfoType<SQL_CREATE_TABLE, SQL_OV_ODBC3> for CreateTable {}
1257unsafe impl Attr<SQL_CREATE_TABLE> for CreateTable {
1258    type DefinedBy = OdbcDefined;
1259}
1260unsafe impl AttrGet<SQL_CREATE_TABLE> for CreateTable {}
1261
1262#[derive(Ident)]
1263#[identifier(SQLUSMALLINT, 133)]
1264#[allow(non_camel_case_types)]
1265pub struct SQL_CREATE_TRANSLATION;
1266impl InfoType<SQL_CREATE_TRANSLATION, SQL_OV_ODBC3> for CreateTranslation {}
1267unsafe impl Attr<SQL_CREATE_TRANSLATION> for CreateTranslation {
1268    type DefinedBy = OdbcDefined;
1269}
1270unsafe impl AttrGet<SQL_CREATE_TRANSLATION> for CreateTranslation {}
1271
1272#[derive(Ident)]
1273#[identifier(SQLUSMALLINT, 170)]
1274#[allow(non_camel_case_types)]
1275pub struct SQL_DDL_INDEX;
1276impl InfoType<SQL_DDL_INDEX, SQL_OV_ODBC3> for DdlIndex {}
1277unsafe impl Attr<SQL_DDL_INDEX> for DdlIndex {
1278    type DefinedBy = OdbcDefined;
1279}
1280unsafe impl AttrGet<SQL_DDL_INDEX> for DdlIndex {}
1281
1282#[derive(Ident)]
1283#[identifier(SQLUSMALLINT, 136)]
1284#[allow(non_camel_case_types)]
1285pub struct SQL_DROP_ASSERTION;
1286impl InfoType<SQL_DROP_ASSERTION, SQL_OV_ODBC3> for DropAssertion {}
1287unsafe impl Attr<SQL_DROP_ASSERTION> for DropAssertion {
1288    type DefinedBy = OdbcDefined;
1289}
1290unsafe impl AttrGet<SQL_DROP_ASSERTION> for DropAssertion {}
1291
1292#[derive(Ident)]
1293#[identifier(SQLUSMALLINT, 137)]
1294#[allow(non_camel_case_types)]
1295pub struct SQL_DROP_CHARACTER_SET;
1296impl InfoType<SQL_DROP_CHARACTER_SET, SQL_OV_ODBC3> for DropCharacterSet {}
1297unsafe impl Attr<SQL_DROP_CHARACTER_SET> for DropCharacterSet {
1298    type DefinedBy = OdbcDefined;
1299}
1300unsafe impl AttrGet<SQL_DROP_CHARACTER_SET> for DropCharacterSet {}
1301
1302#[derive(Ident)]
1303#[identifier(SQLUSMALLINT, 138)]
1304#[allow(non_camel_case_types)]
1305pub struct SQL_DROP_COLLATION;
1306impl InfoType<SQL_DROP_COLLATION, SQL_OV_ODBC3> for DropCollation {}
1307unsafe impl Attr<SQL_DROP_COLLATION> for DropCollation {
1308    type DefinedBy = OdbcDefined;
1309}
1310unsafe impl AttrGet<SQL_DROP_COLLATION> for DropCollation {}
1311
1312#[derive(Ident)]
1313#[identifier(SQLUSMALLINT, 139)]
1314#[allow(non_camel_case_types)]
1315pub struct SQL_DROP_DOMAIN;
1316impl InfoType<SQL_DROP_DOMAIN, SQL_OV_ODBC3> for DropDomain {}
1317unsafe impl Attr<SQL_DROP_DOMAIN> for DropDomain {
1318    type DefinedBy = OdbcDefined;
1319}
1320unsafe impl AttrGet<SQL_DROP_DOMAIN> for DropDomain {}
1321
1322#[derive(Ident)]
1323#[identifier(SQLUSMALLINT, 140)]
1324#[allow(non_camel_case_types)]
1325pub struct SQL_DROP_SCHEMA;
1326impl InfoType<SQL_DROP_SCHEMA, SQL_OV_ODBC3> for DropSchema {}
1327unsafe impl Attr<SQL_DROP_SCHEMA> for DropSchema {
1328    type DefinedBy = OdbcDefined;
1329}
1330unsafe impl AttrGet<SQL_DROP_SCHEMA> for DropSchema {}
1331
1332#[derive(Ident)]
1333#[identifier(SQLUSMALLINT, 141)]
1334#[allow(non_camel_case_types)]
1335pub struct SQL_DROP_TABLE;
1336impl InfoType<SQL_DROP_TABLE, SQL_OV_ODBC3> for DropTable {}
1337unsafe impl Attr<SQL_DROP_TABLE> for DropTable {
1338    type DefinedBy = OdbcDefined;
1339}
1340unsafe impl AttrGet<SQL_DROP_TABLE> for DropTable {}
1341
1342#[derive(Ident)]
1343#[identifier(SQLUSMALLINT, 142)]
1344#[allow(non_camel_case_types)]
1345pub struct SQL_DROP_TRANSLATION;
1346impl InfoType<SQL_DROP_TRANSLATION, SQL_OV_ODBC3> for DropTranslation {}
1347unsafe impl Attr<SQL_DROP_TRANSLATION> for DropTranslation {
1348    type DefinedBy = OdbcDefined;
1349}
1350unsafe impl AttrGet<SQL_DROP_TRANSLATION> for DropTranslation {}
1351
1352#[derive(Ident)]
1353#[identifier(SQLUSMALLINT, 143)]
1354#[allow(non_camel_case_types)]
1355pub struct SQL_DROP_VIEW;
1356impl InfoType<SQL_DROP_VIEW, SQL_OV_ODBC3> for DropView {}
1357unsafe impl Attr<SQL_DROP_VIEW> for DropView {
1358    type DefinedBy = OdbcDefined;
1359}
1360unsafe impl AttrGet<SQL_DROP_VIEW> for DropView {}
1361
1362#[derive(Ident)]
1363#[identifier(SQLUSMALLINT, 27)]
1364#[allow(non_camel_case_types)]
1365pub struct SQL_EXPRESSIONS_IN_ORDERBY;
1366impl InfoType<SQL_EXPRESSIONS_IN_ORDERBY, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1367unsafe impl Attr<SQL_EXPRESSIONS_IN_ORDERBY> for OdbcStr<SQLCHAR> {
1368    type DefinedBy = OdbcDefined;
1369}
1370unsafe impl AttrGet<SQL_EXPRESSIONS_IN_ORDERBY> for OdbcStr<SQLCHAR> {}
1371
1372#[derive(Ident)]
1373#[identifier(SQLUSMALLINT, 88)]
1374#[allow(non_camel_case_types)]
1375pub struct SQL_GROUP_BY;
1376impl InfoType<SQL_GROUP_BY, SQL_OV_ODBC3> for GroupBy {}
1377unsafe impl Attr<SQL_GROUP_BY> for GroupBy {
1378    type DefinedBy = OdbcDefined;
1379}
1380unsafe impl AttrGet<SQL_GROUP_BY> for GroupBy {}
1381
1382#[derive(Ident)]
1383#[identifier(SQLUSMALLINT, 28)]
1384#[allow(non_camel_case_types)]
1385pub struct SQL_IDENTIFIER_CASE;
1386impl InfoType<SQL_IDENTIFIER_CASE, SQL_OV_ODBC3> for IdentifierCase {}
1387unsafe impl Attr<SQL_IDENTIFIER_CASE> for IdentifierCase {
1388    type DefinedBy = OdbcDefined;
1389}
1390unsafe impl AttrGet<SQL_IDENTIFIER_CASE> for IdentifierCase {}
1391
1392#[derive(Ident)]
1393#[identifier(SQLUSMALLINT, 29)]
1394#[allow(non_camel_case_types)]
1395pub struct SQL_IDENTIFIER_QUOTE_CHAR;
1396impl InfoType<SQL_IDENTIFIER_QUOTE_CHAR, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1397unsafe impl Attr<SQL_IDENTIFIER_QUOTE_CHAR> for OdbcStr<SQLCHAR> {
1398    type DefinedBy = OdbcDefined;
1399}
1400unsafe impl AttrGet<SQL_IDENTIFIER_QUOTE_CHAR> for OdbcStr<SQLCHAR> {}
1401
1402#[derive(Ident)]
1403#[identifier(SQLUSMALLINT, 148)]
1404#[allow(non_camel_case_types)]
1405pub struct SQL_INDEX_KEYWORDS;
1406impl InfoType<SQL_INDEX_KEYWORDS, SQL_OV_ODBC3> for IndexKeywords {}
1407unsafe impl Attr<SQL_INDEX_KEYWORDS> for IndexKeywords {
1408    type DefinedBy = OdbcDefined;
1409}
1410unsafe impl AttrGet<SQL_INDEX_KEYWORDS> for IndexKeywords {}
1411
1412#[derive(Ident)]
1413#[identifier(SQLUSMALLINT, 171)]
1414#[allow(non_camel_case_types)]
1415pub struct SQL_INSERT_STATEMENT;
1416impl InfoType<SQL_INSERT_STATEMENT, SQL_OV_ODBC3> for InsertStatement {}
1417unsafe impl Attr<SQL_INSERT_STATEMENT> for InsertStatement {
1418    type DefinedBy = OdbcDefined;
1419}
1420unsafe impl AttrGet<SQL_INSERT_STATEMENT> for InsertStatement {}
1421
1422#[derive(Ident)]
1423#[identifier(SQLUSMALLINT, 73)]
1424#[allow(non_camel_case_types)]
1425pub struct SQL_INTEGRITY;
1426impl InfoType<SQL_INTEGRITY, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1427unsafe impl Attr<SQL_INTEGRITY> for OdbcStr<SQLCHAR> {
1428    type DefinedBy = OdbcDefined;
1429}
1430unsafe impl AttrGet<SQL_INTEGRITY> for OdbcStr<SQLCHAR> {}
1431
1432#[derive(Ident)]
1433#[identifier(SQLUSMALLINT, 89)]
1434#[allow(non_camel_case_types)]
1435pub struct SQL_KEYWORDS;
1436impl InfoType<SQL_KEYWORDS, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1437unsafe impl Attr<SQL_KEYWORDS> for OdbcStr<SQLCHAR> {
1438    type DefinedBy = OdbcDefined;
1439}
1440unsafe impl AttrGet<SQL_KEYWORDS> for OdbcStr<SQLCHAR> {}
1441
1442#[derive(Ident)]
1443#[identifier(SQLUSMALLINT, 113)]
1444#[allow(non_camel_case_types)]
1445pub struct SQL_LIKE_ESCAPE_CLAUSE;
1446impl InfoType<SQL_LIKE_ESCAPE_CLAUSE, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1447unsafe impl Attr<SQL_LIKE_ESCAPE_CLAUSE> for OdbcStr<SQLCHAR> {
1448    type DefinedBy = OdbcDefined;
1449}
1450unsafe impl AttrGet<SQL_LIKE_ESCAPE_CLAUSE> for OdbcStr<SQLCHAR> {}
1451
1452#[derive(Ident)]
1453#[identifier(SQLUSMALLINT, 75)]
1454#[allow(non_camel_case_types)]
1455pub struct SQL_NON_NULLABLE_COLUMNS;
1456impl InfoType<SQL_NON_NULLABLE_COLUMNS, SQL_OV_ODBC3> for NonNullableColumns {}
1457unsafe impl Attr<SQL_NON_NULLABLE_COLUMNS> for NonNullableColumns {
1458    type DefinedBy = OdbcDefined;
1459}
1460unsafe impl AttrGet<SQL_NON_NULLABLE_COLUMNS> for NonNullableColumns {}
1461
1462#[derive(Ident)]
1463#[identifier(SQLUSMALLINT, 115)]
1464#[allow(non_camel_case_types)]
1465pub struct SQL_OJ_CAPABILITIES;
1466impl InfoType<SQL_OJ_CAPABILITIES, SQL_OV_ODBC3> for OjCapabilities {}
1467unsafe impl Attr<SQL_OJ_CAPABILITIES> for OjCapabilities {
1468    type DefinedBy = OdbcDefined;
1469}
1470unsafe impl AttrGet<SQL_OJ_CAPABILITIES> for OjCapabilities {}
1471
1472#[derive(Ident)]
1473#[identifier(SQLUSMALLINT, 90)]
1474#[allow(non_camel_case_types)]
1475pub struct SQL_ORDER_BY_COLUMNS_IN_SELECT;
1476impl InfoType<SQL_ORDER_BY_COLUMNS_IN_SELECT, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1477unsafe impl Attr<SQL_ORDER_BY_COLUMNS_IN_SELECT> for OdbcStr<SQLCHAR> {
1478    type DefinedBy = OdbcDefined;
1479}
1480unsafe impl AttrGet<SQL_ORDER_BY_COLUMNS_IN_SELECT> for OdbcStr<SQLCHAR> {}
1481
1482#[derive(Ident)]
1483#[identifier(SQLUSMALLINT, 38)]
1484#[allow(non_camel_case_types)]
1485pub struct SQL_OUTER_JOINS;
1486impl InfoType<SQL_OUTER_JOINS, SQL_OV_ODBC3> for OuterJoins {}
1487unsafe impl Attr<SQL_OUTER_JOINS> for OuterJoins {
1488    type DefinedBy = OdbcDefined;
1489}
1490unsafe impl AttrGet<SQL_OUTER_JOINS> for OuterJoins {}
1491
1492#[derive(Ident)]
1493#[identifier(SQLUSMALLINT, 21)]
1494#[allow(non_camel_case_types)]
1495pub struct SQL_PROCEDURES;
1496impl InfoType<SQL_PROCEDURES, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1497unsafe impl Attr<SQL_PROCEDURES> for OdbcStr<SQLCHAR> {
1498    type DefinedBy = OdbcDefined;
1499}
1500unsafe impl AttrGet<SQL_PROCEDURES> for OdbcStr<SQLCHAR> {}
1501
1502#[derive(Ident)]
1503#[identifier(SQLUSMALLINT, 93)]
1504#[allow(non_camel_case_types)]
1505pub struct SQL_QUOTED_IDENTIFIER_CASE;
1506impl InfoType<SQL_QUOTED_IDENTIFIER_CASE, SQL_OV_ODBC3> for IdentifierCase {}
1507unsafe impl Attr<SQL_QUOTED_IDENTIFIER_CASE> for IdentifierCase {
1508    type DefinedBy = OdbcDefined;
1509}
1510unsafe impl AttrGet<SQL_QUOTED_IDENTIFIER_CASE> for IdentifierCase {}
1511
1512#[derive(Ident)]
1513#[identifier(SQLUSMALLINT, 91)]
1514#[allow(non_camel_case_types)]
1515pub struct SQL_SCHEMA_USAGE;
1516impl InfoType<SQL_SCHEMA_USAGE, SQL_OV_ODBC3> for SchemaUsage {}
1517unsafe impl Attr<SQL_SCHEMA_USAGE> for SchemaUsage {
1518    type DefinedBy = OdbcDefined;
1519}
1520unsafe impl AttrGet<SQL_SCHEMA_USAGE> for SchemaUsage {}
1521
1522#[derive(Ident)]
1523#[identifier(SQLUSMALLINT, 94)]
1524#[allow(non_camel_case_types)]
1525pub struct SQL_SPECIAL_CHARACTERS;
1526impl InfoType<SQL_SPECIAL_CHARACTERS, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1527unsafe impl Attr<SQL_SPECIAL_CHARACTERS> for OdbcStr<SQLCHAR> {
1528    type DefinedBy = OdbcDefined;
1529}
1530unsafe impl AttrGet<SQL_SPECIAL_CHARACTERS> for OdbcStr<SQLCHAR> {}
1531
1532#[derive(Ident)]
1533#[identifier(SQLUSMALLINT, 118)]
1534#[allow(non_camel_case_types)]
1535pub struct SQL_SQL_CONFORMANCE;
1536impl InfoType<SQL_SQL_CONFORMANCE, SQL_OV_ODBC3> for SqlConformance {}
1537unsafe impl Attr<SQL_SQL_CONFORMANCE> for SqlConformance {
1538    type DefinedBy = OdbcDefined;
1539}
1540unsafe impl AttrGet<SQL_SQL_CONFORMANCE> for SqlConformance {}
1541
1542#[derive(Ident)]
1543#[identifier(SQLUSMALLINT, 95)]
1544#[allow(non_camel_case_types)]
1545pub struct SQL_SUBQUERIES;
1546impl InfoType<SQL_SUBQUERIES, SQL_OV_ODBC3> for Subqueries {}
1547unsafe impl Attr<SQL_SUBQUERIES> for Subqueries {
1548    type DefinedBy = OdbcDefined;
1549}
1550unsafe impl AttrGet<SQL_SUBQUERIES> for Subqueries {}
1551
1552#[derive(Ident)]
1553#[identifier(SQLUSMALLINT, 96)]
1554#[allow(non_camel_case_types)]
1555pub struct SQL_UNION;
1556impl InfoType<SQL_UNION, SQL_OV_ODBC3> for Union {}
1557unsafe impl Attr<SQL_UNION> for Union {
1558    type DefinedBy = OdbcDefined;
1559}
1560unsafe impl AttrGet<SQL_UNION> for Union {}
1561
1562/////////////////////////////////////////////////////////////////////////////////////////
1563////////////////////////////////////// SQL Limits ///////////////////////////////////////
1564/////////////////////////////////////////////////////////////////////////////////////////
1565
1566#[derive(Ident)]
1567#[identifier(SQLUSMALLINT, 112)]
1568#[allow(non_camel_case_types)]
1569pub struct SQL_MAX_BINARY_LITERAL_LEN;
1570impl InfoType<SQL_MAX_BINARY_LITERAL_LEN, SQL_OV_ODBC3> for SQLUINTEGER {}
1571unsafe impl Attr<SQL_MAX_BINARY_LITERAL_LEN> for SQLUINTEGER {
1572    type DefinedBy = OdbcDefined;
1573}
1574unsafe impl AttrGet<SQL_MAX_BINARY_LITERAL_LEN> for SQLUINTEGER {}
1575
1576#[derive(Ident)]
1577#[identifier(SQLUSMALLINT, 34)]
1578#[allow(non_camel_case_types)]
1579pub struct SQL_MAX_CATALOG_NAME_LEN;
1580impl InfoType<SQL_MAX_CATALOG_NAME_LEN, SQL_OV_ODBC3> for SQLUSMALLINT {}
1581unsafe impl Attr<SQL_MAX_CATALOG_NAME_LEN> for SQLUSMALLINT {
1582    type DefinedBy = OdbcDefined;
1583}
1584unsafe impl AttrGet<SQL_MAX_CATALOG_NAME_LEN> for SQLUSMALLINT {}
1585
1586#[derive(Ident)]
1587#[identifier(SQLUSMALLINT, 108)]
1588#[allow(non_camel_case_types)]
1589pub struct SQL_MAX_CHAR_LITERAL_LEN;
1590impl InfoType<SQL_MAX_CHAR_LITERAL_LEN, SQL_OV_ODBC3> for SQLUINTEGER {}
1591unsafe impl Attr<SQL_MAX_CHAR_LITERAL_LEN> for SQLUINTEGER {
1592    type DefinedBy = OdbcDefined;
1593}
1594unsafe impl AttrGet<SQL_MAX_CHAR_LITERAL_LEN> for SQLUINTEGER {}
1595
1596#[derive(Ident)]
1597#[identifier(SQLUSMALLINT, 30)]
1598#[allow(non_camel_case_types)]
1599pub struct SQL_MAX_COLUMN_NAME_LEN;
1600impl InfoType<SQL_MAX_COLUMN_NAME_LEN, SQL_OV_ODBC3> for SQLUSMALLINT {}
1601unsafe impl Attr<SQL_MAX_COLUMN_NAME_LEN> for SQLUSMALLINT {
1602    type DefinedBy = OdbcDefined;
1603}
1604unsafe impl AttrGet<SQL_MAX_COLUMN_NAME_LEN> for SQLUSMALLINT {}
1605
1606#[derive(Ident)]
1607#[identifier(SQLUSMALLINT, 97)]
1608#[allow(non_camel_case_types)]
1609pub struct SQL_MAX_COLUMNS_IN_GROUP_BY;
1610impl InfoType<SQL_MAX_COLUMNS_IN_GROUP_BY, SQL_OV_ODBC3> for SQLUSMALLINT {}
1611unsafe impl Attr<SQL_MAX_COLUMNS_IN_GROUP_BY> for SQLUSMALLINT {
1612    type DefinedBy = OdbcDefined;
1613}
1614unsafe impl AttrGet<SQL_MAX_COLUMNS_IN_GROUP_BY> for SQLUSMALLINT {}
1615
1616#[derive(Ident)]
1617#[identifier(SQLUSMALLINT, 98)]
1618#[allow(non_camel_case_types)]
1619pub struct SQL_MAX_COLUMNS_IN_INDEX;
1620impl InfoType<SQL_MAX_COLUMNS_IN_INDEX, SQL_OV_ODBC3> for SQLUSMALLINT {}
1621unsafe impl Attr<SQL_MAX_COLUMNS_IN_INDEX> for SQLUSMALLINT {
1622    type DefinedBy = OdbcDefined;
1623}
1624unsafe impl AttrGet<SQL_MAX_COLUMNS_IN_INDEX> for SQLUSMALLINT {}
1625
1626#[derive(Ident)]
1627#[identifier(SQLUSMALLINT, 99)]
1628#[allow(non_camel_case_types)]
1629pub struct SQL_MAX_COLUMNS_IN_ORDER_BY;
1630impl InfoType<SQL_MAX_COLUMNS_IN_ORDER_BY, SQL_OV_ODBC3> for SQLUSMALLINT {}
1631unsafe impl Attr<SQL_MAX_COLUMNS_IN_ORDER_BY> for SQLUSMALLINT {
1632    type DefinedBy = OdbcDefined;
1633}
1634unsafe impl AttrGet<SQL_MAX_COLUMNS_IN_ORDER_BY> for SQLUSMALLINT {}
1635
1636#[derive(Ident)]
1637#[identifier(SQLUSMALLINT, 100)]
1638#[allow(non_camel_case_types)]
1639pub struct SQL_MAX_COLUMNS_IN_SELECT;
1640impl InfoType<SQL_MAX_COLUMNS_IN_SELECT, SQL_OV_ODBC3> for SQLUSMALLINT {}
1641unsafe impl Attr<SQL_MAX_COLUMNS_IN_SELECT> for SQLUSMALLINT {
1642    type DefinedBy = OdbcDefined;
1643}
1644unsafe impl AttrGet<SQL_MAX_COLUMNS_IN_SELECT> for SQLUSMALLINT {}
1645
1646#[derive(Ident)]
1647#[identifier(SQLUSMALLINT, 101)]
1648#[allow(non_camel_case_types)]
1649pub struct SQL_MAX_COLUMNS_IN_TABLE;
1650impl InfoType<SQL_MAX_COLUMNS_IN_TABLE, SQL_OV_ODBC3> for SQLUSMALLINT {}
1651unsafe impl Attr<SQL_MAX_COLUMNS_IN_TABLE> for SQLUSMALLINT {
1652    type DefinedBy = OdbcDefined;
1653}
1654unsafe impl AttrGet<SQL_MAX_COLUMNS_IN_TABLE> for SQLUSMALLINT {}
1655
1656#[derive(Ident)]
1657#[identifier(SQLUSMALLINT, 31)]
1658#[allow(non_camel_case_types)]
1659pub struct SQL_MAX_CURSOR_NAME_LEN;
1660impl InfoType<SQL_MAX_CURSOR_NAME_LEN, SQL_OV_ODBC3> for SQLUSMALLINT {}
1661unsafe impl Attr<SQL_MAX_CURSOR_NAME_LEN> for SQLUSMALLINT {
1662    type DefinedBy = OdbcDefined;
1663}
1664unsafe impl AttrGet<SQL_MAX_CURSOR_NAME_LEN> for SQLUSMALLINT {}
1665
1666#[derive(Ident)]
1667#[identifier(SQLUSMALLINT, 10005)]
1668#[allow(non_camel_case_types)]
1669pub struct SQL_MAX_IDENTIFIER_LEN;
1670impl InfoType<SQL_MAX_IDENTIFIER_LEN, SQL_OV_ODBC3> for SQLUSMALLINT {}
1671unsafe impl Attr<SQL_MAX_IDENTIFIER_LEN> for SQLUSMALLINT {
1672    type DefinedBy = OdbcDefined;
1673}
1674unsafe impl AttrGet<SQL_MAX_IDENTIFIER_LEN> for SQLUSMALLINT {}
1675
1676#[derive(Ident)]
1677#[identifier(SQLUSMALLINT, 102)]
1678#[allow(non_camel_case_types)]
1679pub struct SQL_MAX_INDEX_SIZE;
1680impl InfoType<SQL_MAX_INDEX_SIZE, SQL_OV_ODBC3> for SQLUINTEGER {}
1681unsafe impl Attr<SQL_MAX_INDEX_SIZE> for SQLUINTEGER {
1682    type DefinedBy = OdbcDefined;
1683}
1684unsafe impl AttrGet<SQL_MAX_INDEX_SIZE> for SQLUINTEGER {}
1685
1686#[derive(Ident)]
1687#[identifier(SQLUSMALLINT, 33)]
1688#[allow(non_camel_case_types)]
1689pub struct SQL_MAX_PROCEDURE_NAME_LEN;
1690impl InfoType<SQL_MAX_PROCEDURE_NAME_LEN, SQL_OV_ODBC3> for SQLUSMALLINT {}
1691unsafe impl Attr<SQL_MAX_PROCEDURE_NAME_LEN> for SQLUSMALLINT {
1692    type DefinedBy = OdbcDefined;
1693}
1694unsafe impl AttrGet<SQL_MAX_PROCEDURE_NAME_LEN> for SQLUSMALLINT {}
1695
1696#[derive(Ident)]
1697#[identifier(SQLUSMALLINT, 104)]
1698#[allow(non_camel_case_types)]
1699pub struct SQL_MAX_ROW_SIZE;
1700impl InfoType<SQL_MAX_ROW_SIZE, SQL_OV_ODBC3> for SQLUINTEGER {}
1701unsafe impl Attr<SQL_MAX_ROW_SIZE> for SQLUINTEGER {
1702    type DefinedBy = OdbcDefined;
1703}
1704unsafe impl AttrGet<SQL_MAX_ROW_SIZE> for SQLUINTEGER {}
1705
1706#[derive(Ident)]
1707#[identifier(SQLUSMALLINT, 103)]
1708#[allow(non_camel_case_types)]
1709pub struct SQL_MAX_ROW_SIZE_INCLUDES_LONG;
1710impl InfoType<SQL_MAX_ROW_SIZE_INCLUDES_LONG, SQL_OV_ODBC3> for OdbcStr<SQLCHAR> {}
1711unsafe impl Attr<SQL_MAX_ROW_SIZE_INCLUDES_LONG> for OdbcStr<SQLCHAR> {
1712    type DefinedBy = OdbcDefined;
1713}
1714unsafe impl AttrGet<SQL_MAX_ROW_SIZE_INCLUDES_LONG> for OdbcStr<SQLCHAR> {}
1715
1716#[derive(Ident)]
1717#[identifier(SQLUSMALLINT, 32)]
1718#[allow(non_camel_case_types)]
1719pub struct SQL_MAX_SCHEMA_NAME_LEN;
1720impl InfoType<SQL_MAX_SCHEMA_NAME_LEN, SQL_OV_ODBC3> for SQLUSMALLINT {}
1721unsafe impl Attr<SQL_MAX_SCHEMA_NAME_LEN> for SQLUSMALLINT {
1722    type DefinedBy = OdbcDefined;
1723}
1724unsafe impl AttrGet<SQL_MAX_SCHEMA_NAME_LEN> for SQLUSMALLINT {}
1725
1726#[derive(Ident)]
1727#[identifier(SQLUSMALLINT, 105)]
1728#[allow(non_camel_case_types)]
1729pub struct SQL_MAX_STATEMENT_LEN;
1730impl InfoType<SQL_MAX_STATEMENT_LEN, SQL_OV_ODBC3> for SQLUINTEGER {}
1731unsafe impl Attr<SQL_MAX_STATEMENT_LEN> for SQLUINTEGER {
1732    type DefinedBy = OdbcDefined;
1733}
1734unsafe impl AttrGet<SQL_MAX_STATEMENT_LEN> for SQLUINTEGER {}
1735
1736#[derive(Ident)]
1737#[identifier(SQLUSMALLINT, 35)]
1738#[allow(non_camel_case_types)]
1739pub struct SQL_MAX_TABLE_NAME_LEN;
1740impl InfoType<SQL_MAX_TABLE_NAME_LEN, SQL_OV_ODBC3> for SQLUSMALLINT {}
1741unsafe impl Attr<SQL_MAX_TABLE_NAME_LEN> for SQLUSMALLINT {
1742    type DefinedBy = OdbcDefined;
1743}
1744unsafe impl AttrGet<SQL_MAX_TABLE_NAME_LEN> for SQLUSMALLINT {}
1745
1746#[derive(Ident)]
1747#[identifier(SQLUSMALLINT, 106)]
1748#[allow(non_camel_case_types)]
1749pub struct SQL_MAX_TABLES_IN_SELECT;
1750impl InfoType<SQL_MAX_TABLES_IN_SELECT, SQL_OV_ODBC3> for SQLUSMALLINT {}
1751unsafe impl Attr<SQL_MAX_TABLES_IN_SELECT> for SQLUSMALLINT {
1752    type DefinedBy = OdbcDefined;
1753}
1754unsafe impl AttrGet<SQL_MAX_TABLES_IN_SELECT> for SQLUSMALLINT {}
1755
1756#[derive(Ident)]
1757#[identifier(SQLUSMALLINT, 107)]
1758#[allow(non_camel_case_types)]
1759pub struct SQL_MAX_USER_NAME_LEN;
1760impl InfoType<SQL_MAX_USER_NAME_LEN, SQL_OV_ODBC3> for SQLUSMALLINT {}
1761unsafe impl Attr<SQL_MAX_USER_NAME_LEN> for SQLUSMALLINT {
1762    type DefinedBy = OdbcDefined;
1763}
1764unsafe impl AttrGet<SQL_MAX_USER_NAME_LEN> for SQLUSMALLINT {}
1765
1766/////////////////////////////////////////////////////////////////////////////////////////
1767////////////////////////////// Scalar Function Information //////////////////////////////
1768/////////////////////////////////////////////////////////////////////////////////////////
1769
1770#[derive(Ident)]
1771#[identifier(SQLUSMALLINT, 48)]
1772#[allow(non_camel_case_types)]
1773pub struct SQL_CONVERT_FUNCTIONS;
1774impl InfoType<SQL_CONVERT_FUNCTIONS, SQL_OV_ODBC3> for ConvertFunctions {}
1775unsafe impl Attr<SQL_CONVERT_FUNCTIONS> for ConvertFunctions {
1776    type DefinedBy = OdbcDefined;
1777}
1778unsafe impl AttrGet<SQL_CONVERT_FUNCTIONS> for ConvertFunctions {}
1779
1780#[derive(Ident)]
1781#[identifier(SQLUSMALLINT, 49)]
1782#[allow(non_camel_case_types)]
1783pub struct SQL_NUMERIC_FUNCTIONS;
1784impl InfoType<SQL_NUMERIC_FUNCTIONS, SQL_OV_ODBC3> for NumericFunctions {}
1785unsafe impl Attr<SQL_NUMERIC_FUNCTIONS> for NumericFunctions {
1786    type DefinedBy = OdbcDefined;
1787}
1788unsafe impl AttrGet<SQL_NUMERIC_FUNCTIONS> for NumericFunctions {}
1789
1790#[derive(Ident)]
1791#[identifier(SQLUSMALLINT, 50)]
1792#[allow(non_camel_case_types)]
1793pub struct SQL_STRING_FUNCTIONS;
1794impl InfoType<SQL_STRING_FUNCTIONS, SQL_OV_ODBC3> for StringFunctions {}
1795unsafe impl Attr<SQL_STRING_FUNCTIONS> for StringFunctions {
1796    type DefinedBy = OdbcDefined;
1797}
1798unsafe impl AttrGet<SQL_STRING_FUNCTIONS> for StringFunctions {}
1799
1800#[derive(Ident)]
1801#[identifier(SQLUSMALLINT, 51)]
1802#[allow(non_camel_case_types)]
1803pub struct SQL_SYSTEM_FUNCTIONS;
1804impl InfoType<SQL_SYSTEM_FUNCTIONS, SQL_OV_ODBC3> for SystemFunctions {}
1805unsafe impl Attr<SQL_SYSTEM_FUNCTIONS> for SystemFunctions {
1806    type DefinedBy = OdbcDefined;
1807}
1808unsafe impl AttrGet<SQL_SYSTEM_FUNCTIONS> for SystemFunctions {}
1809
1810#[derive(Ident)]
1811#[identifier(SQLUSMALLINT, 109)]
1812#[allow(non_camel_case_types)]
1813pub struct SQL_TIMEDATE_ADD_INTERVALS;
1814impl InfoType<SQL_TIMEDATE_ADD_INTERVALS, SQL_OV_ODBC3> for TimedateIntervals {}
1815unsafe impl Attr<SQL_TIMEDATE_ADD_INTERVALS> for TimedateIntervals {
1816    type DefinedBy = OdbcDefined;
1817}
1818unsafe impl AttrGet<SQL_TIMEDATE_ADD_INTERVALS> for TimedateIntervals {}
1819
1820#[derive(Ident)]
1821#[identifier(SQLUSMALLINT, 110)]
1822#[allow(non_camel_case_types)]
1823pub struct SQL_TIMEDATE_DIFF_INTERVALS;
1824impl InfoType<SQL_TIMEDATE_DIFF_INTERVALS, SQL_OV_ODBC3> for TimedateIntervals {}
1825unsafe impl Attr<SQL_TIMEDATE_DIFF_INTERVALS> for TimedateIntervals {
1826    type DefinedBy = OdbcDefined;
1827}
1828unsafe impl AttrGet<SQL_TIMEDATE_DIFF_INTERVALS> for TimedateIntervals {}
1829
1830#[derive(Ident)]
1831#[identifier(SQLUSMALLINT, 52)]
1832#[allow(non_camel_case_types)]
1833pub struct SQL_TIMEDATE_FUNCTIONS;
1834impl InfoType<SQL_TIMEDATE_FUNCTIONS, SQL_OV_ODBC3> for TimedateFunctions {}
1835unsafe impl Attr<SQL_TIMEDATE_FUNCTIONS> for TimedateFunctions {
1836    type DefinedBy = OdbcDefined;
1837}
1838unsafe impl AttrGet<SQL_TIMEDATE_FUNCTIONS> for TimedateFunctions {}
1839
1840/////////////////////////////////////////////////////////////////////////////////////////
1841//////////////////////////////// Conversion Information /////////////////////////////////
1842/////////////////////////////////////////////////////////////////////////////////////////
1843
1844#[derive(Ident)]
1845#[identifier(SQLUSMALLINT, 53)]
1846#[allow(non_camel_case_types)]
1847pub struct SQL_CONVERT_BIGINT;
1848impl InfoType<SQL_CONVERT_BIGINT, SQL_OV_ODBC3> for Conversion {}
1849unsafe impl Attr<SQL_CONVERT_BIGINT> for Conversion {
1850    type DefinedBy = OdbcDefined;
1851}
1852unsafe impl AttrGet<SQL_CONVERT_BIGINT> for Conversion {}
1853
1854#[derive(Ident)]
1855#[identifier(SQLUSMALLINT, 54)]
1856#[allow(non_camel_case_types)]
1857pub struct SQL_CONVERT_BINARY;
1858impl InfoType<SQL_CONVERT_BINARY, SQL_OV_ODBC3> for Conversion {}
1859unsafe impl Attr<SQL_CONVERT_BINARY> for Conversion {
1860    type DefinedBy = OdbcDefined;
1861}
1862unsafe impl AttrGet<SQL_CONVERT_BINARY> for Conversion {}
1863
1864#[derive(Ident)]
1865#[identifier(SQLUSMALLINT, 55)]
1866#[allow(non_camel_case_types)]
1867pub struct SQL_CONVERT_BIT;
1868impl InfoType<SQL_CONVERT_BIT, SQL_OV_ODBC3> for Conversion {}
1869unsafe impl Attr<SQL_CONVERT_BIT> for Conversion {
1870    type DefinedBy = OdbcDefined;
1871}
1872unsafe impl AttrGet<SQL_CONVERT_BIT> for Conversion {}
1873
1874#[derive(Ident)]
1875#[identifier(SQLUSMALLINT, 56)]
1876#[allow(non_camel_case_types)]
1877pub struct SQL_CONVERT_CHAR;
1878impl InfoType<SQL_CONVERT_CHAR, SQL_OV_ODBC3> for Conversion {}
1879unsafe impl Attr<SQL_CONVERT_CHAR> for Conversion {
1880    type DefinedBy = OdbcDefined;
1881}
1882unsafe impl AttrGet<SQL_CONVERT_CHAR> for Conversion {}
1883
1884#[derive(Ident)]
1885#[identifier(SQLUSMALLINT, 57)]
1886#[allow(non_camel_case_types)]
1887pub struct SQL_CONVERT_DATE;
1888impl InfoType<SQL_CONVERT_DATE, SQL_OV_ODBC3> for Conversion {}
1889unsafe impl Attr<SQL_CONVERT_DATE> for Conversion {
1890    type DefinedBy = OdbcDefined;
1891}
1892unsafe impl AttrGet<SQL_CONVERT_DATE> for Conversion {}
1893
1894#[derive(Ident)]
1895#[identifier(SQLUSMALLINT, 58)]
1896#[allow(non_camel_case_types)]
1897pub struct SQL_CONVERT_DECIMAL;
1898impl InfoType<SQL_CONVERT_DECIMAL, SQL_OV_ODBC3> for Conversion {}
1899unsafe impl Attr<SQL_CONVERT_DECIMAL> for Conversion {
1900    type DefinedBy = OdbcDefined;
1901}
1902unsafe impl AttrGet<SQL_CONVERT_DECIMAL> for Conversion {}
1903
1904#[derive(Ident)]
1905#[identifier(SQLUSMALLINT, 59)]
1906#[allow(non_camel_case_types)]
1907pub struct SQL_CONVERT_DOUBLE;
1908impl InfoType<SQL_CONVERT_DOUBLE, SQL_OV_ODBC3> for Conversion {}
1909unsafe impl Attr<SQL_CONVERT_DOUBLE> for Conversion {
1910    type DefinedBy = OdbcDefined;
1911}
1912unsafe impl AttrGet<SQL_CONVERT_DOUBLE> for Conversion {}
1913
1914#[derive(Ident)]
1915#[identifier(SQLUSMALLINT, 60)]
1916#[allow(non_camel_case_types)]
1917pub struct SQL_CONVERT_FLOAT;
1918impl InfoType<SQL_CONVERT_FLOAT, SQL_OV_ODBC3> for Conversion {}
1919unsafe impl Attr<SQL_CONVERT_FLOAT> for Conversion {
1920    type DefinedBy = OdbcDefined;
1921}
1922unsafe impl AttrGet<SQL_CONVERT_FLOAT> for Conversion {}
1923
1924#[derive(Ident)]
1925#[identifier(SQLUSMALLINT, 61)]
1926#[allow(non_camel_case_types)]
1927pub struct SQL_CONVERT_INTEGER;
1928impl InfoType<SQL_CONVERT_INTEGER, SQL_OV_ODBC3> for Conversion {}
1929unsafe impl Attr<SQL_CONVERT_INTEGER> for Conversion {
1930    type DefinedBy = OdbcDefined;
1931}
1932unsafe impl AttrGet<SQL_CONVERT_INTEGER> for Conversion {}
1933
1934#[derive(Ident)]
1935#[identifier(SQLUSMALLINT, 123)]
1936#[allow(non_camel_case_types)]
1937pub struct SQL_CONVERT_INTERVAL_DAY_TIME;
1938impl InfoType<SQL_CONVERT_INTERVAL_DAY_TIME, SQL_OV_ODBC3> for Conversion {}
1939unsafe impl Attr<SQL_CONVERT_INTERVAL_DAY_TIME> for Conversion {
1940    type DefinedBy = OdbcDefined;
1941}
1942unsafe impl AttrGet<SQL_CONVERT_INTERVAL_DAY_TIME> for Conversion {}
1943
1944#[derive(Ident)]
1945#[identifier(SQLUSMALLINT, 124)]
1946#[allow(non_camel_case_types)]
1947pub struct SQL_CONVERT_INTERVAL_YEAR_MONTH;
1948impl InfoType<SQL_CONVERT_INTERVAL_YEAR_MONTH, SQL_OV_ODBC3> for Conversion {}
1949unsafe impl Attr<SQL_CONVERT_INTERVAL_YEAR_MONTH> for Conversion {
1950    type DefinedBy = OdbcDefined;
1951}
1952unsafe impl AttrGet<SQL_CONVERT_INTERVAL_YEAR_MONTH> for Conversion {}
1953
1954#[derive(Ident)]
1955#[identifier(SQLUSMALLINT, 71)]
1956#[allow(non_camel_case_types)]
1957pub struct SQL_CONVERT_LONGVARBINARY;
1958impl InfoType<SQL_CONVERT_LONGVARBINARY, SQL_OV_ODBC3> for Conversion {}
1959unsafe impl Attr<SQL_CONVERT_LONGVARBINARY> for Conversion {
1960    type DefinedBy = OdbcDefined;
1961}
1962unsafe impl AttrGet<SQL_CONVERT_LONGVARBINARY> for Conversion {}
1963
1964#[derive(Ident)]
1965#[identifier(SQLUSMALLINT, 62)]
1966#[allow(non_camel_case_types)]
1967pub struct SQL_CONVERT_LONGVARCHAR;
1968impl InfoType<SQL_CONVERT_LONGVARCHAR, SQL_OV_ODBC3> for Conversion {}
1969unsafe impl Attr<SQL_CONVERT_LONGVARCHAR> for Conversion {
1970    type DefinedBy = OdbcDefined;
1971}
1972unsafe impl AttrGet<SQL_CONVERT_LONGVARCHAR> for Conversion {}
1973
1974#[derive(Ident)]
1975#[identifier(SQLUSMALLINT, 63)]
1976#[allow(non_camel_case_types)]
1977pub struct SQL_CONVERT_NUMERIC;
1978impl InfoType<SQL_CONVERT_NUMERIC, SQL_OV_ODBC3> for Conversion {}
1979unsafe impl Attr<SQL_CONVERT_NUMERIC> for Conversion {
1980    type DefinedBy = OdbcDefined;
1981}
1982unsafe impl AttrGet<SQL_CONVERT_NUMERIC> for Conversion {}
1983
1984#[derive(Ident)]
1985#[identifier(SQLUSMALLINT, 64)]
1986#[allow(non_camel_case_types)]
1987pub struct SQL_CONVERT_REAL;
1988impl InfoType<SQL_CONVERT_REAL, SQL_OV_ODBC3> for Conversion {}
1989unsafe impl Attr<SQL_CONVERT_REAL> for Conversion {
1990    type DefinedBy = OdbcDefined;
1991}
1992unsafe impl AttrGet<SQL_CONVERT_REAL> for Conversion {}
1993
1994#[derive(Ident)]
1995#[identifier(SQLUSMALLINT, 65)]
1996#[allow(non_camel_case_types)]
1997pub struct SQL_CONVERT_SMALLINT;
1998impl InfoType<SQL_CONVERT_SMALLINT, SQL_OV_ODBC3> for Conversion {}
1999unsafe impl Attr<SQL_CONVERT_SMALLINT> for Conversion {
2000    type DefinedBy = OdbcDefined;
2001}
2002unsafe impl AttrGet<SQL_CONVERT_SMALLINT> for Conversion {}
2003
2004#[derive(Ident)]
2005#[identifier(SQLUSMALLINT, 66)]
2006#[allow(non_camel_case_types)]
2007pub struct SQL_CONVERT_TIME;
2008impl InfoType<SQL_CONVERT_TIME, SQL_OV_ODBC3> for Conversion {}
2009unsafe impl Attr<SQL_CONVERT_TIME> for Conversion {
2010    type DefinedBy = OdbcDefined;
2011}
2012unsafe impl AttrGet<SQL_CONVERT_TIME> for Conversion {}
2013
2014#[derive(Ident)]
2015#[identifier(SQLUSMALLINT, 67)]
2016#[allow(non_camel_case_types)]
2017pub struct SQL_CONVERT_TIMESTAMP;
2018impl InfoType<SQL_CONVERT_TIMESTAMP, SQL_OV_ODBC3> for Conversion {}
2019unsafe impl Attr<SQL_CONVERT_TIMESTAMP> for Conversion {
2020    type DefinedBy = OdbcDefined;
2021}
2022unsafe impl AttrGet<SQL_CONVERT_TIMESTAMP> for Conversion {}
2023
2024#[derive(Ident)]
2025#[identifier(SQLUSMALLINT, 68)]
2026#[allow(non_camel_case_types)]
2027pub struct SQL_CONVERT_TINYINT;
2028impl InfoType<SQL_CONVERT_TINYINT, SQL_OV_ODBC3> for Conversion {}
2029unsafe impl Attr<SQL_CONVERT_TINYINT> for Conversion {
2030    type DefinedBy = OdbcDefined;
2031}
2032unsafe impl AttrGet<SQL_CONVERT_TINYINT> for Conversion {}
2033
2034#[derive(Ident)]
2035#[identifier(SQLUSMALLINT, 69)]
2036#[allow(non_camel_case_types)]
2037pub struct SQL_CONVERT_VARBINARY;
2038impl InfoType<SQL_CONVERT_VARBINARY, SQL_OV_ODBC3> for Conversion {}
2039unsafe impl Attr<SQL_CONVERT_VARBINARY> for Conversion {
2040    type DefinedBy = OdbcDefined;
2041}
2042unsafe impl AttrGet<SQL_CONVERT_VARBINARY> for Conversion {}
2043
2044#[derive(Ident)]
2045#[identifier(SQLUSMALLINT, 70)]
2046#[allow(non_camel_case_types)]
2047pub struct SQL_CONVERT_VARCHAR;
2048impl InfoType<SQL_CONVERT_VARCHAR, SQL_OV_ODBC3> for Conversion {}
2049unsafe impl Attr<SQL_CONVERT_VARCHAR> for Conversion {
2050    type DefinedBy = OdbcDefined;
2051}
2052unsafe impl AttrGet<SQL_CONVERT_VARCHAR> for Conversion {}
2053
2054#[derive(Ident)]
2055#[identifier(SQLUSMALLINT, 173)]
2056#[allow(non_camel_case_types)]
2057pub struct SQL_CONVERT_GUID;
2058impl InfoType<SQL_CONVERT_GUID, SQL_OV_ODBC3> for Conversion {}
2059unsafe impl Attr<SQL_CONVERT_GUID> for Conversion {
2060    type DefinedBy = OdbcDefined;
2061}
2062unsafe impl AttrGet<SQL_CONVERT_GUID> for Conversion {}
2063
2064//=====================================================================================//
2065
2066#[odbc_type(SQLUINTEGER)]
2067pub struct AsyncDbcFunctions;
2068pub const SQL_ASYNC_DBC_NOT_CAPABLE: AsyncDbcFunctions = AsyncDbcFunctions(0x0000000);
2069pub const SQL_ASYNC_DBC_CAPABLE: AsyncDbcFunctions = AsyncDbcFunctions(0x00000001);
2070
2071#[odbc_type(SQLUINTEGER)]
2072pub struct AsyncMode;
2073pub const SQL_AM_NONE: AsyncMode = AsyncMode(0);
2074pub const SQL_AM_CONNECTION: AsyncMode = AsyncMode(1);
2075pub const SQL_AM_STATEMENT: AsyncMode = AsyncMode(2);
2076
2077#[odbc_type(SQLUINTEGER)]
2078pub struct AsyncNotification;
2079pub const SQL_ASYNC_NOTIFICATION_NOT_CAPABLE: AsyncNotification = AsyncNotification(0x00000000);
2080pub const SQL_ASYNC_NOTIFICATION_CAPABLE: AsyncNotification = AsyncNotification(0x00000001);
2081
2082#[odbc_type(SQLUSMALLINT)]
2083pub struct ConcatNullBehavior;
2084pub const SQL_CB_NON_NULL: ConcatNullBehavior = ConcatNullBehavior(0x0000);
2085pub const SQL_CB_NULL: ConcatNullBehavior = ConcatNullBehavior(0x0001);
2086
2087#[odbc_type(SQLUSMALLINT)]
2088pub struct CorrelationName;
2089pub const SQL_CN_NONE: CorrelationName = CorrelationName(0x0000);
2090pub const SQL_CN_DIFFERENT: CorrelationName = CorrelationName(0x0001);
2091pub const SQL_CN_ANY: CorrelationName = CorrelationName(0x0002);
2092
2093#[odbc_type(SQLUINTEGER)]
2094pub struct CatalogLocation;
2095pub const SQL_CL_START: CatalogLocation = CatalogLocation(0x0001);
2096pub const SQL_CL_END: CatalogLocation = CatalogLocation(0x0002);
2097
2098#[odbc_type(SQLUSMALLINT)]
2099pub struct CursorBehavior;
2100pub const SQL_CB_DELETE: CursorBehavior = CursorBehavior(0);
2101pub const SQL_CB_CLOSE: CursorBehavior = CursorBehavior(1);
2102pub const SQL_CB_PRESERVE: CursorBehavior = CursorBehavior(2);
2103
2104#[odbc_type(SQLUINTEGER)]
2105pub struct CursorSensitivity;
2106pub const SQL_UNSPECIFIED: CursorSensitivity = CursorSensitivity(0);
2107pub const SQL_INSENSITIVE: CursorSensitivity = CursorSensitivity(1);
2108pub const SQL_SENSITIVE: CursorSensitivity = CursorSensitivity(2);
2109
2110#[odbc_type(SQLUINTEGER)]
2111pub struct DdlIndex;
2112pub const SQL_DI_CREATE_INDEX: DdlIndex = DdlIndex(0x00000001);
2113pub const SQL_DI_DROP_INDEX: DdlIndex = DdlIndex(0x00000002);
2114
2115#[odbc_type(SQLUSMALLINT)]
2116pub struct TxnCapable;
2117pub const SQL_TC_NONE: TxnCapable = TxnCapable(0);
2118pub const SQL_TC_DML: TxnCapable = TxnCapable(1);
2119pub const SQL_TC_ALL: TxnCapable = TxnCapable(2);
2120pub const SQL_TC_DDL_COMMIT: TxnCapable = TxnCapable(3);
2121pub const SQL_TC_DDL_IGNORE: TxnCapable = TxnCapable(4);
2122
2123#[odbc_type(SQLUINTEGER)]
2124pub struct SqlConformance;
2125pub const SQL_SC_SQL92_ENTRY: SqlConformance = SqlConformance(0x00000001);
2126pub const SQL_SC_FIPS127_2_TRANSITIONAL: SqlConformance = SqlConformance(0x00000002);
2127pub const SQL92_INTERMEDIATE: SqlConformance = SqlConformance(0x00000004);
2128pub const SQL_SC_SQL92_FULL: SqlConformance = SqlConformance(0x00000008);
2129
2130#[odbc_type(SQLUINTEGER)]
2131pub struct ParamArraySelects;
2132pub const SQL_PAS_BATCH: ParamArraySelects = ParamArraySelects(1);
2133pub const SQL_PAS_NO_BATCH: ParamArraySelects = ParamArraySelects(2);
2134pub const SQL_PAS_NO_SELECT: ParamArraySelects = ParamArraySelects(3);
2135
2136#[odbc_type(SQLUINTEGER)]
2137pub struct ParamArrayRowCounts;
2138pub const SQL_PARC_BATCH: ParamArrayRowCounts = ParamArrayRowCounts(1);
2139pub const SQL_PARC_NO_BATCH: ParamArrayRowCounts = ParamArrayRowCounts(2);
2140
2141#[odbc_type(SQLUINTEGER)]
2142pub struct OdbcInterfaceConformance;
2143pub const SQL_OIC_CORE: OdbcInterfaceConformance = OdbcInterfaceConformance(1);
2144pub const SQL_OIC_LEVEL1: OdbcInterfaceConformance = OdbcInterfaceConformance(2);
2145pub const SQL_OIC_LEVEL2: OdbcInterfaceConformance = OdbcInterfaceConformance(3);
2146
2147#[odbc_type(SQLUSMALLINT)]
2148pub struct NonNullableColumns;
2149pub const SQL_NNC_NULL: NonNullableColumns = NonNullableColumns(0x0000);
2150pub const SQL_NNC_NON_NULL: NonNullableColumns = NonNullableColumns(0x0001);
2151
2152#[odbc_type(SQLUSMALLINT)]
2153pub struct IdentifierCase;
2154pub const SQL_IC_UPPER: IdentifierCase = IdentifierCase(1);
2155pub const SQL_IC_LOWER: IdentifierCase = IdentifierCase(2);
2156pub const SQL_IC_SENSITIVE: IdentifierCase = IdentifierCase(3);
2157pub const SQL_IC_MIXED: IdentifierCase = IdentifierCase(4);
2158
2159#[odbc_type(SQLUSMALLINT)]
2160pub struct GroupBy;
2161pub const SQL_GB_NOT_SUPPORTED: GroupBy = GroupBy(0x0000);
2162pub const SQL_GB_GROUP_BY_EQUALS_SELECT: GroupBy = GroupBy(0x0001);
2163pub const SQL_GB_GROUP_BY_CONTAINS_SELECT: GroupBy = GroupBy(0x0002);
2164pub const SQL_GB_NO_RELATION: GroupBy = GroupBy(0x0003);
2165pub const SQL_GB_COLLATE: GroupBy = GroupBy(0x0004);
2166
2167#[odbc_type(SQLUSMALLINT)]
2168pub struct FileUsage;
2169pub const SQL_FILE_NOT_SUPPORTED: FileUsage = FileUsage(0x0000);
2170pub const SQL_FILE_TABLE: FileUsage = FileUsage(0x0001);
2171pub const SQL_FILE_CATALOG: FileUsage = FileUsage(0x0002);
2172
2173#[odbc_bitmask(SQLUINTEGER)]
2174pub struct BatchRowCount;
2175pub const SQL_BRC_PROCEDURES: BatchRowCount = BatchRowCount(0x0000001);
2176pub const SQL_BRC_EXPLICIT: BatchRowCount = BatchRowCount(0x0000002);
2177pub const SQL_BRC_ROLLED_UP: BatchRowCount = BatchRowCount(0x0000004);
2178
2179#[odbc_bitmask(SQLUINTEGER)]
2180pub struct BatchSupport;
2181pub const SQL_BS_SELECT_EXPLICIT: BatchSupport = BatchSupport(0x00000001);
2182pub const SQL_BS_ROW_COUNT_EXPLICIT: BatchSupport = BatchSupport(0x00000002);
2183pub const SQL_BS_SELECT_PROC: BatchSupport = BatchSupport(0x00000004);
2184pub const SQL_BS_ROW_COUNT_PROC: BatchSupport = BatchSupport(0x00000008);
2185
2186#[odbc_type(SQLUINTEGER)]
2187pub struct DriverAwarePoolingSupported;
2188pub const SQL_DRIVER_AWARE_POOLING_NOT_CAPABLE: DriverAwarePoolingSupported =
2189    DriverAwarePoolingSupported(0x00000000);
2190pub const SQL_DRIVER_AWARE_POOLING_CAPABLE: DriverAwarePoolingSupported =
2191    DriverAwarePoolingSupported(0x00000001);
2192
2193#[odbc_bitmask(SQLUINTEGER)]
2194pub struct CursorAttributes1;
2195pub const SQL_CA1_NEXT: CursorAttributes1 = CursorAttributes1(0x00000001);
2196pub const SQL_CA1_ABSOLUTE: CursorAttributes1 = CursorAttributes1(0x00000002);
2197pub const SQL_CA1_RELATIVE: CursorAttributes1 = CursorAttributes1(0x00000004);
2198pub const SQL_CA1_BOOKMARK: CursorAttributes1 = CursorAttributes1(0x00000008);
2199
2200pub const SQL_CA1_LOCK_NO_CHANGE: CursorAttributes1 = CursorAttributes1(0x00000040);
2201pub const SQL_CA1_LOCK_EXCLUSIVE: CursorAttributes1 = CursorAttributes1(0x00000080);
2202pub const SQL_CA1_LOCK_UNLOCK: CursorAttributes1 = CursorAttributes1(0x00000100);
2203
2204pub const SQL_CA1_POS_POSITION: CursorAttributes1 = CursorAttributes1(0x00000200);
2205pub const SQL_CA1_POS_UPDATE: CursorAttributes1 = CursorAttributes1(0x00000400);
2206pub const SQL_CA1_POS_DELETE: CursorAttributes1 = CursorAttributes1(0x00000800);
2207pub const SQL_CA1_POS_REFRESH: CursorAttributes1 = CursorAttributes1(0x00001000);
2208
2209pub const SQL_CA1_POSITIONED_UPDATE: CursorAttributes1 = CursorAttributes1(0x00002000);
2210pub const SQL_CA1_POSITIONED_DELETE: CursorAttributes1 = CursorAttributes1(0x00004000);
2211pub const SQL_CA1_SELECT_FOR_UPDATE: CursorAttributes1 = CursorAttributes1(0x00008000);
2212
2213pub const SQL_CA1_BULK_ADD: CursorAttributes1 = CursorAttributes1(0x00010000);
2214pub const SQL_CA1_BULK_UPDATE_BY_BOOKMARK: CursorAttributes1 = CursorAttributes1(0x00020000);
2215pub const SQL_CA1_BULK_DELETE_BY_BOOKMARK: CursorAttributes1 = CursorAttributes1(0x00040000);
2216pub const SQL_CA1_BULK_FETCH_BY_BOOKMARK: CursorAttributes1 = CursorAttributes1(0x00080000);
2217
2218#[odbc_bitmask(SQLUINTEGER)]
2219pub struct CursorAttributes2;
2220pub const SQL_CA2_READ_ONLY_CONCURRENCY: CursorAttributes2 = CursorAttributes2(0x00000001);
2221pub const SQL_CA2_LOCK_CONCURRENCY: CursorAttributes2 = CursorAttributes2(0x00000002);
2222pub const SQL_CA2_OPT_ROWVER_CONCURRENCY: CursorAttributes2 = CursorAttributes2(0x00000004);
2223pub const SQL_CA2_OPT_VALUES_CONCURRENCY: CursorAttributes2 = CursorAttributes2(0x00000008);
2224
2225pub const SQL_CA2_SENSITIVITY_ADDITIONS: CursorAttributes2 = CursorAttributes2(0x00000010);
2226pub const SQL_CA2_SENSITIVITY_DELETIONS: CursorAttributes2 = CursorAttributes2(0x00000020);
2227pub const SQL_CA2_SENSITIVITY_UPDATES: CursorAttributes2 = CursorAttributes2(0x00000040);
2228
2229pub const SQL_CA2_MAX_ROWS_SELECT: CursorAttributes2 = CursorAttributes2(0x00000080);
2230pub const SQL_CA2_MAX_ROWS_INSERT: CursorAttributes2 = CursorAttributes2(0x00000100);
2231pub const SQL_CA2_MAX_ROWS_DELETE: CursorAttributes2 = CursorAttributes2(0x00000200);
2232pub const SQL_CA2_MAX_ROWS_UPDATE: CursorAttributes2 = CursorAttributes2(0x00000400);
2233pub const SQL_CA2_MAX_ROWS_CATALOG: CursorAttributes2 = CursorAttributes2(0x00000800);
2234pub const SQL_CA2_MAX_ROWS_AFFECTS_ALL: CursorAttributes2 = CursorAttributes2(
2235    SQL_CA2_MAX_ROWS_SELECT.0
2236        | SQL_CA2_MAX_ROWS_INSERT.0
2237        | SQL_CA2_MAX_ROWS_DELETE.0
2238        | SQL_CA2_MAX_ROWS_UPDATE.0
2239        | SQL_CA2_MAX_ROWS_CATALOG.0,
2240);
2241
2242pub const SQL_CA2_CRC_EXACT: CursorAttributes2 = CursorAttributes2(0x00001000);
2243pub const SQL_CA2_CRC_APPROXIMATE: CursorAttributes2 = CursorAttributes2(0x00002000);
2244
2245pub const SQL_CA2_SIMULATE_NON_UNIQUE: CursorAttributes2 = CursorAttributes2(0x00004000);
2246pub const SQL_CA2_SIMULATE_TRY_UNIQUE: CursorAttributes2 = CursorAttributes2(0x00008000);
2247pub const SQL_CA2_SIMULATE_UNIQUE: CursorAttributes2 = CursorAttributes2(0x00010000);
2248
2249#[odbc_bitmask(SQLUINTEGER)]
2250pub struct GetdataExtensions;
2251pub const SQL_GD_ANY_COLUMN: GetdataExtensions = GetdataExtensions(0x00000001);
2252pub const SQL_GD_ANY_ORDER: GetdataExtensions = GetdataExtensions(0x00000002);
2253pub const SQL_GD_BLOCK: GetdataExtensions = GetdataExtensions(0x00000004);
2254pub const SQL_GD_BOUND: GetdataExtensions = GetdataExtensions(0x00000008);
2255pub const SQL_GD_OUTPUT_PARAMS: GetdataExtensions = GetdataExtensions(0x00000010);
2256pub const SQL_GD_CONCURRENT: GetdataExtensions = GetdataExtensions(0x00000020);
2257
2258#[odbc_bitmask(SQLUINTEGER)]
2259pub struct InfoSchemaViews;
2260pub const SQL_ISV_ASSERTIONS: InfoSchemaViews = InfoSchemaViews(0x00000001);
2261pub const SQL_ISV_CHARACTER_SETS: InfoSchemaViews = InfoSchemaViews(0x00000002);
2262pub const SQL_ISV_CHECK_CONSTRAINTS: InfoSchemaViews = InfoSchemaViews(0x00000004);
2263pub const SQL_ISV_COLLATIONS: InfoSchemaViews = InfoSchemaViews(0x00000008);
2264pub const SQL_ISV_COLUMN_DOMAIN_USAGE: InfoSchemaViews = InfoSchemaViews(0x00000010);
2265pub const SQL_ISV_COLUMN_PRIVILEGES: InfoSchemaViews = InfoSchemaViews(0x00000020);
2266pub const SQL_ISV_COLUMNS: InfoSchemaViews = InfoSchemaViews(0x00000040);
2267pub const SQL_ISV_CONSTRAINT_COLUMN_USAGE: InfoSchemaViews = InfoSchemaViews(0x00000080);
2268pub const SQL_ISV_CONSTRAINT_TABLE_USAGE: InfoSchemaViews = InfoSchemaViews(0x00000100);
2269pub const SQL_ISV_DOMAIN_CONSTRAINTS: InfoSchemaViews = InfoSchemaViews(0x00000200);
2270pub const SQL_ISV_DOMAINS: InfoSchemaViews = InfoSchemaViews(0x00000400);
2271pub const SQL_ISV_KEY_COLUMN_USAGE: InfoSchemaViews = InfoSchemaViews(0x00000800);
2272pub const SQL_ISV_REFERENTIAL_CONSTRAINTS: InfoSchemaViews = InfoSchemaViews(0x00001000);
2273pub const SQL_ISV_SCHEMATA: InfoSchemaViews = InfoSchemaViews(0x00002000);
2274pub const SQL_ISV_SQL_LANGUAGES: InfoSchemaViews = InfoSchemaViews(0x00004000);
2275pub const SQL_ISV_TABLE_CONSTRAINTS: InfoSchemaViews = InfoSchemaViews(0x00008000);
2276pub const SQL_ISV_TABLE_PRIVILEGES: InfoSchemaViews = InfoSchemaViews(0x00010000);
2277pub const SQL_ISV_TABLES: InfoSchemaViews = InfoSchemaViews(0x00020000);
2278pub const SQL_ISV_TRANSLATIONS: InfoSchemaViews = InfoSchemaViews(0x00040000);
2279pub const SQL_ISV_USAGE_PRIVILEGES: InfoSchemaViews = InfoSchemaViews(0x00080000);
2280pub const SQL_ISV_VIEW_COLUMN_USAGE: InfoSchemaViews = InfoSchemaViews(0x00100000);
2281pub const SQL_ISV_VIEW_TABLE_USAGE: InfoSchemaViews = InfoSchemaViews(0x00200000);
2282pub const SQL_ISV_VIEWS: InfoSchemaViews = InfoSchemaViews(0x00400000);
2283
2284#[odbc_bitmask(SQLUINTEGER)]
2285pub struct BookmarkPersistence;
2286pub const SQL_BP_CLOSE: BookmarkPersistence = BookmarkPersistence(0x00000001);
2287pub const SQL_BP_DELETE: BookmarkPersistence = BookmarkPersistence(0x00000002);
2288pub const SQL_BP_DROP: BookmarkPersistence = BookmarkPersistence(0x00000004);
2289pub const SQL_BP_TRANSACTION: BookmarkPersistence = BookmarkPersistence(0x00000008);
2290pub const SQL_BP_UPDATE: BookmarkPersistence = BookmarkPersistence(0x00000010);
2291pub const SQL_BP_OTHER_HSTMT: BookmarkPersistence = BookmarkPersistence(0x00000020);
2292// TODO: should also be supported?
2293// pub const SQL_BP_SCROLL: BookmarkPersistence = BookmarkPersistence(0x00000040);
2294
2295#[odbc_type(SQLUSMALLINT)]
2296pub struct NullCollation;
2297pub const SQL_NC_HIGH: NullCollation = NullCollation(0);
2298pub const SQL_NC_LOW: NullCollation = NullCollation(1);
2299pub const SQL_NC_START: NullCollation = NullCollation(0x0002);
2300pub const SQL_NC_END: NullCollation = NullCollation(0x0004);
2301
2302#[odbc_bitmask(SQLUINTEGER)]
2303pub struct ScrollOptions;
2304pub const SQL_SO_FORWARD_ONLY: ScrollOptions = ScrollOptions(0x00000001);
2305pub const SQL_SO_KEYSET_DRIVEN: ScrollOptions = ScrollOptions(0x00000002);
2306pub const SQL_SO_DYNAMIC: ScrollOptions = ScrollOptions(0x00000004);
2307pub const SQL_SO_MIXED: ScrollOptions = ScrollOptions(0x00000008);
2308pub const SQL_SO_STATIC: ScrollOptions = ScrollOptions(0x00000010);
2309
2310// TODO: This is both an odbc type and bitmask
2311#[odbc_bitmask(SQLUINTEGER)]
2312pub struct TxnIsolation;
2313pub const SQL_TXN_READ_UNCOMMITTED: TxnIsolation = TxnIsolation(0x00000001);
2314pub const SQL_TXN_READ_COMMITTED: TxnIsolation = TxnIsolation(0x00000002);
2315pub const SQL_TXN_REPEATABLE_READ: TxnIsolation = TxnIsolation(0x00000004);
2316pub const SQL_TXN_SERIALIZABLE: TxnIsolation = TxnIsolation(0x00000008);
2317
2318#[odbc_bitmask(SQLUINTEGER)]
2319pub struct AggregateFunctions;
2320pub const SQL_AF_AVG: AggregateFunctions = AggregateFunctions(0x00000001);
2321pub const SQL_AF_COUNT: AggregateFunctions = AggregateFunctions(0x00000002);
2322pub const SQL_AF_MAX: AggregateFunctions = AggregateFunctions(0x00000004);
2323pub const SQL_AF_MIN: AggregateFunctions = AggregateFunctions(0x00000008);
2324pub const SQL_AF_SUM: AggregateFunctions = AggregateFunctions(0x00000010);
2325pub const SQL_AF_DISTINCT: AggregateFunctions = AggregateFunctions(0x00000020);
2326pub const SQL_AF_ALL: AggregateFunctions = AggregateFunctions(0x00000040);
2327pub const SQL_AF_EVERY: AggregateFunctions = AggregateFunctions(0x00000080);
2328pub const SQL_AF_ANY: AggregateFunctions = AggregateFunctions(0x00000100);
2329pub const SQL_AF_STDEV_OP: AggregateFunctions = AggregateFunctions(0x00000200);
2330pub const SQL_AF_STDEV_SAMP: AggregateFunctions = AggregateFunctions(0x00000400);
2331pub const SQL_AF_VAR_SAMP: AggregateFunctions = AggregateFunctions(0x00000800);
2332pub const SQL_AF_VAR_POP: AggregateFunctions = AggregateFunctions(0x00001000);
2333pub const SQL_AF_ARRAY_AGG: AggregateFunctions = AggregateFunctions(0x00002000);
2334pub const SQL_AF_COLLECT: AggregateFunctions = AggregateFunctions(0x00004000);
2335pub const SQL_AF_FUSION: AggregateFunctions = AggregateFunctions(0x00008000);
2336pub const SQL_AF_INTERSECTION: AggregateFunctions = AggregateFunctions(0x00010000);
2337
2338#[odbc_bitmask(SQLUINTEGER)]
2339pub struct AlterDomain;
2340pub const SQL_AD_CONSTRAINT_NAME_DEFINITION: AlterDomain = AlterDomain(0x00000001);
2341pub const SQL_AD_ADD_DOMAIN_CONSTRAINT: AlterDomain = AlterDomain(0x00000002);
2342pub const SQL_AD_DROP_DOMAIN_CONSTRAINT: AlterDomain = AlterDomain(0x00000004);
2343pub const SQL_AD_ADD_DOMAIN_DEFAULT: AlterDomain = AlterDomain(0x00000008);
2344pub const SQL_AD_DROP_DOMAIN_DEFAULT: AlterDomain = AlterDomain(0x00000010);
2345pub const SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED: AlterDomain = AlterDomain(0x00000020);
2346pub const SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE: AlterDomain = AlterDomain(0x00000040);
2347pub const SQL_AD_ADD_CONSTRAINT_DEFERRABLE: AlterDomain = AlterDomain(0x00000080);
2348pub const SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE: AlterDomain = AlterDomain(0x00000100);
2349
2350#[odbc_bitmask(SQLUINTEGER)]
2351pub struct AlterTable;
2352// TODO: Are these two to be supported
2353//pub const SQL_AT_ADD_COLUMN: AlterTable = AlterTable(0x00000001);
2354//pub const SQL_AT_DROP_COLUMN: AlterTable = AlterTable(0x00000002);
2355pub const SQL_AT_ADD_CONSTRAINT: AlterTable = AlterTable(0x00000008);
2356pub const SQL_AT_ADD_COLUMN_SINGLE: AlterTable = AlterTable(0x00000020);
2357pub const SQL_AT_ADD_COLUMN_DEFAULT: AlterTable = AlterTable(0x00000040);
2358pub const SQL_AT_ADD_COLUMN_COLLATION: AlterTable = AlterTable(0x00000080);
2359pub const SQL_AT_SET_COLUMN_DEFAULT: AlterTable = AlterTable(0x00000100);
2360pub const SQL_AT_DROP_COLUMN_DEFAULT: AlterTable = AlterTable(0x00000200);
2361pub const SQL_AT_DROP_COLUMN_CASCADE: AlterTable = AlterTable(0x00000400);
2362pub const SQL_AT_DROP_COLUMN_RESTRICT: AlterTable = AlterTable(0x00000800);
2363pub const SQL_AT_ADD_TABLE_CONSTRAINT: AlterTable = AlterTable(0x00001000);
2364pub const SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE: AlterTable = AlterTable(0x00002000);
2365pub const SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT: AlterTable = AlterTable(0x00004000);
2366pub const SQL_AT_CONSTRAINT_NAME_DEFINITION: AlterTable = AlterTable(0x00008000);
2367pub const SQL_AT_CONSTRAINT_INITIALLY_DEFERRED: AlterTable = AlterTable(0x00010000);
2368pub const SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE: AlterTable = AlterTable(0x00020000);
2369pub const SQL_AT_CONSTRAINT_DEFERRABLE: AlterTable = AlterTable(0x00040000);
2370pub const SQL_AT_CONSTRAINT_NON_DEFERRABLE: AlterTable = AlterTable(0x00080000);
2371
2372#[odbc_bitmask(SQLUINTEGER)]
2373pub struct CatalogUsage;
2374pub const SQL_CU_DML_STATEMENTS: CatalogUsage = CatalogUsage(0x00000001);
2375pub const SQL_CU_PROCEDURE_INVOCATION: CatalogUsage = CatalogUsage(0x00000002);
2376pub const SQL_CU_TABLE_DEFINITION: CatalogUsage = CatalogUsage(0x00000004);
2377pub const SQL_CU_INDEX_DEFINITION: CatalogUsage = CatalogUsage(0x00000008);
2378pub const SQL_CU_PRIVILEGE_DEFINITION: CatalogUsage = CatalogUsage(0x00000010);
2379
2380#[odbc_bitmask(SQLUINTEGER)]
2381pub struct CreateAssertion;
2382pub const SQL_CA_CREATE_ASSERTION: CreateAssertion = CreateAssertion(0x00000001);
2383pub const SQL_CA_CONSTRAINT_INITIALLY_DEFERRED: CreateAssertion = CreateAssertion(0x00000010);
2384pub const SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE: CreateAssertion = CreateAssertion(0x00000020);
2385pub const SQL_CA_CONSTRAINT_DEFERRABLE: CreateAssertion = CreateAssertion(0x00000040);
2386pub const SQL_CA_CONSTRAINT_NON_DEFERRABLE: CreateAssertion = CreateAssertion(0x00000080);
2387
2388#[odbc_bitmask(SQLUINTEGER)]
2389pub struct CreateCharacterSet;
2390pub const SQL_CCS_CREATE_CHARACTER_SET: CreateCharacterSet = CreateCharacterSet(0x00000001);
2391pub const SQL_CCS_COLLATE_CLAUSE: CreateCharacterSet = CreateCharacterSet(0x00000002);
2392pub const SQL_CCS_LIMITED_COLLATION: CreateCharacterSet = CreateCharacterSet(0x00000004);
2393
2394#[odbc_bitmask(SQLUINTEGER)]
2395pub struct CreateCollation;
2396pub const SQL_CCOL_CREATE_COLLATION: CreateCollation = CreateCollation(0x00000001);
2397
2398#[odbc_bitmask(SQLUINTEGER)]
2399pub struct CreateDomain;
2400pub const SQL_CDO_CREATE_DOMAIN: CreateDomain = CreateDomain(0x00000001);
2401pub const SQL_CDO_DEFAULT: CreateDomain = CreateDomain(0x00000002);
2402pub const SQL_CDO_CONSTRAINT: CreateDomain = CreateDomain(0x00000004);
2403pub const SQL_CDO_COLLATION: CreateDomain = CreateDomain(0x00000008);
2404pub const SQL_CDO_CONSTRAINT_NAME_DEFINITION: CreateDomain = CreateDomain(0x00000010);
2405pub const SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED: CreateDomain = CreateDomain(0x00000020);
2406pub const SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE: CreateDomain = CreateDomain(0x00000040);
2407pub const SQL_CDO_CONSTRAINT_DEFERRABLE: CreateDomain = CreateDomain(0x00000080);
2408pub const SQL_CDO_CONSTRAINT_NON_DEFERRABLE: CreateDomain = CreateDomain(0x00000100);
2409
2410#[odbc_bitmask(SQLUINTEGER)]
2411pub struct CreateSchema;
2412pub const SQL_CS_CREATE_SCHEMA: CreateSchema = CreateSchema(0x00000001);
2413pub const SQL_CS_AUTHORIZATION: CreateSchema = CreateSchema(0x00000002);
2414pub const SQL_CS_DEFAULT_CHARACTER_SET: CreateSchema = CreateSchema(0x00000004);
2415
2416#[odbc_bitmask(SQLUINTEGER)]
2417pub struct CreateTable;
2418pub const SQL_CT_CREATE_TABLE: CreateTable = CreateTable(0x00000001);
2419pub const SQL_CT_COMMIT_PRESERVE: CreateTable = CreateTable(0x00000002);
2420pub const SQL_CT_COMMIT_DELETE: CreateTable = CreateTable(0x00000004);
2421pub const SQL_CT_GLOBAL_TEMPORARY: CreateTable = CreateTable(0x00000008);
2422pub const SQL_CT_LOCAL_TEMPORARY: CreateTable = CreateTable(0x00000010);
2423pub const SQL_CT_CONSTRAINT_INITIALLY_DEFERRED: CreateTable = CreateTable(0x00000020);
2424pub const SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE: CreateTable = CreateTable(0x00000040);
2425pub const SQL_CT_CONSTRAINT_DEFERRABLE: CreateTable = CreateTable(0x00000080);
2426pub const SQL_CT_CONSTRAINT_NON_DEFERRABLE: CreateTable = CreateTable(0x00000100);
2427pub const SQL_CT_COLUMN_CONSTRAINT: CreateTable = CreateTable(0x00000200);
2428pub const SQL_CT_COLUMN_DEFAULT: CreateTable = CreateTable(0x00000400);
2429pub const SQL_CT_COLUMN_COLLATION: CreateTable = CreateTable(0x00000800);
2430pub const SQL_CT_TABLE_CONSTRAINT: CreateTable = CreateTable(0x00001000);
2431pub const SQL_CT_CONSTRAINT_NAME_DEFINITION: CreateTable = CreateTable(0x00002000);
2432
2433#[odbc_bitmask(SQLUINTEGER)]
2434pub struct CreateTranslation;
2435pub const SQL_CTR_CREATE_TRANSLATION: CreateTranslation = CreateTranslation(0x00000001);
2436
2437#[odbc_bitmask(SQLUINTEGER)]
2438pub struct CreateView;
2439pub const SQL_CV_CREATE_VIEW: CreateView = CreateView(0x00000001);
2440pub const SQL_CV_CHECK_OPTION: CreateView = CreateView(0x00000002);
2441pub const SQL_CV_CASCADED: CreateView = CreateView(0x00000004);
2442pub const SQL_CV_LOCAL: CreateView = CreateView(0x00000008);
2443
2444#[odbc_bitmask(SQLUINTEGER)]
2445pub struct DropAssertion;
2446pub const SQL_DA_DROP_ASSERTION: DropAssertion = DropAssertion(0x00000001);
2447
2448#[odbc_bitmask(SQLUINTEGER)]
2449pub struct Conversion;
2450pub const SQL_CVT_CHAR: Conversion = Conversion(0x00000001);
2451pub const SQL_CVT_NUMERIC: Conversion = Conversion(0x00000002);
2452pub const SQL_CVT_DECIMAL: Conversion = Conversion(0x00000004);
2453pub const SQL_CVT_INTEGER: Conversion = Conversion(0x00000008);
2454pub const SQL_CVT_SMALLINT: Conversion = Conversion(0x00000010);
2455pub const SQL_CVT_FLOAT: Conversion = Conversion(0x00000020);
2456pub const SQL_CVT_REAL: Conversion = Conversion(0x00000040);
2457pub const SQL_CVT_DOUBLE: Conversion = Conversion(0x00000080);
2458pub const SQL_CVT_VARCHAR: Conversion = Conversion(0x00000100);
2459pub const SQL_CVT_LONGVARCHAR: Conversion = Conversion(0x00000200);
2460pub const SQL_CVT_BINARY: Conversion = Conversion(0x00000400);
2461pub const SQL_CVT_VARBINARY: Conversion = Conversion(0x00000800);
2462pub const SQL_CVT_BIT: Conversion = Conversion(0x00001000);
2463pub const SQL_CVT_TINYINT: Conversion = Conversion(0x00002000);
2464pub const SQL_CVT_BIGINT: Conversion = Conversion(0x00004000);
2465pub const SQL_CVT_DATE: Conversion = Conversion(0x00008000);
2466pub const SQL_CVT_TIME: Conversion = Conversion(0x00010000);
2467pub const SQL_CVT_TIMESTAMP: Conversion = Conversion(0x00020000);
2468pub const SQL_CVT_LONGVARBINARY: Conversion = Conversion(0x00040000);
2469
2470pub const SQL_CVT_INTERVAL_YEAR_MONTH: Conversion = Conversion(0x00080000);
2471pub const SQL_CVT_INTERVAL_DAY_TIME: Conversion = Conversion(0x00100000);
2472
2473pub const SQL_CVT_GUID: Conversion = Conversion(0x01000000);
2474
2475#[odbc_bitmask(SQLUINTEGER)]
2476pub struct DropCharacterSet;
2477pub const SQL_DCS_DROP_CHARACTER_SET: DropCharacterSet = DropCharacterSet(0x00000001);
2478
2479#[odbc_bitmask(SQLUINTEGER)]
2480pub struct DropCollation;
2481pub const SQL_DC_DROP_COLLATION: DropCollation = DropCollation(0x00000001);
2482
2483#[odbc_bitmask(SQLUINTEGER)]
2484pub struct DropDomain;
2485pub const SQL_DD_DROP_DOMAIN: DropDomain = DropDomain(0x00000001);
2486pub const SQL_DD_RESTRICT: DropDomain = DropDomain(0x00000002);
2487pub const SQL_DD_CASCADE: DropDomain = DropDomain(0x00000004);
2488
2489#[odbc_bitmask(SQLUINTEGER)]
2490pub struct DropSchema;
2491pub const SQL_DS_DROP_SCHEMA: DropSchema = DropSchema(0x00000001);
2492pub const SQL_DS_RESTRICT: DropSchema = DropSchema(0x00000002);
2493pub const SQL_DS_CASCADE: DropSchema = DropSchema(0x00000004);
2494
2495#[odbc_bitmask(SQLUINTEGER)]
2496pub struct DropTable;
2497pub const SQL_DT_DROP_TABLE: DropTable = DropTable(0x00000001);
2498pub const SQL_DT_RESTRICT: DropTable = DropTable(0x00000002);
2499pub const SQL_DT_CASCADE: DropTable = DropTable(0x00000004);
2500
2501#[odbc_bitmask(SQLUINTEGER)]
2502pub struct DropTranslation;
2503pub const SQL_DTR_DROP_TRANSLATION: DropTranslation = DropTranslation(0x00000001);
2504
2505#[odbc_bitmask(SQLUINTEGER)]
2506pub struct DropView;
2507pub const SQL_DV_DROP_VIEW: DropView = DropView(0x00000001);
2508pub const SQL_DV_RESTRICT: DropView = DropView(0x00000002);
2509pub const SQL_DV_CASCADE: DropView = DropView(0x00000004);
2510
2511#[odbc_bitmask(SQLUINTEGER)]
2512pub struct IndexKeywords;
2513pub const SQL_IK_NONE: IndexKeywords = IndexKeywords(0x00000000);
2514pub const SQL_IK_ASC: IndexKeywords = IndexKeywords(0x00000001);
2515pub const SQL_IK_DESC: IndexKeywords = IndexKeywords(0x00000002);
2516pub const SQL_IK_ALL: IndexKeywords = IndexKeywords(SQL_IK_ASC.0 | SQL_IK_DESC.0);
2517
2518#[odbc_bitmask(SQLUINTEGER)]
2519pub struct InsertStatement;
2520pub const SQL_IS_INSERT_LITERALS: InsertStatement = InsertStatement(0x00000001);
2521pub const SQL_IS_INSERT_SEARCHED: InsertStatement = InsertStatement(0x00000002);
2522pub const SQL_IS_SELECT_INTO: InsertStatement = InsertStatement(0x00000004);
2523
2524#[odbc_bitmask(SQLUINTEGER)]
2525pub struct OjCapabilities;
2526pub const SQL_OJ_LEFT: OjCapabilities = OjCapabilities(0x00000001);
2527pub const SQL_OJ_RIGHT: OjCapabilities = OjCapabilities(0x00000002);
2528pub const SQL_OJ_FULL: OjCapabilities = OjCapabilities(0x00000004);
2529pub const SQL_OJ_NESTED: OjCapabilities = OjCapabilities(0x00000008);
2530pub const SQL_OJ_NOT_ORDERED: OjCapabilities = OjCapabilities(0x00000010);
2531pub const SQL_OJ_INNER: OjCapabilities = OjCapabilities(0x00000020);
2532pub const SQL_OJ_ALL_COMPARISON_OPS: OjCapabilities = OjCapabilities(0x00000040);
2533
2534#[odbc_bitmask(SQLUINTEGER)]
2535pub struct OuterJoins;
2536
2537#[odbc_bitmask(SQLUINTEGER)]
2538pub struct SchemaUsage;
2539pub const SQL_SU_DML_STATEMENTS: SchemaUsage = SchemaUsage(0x00000001);
2540pub const SQL_SU_PROCEDURE_INVOCATION: SchemaUsage = SchemaUsage(0x00000002);
2541pub const SQL_SU_TABLE_DEFINITION: SchemaUsage = SchemaUsage(0x00000004);
2542pub const SQL_SU_INDEX_DEFINITION: SchemaUsage = SchemaUsage(0x00000008);
2543pub const SQL_SU_PRIVILEGE_DEFINITION: SchemaUsage = SchemaUsage(0x00000010);
2544
2545#[odbc_bitmask(SQLUINTEGER)]
2546pub struct Subqueries;
2547pub const SQL_SQ_COMPARISON: Subqueries = Subqueries(0x00000001);
2548pub const SQL_SQ_EXISTS: Subqueries = Subqueries(0x00000002);
2549pub const SQL_SQ_IN: Subqueries = Subqueries(0x00000004);
2550pub const SQL_SQ_QUANTIFIED: Subqueries = Subqueries(0x00000008);
2551pub const SQL_SQ_CORRELATED_SUBQUERIES: Subqueries = Subqueries(0x00000010);
2552
2553#[odbc_bitmask(SQLUINTEGER)]
2554pub struct Union;
2555pub const SQL_U_UNION: Union = Union(0x00000001);
2556pub const SQL_U_UNION_ALL: Union = Union(0x00000002);
2557
2558#[odbc_bitmask(SQLUINTEGER)]
2559pub struct ConvertFunctions;
2560pub const SQL_FN_CVT_CONVERT: ConvertFunctions = ConvertFunctions(0x00000001);
2561pub const SQL_FN_CVT_CAST: ConvertFunctions = ConvertFunctions(0x00000002);
2562
2563#[odbc_bitmask(SQLUINTEGER)]
2564pub struct NumericFunctions;
2565pub const SQL_FN_NUM_ABS: NumericFunctions = NumericFunctions(0x00000001);
2566pub const SQL_FN_NUM_ACOS: NumericFunctions = NumericFunctions(0x00000002);
2567pub const SQL_FN_NUM_ASIN: NumericFunctions = NumericFunctions(0x00000004);
2568pub const SQL_FN_NUM_ATAN: NumericFunctions = NumericFunctions(0x00000008);
2569pub const SQL_FN_NUM_ATAN2: NumericFunctions = NumericFunctions(0x00000010);
2570pub const SQL_FN_NUM_CEILING: NumericFunctions = NumericFunctions(0x00000020);
2571pub const SQL_FN_NUM_COS: NumericFunctions = NumericFunctions(0x00000040);
2572pub const SQL_FN_NUM_COT: NumericFunctions = NumericFunctions(0x00000080);
2573pub const SQL_FN_NUM_EXP: NumericFunctions = NumericFunctions(0x00000100);
2574pub const SQL_FN_NUM_FLOOR: NumericFunctions = NumericFunctions(0x00000200);
2575pub const SQL_FN_NUM_LOG: NumericFunctions = NumericFunctions(0x00000400);
2576pub const SQL_FN_NUM_MOD: NumericFunctions = NumericFunctions(0x00000800);
2577pub const SQL_FN_NUM_SIGN: NumericFunctions = NumericFunctions(0x00001000);
2578pub const SQL_FN_NUM_SIN: NumericFunctions = NumericFunctions(0x00002000);
2579pub const SQL_FN_NUM_SQRT: NumericFunctions = NumericFunctions(0x00004000);
2580pub const SQL_FN_NUM_TAN: NumericFunctions = NumericFunctions(0x00008000);
2581pub const SQL_FN_NUM_PI: NumericFunctions = NumericFunctions(0x00010000);
2582pub const SQL_FN_NUM_RAND: NumericFunctions = NumericFunctions(0x00020000);
2583pub const SQL_FN_NUM_DEGREES: NumericFunctions = NumericFunctions(0x00040000);
2584pub const SQL_FN_NUM_LOG10: NumericFunctions = NumericFunctions(0x00080000);
2585pub const SQL_FN_NUM_POWER: NumericFunctions = NumericFunctions(0x00100000);
2586pub const SQL_FN_NUM_RADIANS: NumericFunctions = NumericFunctions(0x00200000);
2587pub const SQL_FN_NUM_ROUND: NumericFunctions = NumericFunctions(0x00400000);
2588pub const SQL_FN_NUM_TRUNCATE: NumericFunctions = NumericFunctions(0x00800000);
2589
2590#[odbc_bitmask(SQLUINTEGER)]
2591pub struct StringFunctions;
2592pub const SQL_FN_STR_CONCAT: StringFunctions = StringFunctions(0x00000001);
2593pub const SQL_FN_STR_INSERT: StringFunctions = StringFunctions(0x00000002);
2594pub const SQL_FN_STR_LEFT: StringFunctions = StringFunctions(0x00000004);
2595pub const SQL_FN_STR_LTRIM: StringFunctions = StringFunctions(0x00000008);
2596pub const SQL_FN_STR_LENGTH: StringFunctions = StringFunctions(0x00000010);
2597pub const SQL_FN_STR_LOCATE: StringFunctions = StringFunctions(0x00000020);
2598pub const SQL_FN_STR_LCASE: StringFunctions = StringFunctions(0x00000040);
2599pub const SQL_FN_STR_REPEAT: StringFunctions = StringFunctions(0x00000080);
2600pub const SQL_FN_STR_REPLACE: StringFunctions = StringFunctions(0x00000100);
2601pub const SQL_FN_STR_RIGHT: StringFunctions = StringFunctions(0x00000200);
2602pub const SQL_FN_STR_RTRIM: StringFunctions = StringFunctions(0x00000400);
2603pub const SQL_FN_STR_SUBSTRING: StringFunctions = StringFunctions(0x00000800);
2604pub const SQL_FN_STR_UCASE: StringFunctions = StringFunctions(0x00001000);
2605pub const SQL_FN_STR_ASCII: StringFunctions = StringFunctions(0x00002000);
2606pub const SQL_FN_STR_CHAR: StringFunctions = StringFunctions(0x00004000);
2607pub const SQL_FN_STR_DIFFERENCE: StringFunctions = StringFunctions(0x00008000);
2608pub const SQL_FN_STR_LOCATE_2: StringFunctions = StringFunctions(0x00010000);
2609pub const SQL_FN_STR_SOUNDEX: StringFunctions = StringFunctions(0x00020000);
2610pub const SQL_FN_STR_SPACE: StringFunctions = StringFunctions(0x00040000);
2611pub const SQL_FN_STR_BIT_LENGTH: StringFunctions = StringFunctions(0x00080000);
2612pub const SQL_FN_STR_CHAR_LENGTH: StringFunctions = StringFunctions(0x00100000);
2613pub const SQL_FN_STR_CHARACTER_LENGTH: StringFunctions = StringFunctions(0x00200000);
2614pub const SQL_FN_STR_OCTET_LENGTH: StringFunctions = StringFunctions(0x00400000);
2615pub const SQL_FN_STR_POSITION: StringFunctions = StringFunctions(0x00800000);
2616
2617#[odbc_bitmask(SQLUINTEGER)]
2618pub struct SystemFunctions;
2619pub const SQL_FN_SYS_USERNAME: SystemFunctions = SystemFunctions(0x00000001);
2620pub const SQL_FN_SYS_DBNAME: SystemFunctions = SystemFunctions(0x00000002);
2621pub const SQL_FN_SYS_IFNULL: SystemFunctions = SystemFunctions(0x00000004);
2622
2623#[odbc_bitmask(SQLUINTEGER)]
2624pub struct TimedateIntervals;
2625pub const SQL_FN_TSI_FRAC_SECOND: TimedateIntervals = TimedateIntervals(0x00000001);
2626pub const SQL_FN_TSI_SECOND: TimedateIntervals = TimedateIntervals(0x00000002);
2627pub const SQL_FN_TSI_MINUTE: TimedateIntervals = TimedateIntervals(0x00000004);
2628pub const SQL_FN_TSI_HOUR: TimedateIntervals = TimedateIntervals(0x00000008);
2629pub const SQL_FN_TSI_DAY: TimedateIntervals = TimedateIntervals(0x00000010);
2630pub const SQL_FN_TSI_WEEK: TimedateIntervals = TimedateIntervals(0x00000020);
2631pub const SQL_FN_TSI_MONTH: TimedateIntervals = TimedateIntervals(0x00000040);
2632pub const SQL_FN_TSI_QUARTER: TimedateIntervals = TimedateIntervals(0x00000080);
2633pub const SQL_FN_TSI_YEAR: TimedateIntervals = TimedateIntervals(0x00000100);
2634
2635#[odbc_bitmask(SQLUINTEGER)]
2636pub struct TimedateFunctions;
2637pub const SQL_FN_TD_NOW: TimedateFunctions = TimedateFunctions(0x00000001);
2638pub const SQL_FN_TD_CURDATE: TimedateFunctions = TimedateFunctions(0x00000002);
2639pub const SQL_FN_TD_DAYOFMONTH: TimedateFunctions = TimedateFunctions(0x00000004);
2640pub const SQL_FN_TD_DAYOFWEEK: TimedateFunctions = TimedateFunctions(0x00000008);
2641pub const SQL_FN_TD_DAYOFYEAR: TimedateFunctions = TimedateFunctions(0x00000010);
2642pub const SQL_FN_TD_MONTH: TimedateFunctions = TimedateFunctions(0x00000020);
2643pub const SQL_FN_TD_QUARTER: TimedateFunctions = TimedateFunctions(0x00000040);
2644pub const SQL_FN_TD_WEEK: TimedateFunctions = TimedateFunctions(0x00000080);
2645pub const SQL_FN_TD_YEAR: TimedateFunctions = TimedateFunctions(0x00000100);
2646pub const SQL_FN_TD_CURTIME: TimedateFunctions = TimedateFunctions(0x00000200);
2647pub const SQL_FN_TD_HOUR: TimedateFunctions = TimedateFunctions(0x00000400);
2648pub const SQL_FN_TD_MINUTE: TimedateFunctions = TimedateFunctions(0x00000800);
2649pub const SQL_FN_TD_SECOND: TimedateFunctions = TimedateFunctions(0x00001000);
2650pub const SQL_FN_TD_TIMESTAMPADD: TimedateFunctions = TimedateFunctions(0x00002000);
2651pub const SQL_FN_TD_TIMESTAMPDIFF: TimedateFunctions = TimedateFunctions(0x00004000);
2652pub const SQL_FN_TD_DAYNAME: TimedateFunctions = TimedateFunctions(0x00008000);
2653pub const SQL_FN_TD_MONTHNAME: TimedateFunctions = TimedateFunctions(0x00010000);
2654pub const SQL_FN_TD_CURRENT_DATE: TimedateFunctions = TimedateFunctions(0x00020000);
2655pub const SQL_FN_TD_CURRENT_TIME: TimedateFunctions = TimedateFunctions(0x00040000);
2656pub const SQL_FN_TD_CURRENT_TIMESTAMP: TimedateFunctions = TimedateFunctions(0x00080000);
2657pub const SQL_FN_TD_EXTRACT: TimedateFunctions = TimedateFunctions(0x00100000);
2658
2659#[odbc_bitmask(SQLUINTEGER)]
2660pub struct DatetimeFunctions;
2661pub const SQL_SDF_CURRENT_DATE: DatetimeFunctions = DatetimeFunctions(0x00000001);
2662pub const SQL_SDF_CURRENT_TIME: DatetimeFunctions = DatetimeFunctions(0x00000002);
2663pub const SQL_SDF_CURRENT_TIMESTAMP: DatetimeFunctions = DatetimeFunctions(0x00000004);
2664
2665#[odbc_bitmask(SQLUINTEGER)]
2666pub struct DatetimeLiterals;
2667pub const SQL_DL_SQL92_DATE: DatetimeLiterals = DatetimeLiterals(0x00000001);
2668pub const SQL_DL_SQL92_TIME: DatetimeLiterals = DatetimeLiterals(0x00000002);
2669pub const SQL_DL_SQL92_TIMESTAMP: DatetimeLiterals = DatetimeLiterals(0x00000004);
2670pub const SQL_DL_SQL92_INTERVAL_YEAR: DatetimeLiterals = DatetimeLiterals(0x00000008);
2671pub const SQL_DL_SQL92_INTERVAL_MONTH: DatetimeLiterals = DatetimeLiterals(0x00000010);
2672pub const SQL_DL_SQL92_INTERVAL_DAY: DatetimeLiterals = DatetimeLiterals(0x00000020);
2673pub const SQL_DL_SQL92_INTERVAL_HOUR: DatetimeLiterals = DatetimeLiterals(0x00000040);
2674pub const SQL_DL_SQL92_INTERVAL_MINUTE: DatetimeLiterals = DatetimeLiterals(0x00000080);
2675pub const SQL_DL_SQL92_INTERVAL_SECOND: DatetimeLiterals = DatetimeLiterals(0x00000100);
2676pub const SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH: DatetimeLiterals = DatetimeLiterals(0x00000200);
2677pub const SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR: DatetimeLiterals = DatetimeLiterals(0x00000400);
2678pub const SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE: DatetimeLiterals = DatetimeLiterals(0x00000800);
2679pub const SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND: DatetimeLiterals = DatetimeLiterals(0x00001000);
2680pub const SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE: DatetimeLiterals = DatetimeLiterals(0x00002000);
2681pub const SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND: DatetimeLiterals = DatetimeLiterals(0x00004000);
2682pub const SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND: DatetimeLiterals = DatetimeLiterals(0x00008000);
2683
2684#[odbc_bitmask(SQLUINTEGER)]
2685pub struct ForeignKeyDeleteRule;
2686pub const SQL_SFKD_CASCADE: ForeignKeyDeleteRule = ForeignKeyDeleteRule(0x00000001);
2687pub const SQL_SFKD_NO_ACTION: ForeignKeyDeleteRule = ForeignKeyDeleteRule(0x00000002);
2688pub const SQL_SFKD_SET_DEFAULT: ForeignKeyDeleteRule = ForeignKeyDeleteRule(0x00000004);
2689pub const SQL_SFKD_SET_NULL: ForeignKeyDeleteRule = ForeignKeyDeleteRule(0x00000008);
2690
2691#[odbc_bitmask(SQLUINTEGER)]
2692pub struct ForeignKeyUpdateRule;
2693pub const SQL_SFKU_CASCADE: ForeignKeyUpdateRule = ForeignKeyUpdateRule(0x00000001);
2694pub const SQL_SFKU_NO_ACTION: ForeignKeyUpdateRule = ForeignKeyUpdateRule(0x00000002);
2695pub const SQL_SFKU_SET_DEFAULT: ForeignKeyUpdateRule = ForeignKeyUpdateRule(0x00000004);
2696pub const SQL_SFKU_SET_NULL: ForeignKeyUpdateRule = ForeignKeyUpdateRule(0x00000008);
2697
2698#[odbc_bitmask(SQLUINTEGER)]
2699pub struct Grant;
2700pub const SQL_SG_USAGE_ON_DOMAIN: Grant = Grant(0x00000001);
2701pub const SQL_SG_USAGE_ON_CHARACTER_SET: Grant = Grant(0x00000002);
2702pub const SQL_SG_USAGE_ON_COLLATION: Grant = Grant(0x00000004);
2703pub const SQL_SG_USAGE_ON_TRANSLATION: Grant = Grant(0x00000008);
2704pub const SQL_SG_WITH_GRANT_OPTION: Grant = Grant(0x00000010);
2705pub const SQL_SG_DELETE_TABLE: Grant = Grant(0x00000020);
2706pub const SQL_SG_INSERT_TABLE: Grant = Grant(0x00000040);
2707pub const SQL_SG_INSERT_COLUMN: Grant = Grant(0x00000080);
2708pub const SQL_SG_REFERENCES_TABLE: Grant = Grant(0x00000100);
2709pub const SQL_SG_REFERENCES_COLUMN: Grant = Grant(0x00000200);
2710pub const SQL_SG_SELECT_TABLE: Grant = Grant(0x00000400);
2711pub const SQL_SG_UPDATE_TABLE: Grant = Grant(0x00000800);
2712pub const SQL_SG_UPDATE_COLUMN: Grant = Grant(0x00001000);
2713
2714#[odbc_bitmask(SQLUINTEGER)]
2715pub struct NumericValueFunctions;
2716pub const SQL_SNVF_BIT_LENGTH: NumericValueFunctions = NumericValueFunctions(0x00000001);
2717pub const SQL_SNVF_CHAR_LENGTH: NumericValueFunctions = NumericValueFunctions(0x00000002);
2718pub const SQL_SNVF_CHARACTER_LENGTH: NumericValueFunctions = NumericValueFunctions(0x00000004);
2719pub const SQL_SNVF_EXTRACT: NumericValueFunctions = NumericValueFunctions(0x00000008);
2720pub const SQL_SNVF_OCTET_LENGTH: NumericValueFunctions = NumericValueFunctions(0x00000010);
2721pub const SQL_SNVF_POSITION: NumericValueFunctions = NumericValueFunctions(0x00000020);
2722
2723#[odbc_bitmask(SQLUINTEGER)]
2724pub struct Predicates;
2725pub const SQL_SP_EXISTS: Predicates = Predicates(0x00000001);
2726pub const SQL_SP_ISNOTNULL: Predicates = Predicates(0x00000002);
2727pub const SQL_SP_ISNULL: Predicates = Predicates(0x00000004);
2728pub const SQL_SP_MATCH_FULL: Predicates = Predicates(0x00000008);
2729pub const SQL_SP_MATCH_PARTIAL: Predicates = Predicates(0x00000010);
2730pub const SQL_SP_MATCH_UNIQUE_FULL: Predicates = Predicates(0x00000020);
2731pub const SQL_SP_MATCH_UNIQUE_PARTIAL: Predicates = Predicates(0x00000040);
2732pub const SQL_SP_OVERLAPS: Predicates = Predicates(0x00000080);
2733pub const SQL_SP_UNIQUE: Predicates = Predicates(0x00000100);
2734pub const SQL_SP_LIKE: Predicates = Predicates(0x00000200);
2735pub const SQL_SP_IN: Predicates = Predicates(0x00000400);
2736pub const SQL_SP_BETWEEN: Predicates = Predicates(0x00000800);
2737pub const SQL_SP_COMPARISON: Predicates = Predicates(0x00001000);
2738pub const SQL_SP_QUANTIFIED_COMPARISON: Predicates = Predicates(0x00002000);
2739
2740#[odbc_bitmask(SQLUINTEGER)]
2741pub struct RelationalJoinOperators;
2742pub const SQL_SRJO_CORRESPONDING_CLAUSE: RelationalJoinOperators =
2743    RelationalJoinOperators(0x00000001);
2744pub const SQL_SRJO_CROSS_JOIN: RelationalJoinOperators = RelationalJoinOperators(0x00000002);
2745pub const SQL_SRJO_EXCEPT_JOIN: RelationalJoinOperators = RelationalJoinOperators(0x00000004);
2746pub const SQL_SRJO_FULL_OUTER_JOIN: RelationalJoinOperators = RelationalJoinOperators(0x00000008);
2747pub const SQL_SRJO_INNER_JOIN: RelationalJoinOperators = RelationalJoinOperators(0x00000010);
2748pub const SQL_SRJO_INTERSECT_JOIN: RelationalJoinOperators = RelationalJoinOperators(0x00000020);
2749pub const SQL_SRJO_LEFT_OUTER_JOIN: RelationalJoinOperators = RelationalJoinOperators(0x00000040);
2750pub const SQL_SRJO_NATURAL_JOIN: RelationalJoinOperators = RelationalJoinOperators(0x00000080);
2751pub const SQL_SRJO_RIGHT_OUTER_JOIN: RelationalJoinOperators = RelationalJoinOperators(0x00000100);
2752pub const SQL_SRJO_UNION_JOIN: RelationalJoinOperators = RelationalJoinOperators(0x00000200);
2753
2754#[odbc_bitmask(SQLUINTEGER)]
2755pub struct Revoke;
2756pub const SQL_SR_USAGE_ON_DOMAIN: Revoke = Revoke(0x00000001);
2757pub const SQL_SR_USAGE_ON_CHARACTER_SET: Revoke = Revoke(0x00000002);
2758pub const SQL_SR_USAGE_ON_COLLATION: Revoke = Revoke(0x00000004);
2759pub const SQL_SR_USAGE_ON_TRANSLATION: Revoke = Revoke(0x00000008);
2760pub const SQL_SR_GRANT_OPTION_FOR: Revoke = Revoke(0x00000010);
2761pub const SQL_SR_CASCADE: Revoke = Revoke(0x00000020);
2762pub const SQL_SR_RESTRICT: Revoke = Revoke(0x00000040);
2763pub const SQL_SR_DELETE_TABLE: Revoke = Revoke(0x00000080);
2764pub const SQL_SR_INSERT_TABLE: Revoke = Revoke(0x00000100);
2765pub const SQL_SR_INSERT_COLUMN: Revoke = Revoke(0x00000200);
2766pub const SQL_SR_REFERENCES_TABLE: Revoke = Revoke(0x00000400);
2767pub const SQL_SR_REFERENCES_COLUMN: Revoke = Revoke(0x00000800);
2768pub const SQL_SR_SELECT_TABLE: Revoke = Revoke(0x00001000);
2769pub const SQL_SR_UPDATE_TABLE: Revoke = Revoke(0x00002000);
2770pub const SQL_SR_UPDATE_COLUMN: Revoke = Revoke(0x00004000);
2771
2772#[odbc_bitmask(SQLUINTEGER)]
2773pub struct RowValueConstructor;
2774pub const SQL_SRVC_VALUE_EXPRESSION: RowValueConstructor = RowValueConstructor(0x00000001);
2775pub const SQL_SRVC_NULL: RowValueConstructor = RowValueConstructor(0x00000002);
2776pub const SQL_SRVC_DEFAULT: RowValueConstructor = RowValueConstructor(0x00000004);
2777pub const SQL_SRVC_ROW_SUBQUERY: RowValueConstructor = RowValueConstructor(0x00000008);
2778
2779#[odbc_bitmask(SQLUINTEGER)]
2780pub struct StringScalarFunctions;
2781pub const SQL_SSF_CONVERT: StringScalarFunctions = StringScalarFunctions(0x00000001);
2782pub const SQL_SSF_LOWER: StringScalarFunctions = StringScalarFunctions(0x00000002);
2783pub const SQL_SSF_UPPER: StringScalarFunctions = StringScalarFunctions(0x00000004);
2784pub const SQL_SSF_SUBSTRING: StringScalarFunctions = StringScalarFunctions(0x00000008);
2785pub const SQL_SSF_TRANSLATE: StringScalarFunctions = StringScalarFunctions(0x00000010);
2786pub const SQL_SSF_TRIM_BOTH: StringScalarFunctions = StringScalarFunctions(0x00000020);
2787pub const SQL_SSF_TRIM_LEADING: StringScalarFunctions = StringScalarFunctions(0x00000040);
2788pub const SQL_SSF_TRIM_TRAILING: StringScalarFunctions = StringScalarFunctions(0x00000080);
2789pub const SQL_SSF_OVERLAY: StringScalarFunctions = StringScalarFunctions(0x00000100);
2790pub const SQL_SSF_LENGTH: StringScalarFunctions = StringScalarFunctions(0x00000200);
2791pub const SQL_SSF_POSITION: StringScalarFunctions = StringScalarFunctions(0x00000400);
2792pub const SQL_SSF_CONCAT: StringScalarFunctions = StringScalarFunctions(0x00000800);
2793
2794#[odbc_bitmask(SQLUINTEGER)]
2795pub struct ValueExpressions;
2796pub const SQL_SVE_CASE: ValueExpressions = ValueExpressions(0x00000001);
2797pub const SQL_SVE_CAST: ValueExpressions = ValueExpressions(0x00000002);
2798pub const SQL_SVE_COALESCE: ValueExpressions = ValueExpressions(0x00000004);
2799pub const SQL_SVE_NULLIF: ValueExpressions = ValueExpressions(0x00000008);
2800
2801#[odbc_bitmask(SQLUINTEGER)]
2802pub struct StandardCliConformance;
2803pub const SQL_SCC_XOPEN_CLI_VERSION1: StandardCliConformance = StandardCliConformance(0x00000001);
2804pub const SQL_SCC_ISO92_CLI: StandardCliConformance = StandardCliConformance(0x00000002);
2805
2806#[odbc_bitmask(SQLUINTEGER)]
2807pub struct BinaryFunctions;
2808pub const SQL_FN_BIN_BIT_LENGTH: BinaryFunctions = BinaryFunctions(SQL_FN_STR_BIT_LENGTH.0);
2809pub const SQL_FN_BIN_CONCAT: BinaryFunctions = BinaryFunctions(SQL_FN_STR_CONCAT.0);
2810pub const SQL_FN_BIN_INSERT: BinaryFunctions = BinaryFunctions(SQL_FN_STR_INSERT.0);
2811pub const SQL_FN_BIN_LTRIM: BinaryFunctions = BinaryFunctions(SQL_FN_STR_LTRIM.0);
2812pub const SQL_FN_BIN_OCTET_LENGTH: BinaryFunctions = BinaryFunctions(SQL_FN_STR_OCTET_LENGTH.0);
2813pub const SQL_FN_BIN_POSITION: BinaryFunctions = BinaryFunctions(SQL_FN_STR_POSITION.0);
2814pub const SQL_FN_BIN_RTRIM: BinaryFunctions = BinaryFunctions(SQL_FN_STR_RTRIM.0);
2815pub const SQL_FN_BIN_SUBSTRING: BinaryFunctions = BinaryFunctions(SQL_FN_STR_SUBSTRING.0);
2816
2817#[odbc_bitmask(SQLUINTEGER)]
2818pub struct IsoBinaryFunctions;
2819pub const SQL_SBF_CONVERT: IsoBinaryFunctions = IsoBinaryFunctions(SQL_SSF_CONVERT.0);
2820pub const SQL_SBF_SUBSTRING: IsoBinaryFunctions = IsoBinaryFunctions(SQL_SSF_SUBSTRING.0);
2821pub const SQL_SBF_TRIM_BOTH: IsoBinaryFunctions = IsoBinaryFunctions(SQL_SSF_TRIM_BOTH.0);
2822pub const SQL_SBF_TRIM_LEADING: IsoBinaryFunctions = IsoBinaryFunctions(SQL_SSF_TRIM_LEADING.0);
2823pub const SQL_SBF_TRIM_TRAILING: IsoBinaryFunctions = IsoBinaryFunctions(SQL_SSF_TRIM_TRAILING.0);
2824pub const SQL_SBF_OVERLAY: IsoBinaryFunctions = IsoBinaryFunctions(SQL_SSF_OVERLAY.0);
2825pub const SQL_SBF_POSITION: IsoBinaryFunctions = IsoBinaryFunctions(SQL_SSF_POSITION.0);
2826pub const SQL_SBF_CONCAT: IsoBinaryFunctions = IsoBinaryFunctions(SQL_SSF_CONCAT.0);
2827
2828#[odbc_bitmask(SQLUINTEGER)]
2829pub struct LimitEscapeClause;
2830pub const SQL_LC_NONE: LimitEscapeClause = LimitEscapeClause(0x00000000);
2831pub const SQL_LC_TAKE: LimitEscapeClause = LimitEscapeClause(0x00000001);
2832pub const SQL_LC_SKIP: LimitEscapeClause = LimitEscapeClause(0x00000003);
2833
2834#[odbc_bitmask(SQLUINTEGER)]
2835pub struct ReturnEscapeClause;
2836pub const SQL_RC_NONE: ReturnEscapeClause = ReturnEscapeClause(0x00000000);
2837pub const SQL_RC_INSERT_SINGLE_ROWID: ReturnEscapeClause = ReturnEscapeClause(0x00000001);
2838pub const SQL_RC_INSERT_SINGLE_ANY: ReturnEscapeClause =
2839    ReturnEscapeClause(0x00000002 | SQL_RC_INSERT_SINGLE_ROWID.0);
2840pub const SQL_RC_INSERT_MULTIPLE_ROWID: ReturnEscapeClause =
2841    ReturnEscapeClause(0x00000004 | SQL_RC_INSERT_SINGLE_ROWID.0);
2842pub const SQL_RC_INSERT_MULTIPLE_ANY: ReturnEscapeClause =
2843    ReturnEscapeClause(0x00000008 | SQL_RC_INSERT_MULTIPLE_ROWID.0 | SQL_RC_INSERT_SINGLE_ANY.0);
2844pub const SQL_RC_INSERT_SELECT_ROWID: ReturnEscapeClause = ReturnEscapeClause(0x00000010);
2845pub const SQL_RC_INSERT_SELECT_ANY: ReturnEscapeClause =
2846    ReturnEscapeClause(0x00000020 | SQL_RC_INSERT_SELECT_ROWID.0);
2847pub const SQL_RC_UPDATE_ROWID: ReturnEscapeClause = ReturnEscapeClause(0x00000040);
2848pub const SQL_RC_UPDATE_ANY: ReturnEscapeClause =
2849    ReturnEscapeClause(0x00000080 | SQL_RC_UPDATE_ROWID.0);
2850pub const SQL_RC_DELETE_ROWID: ReturnEscapeClause = ReturnEscapeClause(0x00000100);
2851pub const SQL_RC_DELETE_ANY: ReturnEscapeClause =
2852    ReturnEscapeClause(0x00000200 | SQL_RC_DELETE_ROWID.0);
2853pub const SQL_RC_SELECT_INTO_ROWID: ReturnEscapeClause = ReturnEscapeClause(0x00000400);
2854pub const SQL_RC_SELECT_INTO_ANY: ReturnEscapeClause =
2855    ReturnEscapeClause(0x00000800 | SQL_RC_SELECT_INTO_ROWID.0);
2856
2857#[odbc_bitmask(SQLUINTEGER)]
2858pub struct FormatEscapeClause;
2859pub const SQL_FC_NONE: FormatEscapeClause = FormatEscapeClause(0x00000000);
2860pub const SQL_FC_JSON: FormatEscapeClause = FormatEscapeClause(0x00000001);
2861pub const SQL_FC_JSON_BINARY: FormatEscapeClause = FormatEscapeClause(0x00000002);