File Coverage

blib/lib/DBI/Const/GetInfo/ODBC.pm
Criterion Covered Total %
statement 3 3 100.0
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 4 4 100.0


line stmt bran cond sub pod time code
1             # $Id: ODBC.pm 11373 2008-06-02 19:01:33Z Tim $
2             #
3             # Copyright (c) 2002 Tim Bunce Ireland
4             #
5             # Constant data describing Microsoft ODBC info types and return values
6             # for the SQLGetInfo() method of ODBC.
7             #
8             # You may distribute under the terms of either the GNU General Public
9             # License or the Artistic License, as specified in the Perl README file.
10 8     8   3539 use strict;
  8         16  
  8         15972  
11             package DBI::Const::GetInfo::ODBC;
12              
13             our (%InfoTypes,%ReturnTypes,%ReturnValues,);
14             =head1 NAME
15              
16             DBI::Const::GetInfo::ODBC - ODBC Constants for GetInfo
17              
18             =head1 SYNOPSIS
19              
20             The API for this module is private and subject to change.
21              
22             =head1 DESCRIPTION
23              
24             Information requested by GetInfo().
25              
26             The API for this module is private and subject to change.
27              
28             =head1 REFERENCES
29              
30             MDAC SDK 2.6
31             ODBC version number (0x0351)
32              
33             sql.h
34             sqlext.h
35              
36             =cut
37              
38             my
39             $VERSION = "2.011374";
40              
41             %InfoTypes =
42             (
43             SQL_ACCESSIBLE_PROCEDURES => 20
44             , SQL_ACCESSIBLE_TABLES => 19
45             , SQL_ACTIVE_CONNECTIONS => 0
46             , SQL_ACTIVE_ENVIRONMENTS => 116
47             , SQL_ACTIVE_STATEMENTS => 1
48             , SQL_AGGREGATE_FUNCTIONS => 169
49             , SQL_ALTER_DOMAIN => 117
50             , SQL_ALTER_TABLE => 86
51             , SQL_ASYNC_MODE => 10021
52             , SQL_BATCH_ROW_COUNT => 120
53             , SQL_BATCH_SUPPORT => 121
54             , SQL_BOOKMARK_PERSISTENCE => 82
55             , SQL_CATALOG_LOCATION => 114 # SQL_QUALIFIER_LOCATION
56             , SQL_CATALOG_NAME => 10003
57             , SQL_CATALOG_NAME_SEPARATOR => 41 # SQL_QUALIFIER_NAME_SEPARATOR
58             , SQL_CATALOG_TERM => 42 # SQL_QUALIFIER_TERM
59             , SQL_CATALOG_USAGE => 92 # SQL_QUALIFIER_USAGE
60             , SQL_COLLATION_SEQ => 10004
61             , SQL_COLUMN_ALIAS => 87
62             , SQL_CONCAT_NULL_BEHAVIOR => 22
63             , SQL_CONVERT_BIGINT => 53
64             , SQL_CONVERT_BINARY => 54
65             , SQL_CONVERT_BIT => 55
66             , SQL_CONVERT_CHAR => 56
67             , SQL_CONVERT_DATE => 57
68             , SQL_CONVERT_DECIMAL => 58
69             , SQL_CONVERT_DOUBLE => 59
70             , SQL_CONVERT_FLOAT => 60
71             , SQL_CONVERT_FUNCTIONS => 48
72             , SQL_CONVERT_GUID => 173
73             , SQL_CONVERT_INTEGER => 61
74             , SQL_CONVERT_INTERVAL_DAY_TIME => 123
75             , SQL_CONVERT_INTERVAL_YEAR_MONTH => 124
76             , SQL_CONVERT_LONGVARBINARY => 71
77             , SQL_CONVERT_LONGVARCHAR => 62
78             , SQL_CONVERT_NUMERIC => 63
79             , SQL_CONVERT_REAL => 64
80             , SQL_CONVERT_SMALLINT => 65
81             , SQL_CONVERT_TIME => 66
82             , SQL_CONVERT_TIMESTAMP => 67
83             , SQL_CONVERT_TINYINT => 68
84             , SQL_CONVERT_VARBINARY => 69
85             , SQL_CONVERT_VARCHAR => 70
86             , SQL_CONVERT_WCHAR => 122
87             , SQL_CONVERT_WLONGVARCHAR => 125
88             , SQL_CONVERT_WVARCHAR => 126
89             , SQL_CORRELATION_NAME => 74
90             , SQL_CREATE_ASSERTION => 127
91             , SQL_CREATE_CHARACTER_SET => 128
92             , SQL_CREATE_COLLATION => 129
93             , SQL_CREATE_DOMAIN => 130
94             , SQL_CREATE_SCHEMA => 131
95             , SQL_CREATE_TABLE => 132
96             , SQL_CREATE_TRANSLATION => 133
97             , SQL_CREATE_VIEW => 134
98             , SQL_CURSOR_COMMIT_BEHAVIOR => 23
99             , SQL_CURSOR_ROLLBACK_BEHAVIOR => 24
100             , SQL_CURSOR_SENSITIVITY => 10001
101             , SQL_DATA_SOURCE_NAME => 2
102             , SQL_DATA_SOURCE_READ_ONLY => 25
103             , SQL_DATABASE_NAME => 16
104             , SQL_DATETIME_LITERALS => 119
105             , SQL_DBMS_NAME => 17
106             , SQL_DBMS_VER => 18
107             , SQL_DDL_INDEX => 170
108             , SQL_DEFAULT_TXN_ISOLATION => 26
109             , SQL_DESCRIBE_PARAMETER => 10002
110             , SQL_DM_VER => 171
111             , SQL_DRIVER_HDBC => 3
112             , SQL_DRIVER_HDESC => 135
113             , SQL_DRIVER_HENV => 4
114             , SQL_DRIVER_HLIB => 76
115             , SQL_DRIVER_HSTMT => 5
116             , SQL_DRIVER_NAME => 6
117             , SQL_DRIVER_ODBC_VER => 77
118             , SQL_DRIVER_VER => 7
119             , SQL_DROP_ASSERTION => 136
120             , SQL_DROP_CHARACTER_SET => 137
121             , SQL_DROP_COLLATION => 138
122             , SQL_DROP_DOMAIN => 139
123             , SQL_DROP_SCHEMA => 140
124             , SQL_DROP_TABLE => 141
125             , SQL_DROP_TRANSLATION => 142
126             , SQL_DROP_VIEW => 143
127             , SQL_DYNAMIC_CURSOR_ATTRIBUTES1 => 144
128             , SQL_DYNAMIC_CURSOR_ATTRIBUTES2 => 145
129             , SQL_EXPRESSIONS_IN_ORDERBY => 27
130             , SQL_FETCH_DIRECTION => 8
131             , SQL_FILE_USAGE => 84
132             , SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 => 146
133             , SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 => 147
134             , SQL_GETDATA_EXTENSIONS => 81
135             , SQL_GROUP_BY => 88
136             , SQL_IDENTIFIER_CASE => 28
137             , SQL_IDENTIFIER_QUOTE_CHAR => 29
138             , SQL_INDEX_KEYWORDS => 148
139             # SQL_INFO_DRIVER_START => 1000
140             # SQL_INFO_FIRST => 0
141             # SQL_INFO_LAST => 114 # SQL_QUALIFIER_LOCATION
142             , SQL_INFO_SCHEMA_VIEWS => 149
143             , SQL_INSERT_STATEMENT => 172
144             , SQL_INTEGRITY => 73
145             , SQL_KEYSET_CURSOR_ATTRIBUTES1 => 150
146             , SQL_KEYSET_CURSOR_ATTRIBUTES2 => 151
147             , SQL_KEYWORDS => 89
148             , SQL_LIKE_ESCAPE_CLAUSE => 113
149             , SQL_LOCK_TYPES => 78
150             , SQL_MAXIMUM_CATALOG_NAME_LENGTH => 34 # SQL_MAX_CATALOG_NAME_LEN
151             , SQL_MAXIMUM_COLUMNS_IN_GROUP_BY => 97 # SQL_MAX_COLUMNS_IN_GROUP_BY
152             , SQL_MAXIMUM_COLUMNS_IN_INDEX => 98 # SQL_MAX_COLUMNS_IN_INDEX
153             , SQL_MAXIMUM_COLUMNS_IN_ORDER_BY => 99 # SQL_MAX_COLUMNS_IN_ORDER_BY
154             , SQL_MAXIMUM_COLUMNS_IN_SELECT => 100 # SQL_MAX_COLUMNS_IN_SELECT
155             , SQL_MAXIMUM_COLUMN_NAME_LENGTH => 30 # SQL_MAX_COLUMN_NAME_LEN
156             , SQL_MAXIMUM_CONCURRENT_ACTIVITIES => 1 # SQL_MAX_CONCURRENT_ACTIVITIES
157             , SQL_MAXIMUM_CURSOR_NAME_LENGTH => 31 # SQL_MAX_CURSOR_NAME_LEN
158             , SQL_MAXIMUM_DRIVER_CONNECTIONS => 0 # SQL_MAX_DRIVER_CONNECTIONS
159             , SQL_MAXIMUM_IDENTIFIER_LENGTH => 10005 # SQL_MAX_IDENTIFIER_LEN
160             , SQL_MAXIMUM_INDEX_SIZE => 102 # SQL_MAX_INDEX_SIZE
161             , SQL_MAXIMUM_ROW_SIZE => 104 # SQL_MAX_ROW_SIZE
162             , SQL_MAXIMUM_SCHEMA_NAME_LENGTH => 32 # SQL_MAX_SCHEMA_NAME_LEN
163             , SQL_MAXIMUM_STATEMENT_LENGTH => 105 # SQL_MAX_STATEMENT_LEN
164             , SQL_MAXIMUM_TABLES_IN_SELECT => 106 # SQL_MAX_TABLES_IN_SELECT
165             , SQL_MAXIMUM_USER_NAME_LENGTH => 107 # SQL_MAX_USER_NAME_LEN
166             , SQL_MAX_ASYNC_CONCURRENT_STATEMENTS => 10022
167             , SQL_MAX_BINARY_LITERAL_LEN => 112
168             , SQL_MAX_CATALOG_NAME_LEN => 34
169             , SQL_MAX_CHAR_LITERAL_LEN => 108
170             , SQL_MAX_COLUMNS_IN_GROUP_BY => 97
171             , SQL_MAX_COLUMNS_IN_INDEX => 98
172             , SQL_MAX_COLUMNS_IN_ORDER_BY => 99
173             , SQL_MAX_COLUMNS_IN_SELECT => 100
174             , SQL_MAX_COLUMNS_IN_TABLE => 101
175             , SQL_MAX_COLUMN_NAME_LEN => 30
176             , SQL_MAX_CONCURRENT_ACTIVITIES => 1
177             , SQL_MAX_CURSOR_NAME_LEN => 31
178             , SQL_MAX_DRIVER_CONNECTIONS => 0
179             , SQL_MAX_IDENTIFIER_LEN => 10005
180             , SQL_MAX_INDEX_SIZE => 102
181             , SQL_MAX_OWNER_NAME_LEN => 32
182             , SQL_MAX_PROCEDURE_NAME_LEN => 33
183             , SQL_MAX_QUALIFIER_NAME_LEN => 34
184             , SQL_MAX_ROW_SIZE => 104
185             , SQL_MAX_ROW_SIZE_INCLUDES_LONG => 103
186             , SQL_MAX_SCHEMA_NAME_LEN => 32
187             , SQL_MAX_STATEMENT_LEN => 105
188             , SQL_MAX_TABLES_IN_SELECT => 106
189             , SQL_MAX_TABLE_NAME_LEN => 35
190             , SQL_MAX_USER_NAME_LEN => 107
191             , SQL_MULTIPLE_ACTIVE_TXN => 37
192             , SQL_MULT_RESULT_SETS => 36
193             , SQL_NEED_LONG_DATA_LEN => 111
194             , SQL_NON_NULLABLE_COLUMNS => 75
195             , SQL_NULL_COLLATION => 85
196             , SQL_NUMERIC_FUNCTIONS => 49
197             , SQL_ODBC_API_CONFORMANCE => 9
198             , SQL_ODBC_INTERFACE_CONFORMANCE => 152
199             , SQL_ODBC_SAG_CLI_CONFORMANCE => 12
200             , SQL_ODBC_SQL_CONFORMANCE => 15
201             , SQL_ODBC_SQL_OPT_IEF => 73
202             , SQL_ODBC_VER => 10
203             , SQL_OJ_CAPABILITIES => 115
204             , SQL_ORDER_BY_COLUMNS_IN_SELECT => 90
205             , SQL_OUTER_JOINS => 38
206             , SQL_OUTER_JOIN_CAPABILITIES => 115 # SQL_OJ_CAPABILITIES
207             , SQL_OWNER_TERM => 39
208             , SQL_OWNER_USAGE => 91
209             , SQL_PARAM_ARRAY_ROW_COUNTS => 153
210             , SQL_PARAM_ARRAY_SELECTS => 154
211             , SQL_POSITIONED_STATEMENTS => 80
212             , SQL_POS_OPERATIONS => 79
213             , SQL_PROCEDURES => 21
214             , SQL_PROCEDURE_TERM => 40
215             , SQL_QUALIFIER_LOCATION => 114
216             , SQL_QUALIFIER_NAME_SEPARATOR => 41
217             , SQL_QUALIFIER_TERM => 42
218             , SQL_QUALIFIER_USAGE => 92
219             , SQL_QUOTED_IDENTIFIER_CASE => 93
220             , SQL_ROW_UPDATES => 11
221             , SQL_SCHEMA_TERM => 39 # SQL_OWNER_TERM
222             , SQL_SCHEMA_USAGE => 91 # SQL_OWNER_USAGE
223             , SQL_SCROLL_CONCURRENCY => 43
224             , SQL_SCROLL_OPTIONS => 44
225             , SQL_SEARCH_PATTERN_ESCAPE => 14
226             , SQL_SERVER_NAME => 13
227             , SQL_SPECIAL_CHARACTERS => 94
228             , SQL_SQL92_DATETIME_FUNCTIONS => 155
229             , SQL_SQL92_FOREIGN_KEY_DELETE_RULE => 156
230             , SQL_SQL92_FOREIGN_KEY_UPDATE_RULE => 157
231             , SQL_SQL92_GRANT => 158
232             , SQL_SQL92_NUMERIC_VALUE_FUNCTIONS => 159
233             , SQL_SQL92_PREDICATES => 160
234             , SQL_SQL92_RELATIONAL_JOIN_OPERATORS => 161
235             , SQL_SQL92_REVOKE => 162
236             , SQL_SQL92_ROW_VALUE_CONSTRUCTOR => 163
237             , SQL_SQL92_STRING_FUNCTIONS => 164
238             , SQL_SQL92_VALUE_EXPRESSIONS => 165
239             , SQL_SQL_CONFORMANCE => 118
240             , SQL_STANDARD_CLI_CONFORMANCE => 166
241             , SQL_STATIC_CURSOR_ATTRIBUTES1 => 167
242             , SQL_STATIC_CURSOR_ATTRIBUTES2 => 168
243             , SQL_STATIC_SENSITIVITY => 83
244             , SQL_STRING_FUNCTIONS => 50
245             , SQL_SUBQUERIES => 95
246             , SQL_SYSTEM_FUNCTIONS => 51
247             , SQL_TABLE_TERM => 45
248             , SQL_TIMEDATE_ADD_INTERVALS => 109
249             , SQL_TIMEDATE_DIFF_INTERVALS => 110
250             , SQL_TIMEDATE_FUNCTIONS => 52
251             , SQL_TRANSACTION_CAPABLE => 46 # SQL_TXN_CAPABLE
252             , SQL_TRANSACTION_ISOLATION_OPTION => 72 # SQL_TXN_ISOLATION_OPTION
253             , SQL_TXN_CAPABLE => 46
254             , SQL_TXN_ISOLATION_OPTION => 72
255             , SQL_UNION => 96
256             , SQL_UNION_STATEMENT => 96 # SQL_UNION
257             , SQL_USER_NAME => 47
258             , SQL_XOPEN_CLI_YEAR => 10000
259             );
260              
261             =head2 %ReturnTypes
262              
263             See: mk:@MSITStore:X:\dm\cli\mdac\sdk26\Docs\odbc.chm::/htm/odbcsqlgetinfo.htm
264              
265             => : alias
266             => !!! : edited
267              
268             =cut
269              
270             %ReturnTypes =
271             (
272             SQL_ACCESSIBLE_PROCEDURES => 'SQLCHAR' # 20
273             , SQL_ACCESSIBLE_TABLES => 'SQLCHAR' # 19
274             , SQL_ACTIVE_CONNECTIONS => 'SQLUSMALLINT' # 0 =>
275             , SQL_ACTIVE_ENVIRONMENTS => 'SQLUSMALLINT' # 116
276             , SQL_ACTIVE_STATEMENTS => 'SQLUSMALLINT' # 1 =>
277             , SQL_AGGREGATE_FUNCTIONS => 'SQLUINTEGER bitmask' # 169
278             , SQL_ALTER_DOMAIN => 'SQLUINTEGER bitmask' # 117
279             , SQL_ALTER_TABLE => 'SQLUINTEGER bitmask' # 86
280             , SQL_ASYNC_MODE => 'SQLUINTEGER' # 10021
281             , SQL_BATCH_ROW_COUNT => 'SQLUINTEGER bitmask' # 120
282             , SQL_BATCH_SUPPORT => 'SQLUINTEGER bitmask' # 121
283             , SQL_BOOKMARK_PERSISTENCE => 'SQLUINTEGER bitmask' # 82
284             , SQL_CATALOG_LOCATION => 'SQLUSMALLINT' # 114
285             , SQL_CATALOG_NAME => 'SQLCHAR' # 10003
286             , SQL_CATALOG_NAME_SEPARATOR => 'SQLCHAR' # 41
287             , SQL_CATALOG_TERM => 'SQLCHAR' # 42
288             , SQL_CATALOG_USAGE => 'SQLUINTEGER bitmask' # 92
289             , SQL_COLLATION_SEQ => 'SQLCHAR' # 10004
290             , SQL_COLUMN_ALIAS => 'SQLCHAR' # 87
291             , SQL_CONCAT_NULL_BEHAVIOR => 'SQLUSMALLINT' # 22
292             , SQL_CONVERT_BIGINT => 'SQLUINTEGER bitmask' # 53
293             , SQL_CONVERT_BINARY => 'SQLUINTEGER bitmask' # 54
294             , SQL_CONVERT_BIT => 'SQLUINTEGER bitmask' # 55
295             , SQL_CONVERT_CHAR => 'SQLUINTEGER bitmask' # 56
296             , SQL_CONVERT_DATE => 'SQLUINTEGER bitmask' # 57
297             , SQL_CONVERT_DECIMAL => 'SQLUINTEGER bitmask' # 58
298             , SQL_CONVERT_DOUBLE => 'SQLUINTEGER bitmask' # 59
299             , SQL_CONVERT_FLOAT => 'SQLUINTEGER bitmask' # 60
300             , SQL_CONVERT_FUNCTIONS => 'SQLUINTEGER bitmask' # 48
301             , SQL_CONVERT_GUID => 'SQLUINTEGER bitmask' # 173
302             , SQL_CONVERT_INTEGER => 'SQLUINTEGER bitmask' # 61
303             , SQL_CONVERT_INTERVAL_DAY_TIME => 'SQLUINTEGER bitmask' # 123
304             , SQL_CONVERT_INTERVAL_YEAR_MONTH => 'SQLUINTEGER bitmask' # 124
305             , SQL_CONVERT_LONGVARBINARY => 'SQLUINTEGER bitmask' # 71
306             , SQL_CONVERT_LONGVARCHAR => 'SQLUINTEGER bitmask' # 62
307             , SQL_CONVERT_NUMERIC => 'SQLUINTEGER bitmask' # 63
308             , SQL_CONVERT_REAL => 'SQLUINTEGER bitmask' # 64
309             , SQL_CONVERT_SMALLINT => 'SQLUINTEGER bitmask' # 65
310             , SQL_CONVERT_TIME => 'SQLUINTEGER bitmask' # 66
311             , SQL_CONVERT_TIMESTAMP => 'SQLUINTEGER bitmask' # 67
312             , SQL_CONVERT_TINYINT => 'SQLUINTEGER bitmask' # 68
313             , SQL_CONVERT_VARBINARY => 'SQLUINTEGER bitmask' # 69
314             , SQL_CONVERT_VARCHAR => 'SQLUINTEGER bitmask' # 70
315             , SQL_CONVERT_WCHAR => 'SQLUINTEGER bitmask' # 122 => !!!
316             , SQL_CONVERT_WLONGVARCHAR => 'SQLUINTEGER bitmask' # 125 => !!!
317             , SQL_CONVERT_WVARCHAR => 'SQLUINTEGER bitmask' # 126 => !!!
318             , SQL_CORRELATION_NAME => 'SQLUSMALLINT' # 74
319             , SQL_CREATE_ASSERTION => 'SQLUINTEGER bitmask' # 127
320             , SQL_CREATE_CHARACTER_SET => 'SQLUINTEGER bitmask' # 128
321             , SQL_CREATE_COLLATION => 'SQLUINTEGER bitmask' # 129
322             , SQL_CREATE_DOMAIN => 'SQLUINTEGER bitmask' # 130
323             , SQL_CREATE_SCHEMA => 'SQLUINTEGER bitmask' # 131
324             , SQL_CREATE_TABLE => 'SQLUINTEGER bitmask' # 132
325             , SQL_CREATE_TRANSLATION => 'SQLUINTEGER bitmask' # 133
326             , SQL_CREATE_VIEW => 'SQLUINTEGER bitmask' # 134
327             , SQL_CURSOR_COMMIT_BEHAVIOR => 'SQLUSMALLINT' # 23
328             , SQL_CURSOR_ROLLBACK_BEHAVIOR => 'SQLUSMALLINT' # 24
329             , SQL_CURSOR_SENSITIVITY => 'SQLUINTEGER' # 10001
330             , SQL_DATA_SOURCE_NAME => 'SQLCHAR' # 2
331             , SQL_DATA_SOURCE_READ_ONLY => 'SQLCHAR' # 25
332             , SQL_DATABASE_NAME => 'SQLCHAR' # 16
333             , SQL_DATETIME_LITERALS => 'SQLUINTEGER bitmask' # 119
334             , SQL_DBMS_NAME => 'SQLCHAR' # 17
335             , SQL_DBMS_VER => 'SQLCHAR' # 18
336             , SQL_DDL_INDEX => 'SQLUINTEGER bitmask' # 170
337             , SQL_DEFAULT_TXN_ISOLATION => 'SQLUINTEGER' # 26
338             , SQL_DESCRIBE_PARAMETER => 'SQLCHAR' # 10002
339             , SQL_DM_VER => 'SQLCHAR' # 171
340             , SQL_DRIVER_HDBC => 'SQLUINTEGER' # 3
341             , SQL_DRIVER_HDESC => 'SQLUINTEGER' # 135
342             , SQL_DRIVER_HENV => 'SQLUINTEGER' # 4
343             , SQL_DRIVER_HLIB => 'SQLUINTEGER' # 76
344             , SQL_DRIVER_HSTMT => 'SQLUINTEGER' # 5
345             , SQL_DRIVER_NAME => 'SQLCHAR' # 6
346             , SQL_DRIVER_ODBC_VER => 'SQLCHAR' # 77
347             , SQL_DRIVER_VER => 'SQLCHAR' # 7
348             , SQL_DROP_ASSERTION => 'SQLUINTEGER bitmask' # 136
349             , SQL_DROP_CHARACTER_SET => 'SQLUINTEGER bitmask' # 137
350             , SQL_DROP_COLLATION => 'SQLUINTEGER bitmask' # 138
351             , SQL_DROP_DOMAIN => 'SQLUINTEGER bitmask' # 139
352             , SQL_DROP_SCHEMA => 'SQLUINTEGER bitmask' # 140
353             , SQL_DROP_TABLE => 'SQLUINTEGER bitmask' # 141
354             , SQL_DROP_TRANSLATION => 'SQLUINTEGER bitmask' # 142
355             , SQL_DROP_VIEW => 'SQLUINTEGER bitmask' # 143
356             , SQL_DYNAMIC_CURSOR_ATTRIBUTES1 => 'SQLUINTEGER bitmask' # 144
357             , SQL_DYNAMIC_CURSOR_ATTRIBUTES2 => 'SQLUINTEGER bitmask' # 145
358             , SQL_EXPRESSIONS_IN_ORDERBY => 'SQLCHAR' # 27
359             , SQL_FETCH_DIRECTION => 'SQLUINTEGER bitmask' # 8 => !!!
360             , SQL_FILE_USAGE => 'SQLUSMALLINT' # 84
361             , SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 => 'SQLUINTEGER bitmask' # 146
362             , SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 => 'SQLUINTEGER bitmask' # 147
363             , SQL_GETDATA_EXTENSIONS => 'SQLUINTEGER bitmask' # 81
364             , SQL_GROUP_BY => 'SQLUSMALLINT' # 88
365             , SQL_IDENTIFIER_CASE => 'SQLUSMALLINT' # 28
366             , SQL_IDENTIFIER_QUOTE_CHAR => 'SQLCHAR' # 29
367             , SQL_INDEX_KEYWORDS => 'SQLUINTEGER bitmask' # 148
368             # SQL_INFO_DRIVER_START => '' # 1000 =>
369             # SQL_INFO_FIRST => 'SQLUSMALLINT' # 0 =>
370             # SQL_INFO_LAST => 'SQLUSMALLINT' # 114 =>
371             , SQL_INFO_SCHEMA_VIEWS => 'SQLUINTEGER bitmask' # 149
372             , SQL_INSERT_STATEMENT => 'SQLUINTEGER bitmask' # 172
373             , SQL_INTEGRITY => 'SQLCHAR' # 73
374             , SQL_KEYSET_CURSOR_ATTRIBUTES1 => 'SQLUINTEGER bitmask' # 150
375             , SQL_KEYSET_CURSOR_ATTRIBUTES2 => 'SQLUINTEGER bitmask' # 151
376             , SQL_KEYWORDS => 'SQLCHAR' # 89
377             , SQL_LIKE_ESCAPE_CLAUSE => 'SQLCHAR' # 113
378             , SQL_LOCK_TYPES => 'SQLUINTEGER bitmask' # 78 => !!!
379             , SQL_MAXIMUM_CATALOG_NAME_LENGTH => 'SQLUSMALLINT' # 34 =>
380             , SQL_MAXIMUM_COLUMNS_IN_GROUP_BY => 'SQLUSMALLINT' # 97 =>
381             , SQL_MAXIMUM_COLUMNS_IN_INDEX => 'SQLUSMALLINT' # 98 =>
382             , SQL_MAXIMUM_COLUMNS_IN_ORDER_BY => 'SQLUSMALLINT' # 99 =>
383             , SQL_MAXIMUM_COLUMNS_IN_SELECT => 'SQLUSMALLINT' # 100 =>
384             , SQL_MAXIMUM_COLUMN_NAME_LENGTH => 'SQLUSMALLINT' # 30 =>
385             , SQL_MAXIMUM_CONCURRENT_ACTIVITIES => 'SQLUSMALLINT' # 1 =>
386             , SQL_MAXIMUM_CURSOR_NAME_LENGTH => 'SQLUSMALLINT' # 31 =>
387             , SQL_MAXIMUM_DRIVER_CONNECTIONS => 'SQLUSMALLINT' # 0 =>
388             , SQL_MAXIMUM_IDENTIFIER_LENGTH => 'SQLUSMALLINT' # 10005 =>
389             , SQL_MAXIMUM_INDEX_SIZE => 'SQLUINTEGER' # 102 =>
390             , SQL_MAXIMUM_ROW_SIZE => 'SQLUINTEGER' # 104 =>
391             , SQL_MAXIMUM_SCHEMA_NAME_LENGTH => 'SQLUSMALLINT' # 32 =>
392             , SQL_MAXIMUM_STATEMENT_LENGTH => 'SQLUINTEGER' # 105 =>
393             , SQL_MAXIMUM_TABLES_IN_SELECT => 'SQLUSMALLINT' # 106 =>
394             , SQL_MAXIMUM_USER_NAME_LENGTH => 'SQLUSMALLINT' # 107 =>
395             , SQL_MAX_ASYNC_CONCURRENT_STATEMENTS => 'SQLUINTEGER' # 10022
396             , SQL_MAX_BINARY_LITERAL_LEN => 'SQLUINTEGER' # 112
397             , SQL_MAX_CATALOG_NAME_LEN => 'SQLUSMALLINT' # 34
398             , SQL_MAX_CHAR_LITERAL_LEN => 'SQLUINTEGER' # 108
399             , SQL_MAX_COLUMNS_IN_GROUP_BY => 'SQLUSMALLINT' # 97
400             , SQL_MAX_COLUMNS_IN_INDEX => 'SQLUSMALLINT' # 98
401             , SQL_MAX_COLUMNS_IN_ORDER_BY => 'SQLUSMALLINT' # 99
402             , SQL_MAX_COLUMNS_IN_SELECT => 'SQLUSMALLINT' # 100
403             , SQL_MAX_COLUMNS_IN_TABLE => 'SQLUSMALLINT' # 101
404             , SQL_MAX_COLUMN_NAME_LEN => 'SQLUSMALLINT' # 30
405             , SQL_MAX_CONCURRENT_ACTIVITIES => 'SQLUSMALLINT' # 1
406             , SQL_MAX_CURSOR_NAME_LEN => 'SQLUSMALLINT' # 31
407             , SQL_MAX_DRIVER_CONNECTIONS => 'SQLUSMALLINT' # 0
408             , SQL_MAX_IDENTIFIER_LEN => 'SQLUSMALLINT' # 10005
409             , SQL_MAX_INDEX_SIZE => 'SQLUINTEGER' # 102
410             , SQL_MAX_OWNER_NAME_LEN => 'SQLUSMALLINT' # 32 =>
411             , SQL_MAX_PROCEDURE_NAME_LEN => 'SQLUSMALLINT' # 33
412             , SQL_MAX_QUALIFIER_NAME_LEN => 'SQLUSMALLINT' # 34 =>
413             , SQL_MAX_ROW_SIZE => 'SQLUINTEGER' # 104
414             , SQL_MAX_ROW_SIZE_INCLUDES_LONG => 'SQLCHAR' # 103
415             , SQL_MAX_SCHEMA_NAME_LEN => 'SQLUSMALLINT' # 32
416             , SQL_MAX_STATEMENT_LEN => 'SQLUINTEGER' # 105
417             , SQL_MAX_TABLES_IN_SELECT => 'SQLUSMALLINT' # 106
418             , SQL_MAX_TABLE_NAME_LEN => 'SQLUSMALLINT' # 35
419             , SQL_MAX_USER_NAME_LEN => 'SQLUSMALLINT' # 107
420             , SQL_MULTIPLE_ACTIVE_TXN => 'SQLCHAR' # 37
421             , SQL_MULT_RESULT_SETS => 'SQLCHAR' # 36
422             , SQL_NEED_LONG_DATA_LEN => 'SQLCHAR' # 111
423             , SQL_NON_NULLABLE_COLUMNS => 'SQLUSMALLINT' # 75
424             , SQL_NULL_COLLATION => 'SQLUSMALLINT' # 85
425             , SQL_NUMERIC_FUNCTIONS => 'SQLUINTEGER bitmask' # 49
426             , SQL_ODBC_API_CONFORMANCE => 'SQLUSMALLINT' # 9 => !!!
427             , SQL_ODBC_INTERFACE_CONFORMANCE => 'SQLUINTEGER' # 152
428             , SQL_ODBC_SAG_CLI_CONFORMANCE => 'SQLUSMALLINT' # 12 => !!!
429             , SQL_ODBC_SQL_CONFORMANCE => 'SQLUSMALLINT' # 15 => !!!
430             , SQL_ODBC_SQL_OPT_IEF => 'SQLCHAR' # 73 =>
431             , SQL_ODBC_VER => 'SQLCHAR' # 10
432             , SQL_OJ_CAPABILITIES => 'SQLUINTEGER bitmask' # 115
433             , SQL_ORDER_BY_COLUMNS_IN_SELECT => 'SQLCHAR' # 90
434             , SQL_OUTER_JOINS => 'SQLCHAR' # 38 => !!!
435             , SQL_OUTER_JOIN_CAPABILITIES => 'SQLUINTEGER bitmask' # 115 =>
436             , SQL_OWNER_TERM => 'SQLCHAR' # 39 =>
437             , SQL_OWNER_USAGE => 'SQLUINTEGER bitmask' # 91 =>
438             , SQL_PARAM_ARRAY_ROW_COUNTS => 'SQLUINTEGER' # 153
439             , SQL_PARAM_ARRAY_SELECTS => 'SQLUINTEGER' # 154
440             , SQL_POSITIONED_STATEMENTS => 'SQLUINTEGER bitmask' # 80 => !!!
441             , SQL_POS_OPERATIONS => 'SQLINTEGER bitmask' # 79
442             , SQL_PROCEDURES => 'SQLCHAR' # 21
443             , SQL_PROCEDURE_TERM => 'SQLCHAR' # 40
444             , SQL_QUALIFIER_LOCATION => 'SQLUSMALLINT' # 114 =>
445             , SQL_QUALIFIER_NAME_SEPARATOR => 'SQLCHAR' # 41 =>
446             , SQL_QUALIFIER_TERM => 'SQLCHAR' # 42 =>
447             , SQL_QUALIFIER_USAGE => 'SQLUINTEGER bitmask' # 92 =>
448             , SQL_QUOTED_IDENTIFIER_CASE => 'SQLUSMALLINT' # 93
449             , SQL_ROW_UPDATES => 'SQLCHAR' # 11
450             , SQL_SCHEMA_TERM => 'SQLCHAR' # 39
451             , SQL_SCHEMA_USAGE => 'SQLUINTEGER bitmask' # 91
452             , SQL_SCROLL_CONCURRENCY => 'SQLUINTEGER bitmask' # 43 => !!!
453             , SQL_SCROLL_OPTIONS => 'SQLUINTEGER bitmask' # 44
454             , SQL_SEARCH_PATTERN_ESCAPE => 'SQLCHAR' # 14
455             , SQL_SERVER_NAME => 'SQLCHAR' # 13
456             , SQL_SPECIAL_CHARACTERS => 'SQLCHAR' # 94
457             , SQL_SQL92_DATETIME_FUNCTIONS => 'SQLUINTEGER bitmask' # 155
458             , SQL_SQL92_FOREIGN_KEY_DELETE_RULE => 'SQLUINTEGER bitmask' # 156
459             , SQL_SQL92_FOREIGN_KEY_UPDATE_RULE => 'SQLUINTEGER bitmask' # 157
460             , SQL_SQL92_GRANT => 'SQLUINTEGER bitmask' # 158
461             , SQL_SQL92_NUMERIC_VALUE_FUNCTIONS => 'SQLUINTEGER bitmask' # 159
462             , SQL_SQL92_PREDICATES => 'SQLUINTEGER bitmask' # 160
463             , SQL_SQL92_RELATIONAL_JOIN_OPERATORS => 'SQLUINTEGER bitmask' # 161
464             , SQL_SQL92_REVOKE => 'SQLUINTEGER bitmask' # 162
465             , SQL_SQL92_ROW_VALUE_CONSTRUCTOR => 'SQLUINTEGER bitmask' # 163
466             , SQL_SQL92_STRING_FUNCTIONS => 'SQLUINTEGER bitmask' # 164
467             , SQL_SQL92_VALUE_EXPRESSIONS => 'SQLUINTEGER bitmask' # 165
468             , SQL_SQL_CONFORMANCE => 'SQLUINTEGER' # 118
469             , SQL_STANDARD_CLI_CONFORMANCE => 'SQLUINTEGER bitmask' # 166
470             , SQL_STATIC_CURSOR_ATTRIBUTES1 => 'SQLUINTEGER bitmask' # 167
471             , SQL_STATIC_CURSOR_ATTRIBUTES2 => 'SQLUINTEGER bitmask' # 168
472             , SQL_STATIC_SENSITIVITY => 'SQLUINTEGER bitmask' # 83 => !!!
473             , SQL_STRING_FUNCTIONS => 'SQLUINTEGER bitmask' # 50
474             , SQL_SUBQUERIES => 'SQLUINTEGER bitmask' # 95
475             , SQL_SYSTEM_FUNCTIONS => 'SQLUINTEGER bitmask' # 51
476             , SQL_TABLE_TERM => 'SQLCHAR' # 45
477             , SQL_TIMEDATE_ADD_INTERVALS => 'SQLUINTEGER bitmask' # 109
478             , SQL_TIMEDATE_DIFF_INTERVALS => 'SQLUINTEGER bitmask' # 110
479             , SQL_TIMEDATE_FUNCTIONS => 'SQLUINTEGER bitmask' # 52
480             , SQL_TRANSACTION_CAPABLE => 'SQLUSMALLINT' # 46 =>
481             , SQL_TRANSACTION_ISOLATION_OPTION => 'SQLUINTEGER bitmask' # 72 =>
482             , SQL_TXN_CAPABLE => 'SQLUSMALLINT' # 46
483             , SQL_TXN_ISOLATION_OPTION => 'SQLUINTEGER bitmask' # 72
484             , SQL_UNION => 'SQLUINTEGER bitmask' # 96
485             , SQL_UNION_STATEMENT => 'SQLUINTEGER bitmask' # 96 =>
486             , SQL_USER_NAME => 'SQLCHAR' # 47
487             , SQL_XOPEN_CLI_YEAR => 'SQLCHAR' # 10000
488             );
489              
490             =head2 %ReturnValues
491              
492             See: sql.h, sqlext.h
493             Edited:
494             SQL_TXN_ISOLATION_OPTION
495              
496             =cut
497              
498             $ReturnValues{SQL_AGGREGATE_FUNCTIONS} =
499             {
500             SQL_AF_AVG => 0x00000001
501             , SQL_AF_COUNT => 0x00000002
502             , SQL_AF_MAX => 0x00000004
503             , SQL_AF_MIN => 0x00000008
504             , SQL_AF_SUM => 0x00000010
505             , SQL_AF_DISTINCT => 0x00000020
506             , SQL_AF_ALL => 0x00000040
507             };
508             $ReturnValues{SQL_ALTER_DOMAIN} =
509             {
510             SQL_AD_CONSTRAINT_NAME_DEFINITION => 0x00000001
511             , SQL_AD_ADD_DOMAIN_CONSTRAINT => 0x00000002
512             , SQL_AD_DROP_DOMAIN_CONSTRAINT => 0x00000004
513             , SQL_AD_ADD_DOMAIN_DEFAULT => 0x00000008
514             , SQL_AD_DROP_DOMAIN_DEFAULT => 0x00000010
515             , SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED => 0x00000020
516             , SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE => 0x00000040
517             , SQL_AD_ADD_CONSTRAINT_DEFERRABLE => 0x00000080
518             , SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE => 0x00000100
519             };
520             $ReturnValues{SQL_ALTER_TABLE} =
521             {
522             SQL_AT_ADD_COLUMN => 0x00000001
523             , SQL_AT_DROP_COLUMN => 0x00000002
524             , SQL_AT_ADD_CONSTRAINT => 0x00000008
525             , SQL_AT_ADD_COLUMN_SINGLE => 0x00000020
526             , SQL_AT_ADD_COLUMN_DEFAULT => 0x00000040
527             , SQL_AT_ADD_COLUMN_COLLATION => 0x00000080
528             , SQL_AT_SET_COLUMN_DEFAULT => 0x00000100
529             , SQL_AT_DROP_COLUMN_DEFAULT => 0x00000200
530             , SQL_AT_DROP_COLUMN_CASCADE => 0x00000400
531             , SQL_AT_DROP_COLUMN_RESTRICT => 0x00000800
532             , SQL_AT_ADD_TABLE_CONSTRAINT => 0x00001000
533             , SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE => 0x00002000
534             , SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT => 0x00004000
535             , SQL_AT_CONSTRAINT_NAME_DEFINITION => 0x00008000
536             , SQL_AT_CONSTRAINT_INITIALLY_DEFERRED => 0x00010000
537             , SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE => 0x00020000
538             , SQL_AT_CONSTRAINT_DEFERRABLE => 0x00040000
539             , SQL_AT_CONSTRAINT_NON_DEFERRABLE => 0x00080000
540             };
541             $ReturnValues{SQL_ASYNC_MODE} =
542             {
543             SQL_AM_NONE => 0
544             , SQL_AM_CONNECTION => 1
545             , SQL_AM_STATEMENT => 2
546             };
547             $ReturnValues{SQL_ATTR_MAX_ROWS} =
548             {
549             SQL_CA2_MAX_ROWS_SELECT => 0x00000080
550             , SQL_CA2_MAX_ROWS_INSERT => 0x00000100
551             , SQL_CA2_MAX_ROWS_DELETE => 0x00000200
552             , SQL_CA2_MAX_ROWS_UPDATE => 0x00000400
553             , SQL_CA2_MAX_ROWS_CATALOG => 0x00000800
554             # SQL_CA2_MAX_ROWS_AFFECTS_ALL =>
555             };
556             $ReturnValues{SQL_ATTR_SCROLL_CONCURRENCY} =
557             {
558             SQL_CA2_READ_ONLY_CONCURRENCY => 0x00000001
559             , SQL_CA2_LOCK_CONCURRENCY => 0x00000002
560             , SQL_CA2_OPT_ROWVER_CONCURRENCY => 0x00000004
561             , SQL_CA2_OPT_VALUES_CONCURRENCY => 0x00000008
562             , SQL_CA2_SENSITIVITY_ADDITIONS => 0x00000010
563             , SQL_CA2_SENSITIVITY_DELETIONS => 0x00000020
564             , SQL_CA2_SENSITIVITY_UPDATES => 0x00000040
565             };
566             $ReturnValues{SQL_BATCH_ROW_COUNT} =
567             {
568             SQL_BRC_PROCEDURES => 0x0000001
569             , SQL_BRC_EXPLICIT => 0x0000002
570             , SQL_BRC_ROLLED_UP => 0x0000004
571             };
572             $ReturnValues{SQL_BATCH_SUPPORT} =
573             {
574             SQL_BS_SELECT_EXPLICIT => 0x00000001
575             , SQL_BS_ROW_COUNT_EXPLICIT => 0x00000002
576             , SQL_BS_SELECT_PROC => 0x00000004
577             , SQL_BS_ROW_COUNT_PROC => 0x00000008
578             };
579             $ReturnValues{SQL_BOOKMARK_PERSISTENCE} =
580             {
581             SQL_BP_CLOSE => 0x00000001
582             , SQL_BP_DELETE => 0x00000002
583             , SQL_BP_DROP => 0x00000004
584             , SQL_BP_TRANSACTION => 0x00000008
585             , SQL_BP_UPDATE => 0x00000010
586             , SQL_BP_OTHER_HSTMT => 0x00000020
587             , SQL_BP_SCROLL => 0x00000040
588             };
589             $ReturnValues{SQL_CATALOG_LOCATION} =
590             {
591             SQL_CL_START => 0x0001 # SQL_QL_START
592             , SQL_CL_END => 0x0002 # SQL_QL_END
593             };
594             $ReturnValues{SQL_CATALOG_USAGE} =
595             {
596             SQL_CU_DML_STATEMENTS => 0x00000001 # SQL_QU_DML_STATEMENTS
597             , SQL_CU_PROCEDURE_INVOCATION => 0x00000002 # SQL_QU_PROCEDURE_INVOCATION
598             , SQL_CU_TABLE_DEFINITION => 0x00000004 # SQL_QU_TABLE_DEFINITION
599             , SQL_CU_INDEX_DEFINITION => 0x00000008 # SQL_QU_INDEX_DEFINITION
600             , SQL_CU_PRIVILEGE_DEFINITION => 0x00000010 # SQL_QU_PRIVILEGE_DEFINITION
601             };
602             $ReturnValues{SQL_CONCAT_NULL_BEHAVIOR} =
603             {
604             SQL_CB_NULL => 0x0000
605             , SQL_CB_NON_NULL => 0x0001
606             };
607             $ReturnValues{SQL_CONVERT_} =
608             {
609             SQL_CVT_CHAR => 0x00000001
610             , SQL_CVT_NUMERIC => 0x00000002
611             , SQL_CVT_DECIMAL => 0x00000004
612             , SQL_CVT_INTEGER => 0x00000008
613             , SQL_CVT_SMALLINT => 0x00000010
614             , SQL_CVT_FLOAT => 0x00000020
615             , SQL_CVT_REAL => 0x00000040
616             , SQL_CVT_DOUBLE => 0x00000080
617             , SQL_CVT_VARCHAR => 0x00000100
618             , SQL_CVT_LONGVARCHAR => 0x00000200
619             , SQL_CVT_BINARY => 0x00000400
620             , SQL_CVT_VARBINARY => 0x00000800
621             , SQL_CVT_BIT => 0x00001000
622             , SQL_CVT_TINYINT => 0x00002000
623             , SQL_CVT_BIGINT => 0x00004000
624             , SQL_CVT_DATE => 0x00008000
625             , SQL_CVT_TIME => 0x00010000
626             , SQL_CVT_TIMESTAMP => 0x00020000
627             , SQL_CVT_LONGVARBINARY => 0x00040000
628             , SQL_CVT_INTERVAL_YEAR_MONTH => 0x00080000
629             , SQL_CVT_INTERVAL_DAY_TIME => 0x00100000
630             , SQL_CVT_WCHAR => 0x00200000
631             , SQL_CVT_WLONGVARCHAR => 0x00400000
632             , SQL_CVT_WVARCHAR => 0x00800000
633             , SQL_CVT_GUID => 0x01000000
634             };
635             $ReturnValues{SQL_CONVERT_BIGINT } = $ReturnValues{SQL_CONVERT_};
636             $ReturnValues{SQL_CONVERT_BINARY } = $ReturnValues{SQL_CONVERT_};
637             $ReturnValues{SQL_CONVERT_BIT } = $ReturnValues{SQL_CONVERT_};
638             $ReturnValues{SQL_CONVERT_CHAR } = $ReturnValues{SQL_CONVERT_};
639             $ReturnValues{SQL_CONVERT_DATE } = $ReturnValues{SQL_CONVERT_};
640             $ReturnValues{SQL_CONVERT_DECIMAL } = $ReturnValues{SQL_CONVERT_};
641             $ReturnValues{SQL_CONVERT_DOUBLE } = $ReturnValues{SQL_CONVERT_};
642             $ReturnValues{SQL_CONVERT_FLOAT } = $ReturnValues{SQL_CONVERT_};
643             $ReturnValues{SQL_CONVERT_GUID } = $ReturnValues{SQL_CONVERT_};
644             $ReturnValues{SQL_CONVERT_INTEGER } = $ReturnValues{SQL_CONVERT_};
645             $ReturnValues{SQL_CONVERT_INTERVAL_DAY_TIME } = $ReturnValues{SQL_CONVERT_};
646             $ReturnValues{SQL_CONVERT_INTERVAL_YEAR_MONTH} = $ReturnValues{SQL_CONVERT_};
647             $ReturnValues{SQL_CONVERT_LONGVARBINARY } = $ReturnValues{SQL_CONVERT_};
648             $ReturnValues{SQL_CONVERT_LONGVARCHAR } = $ReturnValues{SQL_CONVERT_};
649             $ReturnValues{SQL_CONVERT_NUMERIC } = $ReturnValues{SQL_CONVERT_};
650             $ReturnValues{SQL_CONVERT_REAL } = $ReturnValues{SQL_CONVERT_};
651             $ReturnValues{SQL_CONVERT_SMALLINT } = $ReturnValues{SQL_CONVERT_};
652             $ReturnValues{SQL_CONVERT_TIME } = $ReturnValues{SQL_CONVERT_};
653             $ReturnValues{SQL_CONVERT_TIMESTAMP } = $ReturnValues{SQL_CONVERT_};
654             $ReturnValues{SQL_CONVERT_TINYINT } = $ReturnValues{SQL_CONVERT_};
655             $ReturnValues{SQL_CONVERT_VARBINARY } = $ReturnValues{SQL_CONVERT_};
656             $ReturnValues{SQL_CONVERT_VARCHAR } = $ReturnValues{SQL_CONVERT_};
657             $ReturnValues{SQL_CONVERT_WCHAR } = $ReturnValues{SQL_CONVERT_};
658             $ReturnValues{SQL_CONVERT_WLONGVARCHAR } = $ReturnValues{SQL_CONVERT_};
659             $ReturnValues{SQL_CONVERT_WVARCHAR } = $ReturnValues{SQL_CONVERT_};
660              
661             $ReturnValues{SQL_CONVERT_FUNCTIONS} =
662             {
663             SQL_FN_CVT_CONVERT => 0x00000001
664             , SQL_FN_CVT_CAST => 0x00000002
665             };
666             $ReturnValues{SQL_CORRELATION_NAME} =
667             {
668             SQL_CN_NONE => 0x0000
669             , SQL_CN_DIFFERENT => 0x0001
670             , SQL_CN_ANY => 0x0002
671             };
672             $ReturnValues{SQL_CREATE_ASSERTION} =
673             {
674             SQL_CA_CREATE_ASSERTION => 0x00000001
675             , SQL_CA_CONSTRAINT_INITIALLY_DEFERRED => 0x00000010
676             , SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE => 0x00000020
677             , SQL_CA_CONSTRAINT_DEFERRABLE => 0x00000040
678             , SQL_CA_CONSTRAINT_NON_DEFERRABLE => 0x00000080
679             };
680             $ReturnValues{SQL_CREATE_CHARACTER_SET} =
681             {
682             SQL_CCS_CREATE_CHARACTER_SET => 0x00000001
683             , SQL_CCS_COLLATE_CLAUSE => 0x00000002
684             , SQL_CCS_LIMITED_COLLATION => 0x00000004
685             };
686             $ReturnValues{SQL_CREATE_COLLATION} =
687             {
688             SQL_CCOL_CREATE_COLLATION => 0x00000001
689             };
690             $ReturnValues{SQL_CREATE_DOMAIN} =
691             {
692             SQL_CDO_CREATE_DOMAIN => 0x00000001
693             , SQL_CDO_DEFAULT => 0x00000002
694             , SQL_CDO_CONSTRAINT => 0x00000004
695             , SQL_CDO_COLLATION => 0x00000008
696             , SQL_CDO_CONSTRAINT_NAME_DEFINITION => 0x00000010
697             , SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED => 0x00000020
698             , SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE => 0x00000040
699             , SQL_CDO_CONSTRAINT_DEFERRABLE => 0x00000080
700             , SQL_CDO_CONSTRAINT_NON_DEFERRABLE => 0x00000100
701             };
702             $ReturnValues{SQL_CREATE_SCHEMA} =
703             {
704             SQL_CS_CREATE_SCHEMA => 0x00000001
705             , SQL_CS_AUTHORIZATION => 0x00000002
706             , SQL_CS_DEFAULT_CHARACTER_SET => 0x00000004
707             };
708             $ReturnValues{SQL_CREATE_TABLE} =
709             {
710             SQL_CT_CREATE_TABLE => 0x00000001
711             , SQL_CT_COMMIT_PRESERVE => 0x00000002
712             , SQL_CT_COMMIT_DELETE => 0x00000004
713             , SQL_CT_GLOBAL_TEMPORARY => 0x00000008
714             , SQL_CT_LOCAL_TEMPORARY => 0x00000010
715             , SQL_CT_CONSTRAINT_INITIALLY_DEFERRED => 0x00000020
716             , SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE => 0x00000040
717             , SQL_CT_CONSTRAINT_DEFERRABLE => 0x00000080
718             , SQL_CT_CONSTRAINT_NON_DEFERRABLE => 0x00000100
719             , SQL_CT_COLUMN_CONSTRAINT => 0x00000200
720             , SQL_CT_COLUMN_DEFAULT => 0x00000400
721             , SQL_CT_COLUMN_COLLATION => 0x00000800
722             , SQL_CT_TABLE_CONSTRAINT => 0x00001000
723             , SQL_CT_CONSTRAINT_NAME_DEFINITION => 0x00002000
724             };
725             $ReturnValues{SQL_CREATE_TRANSLATION} =
726             {
727             SQL_CTR_CREATE_TRANSLATION => 0x00000001
728             };
729             $ReturnValues{SQL_CREATE_VIEW} =
730             {
731             SQL_CV_CREATE_VIEW => 0x00000001
732             , SQL_CV_CHECK_OPTION => 0x00000002
733             , SQL_CV_CASCADED => 0x00000004
734             , SQL_CV_LOCAL => 0x00000008
735             };
736             $ReturnValues{SQL_CURSOR_COMMIT_BEHAVIOR} =
737             {
738             SQL_CB_DELETE => 0
739             , SQL_CB_CLOSE => 1
740             , SQL_CB_PRESERVE => 2
741             };
742             $ReturnValues{SQL_CURSOR_ROLLBACK_BEHAVIOR} = $ReturnValues{SQL_CURSOR_COMMIT_BEHAVIOR};
743              
744             $ReturnValues{SQL_CURSOR_SENSITIVITY} =
745             {
746             SQL_UNSPECIFIED => 0
747             , SQL_INSENSITIVE => 1
748             , SQL_SENSITIVE => 2
749             };
750             $ReturnValues{SQL_DATETIME_LITERALS} =
751             {
752             SQL_DL_SQL92_DATE => 0x00000001
753             , SQL_DL_SQL92_TIME => 0x00000002
754             , SQL_DL_SQL92_TIMESTAMP => 0x00000004
755             , SQL_DL_SQL92_INTERVAL_YEAR => 0x00000008
756             , SQL_DL_SQL92_INTERVAL_MONTH => 0x00000010
757             , SQL_DL_SQL92_INTERVAL_DAY => 0x00000020
758             , SQL_DL_SQL92_INTERVAL_HOUR => 0x00000040
759             , SQL_DL_SQL92_INTERVAL_MINUTE => 0x00000080
760             , SQL_DL_SQL92_INTERVAL_SECOND => 0x00000100
761             , SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH => 0x00000200
762             , SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR => 0x00000400
763             , SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE => 0x00000800
764             , SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND => 0x00001000
765             , SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE => 0x00002000
766             , SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND => 0x00004000
767             , SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND => 0x00008000
768             };
769             $ReturnValues{SQL_DDL_INDEX} =
770             {
771             SQL_DI_CREATE_INDEX => 0x00000001
772             , SQL_DI_DROP_INDEX => 0x00000002
773             };
774             $ReturnValues{SQL_DIAG_CURSOR_ROW_COUNT} =
775             {
776             SQL_CA2_CRC_EXACT => 0x00001000
777             , SQL_CA2_CRC_APPROXIMATE => 0x00002000
778             , SQL_CA2_SIMULATE_NON_UNIQUE => 0x00004000
779             , SQL_CA2_SIMULATE_TRY_UNIQUE => 0x00008000
780             , SQL_CA2_SIMULATE_UNIQUE => 0x00010000
781             };
782             $ReturnValues{SQL_DROP_ASSERTION} =
783             {
784             SQL_DA_DROP_ASSERTION => 0x00000001
785             };
786             $ReturnValues{SQL_DROP_CHARACTER_SET} =
787             {
788             SQL_DCS_DROP_CHARACTER_SET => 0x00000001
789             };
790             $ReturnValues{SQL_DROP_COLLATION} =
791             {
792             SQL_DC_DROP_COLLATION => 0x00000001
793             };
794             $ReturnValues{SQL_DROP_DOMAIN} =
795             {
796             SQL_DD_DROP_DOMAIN => 0x00000001
797             , SQL_DD_RESTRICT => 0x00000002
798             , SQL_DD_CASCADE => 0x00000004
799             };
800             $ReturnValues{SQL_DROP_SCHEMA} =
801             {
802             SQL_DS_DROP_SCHEMA => 0x00000001
803             , SQL_DS_RESTRICT => 0x00000002
804             , SQL_DS_CASCADE => 0x00000004
805             };
806             $ReturnValues{SQL_DROP_TABLE} =
807             {
808             SQL_DT_DROP_TABLE => 0x00000001
809             , SQL_DT_RESTRICT => 0x00000002
810             , SQL_DT_CASCADE => 0x00000004
811             };
812             $ReturnValues{SQL_DROP_TRANSLATION} =
813             {
814             SQL_DTR_DROP_TRANSLATION => 0x00000001
815             };
816             $ReturnValues{SQL_DROP_VIEW} =
817             {
818             SQL_DV_DROP_VIEW => 0x00000001
819             , SQL_DV_RESTRICT => 0x00000002
820             , SQL_DV_CASCADE => 0x00000004
821             };
822             $ReturnValues{SQL_CURSOR_ATTRIBUTES1} =
823             {
824             SQL_CA1_NEXT => 0x00000001
825             , SQL_CA1_ABSOLUTE => 0x00000002
826             , SQL_CA1_RELATIVE => 0x00000004
827             , SQL_CA1_BOOKMARK => 0x00000008
828             , SQL_CA1_LOCK_NO_CHANGE => 0x00000040
829             , SQL_CA1_LOCK_EXCLUSIVE => 0x00000080
830             , SQL_CA1_LOCK_UNLOCK => 0x00000100
831             , SQL_CA1_POS_POSITION => 0x00000200
832             , SQL_CA1_POS_UPDATE => 0x00000400
833             , SQL_CA1_POS_DELETE => 0x00000800
834             , SQL_CA1_POS_REFRESH => 0x00001000
835             , SQL_CA1_POSITIONED_UPDATE => 0x00002000
836             , SQL_CA1_POSITIONED_DELETE => 0x00004000
837             , SQL_CA1_SELECT_FOR_UPDATE => 0x00008000
838             , SQL_CA1_BULK_ADD => 0x00010000
839             , SQL_CA1_BULK_UPDATE_BY_BOOKMARK => 0x00020000
840             , SQL_CA1_BULK_DELETE_BY_BOOKMARK => 0x00040000
841             , SQL_CA1_BULK_FETCH_BY_BOOKMARK => 0x00080000
842             };
843             $ReturnValues{ SQL_DYNAMIC_CURSOR_ATTRIBUTES1} = $ReturnValues{SQL_CURSOR_ATTRIBUTES1};
844             $ReturnValues{SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1} = $ReturnValues{SQL_CURSOR_ATTRIBUTES1};
845             $ReturnValues{ SQL_KEYSET_CURSOR_ATTRIBUTES1} = $ReturnValues{SQL_CURSOR_ATTRIBUTES1};
846             $ReturnValues{ SQL_STATIC_CURSOR_ATTRIBUTES1} = $ReturnValues{SQL_CURSOR_ATTRIBUTES1};
847              
848             $ReturnValues{SQL_CURSOR_ATTRIBUTES2} =
849             {
850             SQL_CA2_READ_ONLY_CONCURRENCY => 0x00000001
851             , SQL_CA2_LOCK_CONCURRENCY => 0x00000002
852             , SQL_CA2_OPT_ROWVER_CONCURRENCY => 0x00000004
853             , SQL_CA2_OPT_VALUES_CONCURRENCY => 0x00000008
854             , SQL_CA2_SENSITIVITY_ADDITIONS => 0x00000010
855             , SQL_CA2_SENSITIVITY_DELETIONS => 0x00000020
856             , SQL_CA2_SENSITIVITY_UPDATES => 0x00000040
857             , SQL_CA2_MAX_ROWS_SELECT => 0x00000080
858             , SQL_CA2_MAX_ROWS_INSERT => 0x00000100
859             , SQL_CA2_MAX_ROWS_DELETE => 0x00000200
860             , SQL_CA2_MAX_ROWS_UPDATE => 0x00000400
861             , SQL_CA2_MAX_ROWS_CATALOG => 0x00000800
862             , SQL_CA2_CRC_EXACT => 0x00001000
863             , SQL_CA2_CRC_APPROXIMATE => 0x00002000
864             , SQL_CA2_SIMULATE_NON_UNIQUE => 0x00004000
865             , SQL_CA2_SIMULATE_TRY_UNIQUE => 0x00008000
866             , SQL_CA2_SIMULATE_UNIQUE => 0x00010000
867             };
868             $ReturnValues{ SQL_DYNAMIC_CURSOR_ATTRIBUTES2} = $ReturnValues{SQL_CURSOR_ATTRIBUTES2};
869             $ReturnValues{SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2} = $ReturnValues{SQL_CURSOR_ATTRIBUTES2};
870             $ReturnValues{ SQL_KEYSET_CURSOR_ATTRIBUTES2} = $ReturnValues{SQL_CURSOR_ATTRIBUTES2};
871             $ReturnValues{ SQL_STATIC_CURSOR_ATTRIBUTES2} = $ReturnValues{SQL_CURSOR_ATTRIBUTES2};
872              
873             $ReturnValues{SQL_FETCH_DIRECTION} =
874             {
875             SQL_FD_FETCH_NEXT => 0x00000001
876             , SQL_FD_FETCH_FIRST => 0x00000002
877             , SQL_FD_FETCH_LAST => 0x00000004
878             , SQL_FD_FETCH_PRIOR => 0x00000008
879             , SQL_FD_FETCH_ABSOLUTE => 0x00000010
880             , SQL_FD_FETCH_RELATIVE => 0x00000020
881             , SQL_FD_FETCH_RESUME => 0x00000040
882             , SQL_FD_FETCH_BOOKMARK => 0x00000080
883             };
884             $ReturnValues{SQL_FILE_USAGE} =
885             {
886             SQL_FILE_NOT_SUPPORTED => 0x0000
887             , SQL_FILE_TABLE => 0x0001
888             , SQL_FILE_QUALIFIER => 0x0002
889             , SQL_FILE_CATALOG => 0x0002 # SQL_FILE_QUALIFIER
890             };
891             $ReturnValues{SQL_GETDATA_EXTENSIONS} =
892             {
893             SQL_GD_ANY_COLUMN => 0x00000001
894             , SQL_GD_ANY_ORDER => 0x00000002
895             , SQL_GD_BLOCK => 0x00000004
896             , SQL_GD_BOUND => 0x00000008
897             };
898             $ReturnValues{SQL_GROUP_BY} =
899             {
900             SQL_GB_NOT_SUPPORTED => 0x0000
901             , SQL_GB_GROUP_BY_EQUALS_SELECT => 0x0001
902             , SQL_GB_GROUP_BY_CONTAINS_SELECT => 0x0002
903             , SQL_GB_NO_RELATION => 0x0003
904             , SQL_GB_COLLATE => 0x0004
905             };
906             $ReturnValues{SQL_IDENTIFIER_CASE} =
907             {
908             SQL_IC_UPPER => 1
909             , SQL_IC_LOWER => 2
910             , SQL_IC_SENSITIVE => 3
911             , SQL_IC_MIXED => 4
912             };
913             $ReturnValues{SQL_INDEX_KEYWORDS} =
914             {
915             SQL_IK_NONE => 0x00000000
916             , SQL_IK_ASC => 0x00000001
917             , SQL_IK_DESC => 0x00000002
918             # SQL_IK_ALL =>
919             };
920             $ReturnValues{SQL_INFO_SCHEMA_VIEWS} =
921             {
922             SQL_ISV_ASSERTIONS => 0x00000001
923             , SQL_ISV_CHARACTER_SETS => 0x00000002
924             , SQL_ISV_CHECK_CONSTRAINTS => 0x00000004
925             , SQL_ISV_COLLATIONS => 0x00000008
926             , SQL_ISV_COLUMN_DOMAIN_USAGE => 0x00000010
927             , SQL_ISV_COLUMN_PRIVILEGES => 0x00000020
928             , SQL_ISV_COLUMNS => 0x00000040
929             , SQL_ISV_CONSTRAINT_COLUMN_USAGE => 0x00000080
930             , SQL_ISV_CONSTRAINT_TABLE_USAGE => 0x00000100
931             , SQL_ISV_DOMAIN_CONSTRAINTS => 0x00000200
932             , SQL_ISV_DOMAINS => 0x00000400
933             , SQL_ISV_KEY_COLUMN_USAGE => 0x00000800
934             , SQL_ISV_REFERENTIAL_CONSTRAINTS => 0x00001000
935             , SQL_ISV_SCHEMATA => 0x00002000
936             , SQL_ISV_SQL_LANGUAGES => 0x00004000
937             , SQL_ISV_TABLE_CONSTRAINTS => 0x00008000
938             , SQL_ISV_TABLE_PRIVILEGES => 0x00010000
939             , SQL_ISV_TABLES => 0x00020000
940             , SQL_ISV_TRANSLATIONS => 0x00040000
941             , SQL_ISV_USAGE_PRIVILEGES => 0x00080000
942             , SQL_ISV_VIEW_COLUMN_USAGE => 0x00100000
943             , SQL_ISV_VIEW_TABLE_USAGE => 0x00200000
944             , SQL_ISV_VIEWS => 0x00400000
945             };
946             $ReturnValues{SQL_INSERT_STATEMENT} =
947             {
948             SQL_IS_INSERT_LITERALS => 0x00000001
949             , SQL_IS_INSERT_SEARCHED => 0x00000002
950             , SQL_IS_SELECT_INTO => 0x00000004
951             };
952             $ReturnValues{SQL_LOCK_TYPES} =
953             {
954             SQL_LCK_NO_CHANGE => 0x00000001
955             , SQL_LCK_EXCLUSIVE => 0x00000002
956             , SQL_LCK_UNLOCK => 0x00000004
957             };
958             $ReturnValues{SQL_NON_NULLABLE_COLUMNS} =
959             {
960             SQL_NNC_NULL => 0x0000
961             , SQL_NNC_NON_NULL => 0x0001
962             };
963             $ReturnValues{SQL_NULL_COLLATION} =
964             {
965             SQL_NC_HIGH => 0
966             , SQL_NC_LOW => 1
967             , SQL_NC_START => 0x0002
968             , SQL_NC_END => 0x0004
969             };
970             $ReturnValues{SQL_NUMERIC_FUNCTIONS} =
971             {
972             SQL_FN_NUM_ABS => 0x00000001
973             , SQL_FN_NUM_ACOS => 0x00000002
974             , SQL_FN_NUM_ASIN => 0x00000004
975             , SQL_FN_NUM_ATAN => 0x00000008
976             , SQL_FN_NUM_ATAN2 => 0x00000010
977             , SQL_FN_NUM_CEILING => 0x00000020
978             , SQL_FN_NUM_COS => 0x00000040
979             , SQL_FN_NUM_COT => 0x00000080
980             , SQL_FN_NUM_EXP => 0x00000100
981             , SQL_FN_NUM_FLOOR => 0x00000200
982             , SQL_FN_NUM_LOG => 0x00000400
983             , SQL_FN_NUM_MOD => 0x00000800
984             , SQL_FN_NUM_SIGN => 0x00001000
985             , SQL_FN_NUM_SIN => 0x00002000
986             , SQL_FN_NUM_SQRT => 0x00004000
987             , SQL_FN_NUM_TAN => 0x00008000
988             , SQL_FN_NUM_PI => 0x00010000
989             , SQL_FN_NUM_RAND => 0x00020000
990             , SQL_FN_NUM_DEGREES => 0x00040000
991             , SQL_FN_NUM_LOG10 => 0x00080000
992             , SQL_FN_NUM_POWER => 0x00100000
993             , SQL_FN_NUM_RADIANS => 0x00200000
994             , SQL_FN_NUM_ROUND => 0x00400000
995             , SQL_FN_NUM_TRUNCATE => 0x00800000
996             };
997             $ReturnValues{SQL_ODBC_API_CONFORMANCE} =
998             {
999             SQL_OAC_NONE => 0x0000
1000             , SQL_OAC_LEVEL1 => 0x0001
1001             , SQL_OAC_LEVEL2 => 0x0002
1002             };
1003             $ReturnValues{SQL_ODBC_INTERFACE_CONFORMANCE} =
1004             {
1005             SQL_OIC_CORE => 1
1006             , SQL_OIC_LEVEL1 => 2
1007             , SQL_OIC_LEVEL2 => 3
1008             };
1009             $ReturnValues{SQL_ODBC_SAG_CLI_CONFORMANCE} =
1010             {
1011             SQL_OSCC_NOT_COMPLIANT => 0x0000
1012             , SQL_OSCC_COMPLIANT => 0x0001
1013             };
1014             $ReturnValues{SQL_ODBC_SQL_CONFORMANCE} =
1015             {
1016             SQL_OSC_MINIMUM => 0x0000
1017             , SQL_OSC_CORE => 0x0001
1018             , SQL_OSC_EXTENDED => 0x0002
1019             };
1020             $ReturnValues{SQL_OJ_CAPABILITIES} =
1021             {
1022             SQL_OJ_LEFT => 0x00000001
1023             , SQL_OJ_RIGHT => 0x00000002
1024             , SQL_OJ_FULL => 0x00000004
1025             , SQL_OJ_NESTED => 0x00000008
1026             , SQL_OJ_NOT_ORDERED => 0x00000010
1027             , SQL_OJ_INNER => 0x00000020
1028             , SQL_OJ_ALL_COMPARISON_OPS => 0x00000040
1029             };
1030             $ReturnValues{SQL_OWNER_USAGE} =
1031             {
1032             SQL_OU_DML_STATEMENTS => 0x00000001
1033             , SQL_OU_PROCEDURE_INVOCATION => 0x00000002
1034             , SQL_OU_TABLE_DEFINITION => 0x00000004
1035             , SQL_OU_INDEX_DEFINITION => 0x00000008
1036             , SQL_OU_PRIVILEGE_DEFINITION => 0x00000010
1037             };
1038             $ReturnValues{SQL_PARAM_ARRAY_ROW_COUNTS} =
1039             {
1040             SQL_PARC_BATCH => 1
1041             , SQL_PARC_NO_BATCH => 2
1042             };
1043             $ReturnValues{SQL_PARAM_ARRAY_SELECTS} =
1044             {
1045             SQL_PAS_BATCH => 1
1046             , SQL_PAS_NO_BATCH => 2
1047             , SQL_PAS_NO_SELECT => 3
1048             };
1049             $ReturnValues{SQL_POSITIONED_STATEMENTS} =
1050             {
1051             SQL_PS_POSITIONED_DELETE => 0x00000001
1052             , SQL_PS_POSITIONED_UPDATE => 0x00000002
1053             , SQL_PS_SELECT_FOR_UPDATE => 0x00000004
1054             };
1055             $ReturnValues{SQL_POS_OPERATIONS} =
1056             {
1057             SQL_POS_POSITION => 0x00000001
1058             , SQL_POS_REFRESH => 0x00000002
1059             , SQL_POS_UPDATE => 0x00000004
1060             , SQL_POS_DELETE => 0x00000008
1061             , SQL_POS_ADD => 0x00000010
1062             };
1063             $ReturnValues{SQL_QUALIFIER_LOCATION} =
1064             {
1065             SQL_QL_START => 0x0001
1066             , SQL_QL_END => 0x0002
1067             };
1068             $ReturnValues{SQL_QUALIFIER_USAGE} =
1069             {
1070             SQL_QU_DML_STATEMENTS => 0x00000001
1071             , SQL_QU_PROCEDURE_INVOCATION => 0x00000002
1072             , SQL_QU_TABLE_DEFINITION => 0x00000004
1073             , SQL_QU_INDEX_DEFINITION => 0x00000008
1074             , SQL_QU_PRIVILEGE_DEFINITION => 0x00000010
1075             };
1076             $ReturnValues{SQL_QUOTED_IDENTIFIER_CASE} = $ReturnValues{SQL_IDENTIFIER_CASE};
1077              
1078             $ReturnValues{SQL_SCHEMA_USAGE} =
1079             {
1080             SQL_SU_DML_STATEMENTS => 0x00000001 # SQL_OU_DML_STATEMENTS
1081             , SQL_SU_PROCEDURE_INVOCATION => 0x00000002 # SQL_OU_PROCEDURE_INVOCATION
1082             , SQL_SU_TABLE_DEFINITION => 0x00000004 # SQL_OU_TABLE_DEFINITION
1083             , SQL_SU_INDEX_DEFINITION => 0x00000008 # SQL_OU_INDEX_DEFINITION
1084             , SQL_SU_PRIVILEGE_DEFINITION => 0x00000010 # SQL_OU_PRIVILEGE_DEFINITION
1085             };
1086             $ReturnValues{SQL_SCROLL_CONCURRENCY} =
1087             {
1088             SQL_SCCO_READ_ONLY => 0x00000001
1089             , SQL_SCCO_LOCK => 0x00000002
1090             , SQL_SCCO_OPT_ROWVER => 0x00000004
1091             , SQL_SCCO_OPT_VALUES => 0x00000008
1092             };
1093             $ReturnValues{SQL_SCROLL_OPTIONS} =
1094             {
1095             SQL_SO_FORWARD_ONLY => 0x00000001
1096             , SQL_SO_KEYSET_DRIVEN => 0x00000002
1097             , SQL_SO_DYNAMIC => 0x00000004
1098             , SQL_SO_MIXED => 0x00000008
1099             , SQL_SO_STATIC => 0x00000010
1100             };
1101             $ReturnValues{SQL_SQL92_DATETIME_FUNCTIONS} =
1102             {
1103             SQL_SDF_CURRENT_DATE => 0x00000001
1104             , SQL_SDF_CURRENT_TIME => 0x00000002
1105             , SQL_SDF_CURRENT_TIMESTAMP => 0x00000004
1106             };
1107             $ReturnValues{SQL_SQL92_FOREIGN_KEY_DELETE_RULE} =
1108             {
1109             SQL_SFKD_CASCADE => 0x00000001
1110             , SQL_SFKD_NO_ACTION => 0x00000002
1111             , SQL_SFKD_SET_DEFAULT => 0x00000004
1112             , SQL_SFKD_SET_NULL => 0x00000008
1113             };
1114             $ReturnValues{SQL_SQL92_FOREIGN_KEY_UPDATE_RULE} =
1115             {
1116             SQL_SFKU_CASCADE => 0x00000001
1117             , SQL_SFKU_NO_ACTION => 0x00000002
1118             , SQL_SFKU_SET_DEFAULT => 0x00000004
1119             , SQL_SFKU_SET_NULL => 0x00000008
1120             };
1121             $ReturnValues{SQL_SQL92_GRANT} =
1122             {
1123             SQL_SG_USAGE_ON_DOMAIN => 0x00000001
1124             , SQL_SG_USAGE_ON_CHARACTER_SET => 0x00000002
1125             , SQL_SG_USAGE_ON_COLLATION => 0x00000004
1126             , SQL_SG_USAGE_ON_TRANSLATION => 0x00000008
1127             , SQL_SG_WITH_GRANT_OPTION => 0x00000010
1128             , SQL_SG_DELETE_TABLE => 0x00000020
1129             , SQL_SG_INSERT_TABLE => 0x00000040
1130             , SQL_SG_INSERT_COLUMN => 0x00000080
1131             , SQL_SG_REFERENCES_TABLE => 0x00000100
1132             , SQL_SG_REFERENCES_COLUMN => 0x00000200
1133             , SQL_SG_SELECT_TABLE => 0x00000400
1134             , SQL_SG_UPDATE_TABLE => 0x00000800
1135             , SQL_SG_UPDATE_COLUMN => 0x00001000
1136             };
1137             $ReturnValues{SQL_SQL92_NUMERIC_VALUE_FUNCTIONS} =
1138             {
1139             SQL_SNVF_BIT_LENGTH => 0x00000001
1140             , SQL_SNVF_CHAR_LENGTH => 0x00000002
1141             , SQL_SNVF_CHARACTER_LENGTH => 0x00000004
1142             , SQL_SNVF_EXTRACT => 0x00000008
1143             , SQL_SNVF_OCTET_LENGTH => 0x00000010
1144             , SQL_SNVF_POSITION => 0x00000020
1145             };
1146             $ReturnValues{SQL_SQL92_PREDICATES} =
1147             {
1148             SQL_SP_EXISTS => 0x00000001
1149             , SQL_SP_ISNOTNULL => 0x00000002
1150             , SQL_SP_ISNULL => 0x00000004
1151             , SQL_SP_MATCH_FULL => 0x00000008
1152             , SQL_SP_MATCH_PARTIAL => 0x00000010
1153             , SQL_SP_MATCH_UNIQUE_FULL => 0x00000020
1154             , SQL_SP_MATCH_UNIQUE_PARTIAL => 0x00000040
1155             , SQL_SP_OVERLAPS => 0x00000080
1156             , SQL_SP_UNIQUE => 0x00000100
1157             , SQL_SP_LIKE => 0x00000200
1158             , SQL_SP_IN => 0x00000400
1159             , SQL_SP_BETWEEN => 0x00000800
1160             , SQL_SP_COMPARISON => 0x00001000
1161             , SQL_SP_QUANTIFIED_COMPARISON => 0x00002000
1162             };
1163             $ReturnValues{SQL_SQL92_RELATIONAL_JOIN_OPERATORS} =
1164             {
1165             SQL_SRJO_CORRESPONDING_CLAUSE => 0x00000001
1166             , SQL_SRJO_CROSS_JOIN => 0x00000002
1167             , SQL_SRJO_EXCEPT_JOIN => 0x00000004
1168             , SQL_SRJO_FULL_OUTER_JOIN => 0x00000008
1169             , SQL_SRJO_INNER_JOIN => 0x00000010
1170             , SQL_SRJO_INTERSECT_JOIN => 0x00000020
1171             , SQL_SRJO_LEFT_OUTER_JOIN => 0x00000040
1172             , SQL_SRJO_NATURAL_JOIN => 0x00000080
1173             , SQL_SRJO_RIGHT_OUTER_JOIN => 0x00000100
1174             , SQL_SRJO_UNION_JOIN => 0x00000200
1175             };
1176             $ReturnValues{SQL_SQL92_REVOKE} =
1177             {
1178             SQL_SR_USAGE_ON_DOMAIN => 0x00000001
1179             , SQL_SR_USAGE_ON_CHARACTER_SET => 0x00000002
1180             , SQL_SR_USAGE_ON_COLLATION => 0x00000004
1181             , SQL_SR_USAGE_ON_TRANSLATION => 0x00000008
1182             , SQL_SR_GRANT_OPTION_FOR => 0x00000010
1183             , SQL_SR_CASCADE => 0x00000020
1184             , SQL_SR_RESTRICT => 0x00000040
1185             , SQL_SR_DELETE_TABLE => 0x00000080
1186             , SQL_SR_INSERT_TABLE => 0x00000100
1187             , SQL_SR_INSERT_COLUMN => 0x00000200
1188             , SQL_SR_REFERENCES_TABLE => 0x00000400
1189             , SQL_SR_REFERENCES_COLUMN => 0x00000800
1190             , SQL_SR_SELECT_TABLE => 0x00001000
1191             , SQL_SR_UPDATE_TABLE => 0x00002000
1192             , SQL_SR_UPDATE_COLUMN => 0x00004000
1193             };
1194             $ReturnValues{SQL_SQL92_ROW_VALUE_CONSTRUCTOR} =
1195             {
1196             SQL_SRVC_VALUE_EXPRESSION => 0x00000001
1197             , SQL_SRVC_NULL => 0x00000002
1198             , SQL_SRVC_DEFAULT => 0x00000004
1199             , SQL_SRVC_ROW_SUBQUERY => 0x00000008
1200             };
1201             $ReturnValues{SQL_SQL92_STRING_FUNCTIONS} =
1202             {
1203             SQL_SSF_CONVERT => 0x00000001
1204             , SQL_SSF_LOWER => 0x00000002
1205             , SQL_SSF_UPPER => 0x00000004
1206             , SQL_SSF_SUBSTRING => 0x00000008
1207             , SQL_SSF_TRANSLATE => 0x00000010
1208             , SQL_SSF_TRIM_BOTH => 0x00000020
1209             , SQL_SSF_TRIM_LEADING => 0x00000040
1210             , SQL_SSF_TRIM_TRAILING => 0x00000080
1211             };
1212             $ReturnValues{SQL_SQL92_VALUE_EXPRESSIONS} =
1213             {
1214             SQL_SVE_CASE => 0x00000001
1215             , SQL_SVE_CAST => 0x00000002
1216             , SQL_SVE_COALESCE => 0x00000004
1217             , SQL_SVE_NULLIF => 0x00000008
1218             };
1219             $ReturnValues{SQL_SQL_CONFORMANCE} =
1220             {
1221             SQL_SC_SQL92_ENTRY => 0x00000001
1222             , SQL_SC_FIPS127_2_TRANSITIONAL => 0x00000002
1223             , SQL_SC_SQL92_INTERMEDIATE => 0x00000004
1224             , SQL_SC_SQL92_FULL => 0x00000008
1225             };
1226             $ReturnValues{SQL_STANDARD_CLI_CONFORMANCE} =
1227             {
1228             SQL_SCC_XOPEN_CLI_VERSION1 => 0x00000001
1229             , SQL_SCC_ISO92_CLI => 0x00000002
1230             };
1231             $ReturnValues{SQL_STATIC_SENSITIVITY} =
1232             {
1233             SQL_SS_ADDITIONS => 0x00000001
1234             , SQL_SS_DELETIONS => 0x00000002
1235             , SQL_SS_UPDATES => 0x00000004
1236             };
1237             $ReturnValues{SQL_STRING_FUNCTIONS} =
1238             {
1239             SQL_FN_STR_CONCAT => 0x00000001
1240             , SQL_FN_STR_INSERT => 0x00000002
1241             , SQL_FN_STR_LEFT => 0x00000004
1242             , SQL_FN_STR_LTRIM => 0x00000008
1243             , SQL_FN_STR_LENGTH => 0x00000010
1244             , SQL_FN_STR_LOCATE => 0x00000020
1245             , SQL_FN_STR_LCASE => 0x00000040
1246             , SQL_FN_STR_REPEAT => 0x00000080
1247             , SQL_FN_STR_REPLACE => 0x00000100
1248             , SQL_FN_STR_RIGHT => 0x00000200
1249             , SQL_FN_STR_RTRIM => 0x00000400
1250             , SQL_FN_STR_SUBSTRING => 0x00000800
1251             , SQL_FN_STR_UCASE => 0x00001000
1252             , SQL_FN_STR_ASCII => 0x00002000
1253             , SQL_FN_STR_CHAR => 0x00004000
1254             , SQL_FN_STR_DIFFERENCE => 0x00008000
1255             , SQL_FN_STR_LOCATE_2 => 0x00010000
1256             , SQL_FN_STR_SOUNDEX => 0x00020000
1257             , SQL_FN_STR_SPACE => 0x00040000
1258             , SQL_FN_STR_BIT_LENGTH => 0x00080000
1259             , SQL_FN_STR_CHAR_LENGTH => 0x00100000
1260             , SQL_FN_STR_CHARACTER_LENGTH => 0x00200000
1261             , SQL_FN_STR_OCTET_LENGTH => 0x00400000
1262             , SQL_FN_STR_POSITION => 0x00800000
1263             };
1264             $ReturnValues{SQL_SUBQUERIES} =
1265             {
1266             SQL_SQ_COMPARISON => 0x00000001
1267             , SQL_SQ_EXISTS => 0x00000002
1268             , SQL_SQ_IN => 0x00000004
1269             , SQL_SQ_QUANTIFIED => 0x00000008
1270             , SQL_SQ_CORRELATED_SUBQUERIES => 0x00000010
1271             };
1272             $ReturnValues{SQL_SYSTEM_FUNCTIONS} =
1273             {
1274             SQL_FN_SYS_USERNAME => 0x00000001
1275             , SQL_FN_SYS_DBNAME => 0x00000002
1276             , SQL_FN_SYS_IFNULL => 0x00000004
1277             };
1278             $ReturnValues{SQL_TIMEDATE_ADD_INTERVALS} =
1279             {
1280             SQL_FN_TSI_FRAC_SECOND => 0x00000001
1281             , SQL_FN_TSI_SECOND => 0x00000002
1282             , SQL_FN_TSI_MINUTE => 0x00000004
1283             , SQL_FN_TSI_HOUR => 0x00000008
1284             , SQL_FN_TSI_DAY => 0x00000010
1285             , SQL_FN_TSI_WEEK => 0x00000020
1286             , SQL_FN_TSI_MONTH => 0x00000040
1287             , SQL_FN_TSI_QUARTER => 0x00000080
1288             , SQL_FN_TSI_YEAR => 0x00000100
1289             };
1290             $ReturnValues{SQL_TIMEDATE_FUNCTIONS} =
1291             {
1292             SQL_FN_TD_NOW => 0x00000001
1293             , SQL_FN_TD_CURDATE => 0x00000002
1294             , SQL_FN_TD_DAYOFMONTH => 0x00000004
1295             , SQL_FN_TD_DAYOFWEEK => 0x00000008
1296             , SQL_FN_TD_DAYOFYEAR => 0x00000010
1297             , SQL_FN_TD_MONTH => 0x00000020
1298             , SQL_FN_TD_QUARTER => 0x00000040
1299             , SQL_FN_TD_WEEK => 0x00000080
1300             , SQL_FN_TD_YEAR => 0x00000100
1301             , SQL_FN_TD_CURTIME => 0x00000200
1302             , SQL_FN_TD_HOUR => 0x00000400
1303             , SQL_FN_TD_MINUTE => 0x00000800
1304             , SQL_FN_TD_SECOND => 0x00001000
1305             , SQL_FN_TD_TIMESTAMPADD => 0x00002000
1306             , SQL_FN_TD_TIMESTAMPDIFF => 0x00004000
1307             , SQL_FN_TD_DAYNAME => 0x00008000
1308             , SQL_FN_TD_MONTHNAME => 0x00010000
1309             , SQL_FN_TD_CURRENT_DATE => 0x00020000
1310             , SQL_FN_TD_CURRENT_TIME => 0x00040000
1311             , SQL_FN_TD_CURRENT_TIMESTAMP => 0x00080000
1312             , SQL_FN_TD_EXTRACT => 0x00100000
1313             };
1314             $ReturnValues{SQL_TXN_CAPABLE} =
1315             {
1316             SQL_TC_NONE => 0
1317             , SQL_TC_DML => 1
1318             , SQL_TC_ALL => 2
1319             , SQL_TC_DDL_COMMIT => 3
1320             , SQL_TC_DDL_IGNORE => 4
1321             };
1322             $ReturnValues{SQL_TRANSACTION_ISOLATION_OPTION} =
1323             {
1324             SQL_TRANSACTION_READ_UNCOMMITTED => 0x00000001 # SQL_TXN_READ_UNCOMMITTED
1325             , SQL_TRANSACTION_READ_COMMITTED => 0x00000002 # SQL_TXN_READ_COMMITTED
1326             , SQL_TRANSACTION_REPEATABLE_READ => 0x00000004 # SQL_TXN_REPEATABLE_READ
1327             , SQL_TRANSACTION_SERIALIZABLE => 0x00000008 # SQL_TXN_SERIALIZABLE
1328             };
1329             $ReturnValues{SQL_DEFAULT_TRANSACTION_ISOLATION} = $ReturnValues{SQL_TRANSACTION_ISOLATION_OPTION};
1330              
1331             $ReturnValues{SQL_TXN_ISOLATION_OPTION} =
1332             {
1333             SQL_TXN_READ_UNCOMMITTED => 0x00000001
1334             , SQL_TXN_READ_COMMITTED => 0x00000002
1335             , SQL_TXN_REPEATABLE_READ => 0x00000004
1336             , SQL_TXN_SERIALIZABLE => 0x00000008
1337             };
1338             $ReturnValues{SQL_DEFAULT_TXN_ISOLATION} = $ReturnValues{SQL_TXN_ISOLATION_OPTION};
1339              
1340             $ReturnValues{SQL_TXN_VERSIONING} =
1341             {
1342             SQL_TXN_VERSIONING => 0x00000010
1343             };
1344             $ReturnValues{SQL_UNION} =
1345             {
1346             SQL_U_UNION => 0x00000001
1347             , SQL_U_UNION_ALL => 0x00000002
1348             };
1349             $ReturnValues{SQL_UNION_STATEMENT} =
1350             {
1351             SQL_US_UNION => 0x00000001 # SQL_U_UNION
1352             , SQL_US_UNION_ALL => 0x00000002 # SQL_U_UNION_ALL
1353             };
1354              
1355             1;
1356              
1357             =head1 TODO
1358              
1359             Corrections?
1360             SQL_NULL_COLLATION: ODBC vs ANSI
1361             Unique values for $ReturnValues{...}?, e.g. SQL_FILE_USAGE
1362              
1363             =cut