r11859: Canonicalize whitespace
[clsql.git] / db-oracle / oracle-constants.lisp
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 ;;;; *************************************************************************
16
17 (in-package #:clsql-oracle)
18
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
24
25 ;; Handle types
26
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
39
40 ;; Descriptor types
41
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
53
54 ;; Objectr pointer types
55
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
59
60 ;; Attribute types
61
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
108
109 ;; AQ Attribute Types
110 ;; Enqueue Options
111
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
115
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
123
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)
134
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
139
140 ;- Server handle -
141 (defconstant +OCI-ATTR-NATIVE-FDES+ 67) ; native cncxn file desc
142
143 ;-Parameter Attribute Types-
144
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
176
177 ;; Error Return Values-
178
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
187
188 ;; Parsing Syntax Types-
189
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
193
194 ;-Scrollable Cursor Options-
195
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
202
203 ;-Bind and Define Options-
204
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
209 ;-
210
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
218 ;-
219
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
225 ;-
226
227 ;-Piece Information-
228 (defconstant +OCI-PARAM-IN+ #x01)       ; in parameter
229 (defconstant +OCI-PARAM-OUT+ #x02)      ; out parameter
230 ;-
231
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)
238
239
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)
245
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) ;
249
250 (defconstant +OCI-TRANS-NOMIGRATE+ #x00100000) ; non migratable transaction
251
252 ;-
253
254 ;- Transaction End Flags -
255 (defconstant +OCI-TRANS-TWOPHASE+ #x01000000) ; use two phase commit
256 ;-
257
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
262
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
266
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
271
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
276
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
282
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
286
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
290
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
294
295 ; - Delay -
296 (defconstant +OCI-MSG-NO-DELAY+ 0)      ; message is available immediately
297
298 ;; Expiration
299 (defconstant +OCI-MSG-NO-EXPIRATION+ -1) ; message will never expire
300
301 ;; Describe Handle Parameter Attributes
302 ;; Attributes common to Columns and Stored Procs
303
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)
312
313 ;; name of the named data type or a package name for package private types
314
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
318
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) ;
324
325 ; Only Columns
326 (defconstant +OCI-ATTR-DISP-NAME+ 100)  ; the display name
327
328 ;; stored procs
329
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
336
337 ;; named type attributes
338
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
357
358 ; only collection element
359 (defconstant +OCI-ATTR-NUM-ELEMS+ 234)  ; number of elements
360
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
377
378 ; describing public objects
379 (defconstant +OCI-ATTR-DESC-PUBLIC+ 250) ; public object
380 ;-
381
382 ;-OCIPasswordChange-
383 (defconstant +OCI-AUTH+ #x08)           ; Change the password but do not login
384
385
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)        ;
392 ;-
393
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) ;
400 ;-
401
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) ;
407 ;-
408
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
485
486
487 ;-
488
489 ;- FILE open modes -
490 (defconstant +OCI-FILE-READONLY+ 1)     ; readonly mode open for FILE types
491 ;-
492
493 ;- LOB Buffering Flush Flags -
494 (defconstant +OCI-LOB-BUFFER-FREE+ 1)   ;
495 (defconstant +OCI-LOB-BUFFER-NOFREE+ 2) ;
496 ;-
497
498 ;- OCI Statement Types -
499
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 )
509 ;-
510
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
529 ;-
530
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
541
542 ;; typecodes
543