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 */
Users
vince
source
repos
ocilib
include
ocilibc
defines.h
Generated on Wed May 20 2026 00:00:14 for OCILIB (C and C++ Driver for Oracle) by
1.9.6