1 ;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Package: odbc -*-
2 ;;;; *************************************************************************
3 ;;;; FILE IDENTIFICATION
5 ;;;; Name: odbc-constants.lisp
6 ;;;; Purpose: Constants for UFFI interface to ODBC
7 ;;;; Authors: Kevin M. Rosenberg and Paul Meurer
9 ;;;; This file, part of CLSQL, is Copyright (c) 2004 by Kevin M. Rosenberg
10 ;;;; and Copyright (C) Paul Meurer 1999 - 2001. All rights reserved.
12 ;;;; CLSQL users are granted the rights to distribute and use this software
13 ;;;; as governed by the terms of the Lisp Lesser GNU Public License
14 ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
15 ;;;; *************************************************************************
19 ;; on SuSE AMD64 9.0, unixODBC is compiled with with SQLLEN being 4 bytes long
20 (defconstant $ODBC-LONG-TYPE :int)
21 (defconstant $ODBC-ULONG-TYPE :unsigned-int)
22 (defconstant $ODBC-BIG-TYPE :long-long)
24 ;; (defconstant $ODBCVER #x0210)
27 ;; for new SQLAllocHandle functiion
28 (defconstant $SQL_HANDLE_ENV 1)
29 (defconstant $SQL_HANDLE_DBC 2)
30 (defconstant $SQL_HANDLE_STMT 3)
31 (defconstant $SQL_HANDLE_DESC 4)
33 ;; generally useful constants
34 (defconstant $SQL_SPEC_MAJOR 2) ;; Major version of specification
35 (defconstant $SQL_SPEC_MINOR 10) ;; Minor version of specification
36 (defvar $SQL_SPEC_STRING "02.10") ;; String constant for version
37 (defconstant $SQL_SQLSTATE_SIZE 5) ;; size of SQLSTATE
38 (defconstant $SQL_MAX_MESSAGE_LENGTH 512) ;; message buffer size
39 (defconstant $SQL_MAX_DSN_LENGTH 32) ;; maximum data source name size
42 (defconstant $SQL_INVALID_HANDLE -2)
43 (defconstant $SQL_ERROR -1)
44 (defconstant $SQL_SUCCESS 0)
45 (defconstant $SQL_SUCCESS_WITH_INFO 1)
46 (defconstant $SQL_NO_DATA_FOUND 100)
48 ;; Standard SQL datatypes, using ANSI type numbering
49 (defconstant $SQL_CHAR 1)
50 (defconstant $SQL_NUMERIC 2)
51 (defconstant $SQL_DECIMAL 3)
52 (defconstant $SQL_INTEGER 4)
53 (defconstant $SQL_SMALLINT 5)
54 (defconstant $SQL_FLOAT 6)
55 (defconstant $SQL_REAL 7)
56 (defconstant $SQL_DOUBLE 8)
57 (defconstant $SQL_VARCHAR 12)
59 (defconstant $SQL_TYPE_MIN $SQL_CHAR)
60 (defconstant $SQL_TYPE_NULL 0)
61 (defconstant $SQL_TYPE_MAX $SQL_VARCHAR)
63 ;; C datatype to SQL datatype mapping SQL types
65 (defconstant $SQL_C_CHAR $SQL_CHAR) ;; CHAR, VARCHAR, DECIMAL, NUMERIC
66 (defconstant $SQL_C_LONG $SQL_INTEGER) ;; INTEGER
67 (defconstant $SQL_C_SHORT $SQL_SMALLINT) ;; SMALLINT
68 (defconstant $SQL_C_FLOAT $SQL_REAL) ;; REAL
69 (defconstant $SQL_C_DOUBLE $SQL_DOUBLE) ;; FLOAT, DOUBLE
70 (defconstant $SQL_C_DEFAULT 99)
72 ;; NULL status constants. These are used in SQLColumns, SQLColAttributes,
73 ;;SQLDescribeCol, SQLDescribeParam, and SQLSpecialColumns to describe the
74 ;;nullablity of a column in a table.
76 (defconstant $SQL_NO_NULLS 0)
77 (defconstant $SQL_NULLABLE 1)
78 (defconstant $SQL_NULLABLE_UNKNOWN 2)
80 ;; Special length values
81 (defconstant $SQL_NULL_DATA -1)
82 (defconstant $SQL_DATA_AT_EXEC -2)
83 (defconstant $SQL_NTS -3)
85 ;; SQLFreeStmt defines
86 (defconstant $SQL_CLOSE 0)
87 (defconstant $SQL_DROP 1)
88 (defconstant $SQL_UNBIND 2)
89 (defconstant $SQL_RESET_PARAMS 3)
91 ;; SQLTransact defines
92 (defconstant $SQL_COMMIT 0)
93 (defconstant $SQL_ROLLBACK 1)
95 ;; SQLColAttributes defines
96 (defconstant $SQL_COLUMN_COUNT 0)
97 (defconstant $SQL_COLUMN_NAME 1)
98 (defconstant $SQL_COLUMN_TYPE 2)
99 (defconstant $SQL_COLUMN_LENGTH 3)
100 (defconstant $SQL_COLUMN_PRECISION 4)
101 (defconstant $SQL_COLUMN_SCALE 5)
102 (defconstant $SQL_COLUMN_DISPLAY_SIZE 6)
103 (defconstant $SQL_COLUMN_NULLABLE 7)
104 (defconstant $SQL_COLUMN_UNSIGNED 8)
105 (defconstant $SQL_COLUMN_MONEY 9)
106 (defconstant $SQL_COLUMN_UPDATABLE 10)
107 (defconstant $SQL_COLUMN_AUTO_INCREMENT 11)
108 (defconstant $SQL_COLUMN_CASE_SENSITIVE 12)
109 (defconstant $SQL_COLUMN_SEARCHABLE 13)
110 (defconstant $SQL_COLUMN_TYPE_NAME 14)
111 (defconstant $SQL_COLUMN_TABLE_NAME 15)
112 (defconstant $SQL_COLUMN_OWNER_NAME 16)
113 (defconstant $SQL_COLUMN_QUALIFIER_NAME 17)
114 (defconstant $SQL_COLUMN_LABEL 18)
115 (defconstant $SQL_COLATT_OPT_MAX $SQL_COLUMN_LABEL)
117 (defconstant $SQL_COLUMN_DRIVER_START 1000)
119 (defconstant $SQL_COLATT_OPT_MIN $SQL_COLUMN_COUNT)
121 ;; SQLColAttributes subdefines for SQL_COLUMN_UPDATABLE
122 (defconstant $SQL_ATTR_READONLY 0)
123 (defconstant $SQL_ATTR_WRITE 1)
124 (defconstant $SQL_ATTR_READWRITE_UNKNOWN 2)
126 ;; SQLColAttributes subdefines for SQL_COLUMN_SEARCHABLE
127 ;; These are also used by SQLGetInfo
128 (defconstant $SQL_UNSEARCHABLE 0)
129 (defconstant $SQL_LIKE_ONLY 1)
130 (defconstant $SQL_ALL_EXCEPT_LIKE 2)
131 (defconstant $SQL_SEARCHABLE 3)
134 (defconstant $SQL_NULL_HENV 0)
135 (defconstant $SQL_NULL_HDBC 0)
136 (defconstant $SQL_NULL_HSTMT 0)
138 ;; Defines for SQLGetFunctions
141 (defconstant $SQL_API_SQLALLOCCONNECT 1)
142 (defconstant $SQL_API_SQLALLOCENV 2)
143 (defconstant $SQL_API_SQLALLOCSTMT 3)
144 (defconstant $SQL_API_SQLBINDCOL 4)
145 (defconstant $SQL_API_SQLCANCEL 5)
146 (defconstant $SQL_API_SQLCOLATTRIBUTES 6)
147 (defconstant $SQL_API_SQLCONNECT 7)
148 (defconstant $SQL_API_SQLDESCRIBECOL 8)
149 (defconstant $SQL_API_SQLDISCONNECT 9)
150 (defconstant $SQL_API_SQLERROR 10)
151 (defconstant $SQL_API_SQLEXECDIRECT 11)
152 (defconstant $SQL_API_SQLEXECUTE 12)
153 (defconstant $SQL_API_SQLFETCH 13)
154 (defconstant $SQL_API_SQLFREECONNECT 14)
155 (defconstant $SQL_API_SQLFREEENV 15)
156 (defconstant $SQL_API_SQLFREESTMT 16)
157 (defconstant $SQL_API_SQLGETCURSORNAME 17)
158 (defconstant $SQL_API_SQLNUMRESULTCOLS 18)
159 (defconstant $SQL_API_SQLPREPARE 19)
160 (defconstant $SQL_API_SQLROWCOUNT 20)
161 (defconstant $SQL_API_SQLSETCURSORNAME 21)
162 (defconstant $SQL_API_SQLSETPARAM 22)
163 (defconstant $SQL_API_SQLTRANSACT 23)
164 (defconstant $SQL_NUM_FUNCTIONS 23)
165 (defconstant $SQL_EXT_API_START 40)
169 (defconstant $SQL_API_SQLCOLUMNS 40)
170 (defconstant $SQL_API_SQLDRIVERCONNECT 41)
171 (defconstant $SQL_API_SQLGETCONNECTOPTION 42)
172 (defconstant $SQL_API_SQLGETDATA 43)
173 (defconstant $SQL_API_SQLGETFUNCTIONS 44)
174 (defconstant $SQL_API_SQLGETINFO 45)
175 (defconstant $SQL_API_SQLGETSTMTOPTION 46)
176 (defconstant $SQL_API_SQLGETTYPEINFO 47)
177 (defconstant $SQL_API_SQLPARAMDATA 48)
178 (defconstant $SQL_API_SQLPUTDATA 49)
179 (defconstant $SQL_API_SQLSETCONNECTOPTION 50)
180 (defconstant $SQL_API_SQLSETSTMTOPTION 51)
181 (defconstant $SQL_API_SQLSPECIALCOLUMNS 52)
182 (defconstant $SQL_API_SQLSTATISTICS 53)
183 (defconstant $SQL_API_SQLTABLES 54)
187 (defconstant $SQL_API_SQLBROWSECONNECT 55)
188 (defconstant $SQL_API_SQLCOLUMNPRIVILEGES 56)
189 (defconstant $SQL_API_SQLDATASOURCES 57)
190 (defconstant $SQL_API_SQLDESCRIBEPARAM 58)
191 (defconstant $SQL_API_SQLEXTENDEDFETCH 59)
192 (defconstant $SQL_API_SQLFOREIGNKEYS 60)
193 (defconstant $SQL_API_SQLMORERESULTS 61)
194 (defconstant $SQL_API_SQLNATIVESQL 62)
195 (defconstant $SQL_API_SQLNUMPARAMS 63)
196 (defconstant $SQL_API_SQLPARAMOPTIONS 64)
197 (defconstant $SQL_API_SQLPRIMARYKEYS 65)
198 (defconstant $SQL_API_SQLPROCEDURECOLUMNS 66)
199 (defconstant $SQL_API_SQLPROCEDURES 67)
200 (defconstant $SQL_API_SQLSETPOS 68)
201 (defconstant $SQL_API_SQLSETSCROLLOPTIONS 69)
202 (defconstant $SQL_API_SQLTABLEPRIVILEGES 70)
204 ;/* SDK 2.0 Additions */
205 (defconstant $SQL_API_SQLDRIVERS 71)
206 (defconstant $SQL_API_SQLBINDPARAMETER 72)
207 (defconstant $SQL_EXT_API_LAST $SQL_API_SQLBINDPARAMETER)
209 (defconstant $SQL_API_ALL_FUNCTIONS 0)
211 (defconstant $SQL_NUM_EXTENSIONS (- $SQL_EXT_API_LAST $SQL_EXT_API_START -1))
212 (defconstant $SQL_API_LOADBYORDINAL 199)
214 ;;; Defines for SQLGetInfo
215 (defconstant $SQL_INFO_FIRST 0)
216 (defconstant $SQL_ACTIVE_CONNECTIONS 0)
217 (defconstant $SQL_ACTIVE_STATEMENTS 1)
218 (defconstant $SQL_DATA_SOURCE_NAME 2)
219 (defconstant $SQL_DRIVER_HDBC 3)
220 (defconstant $SQL_DRIVER_HENV 4)
221 (defconstant $SQL_DRIVER_HSTMT 5)
222 (defconstant $SQL_DRIVER_NAME 6)
223 (defconstant $SQL_DRIVER_VER 7)
224 (defconstant $SQL_FETCH_DIRECTION 8)
225 (defconstant $SQL_ODBC_API_CONFORMANCE 9)
226 (defconstant $SQL_ODBC_VER 10)
227 (defconstant $SQL_ROW_UPDATES 11)
228 (defconstant $SQL_ODBC_SAG_CLI_CONFORMANCE 12)
229 (defconstant $SQL_SERVER_NAME 13)
230 (defconstant $SQL_SEARCH_PATTERN_ESCAPE 14)
231 (defconstant $SQL_ODBC_SQL_CONFORMANCE 15)
233 (defconstant $SQL_DBMS_NAME 17)
234 (defconstant $SQL_DBMS_VER 18)
236 (defconstant $SQL_ACCESSIBLE_TABLES 19)
237 (defconstant $SQL_ACCESSIBLE_PROCEDURES 20)
238 (defconstant $SQL_PROCEDURES 21)
239 (defconstant $SQL_CONCAT_NULL_BEHAVIOR 22)
240 (defconstant $SQL_CURSOR_COMMIT_BEHAVIOR 23)
241 (defconstant $SQL_CURSOR_ROLLBACK_BEHAVIOR 24)
242 (defconstant $SQL_DATA_SOURCE_READ_ONLY 25)
243 (defconstant $SQL_DEFAULT_TXN_ISOLATION 26)
244 (defconstant $SQL_EXPRESSIONS_IN_ORDERBY 27)
245 (defconstant $SQL_IDENTIFIER_CASE 28)
246 (defconstant $SQL_IDENTIFIER_QUOTE_CHAR 29)
247 (defconstant $SQL_MAX_COLUMN_NAME_LEN 30)
248 (defconstant $SQL_MAX_CURSOR_NAME_LEN 31)
249 (defconstant $SQL_MAX_OWNER_NAME_LEN 32)
250 (defconstant $SQL_MAX_PROCEDURE_NAME_LEN 33)
251 (defconstant $SQL_MAX_QUALIFIER_NAME_LEN 34)
252 (defconstant $SQL_MAX_TABLE_NAME_LEN 35)
253 (defconstant $SQL_MULT_RESULT_SETS 36)
254 (defconstant $SQL_MULTIPLE_ACTIVE_TXN 37)
255 (defconstant $SQL_OUTER_JOINS 38)
256 (defconstant $SQL_OWNER_TERM 39)
257 (defconstant $SQL_PROCEDURE_TERM 40)
258 (defconstant $SQL_QUALIFIER_NAME_SEPARATOR 41)
259 (defconstant $SQL_QUALIFIER_TERM 42)
260 (defconstant $SQL_SCROLL_CONCURRENCY 43)
261 (defconstant $SQL_SCROLL_OPTIONS 44)
262 (defconstant $SQL_TABLE_TERM 45)
263 (defconstant $SQL_TXN_CAPABLE 46)
264 (defconstant $SQL_USER_NAME 47)
266 (defconstant $SQL_CONVERT_FUNCTIONS 48)
267 (defconstant $SQL_NUMERIC_FUNCTIONS 49)
268 (defconstant $SQL_STRING_FUNCTIONS 50)
269 (defconstant $SQL_SYSTEM_FUNCTIONS 51)
270 (defconstant $SQL_TIMEDATE_FUNCTIONS 52)
272 (defconstant $SQL_CONVERT_BIGINT 53)
273 (defconstant $SQL_CONVERT_BINARY 54)
274 (defconstant $SQL_CONVERT_BIT 55)
275 (defconstant $SQL_CONVERT_CHAR 56)
276 (defconstant $SQL_CONVERT_DATE 57)
277 (defconstant $SQL_CONVERT_DECIMAL 58)
278 (defconstant $SQL_CONVERT_DOUBLE 59)
279 (defconstant $SQL_CONVERT_FLOAT 60)
280 (defconstant $SQL_CONVERT_INTEGER 61)
281 (defconstant $SQL_CONVERT_LONGVARCHAR 62)
282 (defconstant $SQL_CONVERT_NUMERIC 63)
283 (defconstant $SQL_CONVERT_REAL 64)
284 (defconstant $SQL_CONVERT_SMALLINT 65)
285 (defconstant $SQL_CONVERT_TIME 66)
286 (defconstant $SQL_CONVERT_TIMESTAMP 67)
287 (defconstant $SQL_CONVERT_TINYINT 68)
288 (defconstant $SQL_CONVERT_VARBINARY 69)
289 (defconstant $SQL_CONVERT_VARCHAR 70)
290 (defconstant $SQL_CONVERT_LONGVARBINARY 71)
292 (defconstant $SQL_TXN_ISOLATION_OPTION 72)
293 (defconstant $SQL_ODBC_SQL_OPT_IEF 73)
295 ;;; ODBC SDK 1.0 Additions
296 (defconstant $SQL_CORRELATION_NAME 74)
297 (defconstant $SQL_NON_NULLABLE_COLUMNS 75)
299 ;;; ODBC SDK 2.0 Additions
300 (defconstant $SQL_DRIVER_HLIB 76)
301 (defconstant $SQL_DRIVER_ODBC_VER 77)
302 (defconstant $SQL_LOCK_TYPES 78)
303 (defconstant $SQL_POS_OPERATIONS 79)
304 (defconstant $SQL_POSITIONED_STATEMENTS 80)
305 (defconstant $SQL_GETDATA_EXTENSIONS 81)
306 (defconstant $SQL_BOOKMARK_PERSISTENCE 82)
307 (defconstant $SQL_STATIC_SENSITIVITY 83)
308 (defconstant $SQL_FILE_USAGE 84)
309 (defconstant $SQL_NULL_COLLATION 85)
310 (defconstant $SQL_ALTER_TABLE 86)
311 (defconstant $SQL_COLUMN_ALIAS 87)
312 (defconstant $SQL_GROUP_BY 88)
313 (defconstant $SQL_KEYWORDS 89)
314 (defconstant $SQL_ORDER_BY_COLUMNS_IN_SELECT 90)
315 (defconstant $SQL_OWNER_USAGE 91)
316 (defconstant $SQL_QUALIFIER_USAGE 92)
317 (defconstant $SQL_QUOTED_IDENTIFIER_CASE 93)
318 (defconstant $SQL_SPECIAL_CHARACTERS 94)
319 (defconstant $SQL_SUBQUERIES 95)
320 (defconstant $SQL_UNION 96)
321 (defconstant $SQL_MAX_COLUMNS_IN_GROUP_BY 97)
322 (defconstant $SQL_MAX_COLUMNS_IN_INDEX 98)
323 (defconstant $SQL_MAX_COLUMNS_IN_ORDER_BY 99)
324 (defconstant $SQL_MAX_COLUMNS_IN_SELECT 100)
325 (defconstant $SQL_MAX_COLUMNS_IN_TABLE 101)
326 (defconstant $SQL_MAX_INDEX_SIZE 102)
327 (defconstant $SQL_MAX_ROW_SIZE_INCLUDES_LONG 103)
328 (defconstant $SQL_MAX_ROW_SIZE 104)
329 (defconstant $SQL_MAX_STATEMENT_LEN 105)
330 (defconstant $SQL_MAX_TABLES_IN_SELECT 106)
331 (defconstant $SQL_MAX_USER_NAME_LEN 107)
332 (defconstant $SQL_MAX_CHAR_LITERAL_LEN 108)
333 (defconstant $SQL_TIMEDATE_ADD_INTERVALS 109)
334 (defconstant $SQL_TIMEDATE_DIFF_INTERVALS 110)
335 (defconstant $SQL_NEED_LONG_DATA_LEN 111)
336 (defconstant $SQL_MAX_BINARY_LITERAL_LEN 112)
337 (defconstant $SQL_LIKE_ESCAPE_CLAUSE 113)
338 (defconstant $SQL_QUALIFIER_LOCATION 114)
339 (defconstant $SQL_ACTIVE_ENVIRONMENTS 116)
343 /*** ODBC SDK 2.01 Additions ***/)
344 (defconstant $SQL_OJ_CAPABILITIES 65003 ;; Temp value until ODBC 3.0
346 (defconstant $SQL_INFO_LAST SQL_QUALIFIER_LOCATION
348 (defconstant $SQL_INFO_DRIVER_START 1000
350 ;; SQL_CONVERT_* return value bitmasks
352 (defconstant $SQL_CVT_CHAR #x00000001L)
353 (defconstant $SQL_CVT_NUMERIC #x00000002L)
354 (defconstant $SQL_CVT_DECIMAL #x00000004L)
355 (defconstant $SQL_CVT_INTEGER #x00000008L)
356 (defconstant $SQL_CVT_SMALLINT #x00000010L)
357 (defconstant $SQL_CVT_FLOAT #x00000020L)
358 (defconstant $SQL_CVT_REAL #x00000040L)
359 (defconstant $SQL_CVT_DOUBLE #x00000080L)
360 (defconstant $SQL_CVT_VARCHAR #x00000100L)
361 (defconstant $SQL_CVT_LONGVARCHAR #x00000200L)
362 (defconstant $SQL_CVT_BINARY #x00000400L)
363 (defconstant $SQL_CVT_VARBINARY #x00000800L)
364 (defconstant $SQL_CVT_BIT #x00001000L)
365 (defconstant $SQL_CVT_TINYINT #x00002000L)
366 (defconstant $SQL_CVT_BIGINT #x00004000L)
367 (defconstant $SQL_CVT_DATE #x00008000L)
368 (defconstant $SQL_CVT_TIME #x00010000L)
369 (defconstant $SQL_CVT_TIMESTAMP #x00020000L)
370 (defconstant $SQL_CVT_LONGVARBINARY #x00040000L)
372 ;; SQL_CONVERT_FUNCTIONS functions)
373 (defconstant $SQL_FN_CVT_CONVERT #x00000001L)
375 ;; SQL_STRING_FUNCTIONS functions
377 (defconstant $SQL_FN_STR_CONCAT #x00000001L)
378 (defconstant $SQL_FN_STR_INSERT #x00000002L)
379 (defconstant $SQL_FN_STR_LEFT #x00000004L)
380 (defconstant $SQL_FN_STR_LTRIM #x00000008L)
381 (defconstant $SQL_FN_STR_LENGTH #x00000010L)
382 (defconstant $SQL_FN_STR_LOCATE #x00000020L)
383 (defconstant $SQL_FN_STR_LCASE #x00000040L)
384 (defconstant $SQL_FN_STR_REPEAT #x00000080L)
385 (defconstant $SQL_FN_STR_REPLACE #x00000100L)
386 (defconstant $SQL_FN_STR_RIGHT #x00000200L)
387 (defconstant $SQL_FN_STR_RTRIM #x00000400L)
388 (defconstant $SQL_FN_STR_SUBSTRING #x00000800L)
389 (defconstant $SQL_FN_STR_UCASE #x00001000L)
390 (defconstant $SQL_FN_STR_ASCII #x00002000L)
391 (defconstant $SQL_FN_STR_CHAR #x00004000L
392 (defconstant $SQL_FN_STR_DIFFERENCE #x00008000L)
393 (defconstant $SQL_FN_STR_LOCATE_2 #x00010000L)
394 (defconstant $SQL_FN_STR_SOUNDEX #x00020000L)
395 (defconstant $SQL_FN_STR_SPACE #x00040000L
397 ;; SQL_NUMERIC_FUNCTIONS functions
399 (defconstant $SQL_FN_NUM_ABS #x00000001L)
400 (defconstant $SQL_FN_NUM_ACOS #x00000002L)
401 (defconstant $SQL_FN_NUM_ASIN #x00000004L)
402 (defconstant $SQL_FN_NUM_ATAN #x00000008L)
403 (defconstant $SQL_FN_NUM_ATAN2 #x00000010L)
404 (defconstant $SQL_FN_NUM_CEILING #x00000020L)
405 (defconstant $SQL_FN_NUM_COS #x00000040L)
406 (defconstant $SQL_FN_NUM_COT #x00000080L)
407 (defconstant $SQL_FN_NUM_EXP #x00000100L)
408 (defconstant $SQL_FN_NUM_FLOOR #x00000200L)
409 (defconstant $SQL_FN_NUM_LOG #x00000400L)
410 (defconstant $SQL_FN_NUM_MOD #x00000800L)
411 (defconstant $SQL_FN_NUM_SIGN #x00001000L)
412 (defconstant $SQL_FN_NUM_SIN #x00002000L)
413 (defconstant $SQL_FN_NUM_SQRT #x00004000L)
414 (defconstant $SQL_FN_NUM_TAN #x00008000L)
415 (defconstant $SQL_FN_NUM_PI #x00010000L)
416 (defconstant $SQL_FN_NUM_RAND #x00020000L
417 (defconstant $SQL_FN_NUM_DEGREES #x00040000L)
418 (defconstant $SQL_FN_NUM_LOG10 #x00080000L)
419 (defconstant $SQL_FN_NUM_POWER #x00100000L)
420 (defconstant $SQL_FN_NUM_RADIANS #x00200000L)
421 (defconstant $SQL_FN_NUM_ROUND #x00400000L)
422 (defconstant $SQL_FN_NUM_TRUNCATE #x00800000L
424 ;; SQL_TIMEDATE_FUNCTIONS functions
426 (defconstant $SQL_FN_TD_NOW #x00000001L)
427 (defconstant $SQL_FN_TD_CURDATE #x00000002L)
428 (defconstant $SQL_FN_TD_DAYOFMONTH #x00000004L)
429 (defconstant $SQL_FN_TD_DAYOFWEEK #x00000008L)
430 (defconstant $SQL_FN_TD_DAYOFYEAR #x00000010L)
431 (defconstant $SQL_FN_TD_MONTH #x00000020L)
432 (defconstant $SQL_FN_TD_QUARTER #x00000040L)
433 (defconstant $SQL_FN_TD_WEEK #x00000080L)
434 (defconstant $SQL_FN_TD_YEAR #x00000100L)
435 (defconstant $SQL_FN_TD_CURTIME #x00000200L)
436 (defconstant $SQL_FN_TD_HOUR #x00000400L)
437 (defconstant $SQL_FN_TD_MINUTE #x00000800L)
438 (defconstant $SQL_FN_TD_SECOND #x00001000L
439 (defconstant $SQL_FN_TD_TIMESTAMPADD #x00002000L)
440 (defconstant $SQL_FN_TD_TIMESTAMPDIFF #x00004000L)
441 (defconstant $SQL_FN_TD_DAYNAME #x00008000L)
442 (defconstant $SQL_FN_TD_MONTHNAME #x00010000L
444 ;; SQL_SYSTEM_FUNCTIONS functions
446 (defconstant $SQL_FN_SYS_USERNAME #x00000001L)
447 (defconstant $SQL_FN_SYS_DBNAME #x00000002L)
448 (defconstant $SQL_FN_SYS_IFNULL #x00000004L
450 ;; SQL_TIMEDATE_ADD_INTERVALS and SQL_TIMEDATE_DIFF_INTERVALS functions
452 (defconstant $SQL_FN_TSI_FRAC_SECOND #x00000001L)
453 (defconstant $SQL_FN_TSI_SECOND #x00000002L)
454 (defconstant $SQL_FN_TSI_MINUTE #x00000004L)
455 (defconstant $SQL_FN_TSI_HOUR #x00000008L)
456 (defconstant $SQL_FN_TSI_DAY #x00000010L)
457 (defconstant $SQL_FN_TSI_WEEK #x00000020L)
458 (defconstant $SQL_FN_TSI_MONTH #x00000040L)
459 (defconstant $SQL_FN_TSI_QUARTER #x00000080L)
460 (defconstant $SQL_FN_TSI_YEAR #x00000100L
462 ;; SQL_ODBC_API_CONFORMANCE values
464 (defconstant $SQL_OAC_NONE #x0000)
465 (defconstant $SQL_OAC_LEVEL1 #x0001)
466 (defconstant $SQL_OAC_LEVEL2 #x0002
468 ;; SQL_ODBC_SAG_CLI_CONFORMANCE values
470 (defconstant $SQL_OSCC_NOT_COMPLIANT #x0000)
471 (defconstant $SQL_OSCC_COMPLIANT #x0001
473 ;; SQL_ODBC_SQL_CONFORMANCE values
475 (defconstant $SQL_OSC_MINIMUM #x0000)
476 (defconstant $SQL_OSC_CORE #x0001)
477 (defconstant $SQL_OSC_EXTENDED #x0002
479 ;; SQL_CONCAT_NULL_BEHAVIOR values
481 (defconstant $SQL_CB_NULL #x0000)
482 (defconstant $SQL_CB_NON_NULL #x0001
484 ;; SQL_CURSOR_COMMIT_BEHAVIOR and SQL_CURSOR_ROLLBACK_BEHAVIOR values
486 (defconstant $SQL_CB_DELETE #x0000)
487 (defconstant $SQL_CB_CLOSE #x0001)
488 (defconstant $SQL_CB_PRESERVE #x0002
490 ;; SQL_IDENTIFIER_CASE values
492 (defconstant $SQL_IC_UPPER #x0001)
493 (defconstant $SQL_IC_LOWER #x0002)
494 (defconstant $SQL_IC_SENSITIVE #x0003)
495 (defconstant $SQL_IC_MIXED #x0004
497 ;; SQL_TXN_CAPABLE values
500 (defconstant $SQL_TC_NONE 0)
501 (defconstant $SQL_TC_DML 1)
502 (defconstant $SQL_TC_ALL 2)
504 (defconstant $SQL_TC_DDL_COMMIT 3)
505 (defconstant $SQL_TC_DDL_IGNORE 4)
507 ;; SQL_SCROLL_OPTIONS masks
510 (defconstant $SQL_SO_FORWARD_ONLY #x00000001)
511 (defconstant $SQL_SO_KEYSET_DRIVEN #x00000002)
512 (defconstant $SQL_SO_DYNAMIC #x00000004)
513 (defconstant $SQL_SO_MIXED #x00000008)
514 (defconstant $SQL_SO_STATIC #x00000010)
516 ;; SQL_SCROLL_CONCURRENCY masks
518 (defconstant $SQL_SCCO_READ_ONLY #x00000001)
519 (defconstant $SQL_SCCO_LOCK #x00000002)
520 (defconstant $SQL_SCCO_OPT_ROWVER #x00000004)
521 (defconstant $SQL_SCCO_OPT_VALUES #x00000008)
523 ;; SQL_FETCH_DIRECTION masks
525 (defconstant $SQL_FD_FETCH_NEXT #x00000001)
526 (defconstant $SQL_FD_FETCH_FIRST #x00000002)
527 (defconstant $SQL_FD_FETCH_LAST #x00000004)
528 (defconstant $SQL_FD_FETCH_PRIOR #x00000008)
529 (defconstant $SQL_FD_FETCH_ABSOLUTE #x00000010)
530 (defconstant $SQL_FD_FETCH_RELATIVE #x00000020)
531 (defconstant $SQL_FD_FETCH_RESUME #x00000040)
532 (defconstant $SQL_FD_FETCH_BOOKMARK #x00000080)
535 ;; SQL_TXN_ISOLATION_OPTION masks
537 (defconstant $SQL_TXN_READ_UNCOMMITTED #x00000001L)
538 (defconstant $SQL_TXN_READ_COMMITTED #x00000002L)
539 (defconstant $SQL_TXN_REPEATABLE_READ #x00000004L)
540 (defconstant $SQL_TXN_SERIALIZABLE #x00000008L)
541 (defconstant $SQL_TXN_VERSIONING #x00000010L
543 ;; SQL_CORRELATION_NAME values
545 (defconstant $SQL_CN_NONE #x0000)
546 (defconstant $SQL_CN_DIFFERENT #x0001)
547 (defconstant $SQL_CN_ANY #x0002
549 ;; SQL_NON_NULLABLE_COLUMNS values
551 (defconstant $SQL_NNC_NULL #x0000)
552 (defconstant $SQL_NNC_NON_NULL #x0001
554 ;; SQL_NULL_COLLATION values
556 (defconstant $SQL_NC_HIGH #x0000)
557 (defconstant $SQL_NC_LOW #x0001)
558 (defconstant $SQL_NC_START #x0002)
559 (defconstant $SQL_NC_END #x0004
561 ;; SQL_FILE_USAGE values
563 (defconstant $SQL_FILE_NOT_SUPPORTED #x0000)
564 (defconstant $SQL_FILE_TABLE #x0001)
565 (defconstant $SQL_FILE_QUALIFIER #x0002
567 ;; SQL_GETDATA_EXTENSIONS values
569 (defconstant $SQL_GD_ANY_COLUMN #x00000001L)
570 (defconstant $SQL_GD_ANY_ORDER #x00000002L)
571 (defconstant $SQL_GD_BLOCK #x00000004L)
572 (defconstant $SQL_GD_BOUND #x00000008L
574 ;; SQL_ALTER_TABLE values
576 (defconstant $SQL_AT_ADD_COLUMN #x00000001L)
577 (defconstant $SQL_AT_DROP_COLUMN #x00000002L
579 ;; SQL_POSITIONED_STATEMENTS masks
581 (defconstant $SQL_PS_POSITIONED_DELETE #x00000001L)
582 (defconstant $SQL_PS_POSITIONED_UPDATE #x00000002L)
583 (defconstant $SQL_PS_SELECT_FOR_UPDATE #x00000004L
585 ;; SQL_GROUP_BY values
587 (defconstant $SQL_GB_NOT_SUPPORTED #x0000)
588 (defconstant $SQL_GB_GROUP_BY_EQUALS_SELECT #x0001)
589 (defconstant $SQL_GB_GROUP_BY_CONTAINS_SELECT #x0002)
590 (defconstant $SQL_GB_NO_RELATION #x0003
592 ;; SQL_OWNER_USAGE masks
594 (defconstant $SQL_OU_DML_STATEMENTS #x00000001L)
595 (defconstant $SQL_OU_PROCEDURE_INVOCATION #x00000002L)
596 (defconstant $SQL_OU_TABLE_DEFINITION #x00000004L)
597 (defconstant $SQL_OU_INDEX_DEFINITION #x00000008L)
598 (defconstant $SQL_OU_PRIVILEGE_DEFINITION #x00000010L
600 ;; SQL_QUALIFIER_USAGE masks
602 (defconstant $SQL_QU_DML_STATEMENTS #x00000001L)
603 (defconstant $SQL_QU_PROCEDURE_INVOCATION #x00000002L)
604 (defconstant $SQL_QU_TABLE_DEFINITION #x00000004L)
605 (defconstant $SQL_QU_INDEX_DEFINITION #x00000008L)
606 (defconstant $SQL_QU_PRIVILEGE_DEFINITION #x00000010L
608 ;; SQL_SUBQUERIES masks
610 (defconstant $SQL_SQ_COMPARISON #x00000001L)
611 (defconstant $SQL_SQ_EXISTS #x00000002L)
612 (defconstant $SQL_SQ_IN #x00000004L)
613 (defconstant $SQL_SQ_QUANTIFIED #x00000008L)
614 (defconstant $SQL_SQ_CORRELATED_SUBQUERIES #x00000010L
618 (defconstant $SQL_U_UNION #x00000001L)
619 (defconstant $SQL_U_UNION_ALL #x00000002L
621 ;; SQL_BOOKMARK_PERSISTENCE values
623 (defconstant $SQL_BP_CLOSE #x00000001L)
624 (defconstant $SQL_BP_DELETE #x00000002L)
625 (defconstant $SQL_BP_DROP #x00000004L)
626 (defconstant $SQL_BP_TRANSACTION #x00000008L)
627 (defconstant $SQL_BP_UPDATE #x00000010L)
628 (defconstant $SQL_BP_OTHER_HSTMT #x00000020L)
629 (defconstant $SQL_BP_SCROLL #x00000040L
631 ;; SQL_STATIC_SENSITIVITY values
633 (defconstant $SQL_SS_ADDITIONS #x00000001L)
634 (defconstant $SQL_SS_DELETIONS #x00000002L)
635 (defconstant $SQL_SS_UPDATES #x00000004L
637 ;; SQL_LOCK_TYPESL masks
639 (defconstant $SQL_LCK_NO_CHANGE #x00000001L)
640 (defconstant $SQL_LCK_EXCLUSIVE #x00000002L)
641 (defconstant $SQL_LCK_UNLOCK #x00000004L
643 ;; SQL_POS_OPERATIONS masks
646 (defconstant $SQL_POS_POSITION 1) ;; #x00000001L
647 (defconstant $SQL_POS_REFRESH 2) ;; #x00000002L
648 (defconstant $SQL_POS_UPDATE 4) ;; #x00000004L
649 (defconstant $SQL_POS_DELETE 8) ;; #x00000008L
650 (defconstant $SQL_POS_ADD 16) ;; #x00000010L
653 ;; SQL_QUALIFIER_LOCATION values
655 (defconstant $SQL_QL_START #x0001L)
656 (defconstant $SQL_QL_END #x0002L
658 ;; SQL_OJ_CAPABILITIES values
660 (defconstant $SQL_OJ_LEFT #x00000001L)
661 (defconstant $SQL_OJ_RIGHT #x00000002L)
662 (defconstant $SQL_OJ_FULL #x00000004L)
663 (defconstant $SQL_OJ_NESTED #x00000008L)
664 (defconstant $SQL_OJ_NOT_ORDERED #x00000010L)
665 (defconstant $SQL_OJ_INNER #x00000020L)
666 (defconstant $SQL_OJ_ALL_COMPARISON_OPS #x00000040L
668 ;; options for SQLGetStmtOption/SQLSetStmtOption)
669 (defconstant $SQL_QUERY_TIMEOUT 0)
670 (defconstant $SQL_MAX_ROWS 1)
671 (defconstant $SQL_NOSCAN 2)
672 (defconstant $SQL_MAX_LENGTH 3)
673 (defconstant $SQL_ASYNC_ENABLE 4)
674 (defconstant $SQL_BIND_TYPE 5
675 (defconstant $SQL_CURSOR_TYPE 6)
676 (defconstant $SQL_CONCURRENCY 7)
677 (defconstant $SQL_KEYSET_SIZE 8)
678 (defconstant $SQL_ROWSET_SIZE 9)
679 (defconstant $SQL_SIMULATE_CURSOR 10)
680 (defconstant $SQL_RETRIEVE_DATA 11)
681 (defconstant $SQL_USE_BOOKMARKS 12)
682 (defconstant $SQL_GET_BOOKMARK 13 /* GetStmtOption Only)
683 (defconstant $SQL_ROW_NUMBER 14 /* GetStmtOption Only)
684 (defconstant $SQL_STMT_OPT_MAX SQL_ROW_NUMBER
686 (defconstant $SQL_STMT_OPT_MIN SQL_QUERY_TIMEOUT
689 ;; SQL_QUERY_TIMEOUT options)
690 (defconstant $SQL_QUERY_TIMEOUT_DEFAULT 0UL
692 ;; SQL_MAX_ROWS options)
693 (defconstant $SQL_MAX_ROWS_DEFAULT 0UL
695 ;; SQL_NOSCAN options)
696 (defconstant $SQL_NOSCAN_OFF 0UL /* 1.0 FALSE)
697 (defconstant $SQL_NOSCAN_ON 1UL /* 1.0 TRUE)
698 (defconstant $SQL_NOSCAN_DEFAULT SQL_NOSCAN_OFF
700 ;; SQL_MAX_LENGTH options)
701 (defconstant $SQL_MAX_LENGTH_DEFAULT 0UL
703 ;; SQL_ASYNC_ENABLE options)
704 (defconstant $SQL_ASYNC_ENABLE_OFF 0UL)
705 (defconstant $SQL_ASYNC_ENABLE_ON 1UL)
706 (defconstant $SQL_ASYNC_ENABLE_DEFAULT SQL_ASYNC_ENABLE_OFF
708 ;; SQL_BIND_TYPE options)
709 (defconstant $SQL_BIND_BY_COLUMN 0UL)
710 (defconstant $SQL_BIND_TYPE_DEFAULT SQL_BIND_BY_COLUMN ;; Default value
712 ;; SQL_CONCURRENCY options)
713 (defconstant $SQL_CONCUR_READ_ONLY 1)
714 (defconstant $SQL_CONCUR_LOCK 2)
715 (defconstant $SQL_CONCUR_ROWVER 3)
716 (defconstant $SQL_CONCUR_VALUES 4)
717 (defconstant $SQL_CONCUR_DEFAULT SQL_CONCUR_READ_ONLY ;; Default value
719 ;; SQL_CURSOR_TYPE options)
720 (defconstant $SQL_CURSOR_FORWARD_ONLY 0UL)
721 (defconstant $SQL_CURSOR_KEYSET_DRIVEN 1UL)
722 (defconstant $SQL_CURSOR_DYNAMIC 2UL)
723 (defconstant $SQL_CURSOR_STATIC 3UL)
724 (defconstant $SQL_CURSOR_TYPE_DEFAULT SQL_CURSOR_FORWARD_ONLY ;; Default value
726 ;; SQL_ROWSET_SIZE options)
727 (defconstant $SQL_ROWSET_SIZE_DEFAULT 1UL
729 ;; SQL_KEYSET_SIZE options)
730 (defconstant $SQL_KEYSET_SIZE_DEFAULT 0UL
732 ;; SQL_SIMULATE_CURSOR options)
733 (defconstant $SQL_SC_NON_UNIQUE 0UL)
734 (defconstant $SQL_SC_TRY_UNIQUE 1UL)
735 (defconstant $SQL_SC_UNIQUE 2UL
737 ;; SQL_RETRIEVE_DATA options)
738 (defconstant $SQL_RD_OFF 0UL)
739 (defconstant $SQL_RD_ON 1UL)
740 (defconstant $SQL_RD_DEFAULT SQL_RD_ON
742 ;; SQL_USE_BOOKMARKS options)
743 (defconstant $SQL_UB_OFF 0UL)
744 (defconstant $SQL_UB_ON 1UL)
745 (defconstant $SQL_UB_DEFAULT SQL_UB_OFF
750 ;; options for SQLSetConnectOption/SQLGetConnectOption)
751 (defconstant $SQL_ACCESS_MODE 101)
752 (defconstant $SQL_AUTOCOMMIT 102)
753 (defconstant $SQL_LOGIN_TIMEOUT 103)
754 (defconstant $SQL_OPT_TRACE 104)
755 (defconstant $SQL_OPT_TRACEFILE 105)
756 (defconstant $SQL_TRANSLATE_DLL 106)
757 (defconstant $SQL_TRANSLATE_OPTION 107)
758 (defconstant $SQL_TXN_ISOLATION 108)
759 (defconstant $SQL_CURRENT_QUALIFIER 109)
760 (defconstant $SQL_ODBC_CURSORS 110)
761 (defconstant $SQL_QUIET_MODE 111)
762 (defconstant $SQL_PACKET_SIZE 112)
763 (defconstant $SQL_CONN_OPT_MAX $SQL_PACKET_SIZE)
764 (defconstant $SQL_CONNECT_OPT_DRVR_START 1000)
766 ;;#define SQL_CONN_OPT_MIN SQL_ACCESS_MODE
768 ;; SQL_ACCESS_MODE options
769 (defconstant $SQL_MODE_READ_WRITE 0) ; 0UL
770 (defconstant $SQL_MODE_READ_ONLY 1) ; 1UL
771 (defconstant $SQL_MODE_DEFAULT $SQL_MODE_READ_WRITE)
773 ;; SQL_AUTOCOMMIT options)
774 (defconstant $SQL_AUTOCOMMIT_OFF 0) ;0UL
775 (defconstant $SQL_AUTOCOMMIT_ON 1) ;1UL
776 (defconstant $SQL_AUTOCOMMIT_DEFAULT $SQL_AUTOCOMMIT_ON)
778 ;; SQL_LOGIN_TIMEOUT options)
779 (defconstant $SQL_LOGIN_TIMEOUT_DEFAULT 15) ; 15UL
781 ;; SQL_OPT_TRACE options)
782 (defconstant $SQL_OPT_TRACE_OFF 0) ; 0UL
783 (defconstant $SQL_OPT_TRACE_ON 1) ; 1UL
784 (defconstant $SQL_OPT_TRACE_DEFAULT $SQL_OPT_TRACE_OFF)
785 ; #ifndef SQL_OPT_TRACE_FILE_DEFAULT
786 ; (defconstant $SQL_OPT_TRACE_FILE_DEFAULT "\\SQL.LOG"
789 (defconstant $SQL_CUR_USE_IF_NEEDED 0) ; 0UL
790 (defconstant $SQL_CUR_USE_ODBC 1) ; 1UL
791 (defconstant $SQL_CUR_USE_DRIVER 2) ; 2UL
792 (defconstant $SQL_CUR_DEFAULT $SQL_CUR_USE_DRIVER)
795 ;; Column types and scopes in SQLSpecialColumns. )
796 (defconstant $SQL_BEST_ROWID 1)
797 (defconstant $SQL_ROWVER 2)
799 (defconstant $SQL_SCOPE_CURROW 0)
800 (defconstant $SQL_SCOPE_TRANSACTION 1)
801 (defconstant $SQL_SCOPE_SESSION 2
803 ;; Defines for SQLSetPos)
804 (defconstant $SQL_ENTIRE_ROWSET 0
807 ;; Operations in SQLSetPos
809 (defconstant $SQL_POSITION 0) ;; 1.0 FALSE
810 (defconstant $SQL_REFRESH 1) ;; 1.0 TRUE
811 (defconstant $SQL_UPDATE 2)
812 (defconstant $SQL_DELETE 3)
813 (defconstant $SQL_ADD 4)
815 ;; Lock options in SQLSetPos)
816 (defconstant $SQL_LOCK_NO_CHANGE 0) ;; 1.0 FALSE
817 (defconstant $SQL_LOCK_EXCLUSIVE 1) ;; 1.0 TRUE
818 (defconstant $SQL_LOCK_UNLOCK 2)
820 ;; SQLBindParameter extensions
821 (defconstant $SQL_DEFAULT_PARAM -5)
822 (defconstant $SQL_IGNORE -6)
823 (defconstant $SQL_LEN_DATA_AT_EXEC_OFFSET -100)
824 ;(defconstant $SQL_LEN_DATA_AT_EXEC(length) (-length+SQL_LEN_DATA_AT_EXEC_OFFSET)
826 ;; Special return values for SQLGetData
827 (defconstant $SQL_NO_TOTAL -4)
830 ;; Macros for SQLSetPos)
831 (defconstant $SQL_POSITION_TO(hstmt,irow) SQLSetPos(hstmt,irow,SQL_POSITION,SQL_LOCK_NO_CHANGE))
832 (defconstant $SQL_LOCK_RECORD(hstmt,irow,fLock) SQLSetPos(hstmt,irow,SQL_POSITION,fLock))
833 (defconstant $SQL_REFRESH_RECORD(hstmt,irow,fLock) SQLSetPos(hstmt,irow,SQL_REFRESH,fLock))
834 (defconstant $SQL_UPDATE_RECORD(hstmt,irow) SQLSetPos(hstmt,irow,SQL_UPDATE,SQL_LOCK_NO_CHANGE))
835 (defconstant $SQL_DELETE_RECORD(hstmt,irow) SQLSetPos(hstmt,irow,SQL_DELETE,SQL_LOCK_NO_CHANGE))
836 (defconstant $SQL_ADD_RECORD(hstmt,irow) SQLSetPos(hstmt,irow,SQL_ADD,SQL_LOCK_NO_CHANGE)
840 /* This define is too large for RC)
841 (defconstant $SQL_ODBC_KEYWORDS \
842 "ABSOLUTE,ACTION,ADA,ADD,ALL,ALLOCATE,ALTER,AND,ANY,ARE,AS,"\
843 "ASC,ASSERTION,AT,AUTHORIZATION,AVG,"\
844 "BEGIN,BETWEEN,BIT,BIT_LENGTH,BOTH,BY,CASCADE,CASCADED,CASE,CAST,CATALOG,"\
845 "CHAR,CHAR_LENGTH,CHARACTER,CHARACTER_LENGTH,CHECK,CLOSE,COALESCE,"\
846 "COBOL,COLLATE,COLLATION,COLUMN,COMMIT,CONNECT,CONNECTION,CONSTRAINT,"\
847 "CONSTRAINTS,CONTINUE,CONVERT,CORRESPONDING,COUNT,CREATE,CROSS,CURRENT,"\
848 "CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,CURRENT_USER,CURSOR,"\
849 "DATE,DAY,DEALLOCATE,DEC,DECIMAL,DECLARE,DEFAULT,DEFERRABLE,"\
850 "DEFERRED,DELETE,DESC,DESCRIBE,DESCRIPTOR,DIAGNOSTICS,DISCONNECT,"\
851 "DISTINCT,DOMAIN,DOUBLE,DROP,"\
852 "ELSE,END,END-EXEC,ESCAPE,EXCEPT,EXCEPTION,EXEC,EXECUTE,"\
853 "EXISTS,EXTERNAL,EXTRACT,"\
854 "FALSE,FETCH,FIRST,FLOAT,FOR,FOREIGN,FORTRAN,FOUND,FROM,FULL,"\
855 "GET,GLOBAL,GO,GOTO,GRANT,GROUP,HAVING,HOUR,"\
856 "IDENTITY,IMMEDIATE,IN,INCLUDE,INDEX,INDICATOR,INITIALLY,INNER,"\
857 "INPUT,INSENSITIVE,INSERT,INTEGER,INTERSECT,INTERVAL,INTO,IS,ISOLATION,"\
858 "JOIN,KEY,LANGUAGE,LAST,LEADING,LEFT,LEVEL,LIKE,LOCAL,LOWER,"\
859 "MATCH,MAX,MIN,MINUTE,MODULE,MONTH,MUMPS,"\
860 "NAMES,NATIONAL,NATURAL,NCHAR,NEXT,NO,NONE,NOT,NULL,NULLIF,NUMERIC,"\
861 "OCTET_LENGTH,OF,ON,ONLY,OPEN,OPTION,OR,ORDER,OUTER,OUTPUT,OVERLAPS,"\
862 "PAD,PARTIAL,PASCAL,PLI,POSITION,PRECISION,PREPARE,PRESERVE,"\
863 "PRIMARY,PRIOR,PRIVILEGES,PROCEDURE,PUBLIC,"\
864 "REFERENCES,RELATIVE,RESTRICT,REVOKE,RIGHT,ROLLBACK,ROWS,"\
865 "SCHEMA,SCROLL,SECOND,SECTION,SELECT,SEQUENCE,SESSION,SESSION_USER,SET,SIZE,"\
866 "SMALLINT,SOME,SPACE,SQL,SQLCA,SQLCODE,SQLERROR,SQLSTATE,SQLWARNING,"\
867 "SUBSTRING,SUM,SYSTEM_USER,"\
868 "TABLE,TEMPORARY,THEN,TIME,TIMESTAMP,TIMEZONE_HOUR,TIMEZONE_MINUTE,"\
869 "TO,TRAILING,TRANSACTION,TRANSLATE,TRANSLATION,TRIM,TRUE,"\
870 "UNION,UNIQUE,UNKNOWN,UPDATE,UPPER,USAGE,USER,USING,"\
871 "VALUE,VALUES,VARCHAR,VARYING,VIEW,WHEN,WHENEVER,WHERE,WITH,WORK,YEAR")
874 (defconstant $SQL_PARAM_TYPE_UNKNOWN 0)
875 (defconstant $SQL_PARAM_INPUT 1)
876 (defconstant $SQL_PARAM_INPUT_OUTPUT 2)
877 (defconstant $SQL_RESULT_COL 3)
878 (defconstant $SQL_PARAM_OUTPUT 4)
879 (defconstant $SQL_RETURN_VALUE 5)
882 ;; Defines used by both Level 1 and Level 2 functions
884 ;; generally useful constants
885 (defconstant $SQL_MAX_OPTION_STRING_LENGTH 256)
887 ;; Additional return codes)
888 (defconstant $SQL_STILL_EXECUTING 2)
889 (defconstant $SQL_NEED_DATA 99)
891 ;; SQL extended datatypes)
892 (defconstant $SQL_DATE 9)
893 (defconstant $SQL_TIME 10)
894 (defconstant $SQL_TIMESTAMP 11)
895 (defconstant $SQL_LONGVARCHAR -1)
896 (defconstant $SQL_BINARY -2)
897 (defconstant $SQL_VARBINARY -3)
898 (defconstant $SQL_LONGVARBINARY -4)
899 (defconstant $SQL_BIGINT -5)
900 (defconstant $SQL_TINYINT -6)
901 (defconstant $SQL_BIT -7)
904 (defconstant $SQL_TYPE_DATE 91)
905 (defconstant $SQL_TYPE_TIME 92)
906 (defconstant $SQL_TYPE_TIMESTAMP 93)
908 (defconstant $SQL_INTERVAL_YEAR -80)
909 (defconstant $SQL_INTERVAL_MONTH -81)
910 (defconstant $SQL_INTERVAL_YEAR_TO_MONTH -82)
911 (defconstant $SQL_INTERVAL_DAY -83)
912 (defconstant $SQL_INTERVAL_HOUR -84)
913 (defconstant $SQL_INTERVAL_MINUTE -85)
914 (defconstant $SQL_INTERVAL_SECOND -86)
915 (defconstant $SQL_INTERVAL_DAY_TO_HOUR -87)
916 (defconstant $SQL_INTERVAL_DAY_TO_MINUTE -88)
917 (defconstant $SQL_INTERVAL_DAY_TO_SECOND -89)
918 (defconstant $SQL_INTERVAL_HOUR_TO_MINUTE -90)
919 (defconstant $SQL_INTERVAL_HOUR_TO_SECOND -91)
920 (defconstant $SQL_INTERVAL_MINUTE_TO_SECOND -92)
921 (defconstant $SQL_UNICODE -95)
922 (defconstant $SQL_TYPE_DRIVER_START $SQL_INTERVAL_YEAR)
923 (defconstant $SQL_TYPE_DRIVER_END $SQL_UNICODE)
926 (defconstant $SQL_SIGNED_OFFSET -20)
927 (defconstant $SQL_UNSIGNED_OFFSET -22)
929 ;; C datatype to SQL datatype mapping
930 (defconstant $SQL_C_DATE $SQL_DATE)
931 (defconstant $SQL_C_TIME $SQL_TIME)
932 (defconstant $SQL_C_TIMESTAMP $SQL_TIMESTAMP)
933 (defconstant $SQL_C_BINARY $SQL_BINARY)
934 (defconstant $SQL_C_BIT $SQL_BIT)
935 (defconstant $SQL_C_TINYINT $SQL_TINYINT)
936 (defconstant $SQL_C_SBIGINT (+ $SQL_BIGINT $SQL_SIGNED_OFFSET))
937 (defconstant $SQL_C_SLONG (+ $SQL_C_LONG $SQL_SIGNED_OFFSET)) ;; SIGNED INTEGER
938 (defconstant $SQL_C_SSHORT (+ $SQL_C_SHORT $SQL_SIGNED_OFFSET)) ;; SIGNED SMALLINT
939 (defconstant $SQL_C_STINYINT (+ $SQL_TINYINT $SQL_SIGNED_OFFSET)) ;; SIGNED TINYINT
940 (defconstant $SQL_C_ULONG (+ $SQL_C_LONG $SQL_UNSIGNED_OFFSET)) ;; UNSIGNED INTEGER
941 (defconstant $SQL_C_USHORT (+ $SQL_C_SHORT $SQL_UNSIGNED_OFFSET)) ;; UNSIGNED SMALLINT
942 (defconstant $SQL_C_UTINYINT (+ $SQL_TINYINT $SQL_UNSIGNED_OFFSET)) ;;UNSIGNED TINYINT
943 (defconstant $SQL_C_BOOKMARK $SQL_C_ULONG) ;; BOOKMARK
946 (defconstant $SQL_C_TYPE_DATE $SQL_TYPE_DATE)
947 (defconstant $SQL_C_TYPE_TIME $SQL_TYPE_TIME)
948 (defconstant $SQL_C_TYPE_TIMESTAMP $SQL_TYPE_TIMESTAMP)
950 ;; Options for SQLDriverConnect
951 (defconstant $SQL_DRIVER_NOPROMPT 0)
952 (defconstant $SQL_DRIVER_COMPLETE 1)
953 (defconstant $SQL_DRIVER_PROMPT 2)
954 (defconstant $SQL_DRIVER_COMPLETE_REQUIRED 3)
956 (defconstant $SQL_MAX_CONN_OUT 1024)
960 ;; SQLExtendedFetch "fFetchType" values
961 (defconstant $SQL_FETCH_NEXT 1)
962 (defconstant $SQL_FETCH_FIRST 2)
963 (defconstant $SQL_FETCH_LAST 3)
964 (defconstant $SQL_FETCH_PRIOR 4)
965 (defconstant $SQL_FETCH_ABSOLUTE 5)
966 (defconstant $SQL_FETCH_RELATIVE 6)
967 (defconstant $SQL_FETCH_BOOKMARK 8)
969 ;;; ODBC3 constants, added by KMR
971 (defconstant $SQL_ATTR_ODBC_VERSION 200)
972 (defconstant $SQL_OV_ODBC2 2)
973 (defconstant $SQL_OV_ODBC3 3)
974 (defconstant $SQL_INDEX_UNIQUE 0)
975 (defconstant $SQL_INDEX_ALL 1)
976 (defconstant $SQL_QUICK 0)
977 (defconstant $SQL_ENSURE 1)