OCILIB (C and C++ Driver for Oracle)  4.7.3
Open source and cross platform Oracle Driver delivering efficient access to Oracle databases.
defines.h
1 /*
2  * OCILIB - C Driver for Oracle (C Wrapper for Oracle OCI)
3  *
4  * Website: http://www.ocilib.net
5  *
6  * Copyright (c) 2007-2021 Vincent ROGIER <vince.rogier@ocilib.net>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20 
21 /* IMPORTANT NOTICE
22  *
23  * This file contains explanations about Oracle and OCI technologies.
24  * OCILIB is a wrapper around OCI and thus exposes OCI features.
25  * The OCILIB documentation intends to explain Oracle / OCI concepts
26  * and is naturally based on the official Oracle OCI documentation.
27  *
28  * Some parts of OCILIB documentation may include some information
29  * taken and adapted from the following Oracle documentations :
30  * - Oracle Call Interface Programmer's Guide
31  * - Oracle Streams - Advanced Queuing User's Guide
32  */
33 
34 #ifndef OCILIB_OCILIBC_DEFINES_H_INCLUDED
35 #define OCILIB_OCILIBC_DEFINES_H_INCLUDED
36 
37 #include "ocilibc/platform.h"
38 
45 /* versions extract macros */
46 
47 #define OCI_VER_MAJ(v) (unsigned int) ((v)/100)
48 #define OCI_VER_MIN(v) (unsigned int) (((v)/10) - (((v)/100)*10))
49 #define OCI_VER_REV(v) (unsigned int) ((v) - (((v)/10)*10))
50 
51 #define OCI_VER_MAKE(x, y, z) ((x)*100 + (y)*10 + (z))
52 
53 /* oracle OCI key versions*/
54 
55 #define OCI_8_0 OCI_VER_MAKE( 8, 0, 0)
56 #define OCI_8_1 OCI_VER_MAKE( 8, 1, 0)
57 #define OCI_9_0 OCI_VER_MAKE( 9, 0, 0)
58 #define OCI_9_2 OCI_VER_MAKE( 9, 2, 0)
59 #define OCI_10_1 OCI_VER_MAKE(10, 1, 0)
60 #define OCI_10_2 OCI_VER_MAKE(10, 2, 0)
61 #define OCI_11_1 OCI_VER_MAKE(11, 1, 0)
62 #define OCI_11_2 OCI_VER_MAKE(11, 2, 0)
63 #define OCI_12_1 OCI_VER_MAKE(12, 1, 0)
64 #define OCI_12_2 OCI_VER_MAKE(12, 2, 0)
65 #define OCI_18_1 OCI_VER_MAKE(18, 1, 0)
66 #define OCI_18_2 OCI_VER_MAKE(18, 2, 0)
67 #define OCI_18_3 OCI_VER_MAKE(18, 3, 0)
68 #define OCI_18_4 OCI_VER_MAKE(18, 4, 0)
69 #define OCI_18_5 OCI_VER_MAKE(18, 5, 0)
70 #define OCI_19_3 OCI_VER_MAKE(19, 3, 0)
71 #define OCI_19_5 OCI_VER_MAKE(19, 5, 0)
72 
73 /* OCILIB Error types */
74 
75 #define OCI_ERR_ORACLE 1
76 #define OCI_ERR_OCILIB 2
77 #define OCI_ERR_WARNING 3
78 
79 /* OCILIB Error codes */
80 
81 #define OCI_ERR_NONE 0
82 #define OCI_ERR_NOT_INITIALIZED 1
83 #define OCI_ERR_LOADING_SHARED_LIB 2
84 #define OCI_ERR_LOADING_SYMBOLS 3
85 #define OCI_ERR_MULTITHREADED 4
86 #define OCI_ERR_MEMORY 5
87 #define OCI_ERR_NOT_AVAILABLE 6
88 #define OCI_ERR_NULL_POINTER 7
89 #define OCI_ERR_DATATYPE_NOT_SUPPORTED 8
90 #define OCI_ERR_PARSE_TOKEN 9
91 #define OCI_ERR_MAP_ARGUMENT 10
92 #define OCI_ERR_OUT_OF_BOUNDS 11
93 #define OCI_ERR_UNFREED_DATA 12
94 #define OCI_ERR_MAX_BIND 13
95 #define OCI_ERR_ATTR_NOT_FOUND 14
96 #define OCI_ERR_MIN_VALUE 15
97 #define OCI_ERR_NOT_COMPATIBLE 16
98 #define OCI_ERR_STMT_STATE 17
99 #define OCI_ERR_STMT_NOT_SCROLLABLE 18
100 #define OCI_ERR_BIND_ALREADY_USED 19
101 #define OCI_ERR_BIND_ARRAY_SIZE 20
102 #define OCI_ERR_COLUMN_NOT_FOUND 21
103 #define OCI_ERR_DIRPATH_STATE 22
104 #define OCI_ERR_CREATE_OCI_ENVIRONMENT 23
105 #define OCI_ERR_REBIND_BAD_DATATYPE 24
106 #define OCI_ERR_TYPEINFO_DATATYPE 25
107 #define OCI_ERR_ITEM_NOT_FOUND 26
108 #define OCI_ERR_ARG_INVALID_VALUE 27
109 #define OCI_ERR_XA_ENV_FROM_STRING 28
110 #define OCI_ERR_XA_CONN_FROM_STRING 29
111 #define OCI_ERR_BIND_EXTERNAL_NOT_ALLOWED 30
112 #define OCI_ERR_UNFREED_BYTES 31
113 
114 #define OCI_ERR_COUNT 32
115 
116 /* Public OCILIB handles */
117 
118 #define OCI_IPC_TYPE_INFO 10
119 #define OCI_IPC_CONNECTION 11
120 #define OCI_IPC_POOL 12
121 #define OCI_IPC_TRANSACTION 13
122 #define OCI_IPC_STATEMENT 14
123 #define OCI_IPC_RESULTSET 15
124 #define OCI_IPC_COLUMN 16
125 #define OCI_IPC_DATE 17
126 #define OCI_IPC_TIMESTAMP 18
127 #define OCI_IPC_INTERVAL 19
128 #define OCI_IPC_LOB 20
129 #define OCI_IPC_FILE 21
130 #define OCI_IPC_LONG 22
131 #define OCI_IPC_OBJECT 23
132 #define OCI_IPC_COLLECTION 24
133 #define OCI_IPC_ITERATOR 25
134 #define OCI_IPC_ELEMENT 26
135 #define OCI_IPC_NUMBER 27
136 #define OCI_IPC_HASHTABLE 28
137 #define OCI_IPC_THREAD 29
138 #define OCI_IPC_MUTEX 30
139 #define OCI_IPC_BIND 31
140 #define OCI_IPC_REF 32
141 #define OCI_IPC_DIRPATH 33
142 #define OCI_IPC_NOTIFY 34
143 #define OCI_IPC_EVENT 35
144 #define OCI_IPC_ARRAY 36
145 #define OCI_IPC_MSG 37
146 #define OCI_IPC_ENQUEUE 38
147 #define OCI_IPC_DEQUEUE 39
148 #define OCI_IPC_AGENT 40
149 
150 /* allocated bytes types */
151 
152 #define OCI_MEM_ORACLE 1
153 #define OCI_MEM_OCILIB 2
154 #define OCI_MEM_ALL (OCI_MEM_ORACLE | OCI_MEM_OCILIB)
155 
156 /* binding */
157 
158 #define OCI_BIND_BY_POS 0
159 #define OCI_BIND_BY_NAME 1
160 #define OCI_BIND_SIZE 6
161 #define OCI_BIND_MAX 65535
162 
163 /* fetching */
164 
165 #define OCI_FETCH_SIZE 20
166 #define OCI_PREFETCH_SIZE 20
167 #define OCI_LONG_EXPLICIT 1
168 #define OCI_LONG_IMPLICIT 2
169 
170 /* unknown value */
171 
172 #define OCI_UNKNOWN 0
173 
174 /* C Data Type mapping */
175 
176 #define OCI_CDT_NUMERIC 1
177 #define OCI_CDT_DATETIME 3
178 #define OCI_CDT_TEXT 4
179 #define OCI_CDT_LONG 5
180 #define OCI_CDT_CURSOR 6
181 #define OCI_CDT_LOB 7
182 #define OCI_CDT_FILE 8
183 #define OCI_CDT_TIMESTAMP 9
184 #define OCI_CDT_INTERVAL 10
185 #define OCI_CDT_RAW 11
186 #define OCI_CDT_OBJECT 12
187 #define OCI_CDT_COLLECTION 13
188 #define OCI_CDT_REF 14
189 #define OCI_CDT_BOOLEAN 15
190 
191 /* Data Type codes for OCI_ImmediateXXX() calls */
192 
193 #define OCI_ARG_SHORT 1
194 #define OCI_ARG_USHORT 2
195 #define OCI_ARG_INT 3
196 #define OCI_ARG_UINT 4
197 #define OCI_ARG_BIGINT 5
198 #define OCI_ARG_BIGUINT 6
199 #define OCI_ARG_DOUBLE 7
200 #define OCI_ARG_DATETIME 8
201 #define OCI_ARG_TEXT 9
202 #define OCI_ARG_LOB 10
203 #define OCI_ARG_FILE 11
204 #define OCI_ARG_TIMESTAMP 12
205 #define OCI_ARG_INTERVAL 13
206 #define OCI_ARG_RAW 14
207 #define OCI_ARG_OBJECT 15
208 #define OCI_ARG_COLLECTION 16
209 #define OCI_ARG_REF 17
210 #define OCI_ARG_FLOAT 18
211 #define OCI_ARG_NUMBER 19
212 
213 /* statement types */
214 
215 #define OCI_CST_SELECT 1
216 #define OCI_CST_UPDATE 2
217 #define OCI_CST_DELETE 3
218 #define OCI_CST_INSERT 4
219 #define OCI_CST_CREATE 5
220 #define OCI_CST_DROP 6
221 #define OCI_CST_ALTER 7
222 #define OCI_CST_BEGIN 8
223 #define OCI_CST_DECLARE 9
224 #define OCI_CST_CALL 10
225 #define OCI_CST_MERGE 16
226 
227 /* environment modes */
228 
229 #define OCI_ENV_DEFAULT 0
230 #define OCI_ENV_THREADED 1
231 #define OCI_ENV_CONTEXT 2
232 #define OCI_ENV_EVENTS 4
233 
234 /* sessions modes */
235 
236 #define OCI_SESSION_DEFAULT 0x00000000 /* any version */
237 #define OCI_SESSION_SYSDBA 0x00000002 /* any version */
238 #define OCI_SESSION_SYSOPER 0x00000004 /* any version */
239 #define OCI_SESSION_SYSASM 0x00008000 /* From 11gR1 */
240 #define OCI_SESSION_SYSBKP 0x00020000 /* From 12cR1 */
241 #define OCI_SESSION_SYSDGD 0x00040000 /* From 12cR1 */
242 #define OCI_SESSION_SYSKMT 0x00080000 /* From 12cR1 */
243 #define OCI_SESSION_SYSRAC 0x00100000 /* From 12cR2 */
244 
245 #define OCI_SESSION_XA 0x00000001
246 #define OCI_SESSION_PRELIM_AUTH 0x00000008
247 
248 /* change notification types */
249 
250 #define OCI_CNT_OBJECTS 1
251 #define OCI_CNT_ROWS 2
252 #define OCI_CNT_DATABASES 4
253 #define OCI_CNT_ALL (OCI_CNT_OBJECTS | OCI_CNT_ROWS | OCI_CNT_DATABASES)
254 
255 /* event notification types */
256 
257 #define OCI_ENT_STARTUP 1
258 #define OCI_ENT_SHUTDOWN 2
259 #define OCI_ENT_SHUTDOWN_ANY 3
260 #define OCI_ENT_DROP_DATABASE 4
261 #define OCI_ENT_DEREGISTER 5
262 #define OCI_ENT_OBJECT_CHANGED 6
263 
264 /* event object notification types */
265 
266 #define OCI_ONT_INSERT 0x2
267 #define OCI_ONT_UPDATE 0x4
268 #define OCI_ONT_DELETE 0x8
269 #define OCI_ONT_ALTER 0x10
270 #define OCI_ONT_DROP 0x20
271 #define OCI_ONT_GENERIC 0x40
272 
273 /* database startup modes */
274 
275 #define OCI_DB_SPM_START 1
276 #define OCI_DB_SPM_MOUNT 2
277 #define OCI_DB_SPM_OPEN 4
278 #define OCI_DB_SPM_FULL (OCI_DB_SPM_START | OCI_DB_SPM_MOUNT | OCI_DB_SPM_OPEN)
279 
280 /* database startup flags */
281 
282 #define OCI_DB_SPF_DEFAULT 0
283 #define OCI_DB_SPF_FORCE 1
284 #define OCI_DB_SPF_RESTRICT 2
285 
286 /* database shutdown modes */
287 
288 #define OCI_DB_SDM_SHUTDOWN 1
289 #define OCI_DB_SDM_CLOSE 2
290 #define OCI_DB_SDM_DISMOUNT 4
291 #define OCI_DB_SDM_FULL (OCI_DB_SDM_SHUTDOWN | OCI_DB_SDM_CLOSE | OCI_DB_SDM_DISMOUNT)
292 
293 /* database shutdown flags */
294 
295 #define OCI_DB_SDF_DEFAULT 0
296 #define OCI_DB_SDF_TRANS 1
297 #define OCI_DB_SDF_TRANS_LOCAL 2
298 #define OCI_DB_SDF_IMMEDIATE 3
299 #define OCI_DB_SDF_ABORT 4
300 
301 /* charset form types */
302 
303 #define OCI_CSF_NONE 0
304 #define OCI_CSF_DEFAULT 1
305 #define OCI_CSF_NATIONAL 2
306 
307 /* statement fetch mode */
308 
309 #define OCI_SFM_DEFAULT 0
310 #define OCI_SFM_SCROLLABLE 0x08
311 
312 /* statement fetch direction */
313 
314 #define OCI_SFD_ABSOLUTE 0x20
315 #define OCI_SFD_RELATIVE 0x40
316 
317 /* bind allocation mode */
318 
319 #define OCI_BAM_EXTERNAL 1
320 #define OCI_BAM_INTERNAL 2
321 
322 /* bind direction mode */
323 
324 #define OCI_BDM_IN 1
325 #define OCI_BDM_OUT 2
326 #define OCI_BDM_IN_OUT (OCI_BDM_IN | OCI_BDM_OUT)
327 
328 /* Column property flags */
329 
330 #define OCI_CPF_NONE 0
331 #define OCI_CPF_IS_IDENTITY 1
332 #define OCI_CPF_IS_GEN_ALWAYS 2
333 #define OCI_CPF_IS_GEN_BY_DEFAULT_ON_NULL 4
334 #define OCI_CPF_IS_LPART 8
335 #define OCI_CPF_IS_CONID 16
336 
337 /* Column collation IDs */
338 
339 #define OCI_CCI_NONE 0x00000000
340 #define OCI_CCI_NLS_COMP 0x00003FFE
341 #define OCI_CCI_NLS_SORT 0x00003FFD
342 #define OCI_CCI_NLS_SORT_CI 0x00003FFC
343 #define OCI_CCI_NLS_SORT_AI 0x00003FFB
344 #define OCI_CCI_NLS_SORT_CS 0x00003FFA
345 #define OCI_CCI_NLS_SORT_VAR1 0x00003FF9
346 #define OCI_CCI_NLS_SORT_VAR1_CI 0x00003FF8
347 #define OCI_CCI_NLS_SORT_VAR1_AI 0x00003FF7
348 #define OCI_CCI_NLS_SORT_VAR1_CS 0x00003FF6
349 #define OCI_CCI_BINARY 0x00003FFF
350 #define OCI_CCI_BINARY_CI 0x00023FFF
351 #define OCI_CCI_BINARY_AI 0x00013FFF
352 
353 /* Integer sign flag */
354 
355 #define OCI_NUM_UNSIGNED 2
356 
357 /* External Integer types */
358 
359 #define OCI_NUM_SHORT 4
360 #define OCI_NUM_INT 8
361 #define OCI_NUM_BIGINT 16
362 #define OCI_NUM_FLOAT 32
363 #define OCI_NUM_DOUBLE 64
364 #define OCI_NUM_NUMBER 128
365 
366 #define OCI_NUM_USHORT (OCI_NUM_SHORT | OCI_NUM_UNSIGNED)
367 #define OCI_NUM_UINT (OCI_NUM_INT | OCI_NUM_UNSIGNED)
368 #define OCI_NUM_BIGUINT (OCI_NUM_BIGINT | OCI_NUM_UNSIGNED)
369 
370 /* timestamp types */
371 
372 #define OCI_TIMESTAMP 1
373 #define OCI_TIMESTAMP_TZ 2
374 #define OCI_TIMESTAMP_LTZ 3
375 
376 /* interval types */
377 
378 #define OCI_INTERVAL_YM 1
379 #define OCI_INTERVAL_DS 2
380 
381 /* long types */
382 
383 #define OCI_BLONG 1
384 #define OCI_CLONG 2
385 
386 /* lob types */
387 
388 #define OCI_BLOB 1
389 #define OCI_CLOB 2
390 #define OCI_NCLOB 3
391 
392 /* lob opening mode */
393 
394 #define OCI_LOB_READONLY 1
395 #define OCI_LOB_READWRITE 2
396 
397 /* file types */
398 
399 #define OCI_BFILE 1
400 #define OCI_CFILE 2
401 
402 /* lob browsing mode */
403 
404 #define OCI_SEEK_SET 1
405 #define OCI_SEEK_END 2
406 #define OCI_SEEK_CUR 3
407 
408 /* type info types */
409 
410 #define OCI_TIF_TABLE 1
411 #define OCI_TIF_VIEW 2
412 #define OCI_TIF_TYPE 3
413 
414 /* object type */
415 
416 #define OCI_OBJ_PERSISTENT 1
417 #define OCI_OBJ_TRANSIENT 2
418 #define OCI_OBJ_VALUE 3
419 
420 /* collection types */
421 
422 #define OCI_COLL_VARRAY 1
423 #define OCI_COLL_NESTED_TABLE 2
424 #define OCI_COLL_INDEXED_TABLE 3
425 
426 /* pool types */
427 
428 #define OCI_POOL_CONNECTION 1
429 #define OCI_POOL_SESSION 2
430 
431 /* AQ message state */
432 
433 #define OCI_AMS_READY 1
434 #define OCI_AMS_WAITING 2
435 #define OCI_AMS_PROCESSED 3
436 #define OCI_AMS_EXPIRED 4
437 
438 /* AQ sequence deviation */
439 
440 #define OCI_ASD_BEFORE 2
441 #define OCI_ASD_TOP 3
442 
443 /* AQ message visibility */
444 
445 #define OCI_AMV_IMMEDIATE 1
446 #define OCI_AMV_ON_COMMIT 2
447 
448 /* AQ dequeue mode */
449 
450 #define OCI_ADM_BROWSE 1
451 #define OCI_ADM_LOCKED 2
452 #define OCI_ADM_REMOVE 3
453 #define OCI_ADM_REMOVE_NODATA 4
454 
455 /* AQ dequeue navigation */
456 
457 #define OCI_ADN_FIRST_MSG 1
458 #define OCI_ADN_NEXT_TRANSACTION 2
459 #define OCI_ADN_NEXT_MSG 3
460 
461 /* AQ queue table purge mode */
462 
463 #define OCI_APM_BUFFERED 1
464 #define OCI_APM_PERSISTENT 2
465 #define OCI_APM_ALL (OCI_APM_BUFFERED | OCI_APM_PERSISTENT)
466 
467 /* AQ queue table grouping mode */
468 
469 #define OCI_AGM_NONE 0
470 #define OCI_AGM_TRANSACTIONNAL 1
471 
472 /* AQ queue table type */
473 
474 #define OCI_AQT_NORMAL 0
475 #define OCI_AQT_EXCEPTION 1
476 #define OCI_AQT_NON_PERSISTENT 2
477 
478 /* direct path processing return status */
479 
480 #define OCI_DPR_COMPLETE 1
481 #define OCI_DPR_ERROR 2
482 #define OCI_DPR_FULL 3
483 #define OCI_DPR_PARTIAL 4
484 #define OCI_DPR_EMPTY 5
485 
486 /* direct path conversion modes */
487 
488 #define OCI_DCM_DEFAULT 1
489 #define OCI_DCM_FORCE 2
490 
491 /* trace size constants */
492 
493 #define OCI_SIZE_TRACE_ID 64
494 #define OCI_SIZE_TRACE_MODULE 48
495 #define OCI_SIZE_TRACE_ACTION 32
496 #define OCI_SIZE_TRACE_INFO 64
497 #define OCI_SIZE_TRACE_OPERATION 32
498 
499 /* trace types */
500 
501 #define OCI_TRC_IDENTITY 1
502 #define OCI_TRC_MODULE 2
503 #define OCI_TRC_ACTION 3
504 #define OCI_TRC_DETAIL 4
505 #define OCI_TRC_OPERATION 5
506 
507 /* Network timeout type */
508 
509 #define OCI_NTO_SEND 1
510 #define OCI_NTO_RECEIVE 2
511 #define OCI_NTO_CALL 3
512 
513 /* HA event type */
514 
515 #define OCI_HET_DOWN 0
516 #define OCI_HET_UP 1
517 
518 /* HA event source */
519 #define OCI_HES_INSTANCE 0
520 #define OCI_HES_DATABASE 1
521 #define OCI_HES_NODE 2
522 #define OCI_HES_SERVICE 3
523 #define OCI_HES_SERVICE_MEMBER 4
524 #define OCI_HES_ASM_INSTANCE 5
525 #define OCI_HES_PRECONNECT 6
526 
527 /* Fail over types */
528 
529 #define OCI_FOT_NONE 1
530 #define OCI_FOT_SESSION 2
531 #define OCI_FOT_SELECT 4
532 
533 /* fail over notifications */
534 
535 #define OCI_FOE_END 1
536 #define OCI_FOE_ABORT 2
537 #define OCI_FOE_REAUTH 4
538 #define OCI_FOE_BEGIN 8
539 #define OCI_FOE_ERROR 16
540 
541 /* fail over callback return code */
542 
543 #define OCI_FOC_OK 0
544 #define OCI_FOC_RETRY 25410
545 
546 /* hash tables support */
547 
548 #define OCI_HASH_STRING 1
549 #define OCI_HASH_INTEGER 2
550 #define OCI_HASH_POINTER 3
551 
552 /* transaction types */
553 
554 #define OCI_TRS_NEW 0x00000001
555 #define OCI_TRS_READONLY 0x00000100
556 #define OCI_TRS_READWRITE 0x00000200
557 #define OCI_TRS_SERIALIZABLE 0x00000400
558 #define OCI_TRS_LOOSE 0x00010000
559 #define OCI_TRS_TIGHT 0x00020000
560 
561 /* format types */
562 
563 #define OCI_FMT_DATE 1
564 #define OCI_FMT_TIMESTAMP 2
565 #define OCI_FMT_NUMERIC 3
566 #define OCI_FMT_BINARY_DOUBLE 4
567 #define OCI_FMT_BINARY_FLOAT 5
568 #define OCI_FMT_TIMESTAMP_TZ 6
569 
570 /* sql function codes */
571 
572 #define OCI_SFC_CREATE_TABLE 1
573 #define OCI_SFC_INSERT 2
574 #define OCI_SFC_SELECT 3
575 #define OCI_SFC_CREATE_CLUSTER 4
576 #define OCI_SFC_ALTER_CLUSTER 5
577 #define OCI_SFC_UPDATE 6
578 #define OCI_SFC_DELETE 7
579 #define OCI_SFC_DROP_CLUSTER 8
580 #define OCI_SFC_CREATE_INDEX 9
581 #define OCI_SFC_DROP_INDEX 10
582 #define OCI_SFC_ALTER_INDEX 11
583 #define OCI_SFC_DROP_TABLE 12
584 #define OCI_SFC_CREATE_SEQUENCE 13
585 #define OCI_SFC_ALTER_SEQUENCE 14
586 #define OCI_SFC_ALTER_TABLE 15
587 #define OCI_SFC_DROP_SEQUENCE 16
588 #define OCI_SFC_GRANT_OBJECT 17
589 #define OCI_SFC_REVOKE_OBJECT 18
590 #define OCI_SFC_CREATE_SYNONYM 19
591 #define OCI_SFC_DROP_SYNONYM 20
592 #define OCI_SFC_CREATE_VIEW 21
593 #define OCI_SFC_DROP_VIEW 22
594 #define OCI_SFC_VALIDATE_INDEX 23
595 #define OCI_SFC_CREATE_PROCEDURE 24
596 #define OCI_SFC_ALTER_PROCEDURE 25
597 #define OCI_SFC_LOCK 26
598 #define OCI_SFC_NO_OP 27
599 #define OCI_SFC_RENAME 28
600 #define OCI_SFC_COMMENT 29
601 #define OCI_SFC_AUDIT_OBJECT 30
602 #define OCI_SFC_NOAUDIT_OBJECT 31
603 #define OCI_SFC_CREATE_DATABASE_LINK 32
604 #define OCI_SFC_DROP_DATABASE_LINK 33
605 #define OCI_SFC_CREATE_DATABASE 34
606 #define OCI_SFC_ALTER_DATABASE 35
607 #define OCI_SFC_CREATE_ROLLBACK_SEG 36
608 #define OCI_SFC_ALTER_ROLLBACK_SEG 37
609 #define OCI_SFC_DROP_ROLLBACK_SEG 38
610 #define OCI_SFC_CREATE_TABLESPACE 39
611 #define OCI_SFC_ALTER_TABLESPACE 40
612 #define OCI_SFC_DROP_TABLESPACE 41
613 #define OCI_SFC_ALTER_SESSION 42
614 #define OCI_SFC_ALTER_USER 43
615 #define OCI_SFC_COMMIT 44
616 #define OCI_SFC_ROLLBACK 45
617 #define OCI_SFC_SAVEPOINT 46
618 #define OCI_SFC_PL_SQL_EXECUTE 47
619 #define OCI_SFC_SET_TRANSACTION 48
620 #define OCI_SFC_ALTER_SYSTEM 49
621 #define OCI_SFC_EXPLAIN 50
622 #define OCI_SFC_CREATE_USER 51
623 #define OCI_SFC_CREATE_ROLE 52
624 #define OCI_SFC_DROP_USER 53
625 #define OCI_SFC_DROP_ROLE 54
626 #define OCI_SFC_SET_ROLE 55
627 #define OCI_SFC_CREATE_SCHEMA 56
628 #define OCI_SFC_CREATE_CONTROL_FILE 57
629 #define OCI_SFC_ALTER_TRACING 58
630 #define OCI_SFC_CREATE_TRIGGER 59
631 #define OCI_SFC_ALTER_TRIGGER 60
632 #define OCI_SFC_DROP_TRIGGER 61
633 #define OCI_SFC_ANALYZE_TABLE 62
634 #define OCI_SFC_ANALYZE_INDEX 63
635 #define OCI_SFC_ANALYZE_CLUSTER 64
636 #define OCI_SFC_CREATE_PROFILE 65
637 #define OCI_SFC_DROP_PROFILE 66
638 #define OCI_SFC_ALTER_PROFILE 67
639 #define OCI_SFC_DROP_PROCEDURE 68
640 #define OCI_SFC_ALTER_RESOURCE_COST 70
641 #define OCI_SFC_CREATE_MATERIALIZED_VIEW_LOG 71
642 #define OCI_SFC_ALTER_MATERIALIZED_VIEW_LOG 72
643 #define OCI_SFC_DROP_MATERIALIZED_VIEW_LOG 73
644 #define OCI_SFC_CREATE_MATERIALIZED_VIEW 74
645 #define OCI_SFC_ALTER_MATERIALIZED_VIEW 75
646 #define OCI_SFC_DROP_MATERIALIZED_VIEW 76
647 #define OCI_SFC_CREATE_TYPE 77
648 #define OCI_SFC_DROP_TYPE 78
649 #define OCI_SFC_ALTER_ROLE 79
650 #define OCI_SFC_ALTER_TYPE 80
651 #define OCI_SFC_CREATE_TYPE_BODY 81
652 #define OCI_SFC_ALTER_TYPE_BODY 82
653 #define OCI_SFC_DROP_TYPE_BODY 83
654 #define OCI_SFC_DROP_LIBRARY 84
655 #define OCI_SFC_TRUNCATE_TABLE 85
656 #define OCI_SFC_TRUNCATE_CLUSTER 86
657 #define OCI_SFC_ALTER_VIEW 88
658 #define OCI_SFC_SET_CONSTRAINTS 90
659 #define OCI_SFC_CREATE_FUNCTION 91
660 #define OCI_SFC_ALTER_FUNCTION 92
661 #define OCI_SFC_DROP_FUNCTION 93
662 #define OCI_SFC_CREATE_PACKAGE 94
663 #define OCI_SFC_ALTER_PACKAGE 95
664 #define OCI_SFC_DROP_PACKAGE 96
665 #define OCI_SFC_CREATE_PACKAGE_BODY 97
666 #define OCI_SFC_ALTER_PACKAGE_BODY 98
667 #define OCI_SFC_DROP_PACKAGE_BODY 99
668 #define OCI_SFC_LOGON 100
669 #define OCI_SFC_LOGOFF 101
670 #define OCI_SFC_LOGOFF_BY_CLEANUP 102
671 #define OCI_SFC_SESSION_REC 103
672 #define OCI_SFC_SYSTEM_AUDIT 104
673 #define OCI_SFC_SYSTEM_NOAUDIT 105
674 #define OCI_SFC_AUDIT_DEFAULT 106
675 #define OCI_SFC_NOAUDIT_DEFAULT 107
676 #define OCI_SFC_SYSTEM_GRANT 108
677 #define OCI_SFC_SYSTEM_REVOKE 109
678 #define OCI_SFC_CREATE_PUBLIC_SYNONYM 110
679 #define OCI_SFC_DROP_PUBLIC_SYNONYM 111
680 #define OCI_SFC_CREATE_PUBLIC_DATABASE_LINK 112
681 #define OCI_SFC_DROP_PUBLIC_DATABASE_LINK 113
682 #define OCI_SFC_GRANT_ROLE 114
683 #define OCI_SFC_REVOKE_ROLE 115
684 #define OCI_SFC_EXECUTE_PROCEDURE 116
685 #define OCI_SFC_USER_COMMENT 117
686 #define OCI_SFC_ENABLE_TRIGGER 118
687 #define OCI_SFC_DISABLE_TRIGGER 119
688 #define OCI_SFC_ENABLE_ALL_TRIGGERS 120
689 #define OCI_SFC_DISABLE_ALL_TRIGGERS 121
690 #define OCI_SFC_NETWORK_ERROR 122
691 #define OCI_SFC_EXECUTE_TYPE 123
692 #define OCI_SFC_READ_DIRECTORY 125
693 #define OCI_SFC_WRITE_DIRECTORY 126
694 #define OCI_SFC_FLASHBACK 128
695 #define OCI_SFC_BECOME_USER 129
696 #define OCI_SFC_ALTER_MINING_MODEL 130
697 #define OCI_SFC_SELECT_MINING_MODEL 131
698 #define OCI_SFC_CREATE_MINING_MODEL 133
699 #define OCI_SFC_ALTER_PUBLIC_SYNONYM 134
700 #define OCI_SFC_EXECUTE_DIRECTORY 135
701 #define OCI_SFC_SQL_LOADER_DIRECT_PATH_LOAD 136
702 #define OCI_SFC_DATAPUMP_DIRECT_PATH_UNLOAD 137
703 #define OCI_SFC_DATABASE_STARTUP 138
704 #define OCI_SFC_DATABASE_SHUTDOWN 139
705 #define OCI_SFC_CREATE_SQL_TXLN_PROFILE 140
706 #define OCI_SFC_ALTER_SQL_TXLN_PROFILE 141
707 #define OCI_SFC_USE_SQL_TXLN_PROFILE 142
708 #define OCI_SFC_DROP_SQL_TXLN_PROFILE 143
709 #define OCI_SFC_CREATE_MEASURE_FOLDER 144
710 #define OCI_SFC_ALTER_MEASURE_FOLDER 145
711 #define OCI_SFC_DROP_MEASURE_FOLDER 146
712 #define OCI_SFC_CREATE_CUBE_BUILD_PROCESS 147
713 #define OCI_SFC_ALTER_CUBE_BUILD_PROCESS 148
714 #define OCI_SFC_DROP_CUBE_BUILD_PROCESS 149
715 #define OCI_SFC_CREATE_CUBE 150
716 #define OCI_SFC_ALTER_CUBE 151
717 #define OCI_SFC_DROP_CUBE 152
718 #define OCI_SFC_CREATE_CUBE_DIMENSION 153
719 #define OCI_SFC_ALTER_CUBE_DIMENSION 154
720 #define OCI_SFC_DROP_CUBE_DIMENSION 155
721 #define OCI_SFC_CREATE_DIRECTORY 157
722 #define OCI_SFC_DROP_DIRECTORY 158
723 #define OCI_SFC_CREATE_LIBRARY 159
724 #define OCI_SFC_CREATE_JAVA 160
725 #define OCI_SFC_ALTER_JAVA 161
726 #define OCI_SFC_DROP_JAVA 162
727 #define OCI_SFC_CREATE_OPERATOR 163
728 #define OCI_SFC_CREATE_INDEXTYPE 164
729 #define OCI_SFC_DROP_INDEXTYPE 165
730 #define OCI_SFC_ALTER_INDEXTYPE 166
731 #define OCI_SFC_DROP_OPERATOR 167
732 #define OCI_SFC_ASSOCIATE_STATISTICS 168
733 #define OCI_SFC_DISASSOCIATE_STATISTICS 169
734 #define OCI_SFC_CALL_METHOD 170
735 #define OCI_SFC_CREATE_SUMMARY 171
736 #define OCI_SFC_ALTER_SUMMARY 172
737 #define OCI_SFC_DROP_SUMMARY 173
738 #define OCI_SFC_CREATE_DIMENSION 174
739 #define OCI_SFC_ALTER_DIMENSION 175
740 #define OCI_SFC_DROP_DIMENSION 176
741 #define OCI_SFC_CREATE_CONTEXT 177
742 #define OCI_SFC_DROP_CONTEXT 178
743 #define OCI_SFC_ALTER_OUTLINE 179
744 #define OCI_SFC_CREATE_OUTLINE 180
745 #define OCI_SFC_DROP_OUTLINE 181
746 #define OCI_SFC_UPDATE_INDEXES 182
747 #define OCI_SFC_ALTER_OPERATOR 183
748 #define OCI_SFC_CREATE_SPFILE 187
749 #define OCI_SFC_CREATE_PFILE 188
750 #define OCI_SFC_MERGE 189
751 #define OCI_SFC_PASSWORD_CHANGE 190
752 #define OCI_SFC_ALTER_SYNONYM 192
753 #define OCI_SFC_ALTER_DISKGROUP 193
754 #define OCI_SFC_CREATE_DISKGROUP 194
755 #define OCI_SFC_DROP_DISKGROUP 195
756 #define OCI_SFC_PURGE_RECYCLEBIN 197
757 #define OCI_SFC_PURGE_DBA_RECYCLEBIN 198
758 #define OCI_SFC_PURGE_TABLESPACE 199
759 #define OCI_SFC_PURGE_TABLE 200
760 #define OCI_SFC_PURGE_INDEX 201
761 #define OCI_SFC_UNDROP_OBJECT 202
762 #define OCI_SFC_DROP_DATABASE 203
763 #define OCI_SFC_FLASHBACK_DATABASE 204
764 #define OCI_SFC_FLASHBACK_TABLE 205
765 #define OCI_SFC_CREATE_RESTORE_POINT 206
766 #define OCI_SFC_DROP_RESTORE_POINT 207
767 #define OCI_SFC_PROXY_AUTHENTICATION_ONLY 208
768 #define OCI_SFC_DECLARE_REWRITE_EQUIVALENCE 209
769 #define OCI_SFC_ALTER_REWRITE_EQUIVALENCE 210
770 #define OCI_SFC_DROP_REWRITE_EQUIVALENCE 211
771 #define OCI_SFC_CREATE_EDITION 212
772 #define OCI_SFC_ALTER_EDITION 213
773 #define OCI_SFC_DROP_EDITION 214
774 #define OCI_SFC_DROP_ASSEMBLY 215
775 #define OCI_SFC_CREATE_ASSEMBLY 216
776 #define OCI_SFC_ALTER_ASSEMBLY 217
777 #define OCI_SFC_CREATE_FLASHBACK_ARCHIVE 218
778 #define OCI_SFC_ALTER_FLASHBACK_ARCHIVE 219
779 #define OCI_SFC_DROP_FLASHBACK_ARCHIVE 220
780 #define OCI_SFC_DEBUG_CONNECT 221
781 #define OCI_SFC_DEBUG_PROCEDURE 223
782 #define OCI_SFC_ALTER_DATABASE_LINK 225
783 #define OCI_SFC_CREATE_PLUGGABLE_DATABASE 226
784 #define OCI_SFC_ALTER_PLUGGABLE_DATABASE 227
785 #define OCI_SFC_DROP_PLUGGABLE_DATABASE 228
786 #define OCI_SFC_CREATE_AUDIT_POLICY 229
787 #define OCI_SFC_ALTER_AUDIT_POLICY 230
788 #define OCI_SFC_DROP_AUDIT_POLICY 231
789 #define OCI_SFC_CODE_BASED_GRANT 232
790 #define OCI_SFC_CODE_BASED_REVOKE 233
791 #define OCI_SFC_CREATE_LOCKDOWN_PROFILE 234
792 #define OCI_SFC_DROP_LOCKDOWN_PROFILE 235
793 #define OCI_SFC_ALTER_LOCKDOWN_PROFILE 236
794 #define OCI_SFC_TRANSLATE_SQL 237
795 #define OCI_SFC_ADMINISTER_KEY_MANAGEMENT 238
796 #define OCI_SFC_CREATE_MATERIALIZED_ZONEMAP 239
797 #define OCI_SFC_ALTER_MATERIALIZED_ZONEMAP 240
798 #define OCI_SFC_DROP_MATERIALIZED_ZONEMAP 241
799 #define OCI_SFC_DROP_MINING_MODEL 242
800 #define OCI_SFC_CREATE_ATTRIBUTE_DIMENSION 243
801 #define OCI_SFC_ALTER_ATTRIBUTE_DIMENSION 244
802 #define OCI_SFC_DROP_ATTRIBUTE_DIMENSION 245
803 #define OCI_SFC_CREATE_HIERARCHY 246
804 #define OCI_SFC_ALTER_HIERARCHY 247
805 #define OCI_SFC_DROP_HIERARCHY 248
806 #define OCI_SFC_CREATE_ANALYTIC_VIEW 249
807 #define OCI_SFC_ALTER_ANALYTIC_VIEW 250
808 #define OCI_SFC_DROP_ANALYTIC_VIEW 251
809 #define OCI_SFC_ALTER_PUBLIC_DATABASE_LINK 305
810 
811 /* size constants */
812 
813 #define OCI_SIZE_FORMAT 64
814 #define OCI_SIZE_BUFFER 512
815 #define OCI_SIZE_LARGE_BUFFER ((64*1024)-1)
816 #define OCI_SIZE_LONG ((64*1024)-1)
817 #define OCI_SIZE_DATE 45
818 #define OCI_SIZE_TIMESTAMP 54
819 #define OCI_SIZE_FORMAT_TODATE 14
820 #define OCI_SIZE_NULL 4
821 #define OCI_SIZE_PRECISION 10
822 #define OCI_SIZE_ROWID 23 /* deprecated */
823 #define OCI_SIZE_DIRECTORY 30
824 #define OCI_SIZE_FILENAME 255
825 #define OCI_SIZE_FORMAT_NUMS 40
826 #define OCI_SIZE_FORMAT_NUML 65
827 #define OCI_SIZE_OBJ_NAME 128
828 
829 #define OCI_HASH_DEFAULT_SIZE 256
830 
831 /* string constants */
832 
833 #define OCILIB_DRIVER_NAME OTEXT("OCILIB")
834 #define OCI_STRING_NULL OTEXT("NULL")
835 #define OCI_STRING_EMPTY OTEXT("")
836 #define OCI_STRING_FORMAT_DATE OTEXT("YYYY-MM-DD")
837 #define OCI_STRING_FORMAT_TIME OTEXT("HH24:MI:SS")
838 #define OCI_STRING_FORMAT_DATETIME OTEXT("YYYY-MM-DD HH24:MI:SS")
839 #define OCI_STRING_FORMAT_TIMESTAMP OTEXT("YYYY-MM-DD HH24:MI:SS.FF")
840 #define OCI_STRING_FORMAT_TIMESTAMP_TZ OTEXT("YYYY-MM-DD HH24:MI:SS.FF TZR")
841 #define OCI_STRING_DEFAULT_PREC 3
842 #define OCI_STRING_FORMAT_NUM \
843  OTEXT("FM99999999999999999999999999999999999990.999999999999999999999999")
844 #define OCI_STRING_FORMAT_NUM_BDOUBLE OTEXT("%lf")
845 #define OCI_STRING_FORMAT_NUM_BFLOAT OTEXT("%f")
846 #define OCI_STRING_FORMAT_NUM_SHORT OTEXT("%hd")
847 #define OCI_STRING_FORMAT_NUM_INT OTEXT("%d")
848 #define OCI_STRING_TRUE OTEXT("TRUE")
849 #define OCI_STRING_FALSE OTEXT("FALSE")
850 #define OCI_STRING_TRUE_SIZE 4
851 #define OCI_STRING_FALSE_SIZE 5
852 #define OCI_STRING_NULL_SIZE 4
853 
854 #ifdef _WINDOWS
855 #define OCI_CHAR_SLASH '\\'
856 #else
857  #define OCI_CHAR_SLASH '/'
858 #endif
859 
860 #define OCI_STRING_FORMAT_NUM_BIN OCI_STRING_FORMAT_NUM_BDOUBLE
861 
878 #define VAR_OCILIB_WORKAROUND_UTF16_COLUMN_NAME "OCILIB_WORKAROUND_UTF16_COLUMN_NAME"
879 
888 #endif /* OCILIB_OCILIBC_DEFINES_H_INCLUDED */