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