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