Rework do-query to use database for special case
[clsql/s11.git] / db-oracle / oracle-constants.lisp
blob9462bfc84a2ac1e749819ab41e459417f3d8d358
1 ;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
2 ;;;; *************************************************************************
3 ;;;; FILE IDENTIFICATION
4 ;;;;
5 ;;;; Name: oracle-constants.lisp
6 ;;;; Purpose: Constants for CLSQL Oracle interface
7 ;;;;
8 ;;;; $Id$
9 ;;;;
10 ;;;; This file is part of CLSQL.
11 ;;;;
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 ;;;; *************************************************************************
17 (in-package #:clsql-oracle)
19 (defconstant +oci-default+ #x00) ; default value for parameters and attributes
20 (defconstant +oci-threaded+ #x01) ; application is in threaded environment
21 (defconstant +oci-object+ #x02) ; the application is in object environment
22 (defconstant +oci-non-blocking+ #x04) ; non blocking mode of operation
23 (defconstant +oci-env-no-mutex+ #x08) ; the environment handle will not be protected by a mutex internally
25 ;; Handle types
27 (defconstant +oci-htype-env+ 1) ; environment handle
28 (defconstant +oci-htype-error+ 2) ; error handle
29 (defconstant +oci-htype-svcctx+ 3) ; service handle
30 (defconstant +oci-htype-stmt+ 4) ; statement handle
31 (defconstant +oci-htype-bind+ 5) ; bind handle
32 (defconstant +oci-htype-define+ 6) ; define handle
33 (defconstant +oci-htype-describe+ 7) ; describe handle
34 (defconstant +oci-htype-server+ 8) ; server handle
35 (defconstant +oci-htype-session+ 9) ; authentication handle
36 (defconstant +oci-htype-trans+ 10) ; transaction handle
37 (defconstant +oci-htype-complexobject+ 11) ; complex object retrieval handle
38 (defconstant +oci-htype-security+ 12) ; security handle
40 ;; Descriptor types
42 (defconstant +oci-dtype-lob+ 50) ; lob locator
43 (defconstant +oci-dtype-snap+ 51) ; snapshot
44 (defconstant +oci-dtype-rset+ 52) ; result set
45 (defconstant +oci-dtype-param+ 53) ; parameter descriptor obtained from ocigparm
46 (defconstant +oci-dtype-rowid+ 54) ; rowid
47 (defconstant +oci-dtype-complexobjectcomp+ 55) ; complex object retrieval descriptor
48 (defconstant +oci-dtype-file+ 56) ; File Lob locator
49 (defconstant +oci-dtype-aqenq-options+ 57) ; enqueue options
50 (defconstant +oci-dtype-aqdeq-options+ 58) ; dequeue options
51 (defconstant +oci-dtype-aqmsg-properties+ 59) ; message properties
52 (defconstant +oci-dtype-aqagent+ 60) ; aq agent
54 ;; Objectr pointer types
56 (defconstant +oci-otype-name+ 1) ; object name
57 (defconstant +oci-otype-ref+ 2) ; REF to TDO
58 (defconstant +oci-otype-ptr+ 3) ; PTR to TDO
60 ;; Attribute types
62 (defconstant +oci-attr-fncode+ 1) ; the OCI function code
63 (defconstant +oci-attr-object+ 2) ; is the environment initialized in object mode
64 (defconstant +oci-attr-nonblocking-mode+ 3) ; non blocking mode
65 (defconstant +oci-attr-sqlcode+ 4) ; the SQL verb
66 (defconstant +oci-attr-env+ 5) ; the environment handle
67 (defconstant +oci-attr-server+ 6) ; the server handle
68 (defconstant +oci-attr-session+ 7) ; the user session handle
69 (defconstant +oci-attr-trans+ 8) ; the transaction handle
70 (defconstant +oci-attr-row-count+ 9) ; the rows processed so far
71 (defconstant +oci-attr-sqlfncode+ 10) ; the SQL verb of the statement
72 (defconstant +oci-attr-prefetch-rows+ 11) ; sets the number of rows to prefetch
73 (defconstant +oci-attr-nested-prefetch-rows+ 12) ; the prefetch rows of nested table
74 (defconstant +oci-attr-prefetch-memory+ 13) ; memory limit for rows fetched
75 (defconstant +oci-attr-nested-prefetch-memory+ 14) ; memory limit for nested rows
76 (defconstant +oci-attr-char-count+ 15) ; this specifies the bind and define size in characters
77 (defconstant +oci-attr-pdscl+ 16) ; packed decimal scale
78 (defconstant +oci-attr-pdfmt+ 17) ; packed decimal format
79 (defconstant +oci-attr-param-count+ 18) ; number of column in the select list
80 (defconstant +oci-attr-rowid+ 19) ; the rowid
81 (defconstant +oci-attr-charset+ 20) ; the character set value
82 (defconstant +oci-attr-nchar+ 21) ; NCHAR type
83 (defconstant +oci-attr-username+ 22) ; username attribute
84 (defconstant +oci-attr-password+ 23) ; password attribute
85 (defconstant +oci-attr-stmt-type+ 24) ; statement type
86 (defconstant +oci-attr-internal-name+ 25) ; user friendly global name
87 (defconstant +oci-attr-external-name+ 26) ; the internal name for global txn
88 (defconstant +oci-attr-xid+ 27) ; XOPEN defined global transaction id
89 (defconstant +oci-attr-trans-lock+ 28) ;
90 (defconstant +oci-attr-trans-name+ 29) ; string to identify a global transaction
91 (defconstant +oci-attr-heapalloc+ 30) ; memory allocated on the heap
92 (defconstant +oci-attr-charset-id+ 31) ; Character Set ID
93 (defconstant +oci-attr-charset-form+ 32) ; Character Set Form
94 (defconstant +oci-attr-maxdata-size+ 33) ; Maximumsize of data on the server
95 (defconstant +oci-attr-cache-opt-size+ 34) ; object cache optimal size
96 (defconstant +oci-attr-cache-max-size+ 35) ; object cache maximum size percentage
97 (defconstant +oci-attr-pinoption+ 36) ; object cache default pin option
98 (defconstant +oci-attr-alloc-duration+ 37) ; object cache default allocation duration
99 (defconstant +oci-attr-pin-duration+ 38) ; object cache default pin duration
100 (defconstant +oci-attr-fdo+ 39) ; Format Descriptor object attribute
101 (defconstant +oci-attr-postprocessing-callback+ 40) ; Callback to process outbind data
102 (defconstant +oci-attr-postprocessing-context+ 41) ; Callback context to process outbind data
103 (defconstant +oci-attr-rows-returned+ 42) ; Number of rows returned in current iter - for Bind handles
104 (defconstant +oci-attr-focbk+ 43) ; Failover Callback attribute
105 (defconstant +oci-attr-in-v8-mode+ 44) ; is the server/service context in V8 mode
106 (defconstant +oci-attr-lobempty+ 45) ; empty lob ?
107 (defconstant +oci-attr-sesslang+ 46) ; session language handle
109 ;; AQ Attribute Types
110 ;; Enqueue Options
112 (defconstant +oci-attr-visibility+ 47) ; visibility
113 (defconstant +oci-attr-relative-msgid+ 48) ; relative message id
114 (defconstant +oci-attr-sequence-deviation+ 49) ; sequence deviation
116 ; - Dequeue Options -
117 ; consumer name
118 ;#define OCI-ATTR-DEQ-MODE 50
119 ;(defconstant +OCI-ATTR-CONSUMER-NAME 50 + 51) ; dequeue mode
120 ;#define OCI-ATTR-NAVIGATION 52 ; navigation
121 ;#define OCI-ATTR-WAIT 53 ; wait
122 ;#define OCI-ATTR-DEQ-MSGID 54 ; dequeue message id
124 ; - Message Properties -
125 (defconstant +OCI-ATTR-PRIORITY+ 55) ; priority
126 (defconstant +OCI-ATTR-DELAY+ 56) ; delay
127 (defconstant +OCI-ATTR-EXPIRATION+ 57) ; expiration
128 (defconstant +OCI-ATTR-CORRELATION+ 58) ; correlation id
129 (defconstant +OCI-ATTR-ATTEMPTS+ 59) ; # of attempts
130 (defconstant +OCI-ATTR-RECIPIENT-LIST+ 60) ; recipient list
131 (defconstant +OCI-ATTR-EXCEPTION-QUEUE+ 61) ; exception queue name
132 (defconstant +OCI-ATTR-ENQ-TIME+ 62) ; enqueue time (only OCIAttrGet)
133 (defconstant +OCI-ATTR-MSG-STATE+ 63) ; message state (only OCIAttrGet)
135 ;; AQ Agent
136 (defconstant +OCI-ATTR-AGENT-NAME+ 64) ; agent name
137 (defconstant +OCI-ATTR-AGENT-ADDRESS+ 65) ; agent address
138 (defconstant +OCI-ATTR-AGENT-PROTOCOL+ 66) ; agent protocol
140 ;- Server handle -
141 (defconstant +OCI-ATTR-NATIVE-FDES+ 67) ; native cncxn file desc
143 ;-Parameter Attribute Types-
145 (defconstant +OCI-ATTR-UNK+ 101) ; unknown attribute
146 (defconstant +OCI-ATTR-NUM-COLS+ 102) ; number of columns
147 (defconstant +OCI-ATTR-LIST-COLUMNS+ 103) ; parameter of the column list
148 (defconstant +OCI-ATTR-RDBA+ 104) ; DBA of the segment header
149 (defconstant +OCI-ATTR-CLUSTERED+ 105) ; whether the table is clustered
150 (defconstant +OCI-ATTR-PARTITIONED+ 106) ; whether the table is partitioned
151 (defconstant +OCI-ATTR-INDEX-ONLY+ 107) ; whether the table is index only
152 (defconstant +OCI-ATTR-LIST-ARGUMENTS+ 108) ; parameter of the argument list
153 (defconstant +OCI-ATTR-LIST-SUBPROGRAMS+ 109) ; parameter of the subprogram list
154 (defconstant +OCI-ATTR-REF-TDO+ 110) ; REF to the type descriptor
155 (defconstant +OCI-ATTR-LINK+ 111) ; the database link name
156 (defconstant +OCI-ATTR-MIN+ 112) ; minimum value
157 (defconstant +OCI-ATTR-MAX+ 113) ; maximum value
158 (defconstant +OCI-ATTR-INCR+ 114) ; increment value
159 (defconstant +OCI-ATTR-CACHE+ 115) ; number of sequence numbers cached
160 (defconstant +OCI-ATTR-ORDER+ 116) ; whether the sequence is ordered
161 (defconstant +OCI-ATTR-HW-MARK+ 117) ; high-water mark
162 (defconstant +OCI-ATTR-TYPE-SCHEMA+ 118) ; type's schema name
163 (defconstant +OCI-ATTR-TIMESTAMP+ 119) ; timestamp of the object
164 (defconstant +OCI-ATTR-NUM-ATTRS+ 120) ; number of sttributes
165 (defconstant +OCI-ATTR-NUM-PARAMS+ 121) ; number of parameters
166 (defconstant +OCI-ATTR-OBJID+ 122) ; object id for a table or view
167 (defconstant +OCI-ATTR-PTYPE+ 123) ; type of info described by
168 (defconstant +OCI-ATTR-PARAM+ 124) ; parameter descriptor
169 (defconstant +OCI-ATTR-OVERLOAD-ID+ 125) ; overload ID for funcs and procs
170 (defconstant +OCI-ATTR-TABLESPACE+ 126) ; table name space
171 (defconstant +OCI-ATTR-TDO+ 127) ; TDO of a type
172 (defconstant +OCI-ATTR-PARSE-ERROR-OFFSET+ 128) ; Parse Error offset
173 ;-Credential Types-
174 (defconstant +OCI-CRED-RDBMS+ 1) ; database username/password
175 (defconstant +OCI-CRED-EXT+ 2) ; externally provided credentials
177 ;; Error Return Values-
179 (defconstant +oci-continue+ -24200) ; Continue with the body of the OCI function
180 (defconstant +oci-still-executing+ -3123) ; OCI would block error
181 (defconstant +oci-invalid-handle+ -2) ; maps to SQL-INVALID-HANDLE
182 (defconstant +oci-error+ -1) ; maps to SQL-ERROR
183 (defconstant +oci-success+ 0) ; maps to SQL-SUCCESS of SAG CLI
184 (defconstant +oci-success-with-info+ 1) ; maps to SQL-SUCCESS-WITH-INFO
185 (defconstant +oci-need-data+ 99) ; maps to SQL-NEED-DATA
186 (defconstant +oci-no-data+ 100) ; maps to SQL-NO-DATA
188 ;; Parsing Syntax Types-
190 (defconstant +oci-ntv-syntax+ 1) ; Use what so ever is the native lang of server
191 (defconstant +oci-v7-syntax+ 2) ; V7 language
192 (defconstant +oci-v8-syntax+ 3) ; V8 language
194 ;-Scrollable Cursor Options-
196 (defconstant +oci-fetch-next+ #x02) ; next row
197 (defconstant +oci-fetch-first+ #x04) ; first row of the result set
198 (defconstant +oci-fetch-last+ #x08) ; the last row of the result set
199 (defconstant +oci-fetch-prior+ #x10) ; the previous row relative to current
200 (defconstant +oci-fetch-absolute+ #x20) ; absolute offset from first
201 (defconstant +oci-fetch-relative+ #x40) ; offset relative to current
203 ;-Bind and Define Options-
205 (defconstant +OCI-SB2-IND-PTR+ #x01) ; unused
206 (defconstant +OCI-DATA-AT-EXEC+ #x02) ; data at execute time
207 (defconstant +OCI-DYNAMIC-FETCH+ #x02) ; fetch dynamically
208 (defconstant +OCI-PIECEWISE+ #x04) ; piecewise DMLs or fetch
211 ;-Execution Modes-
212 (defconstant +OCI-BATCH-MODE+ #x01) ; batch the oci statement for execution
213 (defconstant +OCI-EXACT-FETCH+ #x02) ; fetch the exact rows specified
214 (defconstant +OCI-KEEP-FETCH-STATE+ #x04) ; unused
215 (defconstant +OCI-SCROLLABLE-CURSOR+ #x08) ; cursor scrollable
216 (defconstant +OCI-DESCRIBE-ONLY+ #x10) ; only describe the statement
217 (defconstant +OCI-COMMIT-ON-SUCCESS+ #x20) ; commit, if successful execution
220 ;-Authentication Modes-
221 (defconstant +OCI-MIGRATE+ #x0001) ; migratable auth context
222 (defconstant +OCI-SYSDBA+ #x0002) ; for SYSDBA authorization
223 (defconstant +OCI-SYSOPER+ #x0004) ; for SYSOPER authorization
224 (defconstant +OCI-PRELIM-AUTH+ #x0008) ; for preliminary authorization
227 ;-Piece Information-
228 (defconstant +OCI-PARAM-IN+ #x01) ; in parameter
229 (defconstant +OCI-PARAM-OUT+ #x02) ; out parameter
232 ;- Transaction Start Flags -
233 ; NOTE: OCI-TRANS-JOIN and OCI-TRANS-NOMIGRATE not supported in 8.0.X
234 (defconstant +OCI-TRANS-NEW+ #x00000001) ; starts a new transaction branch
235 (defconstant +OCI-TRANS-JOIN+ #x00000002) ; join an existing transaction
236 (defconstant +OCI-TRANS-RESUME+ #x00000004) ; resume this transaction
237 (defconstant +OCI-TRANS-STARTMASK+ #x000000ff)
240 (defconstant +OCI-TRANS-READONLY+ #x00000100) ; starts a readonly transaction
241 (defconstant +OCI-TRANS-READWRITE+ #x00000200) ; starts a read-write transaction
242 (defconstant +OCI-TRANS-SERIALIZABLE+ #x00000400)
243 ; starts a serializable transaction
244 (defconstant +OCI-TRANS-ISOLMASK+ #x0000ff00)
246 (defconstant +OCI-TRANS-LOOSE+ #x00010000) ; a loosely coupled branch
247 (defconstant +OCI-TRANS-TIGHT+ #x00020000) ; a tightly coupled branch
248 (defconstant +OCI-TRANS-TYPEMASK+ #x000f0000) ;
250 (defconstant +OCI-TRANS-NOMIGRATE+ #x00100000) ; non migratable transaction
254 ;- Transaction End Flags -
255 (defconstant +OCI-TRANS-TWOPHASE+ #x01000000) ; use two phase commit
258 ;; AQ Constants
259 ;; NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
260 ;; The following constants must match the PL/SQL dbms-aq constants
261 ;; NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
263 ; - Visibility flags -
264 (defconstant +OCI-ENQ-IMMEDIATE+ 1) ; enqueue is an independent transaction
265 (defconstant +OCI-ENQ-ON-COMMIT+ 2) ; enqueue is part of current transaction
267 ; - Dequeue mode flags -
268 (defconstant +OCI-DEQ-BROWSE+ 1) ; read message without acquiring a lock
269 (defconstant +OCI-DEQ-LOCKED+ 2) ; read and obtain write lock on message
270 (defconstant +OCI-DEQ-REMOVE+ 3) ; read the message and delete it
272 ; - Dequeue navigation flags -
273 (defconstant +OCI-DEQ-FIRST-MSG+ 1) ; get first message at head of queue
274 (defconstant +OCI-DEQ-NEXT-MSG+ 3) ; next message that is available
275 (defconstant +OCI-DEQ-NEXT-TRANSACTION+ 2) ; get first message of next txn group
277 ; - Message states -
278 (defconstant +OCI-MSG-WAITING+ 1) ; the message delay has not yet completed
279 (defconstant +OCI-MSG-READY+ 0) ; the message is ready to be processed
280 (defconstant +OCI-MSG-PROCESSED+ 2) ; the message has been processed
281 (defconstant +OCI-MSG-EXPIRED+ 3) ; message has moved to exception queue
283 ; - Sequence deviation -
284 (defconstant +OCI-ENQ-BEFORE+ 2) ; enqueue message before another message
285 (defconstant +OCI-ENQ-TOP+ 3) ; enqueue message before all messages
287 ; - Visibility flags -
288 (defconstant +OCI-DEQ-IMMEDIATE+ 1) ; dequeue is an independent transaction
289 (defconstant +OCI-DEQ-ON-COMMIT+ 2) ; dequeue is part of current transaction
291 ; - Wait -
292 (defconstant +OCI-DEQ-WAIT-FOREVER+ -1) ; wait forever if no message available
293 (defconstant +OCI-DEQ-NO-WAIT+ 0) ; do not wait if no message is available
295 ; - Delay -
296 (defconstant +OCI-MSG-NO-DELAY+ 0) ; message is available immediately
298 ;; Expiration
299 (defconstant +OCI-MSG-NO-EXPIRATION+ -1) ; message will never expire
301 ;; Describe Handle Parameter Attributes
302 ;; Attributes common to Columns and Stored Procs
304 (defconstant +oci-attr-data-size+ 1) ; maximum size of the data
305 (defconstant +oci-attr-data-type+ 2) ; the sql type of the column/argument
306 (defconstant +oci-attr-disp-size+ 3) ; the display size
307 (defconstant +oci-attr-name+ 4) ; the name of the column/argument
308 (defconstant +oci-attr-precision+ 5) ; precision if number type
309 (defconstant +oci-attr-scale+ 6) ; scale if number type
310 (defconstant +oci-attr-is-null+ 7) ; is it null ?
311 (defconstant +oci-attr-type-name+ 8)
313 ;; name of the named data type or a package name for package private types
315 (defconstant +OCI-ATTR-SCHEMA-NAME+ 9) ; the schema name
316 (defconstant +OCI-ATTR-SUB-NAME+ 10) ; type name if package private type
317 (defconstant +OCI-ATTR-POSITION+ 11) ; relative position of col/arg in the list of cols/args
319 ; complex object retrieval parameter attributes
320 (defconstant +OCI-ATTR-COMPLEXOBJECTCOMP-TYPE+ 50) ;
321 (defconstant +OCI-ATTR-COMPLEXOBJECTCOMP-TYPE-LEVEL+ 51) ;
322 (defconstant +OCI-ATTR-COMPLEXOBJECT-LEVEL+ 52) ;
323 (defconstant +OCI-ATTR-COMPLEXOBJECT-COLL-OUTOFLINE+ 53) ;
325 ; Only Columns
326 (defconstant +OCI-ATTR-DISP-NAME+ 100) ; the display name
328 ;; stored procs
330 (defconstant +OCI-ATTR-OVERLOAD+ 210) ; is this position overloaded
331 (defconstant +OCI-ATTR-LEVEL+ 211) ; level for structured types
332 (defconstant +OCI-ATTR-HAS-DEFAULT+ 212) ; has a default value
333 (defconstant +OCI-ATTR-IOMODE+ 213) ; in, out inout
334 (defconstant +OCI-ATTR-RADIX+ 214) ; returns a radix
335 (defconstant +OCI-ATTR-NUM-ARGS+ 215) ; total number of arguments
337 ;; named type attributes
339 (defconstant +oci-attr-typecode+ 216) ; lobject or collection
340 (defconstant +oci-attr-collection-typecode+ 217) ; varray or nested table
341 (defconstant +oci-attr-version+ 218) ; user assigned version
342 (defconstant +oci-attr-is-incomplete-type+ 219) ; is this an incomplete type
343 (defconstant +oci-attr-is-system-type+ 220) ; a system type
344 (defconstant +oci-attr-is-predefined-type+ 221) ; a predefined type
345 (defconstant +oci-attr-is-transient-type+ 222) ; a transient type
346 (defconstant +oci-attr-is-system-generated-type+ 223) ; system generated type
347 (defconstant +oci-attr-has-nested-table+ 224) ; contains nested table attr
348 (defconstant +oci-attr-has-lob+ 225) ; has a lob attribute
349 (defconstant +oci-attr-has-file+ 226) ; has a file attribute
350 (defconstant +oci-attr-collection-element+ 227) ; has a collection attribute
351 (defconstant +oci-attr-num-type-attrs+ 228) ; number of attribute types
352 (defconstant +oci-attr-list-type-attrs+ 229) ; list of type attributes
353 (defconstant +oci-attr-num-type-methods+ 230) ; number of type methods
354 (defconstant +oci-attr-list-type-methods+ 231) ; list of type methods
355 (defconstant +oci-attr-map-method+ 232) ; map method of type
356 (defconstant +oci-attr-order-method+ 233) ; order method of type
358 ; only collection element
359 (defconstant +OCI-ATTR-NUM-ELEMS+ 234) ; number of elements
361 ; only type methods
362 (defconstant +OCI-ATTR-ENCAPSULATION+ 235) ; encapsulation level
363 (defconstant +OCI-ATTR-IS-SELFISH+ 236) ; method selfish
364 (defconstant +OCI-ATTR-IS-VIRTUAL+ 237) ; virtual
365 (defconstant +OCI-ATTR-IS-INLINE+ 238) ; inline
366 (defconstant +OCI-ATTR-IS-CONSTANT+ 239) ; constant
367 (defconstant +OCI-ATTR-HAS-RESULT+ 240) ; has result
368 (defconstant +OCI-ATTR-IS-CONSTRUCTOR+ 241) ; constructor
369 (defconstant +OCI-ATTR-IS-DESTRUCTOR+ 242) ; destructor
370 (defconstant +OCI-ATTR-IS-OPERATOR+ 243) ; operator
371 (defconstant +OCI-ATTR-IS-MAP+ 244) ; a map method
372 (defconstant +OCI-ATTR-IS-ORDER+ 245) ; order method
373 (defconstant +OCI-ATTR-IS-RNDS+ 246) ; read no data state method
374 (defconstant +OCI-ATTR-IS-RNPS+ 247) ; read no process state
375 (defconstant +OCI-ATTR-IS-WNDS+ 248) ; write no data state method
376 (defconstant +OCI-ATTR-IS-WNPS+ 249) ; write no process state
378 ; describing public objects
379 (defconstant +OCI-ATTR-DESC-PUBLIC+ 250) ; public object
382 ;-OCIPasswordChange-
383 (defconstant +OCI-AUTH+ #x08) ; Change the password but do not login
386 ;-Other Constants-
387 (defconstant +OCI-MAX-FNS+ 100) ; max number of OCI Functions
388 (defconstant +OCI-SQLSTATE-SIZE+ 5) ;
389 (defconstant +OCI-ERROR-MAXMSG-SIZE+ 1024) ; max size of an error message
390 ;; (defconstant +OCI-LOBMAXSIZE+ 4MAXVAL) ; maximum lob data size
391 (defconstant +OCI-ROWID-LEN+ 23) ;
394 ;- Fail Over Events -
395 (defconstant +OCI-FO-END+ #x00000001) ;
396 (defconstant +OCI-FO-ABORT+ #x00000002) ;
397 (defconstant +OCI-FO-REAUTH+ #x00000004) ;
398 (defconstant +OCI-FO-BEGIN+ #x00000008) ;
399 (defconstant +OCI-FO-ERROR+ #x00000010) ;
402 ;- Fail Over Types -
403 (defconstant +OCI-FO-NONE+ #x00000001) ;
404 (defconstant +OCI-FO-SESSION+ #x00000002) ;
405 (defconstant +OCI-FO-SELECT+ #x00000004) ;
406 (defconstant +OCI-FO-TXNAL+ #x00000008) ;
409 ;-Function Codes-
410 (defconstant +OCI-FNCODE-INITIALIZE+ 1) ; OCIInitialize
411 (defconstant +OCI-FNCODE-HANDLEALLOC+ 2) ; OCIHandleAlloc
412 (defconstant +OCI-FNCODE-HANDLEFREE+ 3) ; OCIHandleFree
413 (defconstant +OCI-FNCODE-DESCRIPTORALLOC+ 4) ; OCIDescriptorAlloc
414 (defconstant +OCI-FNCODE-DESCRIPTORFREE+ 5) ; OCIDescriptorFree
415 (defconstant +OCI-FNCODE-ENVINIT+ 6) ; OCIEnvInit
416 (defconstant +OCI-FNCODE-SERVERATTACH+ 7) ; OCIServerAttach
417 (defconstant +OCI-FNCODE-SERVERDETACH+ 8) ; OCIServerDetach
418 ; unused 9
419 (defconstant +OCI-FNCODE-SESSIONBEGIN+ 10) ; OCISessionBegin
420 (defconstant +OCI-FNCODE-SESSIONEND+ 11) ; OCISessionEnd
421 (defconstant +OCI-FNCODE-PASSWORDCHANGE+ 12) ; OCIPasswordChange
422 (defconstant +OCI-FNCODE-STMTPREPARE+ 13) ; OCIStmtPrepare
423 ; unused 14- 16
424 (defconstant +OCI-FNCODE-BINDDYNAMIC+ 17) ; OCIBindDynamic
425 (defconstant +OCI-FNCODE-BINDOBJECT+ 18) ; OCIBindObject
426 ; 19 unused
427 (defconstant +OCI-FNCODE-BINDARRAYOFSTRUCT+ 20) ; OCIBindArrayOfStruct
428 (defconstant +OCI-FNCODE-STMTEXECUTE+ 21) ; OCIStmtExecute
429 ; unused 22-24
430 (defconstant +OCI-FNCODE-DEFINEOBJECT+ 25) ; OCIDefineObject
431 (defconstant +OCI-FNCODE-DEFINEDYNAMIC+ 26) ; OCIDefineDynamic
432 (defconstant +OCI-FNCODE-DEFINEARRAYOFSTRUCT+ 27) ; OCIDefineArrayOfStruct
433 (defconstant +OCI-FNCODE-STMTFETCH+ 28) ; OCIStmtFetch
434 (defconstant +OCI-FNCODE-STMTGETBIND+ 29) ; OCIStmtGetBindInfo
435 ; 30, 31 unused
436 (defconstant +OCI-FNCODE-DESCRIBEANY+ 32) ; OCIDescribeAny
437 (defconstant +OCI-FNCODE-TRANSSTART+ 33) ; OCITransStart
438 (defconstant +OCI-FNCODE-TRANSDETACH+ 34) ; OCITransDetach
439 (defconstant +OCI-FNCODE-TRANSCOMMIT+ 35) ; OCITransCommit
440 ; 36 unused
441 (defconstant +OCI-FNCODE-ERRORGET+ 37) ; OCIErrorGet
442 (defconstant +OCI-FNCODE-LOBOPENFILE+ 38) ; OCILobFileOpen
443 (defconstant +OCI-FNCODE-LOBCLOSEFILE+ 39) ; OCILobFileClose
444 ; 40 was LOBCREATEFILE, unused
445 ; 41 was OCILobFileDelete, unused
446 (defconstant +OCI-FNCODE-LOBCOPY+ 42) ; OCILobCopy
447 (defconstant +OCI-FNCODE-LOBAPPEND+ 43) ; OCILobAppend
448 (defconstant +OCI-FNCODE-LOBERASE+ 44) ; OCILobErase
449 (defconstant +OCI-FNCODE-LOBLENGTH+ 45) ; OCILobGetLength
450 (defconstant +OCI-FNCODE-LOBTRIM+ 46) ; OCILobTrim
451 (defconstant +OCI-FNCODE-LOBREAD+ 47) ; OCILobRead
452 (defconstant +OCI-FNCODE-LOBWRITE+ 48) ; OCILobWrite
453 ; 49 unused
454 (defconstant +OCI-FNCODE-SVCCTXBREAK+ 50) ; OCIBreak
455 (defconstant +OCI-FNCODE-SERVERVERSION+ 51) ; OCIServerVersion
456 ; unused 52, 53
457 (defconstant +OCI-FNCODE-ATTRGET+ 54) ; OCIAttrGet
458 (defconstant +OCI-FNCODE-ATTRSET+ 55) ; OCIAttrSet
459 (defconstant +OCI-FNCODE-PARAMSET+ 56) ; OCIParamSet
460 (defconstant +OCI-FNCODE-PARAMGET+ 57) ; OCIParamGet
461 (defconstant +OCI-FNCODE-STMTGETPIECEINFO+ 58) ; OCIStmtGetPieceInfo
462 (defconstant +OCI-FNCODE-LDATOSVCCTX+ 59) ; OCILdaToSvcCtx
463 ; 60 unused
464 (defconstant +OCI-FNCODE-STMTSETPIECEINFO+ 61) ; OCIStmtSetPieceInfo
465 (defconstant +OCI-FNCODE-TRANSFORGET+ 62) ; OCITransForget
466 (defconstant +OCI-FNCODE-TRANSPREPARE+ 63) ; OCITransPrepare
467 (defconstant +OCI-FNCODE-TRANSROLLBACK+ 64) ; OCITransRollback
468 (defconstant +OCI-FNCODE-DEFINEBYPOS+ 65) ; OCIDefineByPos
469 (defconstant +OCI-FNCODE-BINDBYPOS+ 66) ; OCIBindByPos
470 (defconstant +OCI-FNCODE-BINDBYNAME+ 67) ; OCIBindByName
471 (defconstant +OCI-FNCODE-LOBASSIGN+ 68) ; OCILobAssign
472 (defconstant +OCI-FNCODE-LOBISEQUAL+ 69) ; OCILobIsEqual
473 (defconstant +OCI-FNCODE-LOBISINIT+ 70) ; OCILobLocatorIsInit
474 ; 71 was lob locator size in beta2
475 (defconstant +OCI-FNCODE-LOBENABLEBUFFERING+ 71) ; OCILobEnableBuffering
476 (defconstant +OCI-FNCODE-LOBCHARSETID+ 72) ; OCILobCharSetID
477 (defconstant +OCI-FNCODE-LOBCHARSETFORM+ 73) ; OCILobCharSetForm
478 (defconstant +OCI-FNCODE-LOBFILESETNAME+ 74) ; OCILobFileSetName
479 (defconstant +OCI-FNCODE-LOBFILEGETNAME+ 75) ; OCILobFileGetName
480 (defconstant +OCI-FNCODE-LOGON+ 76) ; OCILogon
481 (defconstant +OCI-FNCODE-LOGOFF+ 77) ; OCILogoff
482 (defconstant +OCI-FNCODE-LOBDISABLEBUFFERING+ 78) ; OCILobDisableBuffering
483 (defconstant +OCI-FNCODE-LOBFLUSHBUFFER+ 79) ; OCILobFlushBuffer
484 (defconstant +OCI-FNCODE-LOBLOADFROMFILE+ 80) ; OCILobLoadFromFile
489 ;- FILE open modes -
490 (defconstant +OCI-FILE-READONLY+ 1) ; readonly mode open for FILE types
493 ;- LOB Buffering Flush Flags -
494 (defconstant +OCI-LOB-BUFFER-FREE+ 1) ;
495 (defconstant +OCI-LOB-BUFFER-NOFREE+ 2) ;
498 ;- OCI Statement Types -
500 (defconstant +oci-stmt-select+ 1) ; select statement
501 (defconstant +oci-stmt-update+ 2) ; update statement
502 (defconstant +oci-stmt-delete+ 3) ; delete statement
503 (defconstant +oci-stmt-insert+ 4) ; insert statement
504 (defconstant +oci-stmt-create+ 5) ; create statement
505 (defconstant +oci-stmt-drop+ 6) ; drop statement
506 (defconstant +oci-stmt-alter+ 7) ; alter statement
507 (defconstant +oci-stmt-begin+ 8) ; begin ... (pl/sql statement)
508 (defconstant +oci-stmt-declare+ 9) ; declare .. (pl/sql statement )
511 ;- OCI Parameter Types -
512 (defconstant +OCI-PTYPE-UNK+ 0) ; unknown
513 (defconstant +OCI-PTYPE-TABLE+ 1) ; table
514 (defconstant +OCI-PTYPE-VIEW+ 2) ; view
515 (defconstant +OCI-PTYPE-PROC+ 3) ; procedure
516 (defconstant +OCI-PTYPE-FUNC+ 4) ; function
517 (defconstant +OCI-PTYPE-PKG+ 5) ; package
518 (defconstant +OCI-PTYPE-TYPE+ 6) ; user-defined type
519 (defconstant +OCI-PTYPE-SYN+ 7) ; synonym
520 (defconstant +OCI-PTYPE-SEQ+ 8) ; sequence
521 (defconstant +OCI-PTYPE-COL+ 9) ; column
522 (defconstant +OCI-PTYPE-ARG+ 10) ; argument
523 (defconstant +OCI-PTYPE-LIST+ 11) ; list
524 (defconstant +OCI-PTYPE-TYPE-ATTR+ 12) ; user-defined type's attribute
525 (defconstant +OCI-PTYPE-TYPE-COLL+ 13) ; collection type's element
526 (defconstant +OCI-PTYPE-TYPE-METHOD+ 14) ; user-defined type's method
527 (defconstant +OCI-PTYPE-TYPE-ARG+ 15) ; user-defined type method's argument
528 (defconstant +OCI-PTYPE-TYPE-RESULT+ 16) ; user-defined type method's result
531 ;- OCI List Types -
532 (defconstant +OCI-LTYPE-UNK+ 0) ; unknown
533 (defconstant +OCI-LTYPE-COLUMN+ 1) ; column list
534 (defconstant +OCI-LTYPE-ARG-PROC+ 2) ; procedure argument list
535 (defconstant +OCI-LTYPE-ARG-FUNC+ 3) ; function argument list
536 (defconstant +OCI-LTYPE-SUBPRG+ 4) ; subprogram list
537 (defconstant +OCI-LTYPE-TYPE-ATTR+ 5) ; type attribute
538 (defconstant +OCI-LTYPE-TYPE-METHOD+ 6) ; type method
539 (defconstant +OCI-LTYPE-TYPE-ARG-PROC+ 7) ; type method w/o result argument list
540 (defconstant +OCI-LTYPE-TYPE-ARG-FUNC+ 8) ; type method w/result argument list
542 ;; typecodes