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