blob: 3735893b266ac5d6011e2d25a763a8311c8c1fd0 [file] [log] [blame]
Tang Cheng31b95252014-10-23 09:22:35 +08001/* Copyright (c) 1995, 2011, Oracle and/or its affiliates.
2All rights reserved. */
3
4/*
5 NAME
6 oci.h - V8 Oracle Call Interface public definitions
7
8 DESCRIPTION
9 This file defines all the constants and structures required by a V8
10 OCI programmer.
11
12 RELATED DOCUMENTS
13 V8 OCI Functional Specification
14 Oracle Call Interface Programmer's Guide Vol 1 and 2
15
16 INSPECTION STATUS
17 Inspection date:
18 Inspection status:
19 Estimated increasing cost defects per page:
20 Rule sets:
21
22 ACCEPTANCE REVIEW STATUS
23 Review date:
24 Review status:
25 Reviewers:
26
27 PUBLIC FUNCTION(S)
28 None
29
30 PRIVATE FUNCTION(S)
31 None
32
33 EXAMPLES
34
35 NOTES
36
37
38 MODIFIED (MM/DD/YY)
39 umabhat 05/29/11 - Backport umabhat_bug-10209825 from main
40 slari 03/24/11 - add OCI_ATTR_RESERVED_438 and OCI_ATTR_RESERVED_439
41 rphillip 09/28/10 - Bug 9835605: recnum changes
42 rphillip 08/03/09 - Bug 8720046: add OCI_ATTR_DIRPATH_USE_ACTIVE_TRANS
43 mbastawa 03/15/10 - add OCI_FETCH_RESERVED_6
44 ebatbout 12/28/09 - 8465341: Add OCI_ATTR_DIRPATH_RESERVED_22
45 ssahu 04/15/09 - Add user handle as an attribute to session pool
46 handle
47 dalpern 03/17/09 - bug 7646876: applying_crossedition_trigger
48 kneel 11/21/08 - bump OCI version to 11.2
49 thoang 09/24/08 - include ocixstream.h
50 asohi 08/25/08 - Bug 7320582 : AQ dequeue navigation flags fix
51 thoang 08/04/08 - Add XStream attributes
52 msowdaga 07/23/08 - Add flag OCI_SESSGET_SYSDBA
53 rphillip 03/21/08 - Add partition memory attribute
54 nikeda 04/15/08 - Support OCIP_ATTR_CONTYPE
55 mbastawa 12/24/07 - add server, envhp attributes
56 slynn 03/18/08 -
57 amullick 02/11/08 - add support for OCILobGet/SetContentType
58 tbhosle 01/07/08 - add OCI_ATTR_SUBSCR_IPADDR
59 nikeda 12/19/07 - Add OCI_SUBSCR_QOS_HAREG
60 rphillip 10/22/07 - Add OCI_ATTR_DIRPATH_NO_INDEX_ERRORS
61 debanerj 12/14/07 - Added OCI_ATTR_RESERVED_38 and OCI_ATTR_RESERVED_39
62 umabhat 09/20/07 - bug6119750 added OCI_FNCODE_APPCTXSET &
63 OCI_FNCODE_APPCTXCLEARALL
64 debanerj 04/10/07 - XDS Attributes
65 msakayed 05/24/07 - Bug #5095734: add OCI_ATTR_DIRPATH_RESERVED_19
66 schoi 03/02/07 - Get/SetOptions API change
67 ebatbout 03/30/07 - 5598333: Add OCI_ATTR_DIRPATH_RESERVED_18
68 nikeda 03/21/07 - Add OCI_ATTR_RESERVED_37
69 abande 03/06/07 - Remove attributes for global stmt cache and
70 metadata cache
71 rphillip 02/20/07 - Add OCI_ATTR_DIRPATH_RESERVED_17
72 shan 11/16/06 - bug 5595911.
73 msakayed 12/04/06 - Bug #5660845: add OCI_DIRPATH_INPUT_OCI
74 gviswana 10/26/06 - Remove OCI_ATTR_CURRENT_EDITION
75 maramali 09/29/06 - bug 5568492, added OCI_NLS_LOCALE_A2_ISO_2_ORA
76 gviswana 09/29/06 - CURRENT_EDITION -> EDITION
77 aramappa 09/20/06 - Update major and minor version information
78 slynn 07/28/06 - Migrate to new 11g LOB terminiology
79 debanerj 07/20/06 - Add OCI_ATTR_LOBPREFETCH_LENGTH
80 mbastawa 06/25/06 - add OCI_ATTR_RESERVED_36
81 hqian 05/22/06 - 11gR1 proj-18303: add OCI_SYSASM
82 dkogan 04/06/06 - disable charset validation by default
83 jhealy 05/15/06 - Add TimesTen OCI adapter.
84 slynn 06/20/06 - GetSharedRegions
85 rthammai 06/13/06 - add reserved attribute
86 msakayed 06/15/06 - Project 20586: interval partitioning support
87 debanerj 10/25/05 - LOB prefetch
88 slynn 05/25/06 - New NG Lob Functionality.
89 yujwang 05/16/06 - Add OCI_ATTR_RESERVED_33, OCI_ATTR_RESERVED_34
90 abande 04/25/06 - 18297: Add attributes for global stmt cache and
91 metadata cache
92 ssvemuri 04/26/06 - Constants for Query Notification support
93 jgiloni 05/05/06 - Add OCI_ATCH_RESERVED_7
94 mxyang 02/01/06 - Added OCI_ATTR_CURRENT_EDITION attribute
95 hqian 05/04/06 - new runtime capability attribute for asm volume
96 nikeda 06/06/06 - OCI_TT: Add new OCIP attributes
97 aramappa 04/17/06 - Added OCI_FNCODE_ARRAYDESCRIPTORALLOC and
98 OCI_FNCODE_ARRAYDESCRIPTORFREE
99 debanerj 05/04/06 - 18313: OCI Net Fusion
100 rupsingh 05/26/06 -
101 jacao 05/11/06 -
102 absaxena 04/17/06 - add notification grouping attributes
103 rpingte 02/02/06 - add OCI_ATCH_RESERVED_6
104 rpingte 04/27/06 - Add OCI_ATTR_DRIVER_NAME
105 jawilson 02/14/06 - add OCI_FNCODE_AQENQSTREAM
106 kneel 04/03/06 - Adding support in kjhn for critical severity
107 rphillip 03/31/06 - Add OCI_ATTR_DIRPATH_RESERVED_14
108 mxyang 02/01/06 - Added OCI_ATTR_APPLICATION_EDITION attribute
109 rphillip 01/30/06 - Add new DPAPI attrs
110 ebatbout 11/03/05 - Add direct path support for multiple subtypes
111 porangas 02/22/06 - 5055398: Define OCI_STMT_CALL
112 mbastawa 01/31/06 - add OCI_ATTR_RESERVED_26
113 yohu 01/27/06 - align Execution Modes macros
114 sjanardh 01/25/06 - add OCI_EXEC_RESERVED_6
115 sichandr 01/18/06 - add OCI_ATTR_XMLTYPE_BINARY_XML
116 yohu 12/22/05 - add OCI_TRANS_PROMOTE
117 srseshad 09/12/05 - stmtcache: callback
118 krajan 10/25/05 - Added ENABLE_BEQUEATH attach flag
119 mbastawa 09/16/05 - dbhygiene
120 porangas 07/20/04 - 1175350: adding attribute for ognfd
121 chliang 06/30/05 - add OCI_SUPPRESS_NLS_VALIDATION mode
122 aahluwal 03/15/05 - [Bug 4235014]:add ASM, Preconnect events
123 ssappara 08/12/04 - Bug3669429 add OCI_ATTR_DESC_SYNBAS
124 absaxena 03/24/05 - remove OCI_AQ_RESERVED_5
125 mbastawa 03/01/05 - add OCI_EXEC_RESERVED_5
126 msakayed 02/15/05 - Bug #3147299: Add OCI_ATTR_CURRENT_ERRCOL
127 aahluwal 01/11/05 - [Bug 3944589]: add OCI_AUTH_RESERVED_5
128 nikeda 11/15/04 - Add OCIP_IIO
129 rvissapr 11/10/04 - bug 3843644 - isencrypted
130 hohung 11/22/04 - add OCI_BIND_RESERVED_3
131 cchui 10/25/04 - add OCI_ATTR_PROXY_CLIENT
132 aahluwal 09/27/04 - add incarnation, reason, cardinality to event handle
133 msakayed 09/14/04 - column encryption support (project id 5578)
134 jacao 08/17/04 - Add OCI_ATTR_DB_CHARSET_ID
135 mhho 08/29/04 - resolve conflicting mode declaration
136 sgollapu 05/28/04 - Add OCI_AUTH_RESERVED_3
137 mbastawa 08/05/04 - add OCI_ATTR_RESERVED_21
138 ebatbout 07/27/04 - add OCI_ATTR_DIRPATH_RESERVED_9 and move all direct
139 path attributes into a separate area in this file.
140 clei 06/29/04 - add OCI_ATTR_ENCC_SIZE
141 weiwang 05/06/04 - add OCIAQListenOpts and OCIAQLisMsgProps
142 weiwang 04/30/04 - add OCI_AQ_RESERVED_5
143 nbhatt 04/27/04 - add new attribute
144 ssvemuri 06/19/04 - change notification descriptors and attributes
145 ksurlake 06/01/04 - grabtrans 'ksurlake_txn_skmishra_clone'
146 ksurlake 05/13/04 - add subscriber handle attributes
147 mbastawa 06/01/04 - add 3 more OCI_FETCH_RESERVED modes
148 chliang 05/28/04 - add nchar literal replacement modes
149 nikeda 05/14/04 - [OLS on RAC] new authentication mode
150 debanerj 05/17/04 - 13064: add fncodes for LOB array Read and Write
151 nikeda 05/20/04 - [OCI Events] Add incarnation, cardinality,reason
152 nikeda 05/18/04 - [OCI Events] Add OCI_ATTR_SERVICENAME
153 nikeda 05/17/04 - Add event handle
154 nikeda 05/13/04 - [OCI Events] Rename HACBK->EVTCBK, HACTX->EVTCTX
155 nikeda 05/10/04 - [OCI Events] code review changes
156 nikeda 04/15/04 - [OCI Events] OCI_SESSRLS_DROPSESS_FORCE
157 nikeda 04/12/04 - [OCI Events] Add OCI_ATTR_USER_MEMORY
158 aahluwal 04/12/04 - add OCI_HNDLFR_RESERVED5
159 vraja 04/28/04 - add options for redo sync on commit
160 aahluwal 05/29/04 - [OCI Events]: add support for svc, svc member events
161 nikeda 05/28/04 - grabtrans 'nikeda_oci_events_copy'
162 nikeda 05/18/04 - [OCI Events] Add OCI_ATTR_SERVICENAME
163 nikeda 05/17/04 - Add event handle
164 nikeda 05/13/04 - [OCI Events] Rename HACBK->EVTCBK, HACTX->EVTCTX
165 nikeda 05/10/04 - [OCI Events] code review changes
166 nikeda 04/15/04 - [OCI Events] OCI_SESSRLS_DROPSESS_FORCE
167 nikeda 04/12/04 - [OCI Events] Add OCI_ATTR_USER_MEMORY
168 aahluwal 04/12/04 - add OCI_HNDLFR_RESERVED5
169 jciminsk 04/28/04 - merge from RDBMS_MAIN_SOLARIS_040426
170 jacao 03/06/04 - add OCI_ATTR_CURRENT_SCHEMA
171 aahluwal 01/20/04 - remove OCI_KEEP_FETCH_STATE
172 aahluwal 03/25/04 - [OCI Events] add OCI_HTYPE_HAEVENT and related attrs
173 nikeda 03/19/04 - [OCI Events] Add OCI_ATTR_HACBK and OCI_ATTR_HACTX
174 dfrumkin 12/04/03 - Add database startup/shutdown
175 chliang 12/22/03 - grid/main merge: add OCI_ATTR_RESERVED_20
176 jciminsk 12/12/03 - merge from RDBMS_MAIN_SOLARIS_031209
177 sgollapu 09/19/03 - Add fetch modes
178 sgollapu 07/30/03 - Add TSM attributes
179 sgollapu 06/26/03 - Add OCI_MUTEX_TRY
180 aime 06/23/03 - sync grid with main
181 sgollapu 06/07/03 - Add reserved attribute
182 sgollapu 06/05/03 - Add reserved auth flag
183 rpingte 05/22/03 - Add OCI_ATCH_RESERVED_5
184 sgollapu 05/06/03 - Add TSM attributes
185 sgollapu 04/10/03 - Session migration Flags/interfaces
186 dfrumkin 04/23/04 - add OCI_PREP2_RESERVED_1
187 rpingte 05/06/04 - add major and minor version information
188 bsinha 04/06/04 - add new OCI_TRANS flag
189 chliang 11/26/03 - add OCI_ATTR_RESERVED_19
190 preilly 10/23/03 - Make OCI_ATTR_DIRPATH_METADATA_BUF private
191 chliang 08/07/03 - add OCI_ATTR_SKIP_BUFFER
192 srseshad 03/12/03 - convert public oci api to ansi
193 weiwang 05/14/03 - remove iot creation for rule sets
194 rkoti 04/15/03 - [2746515] add fntcodes for Unlimited size LOB 6003
195 tcruanes 05/13/03 - add slave SQL OCI execution mode
196 rkoti 02/21/03 - [2761455] add OCI_FNCODE_AQENQARRAY,
197 OCI_FNCODE_AQDEQARRAY and update OCI_FNCODE_MAXFCN
198 tkeefe 01/29/03 - bug-2773794: Add new interface for setting Kerb attrs
199 aahluwal 02/06/03 - add OCI_ATTR_TRANSFORMATION_NO
200 weiwang 12/05/02 - add OCI_ATTR_USER_PROPERTY
201 ataracha 01/03/03 - include ocixmldb.h
202 preilly 12/05/02 - Add wait attribute for locking when using dir path
203 tkeefe 01/03/03 - bug-2623771: Added OCI_ATTR_KERBEROS_KEY
204 lchidamb 12/13/02 - end-to-end tracing attributes
205 msakayed 10/28/02 - Bug #2643907: add OCI_ATTR_DIRPATH_SKIPINDEX_METHOD
206 rphillip 11/13/02 - Add OCIP_ATTR_DIRPATH_INDEX
207 sagrawal 10/13/02 - liniting
208 sagrawal 10/03/02 - PL/SQL Compiler warnings
209 jstenois 11/07/02 - remove ocixad.h
210 chliang 10/21/02 - add OCI_ATTR_RESERVED_16,17
211 hsbedi 10/30/02 - grabtrans 'jstenois_fix_xt_convert'
212 aahluwal 10/12/02 - add OCI_ATTR_AQ_NUM_E_ERRORS/OCI_ATTR_AQ_ERROR_INDEX
213 bdagevil 10/21/02 - add SQL analyze internal exec mode
214 csteinba 10/11/02 - add OCI_ATTR_RESERVED_16
215 chliang 10/12/02 - add bind row callback attributes
216 preilly 10/25/02 - Add new reserved parameters
217 tkeefe 10/31/02 - bug-2623771: Added OCI_ATTR_AUDIT_SESSION_ID
218 csteinba 10/04/02 - Add OCI_ATTR_RESERVED_15
219 mhho 10/11/02 - add new credential constant
220 thoang 09/25/02 - Add OCI_XMLTYPE_CREATE_CLOB
221 skaluska 10/07/02 - describe rules objects
222 csteinba 09/16/02 - Remove OCI_CACHE
223 gtarora 10/03/02 - OCI_ATTR_COL_SUBS => OCI_ATTR_OBJ_SUBS
224 msakayed 09/09/02 - Bug #2482469: add OCI_ATTR_DIRPATH_RESERVED_[3-6]
225 aahluwal 08/30/02 - adding dequeue across txn group
226 srseshad 04/24/02 - Add attribute OCI_ATTR_SPOOL_STMTCACHESIZE.
227 ebatbout 07/22/02 - Remove OCI_ATTR_RESERVED_11.
228 abande 01/17/02 - Bug 1788921; Add external attribute.
229 aahluwal 06/04/02 - bug 2360115
230 pbagal 05/24/02 - Incorporate review comments
231 pbagal 05/22/02 - Introduce instance type attribute.
232 whe 07/01/02 - add OCI_BIND_DEFINE_SOFT flags
233 gtarora 07/01/02 - Add OCI_ATTR_COL_SUBS
234 tkeefe 05/30/02 - Add support for new proxy authentication credentials
235 dgprice 12/18/01 - bug 2102779 add reserved force describe
236 schandir 11/19/01 - add/modify modes.
237 schandir 11/15/01 - add OCI_SPC_STMTCACHE.
238 schandir 12/06/01 - change mode value of OCI_SPOOL.
239 msakayed 11/02/01 - Bug #2094292: add OCI_ATTR_DIRPATH_INPUT
240 dsaha 11/09/01 - add OCI_DTYPE_RESERVED1
241 skabraha 11/05/01 - new method flag
242 skabraha 10/25/01 - another flag for XML
243 skabraha 10/11/01 - describe flags for subtypes
244 nbhatt 09/18/01 - new reserved AQ flags
245 celsbern 10/19/01 - merge LOG to MAIN
246 ksurlake 10/12/01 - add OCI_ATTR_RESERVED_13
247 ksurlake 08/13/01 - add OCI_ATTR_RESERVED_12
248 schandir 09/24/01 - Adding stmt caching
249 abande 09/04/01 - Adding session pooling
250 sagrawal 10/23/01 - add new bit for OCIPHandleFree
251 preilly 10/25/01 - Add support for specifying metadata on DirPathCtx
252 skabraha 09/24/01 - describe flags for XML type
253 schandir 09/24/01 - Adding stmt caching
254 abande 09/04/01 - Adding session pooling
255 stakeda 09/17/01 - add OCI_NLS_CHARSET_ID
256 whe 09/19/01 - add OCIXMLType create options
257 rpingte 09/11/01 - add OCI_MUTEX_ENV_ONLY and OCI_NO_MUTEX_STMT
258 cmlim 08/28/01 - mod datecache attrs to use same naming as dpapi attrs
259 wzhang 08/24/01 - Add new keywords for OCINlsNameMap.
260 rphillip 05/02/01 - Add date cache attributes
261 rphillip 08/22/01 - Add new stream version
262 ebatbout 04/13/01 - add definition, OCI_ATTR_RESERVED_11
263 chliang 04/12/01 - add shortnames for newer oci funcation
264 wzhang 04/11/01 - Add new OCI NLS constants.
265 cmlim 04/13/01 - remove attrs not used by dpapi (151 & 152 avail)
266 rkambo 03/23/01 - bugfix 1421793
267 cmlim 04/02/01 - remove OCI_ATTR_DIRPATH_{NESTED_TBL, SUBST_OBJ_TBL}
268 - note: attribute #s 186 & 205 available
269 whe 03/28/01 - add OCI_AFC_PAD_ON/OFF mode
270 preilly 03/05/01 - Add stream versioning support to DirPath context
271 schandir 12/18/00 - remove attr CONN_INCR_DELAY.
272 schandir 12/12/00 - change mode from OCI_POOL to OCI_CPOOL.
273 cbarclay 01/12/01 - add atribute for OCIP_ATTR_TMZ
274 whe 01/07/01 - add attributes related to UTF16 env mode
275 slari 12/29/00 - add blank line
276 slari 12/28/00 - OCI_ATTR_RESERVED_10
277 whe 12/19/00 - add OCI_ENVCR_RESERVED3
278 rpang 11/29/00 - Added OCI_ATTR_ORA_DEBUG_JDWP attribute
279 cmlim 11/28/00 - support substitutable object tables in dpapi
280 akatti 10/09/00 - [198379]:add OCIRowidToChar
281 sgollapu 10/11/00 - Add OCI_PREP_RESERVED_1
282 sgollapu 08/27/00 - add attribute to get erroneous column
283 sgollapu 07/29/00 - Add snapshot attributes
284 kmohan 09/18/00 - add OCI_FNCODE_LOGON2
285 abrumm 10/08/00 - include ocixad.h
286 mbastawa 10/04/00 - add OCI_ATTR_ROWS_FETCHED
287 nbhatt 08/24/00 - add transformation attribute
288 dmwong 08/22/00 - OCI_ATTR_CID_VALUE -> OCI_ATTR_CLIENT_IDENTIFIER.
289 cmlim 08/30/00 - add OCI_ATTR_DIRPATH_SID
290 dsaha 08/18/00 - add OCI_ATTR_RESERVED_5
291 amangal 08/17/00 - Merge into 8.2 : 1194361
292 slari 08/03/00 - add OCI_ATTR_HANDLE_POSITION
293 dsaha 07/20/00 - 2rt exec
294 sgollapu 07/04/00 - Add virtual session flag
295 cmlim 07/07/00 - add OCI_ATTR_DIRPATH_OID, OCI_ATTR_DIRPATH_NESTED_TBL
296 etucker 07/28/00 - add OCIIntervalFromTZ
297 rwessman 06/26/00 - N-tier: added new credential attributes
298 whe 07/27/00 - add OCI_UTF16 mode
299 vjayaram 07/18/00 - add connection pooling changes
300 etucker 07/12/00 - add dls apis
301 cmlim 07/07/00 - add OCI_ATTR_DIRPATH_OID, OCI_ATTR_DIRPATH_NESTED_TBL
302 sgollapu 07/04/00 - Add virtual session flag
303 najain 05/01/00 - AQ Signature support
304 sgollapu 06/14/00 - Add reserved OCI mode
305 rkambo 06/08/00 - notification presentation support
306 sagrawal 06/04/00 - ref cursor to c
307 ksurlake 06/07/00 - define OCI_POOL
308 mbastawa 06/05/00 - added scrollable cursor attributes
309 weiwang 03/31/00 - add LDAP support
310 whe 05/30/00 - add OCI_ATTR_MAXCHAR_SIZE
311 whe 05/23/00 - validate OCI_NO_CACHE mode
312 dsaha 02/02/00 - Add no-cache attr in statement handle
313 whe 05/23/00 - add OCIP_ICACHE
314 allee 05/17/00 - describe support for JAVA implmented TYPE
315 preilly 05/30/00 - Continue adding support for objects in direct path lo
316 cmlim 05/16/00 - 8.2 dpapi support of ADTs
317 rxgovind 05/04/00 - OCIAnyDataSet changes
318 rkasamse 05/25/00 - add OCIAnyDataCtx
319 rmurthy 04/26/00 - describe support for inheritance
320 ksurlake 04/18/00 - Add credential type
321 whe 05/24/00 - add OCI_ATTR_CHAR_ attrs
322 rkambo 04/19/00 - subscription enhancement
323 rmurthy 04/26/00 - describe support for inheritance
324 delson 03/28/00 - add OCI_ATTR_RESERVED_2
325 abrumm 03/31/00 - external table support
326 rkasamse 03/13/00 - add declarations for OCIAnyData
327 najain 02/24/00 - support for dequeue as select
328 dsaha 03/10/00 - Add OCI_ALWAYS_BLOCKING
329 esoyleme 04/25/00 - separated transactions
330 sgollapu 12/23/99 - OCIServerAttach extensions
331 slari 08/23/99 - add OCI_DTYPE_UCB
332 slari 08/20/99 - add OCI_UCBTYPE_REPLACE
333 hsbedi 08/31/99 - Memory Stats .
334 sgollapu 08/02/99 - oci sql routing
335 slari 08/06/99 - rename values for OCI_SERVER_STATUS
336 slari 08/02/99 - add OCI_ATTR_SERVER_STATUS
337 tnbui 07/28/99 - Remove OCI_DTYPE_TIMESTAMP_ITZ
338 amangal 07/19/99 - Merge into 8.1.6 : bug 785797
339 tnbui 07/07/99 - Change ADJUSTMENT modes
340 dsaha 07/07/99 - OCI_SAHRED_EXT
341 dmwong 06/08/99 - add OCI_ATTR_APPCTX_*
342 vyanaman 06/23/99 -
343 vyanaman 06/21/99 - Add new OCI Datetime and Interval descriptors
344 esoyleme 06/29/99 - expose MTS performance enhancements
345 rshaikh 04/23/99 - add OCI_SQL_VERSION_*
346 tnbui 05/24/99 - Remove OCIAdjStr
347 dsaha 05/21/99 - Add OCI_ADJUST_UNK
348 mluong 05/17/99 - fix merge
349 tnbui 04/05/99 - ADJUSTMENT values
350 abrumm 04/16/99 - dpapi: more attributes
351 dsaha 02/24/99 - Add OCI_SHOW_DML_WARNINGS
352 jiyang 12/07/98 - Add OCI_NLS_DUAL_CURRENCY
353 slari 12/07/98 - change OCI_NOMUTEX to OCI_NO_MUTEX
354 aroy 11/30/98 - change OCI_NOCALLBACK to OCI_NO_UCB
355 aroy 11/13/98 - add env modes to process modes
356 slari 09/08/98 - add OCI_FNCODE_SVC2HST and _SVCRH
357 aroy 09/04/98 - Add OCI_ATTR_MIGSESSION
358 skray 08/14/98 - server groups for session switching
359 mluong 08/11/98 - add back OCI_HTYPE_LAST.
360 aroy 05/25/98 - add process handle type
361 aroy 04/06/98 - add shared mode
362 slari 07/13/98 - merge forward to 8.1.4
363 slari 07/09/98 - add OCI_BIND_RESERVED_2
364 slari 07/08/98 - add OCI_EXACT_FETCH_RESERVED_1
365 dsaha 07/07/98 - Add OCI_PARSE_ONLY
366 dsaha 06/29/98 - Add OCI_PARSE_ONLY
367 slari 07/01/98 - add OCI_BIND_RESERVED_2
368 sgollapu 06/25/98 - Fix bug 683565
369 slari 06/17/98 - remove OC_FETCH_RESERVED_2
370 slari 06/11/98 - add OCI_FETCH_RESERVED_1 and 2
371 jhasenbe 05/27/98 - Remove definitions for U-Calls (Unicode)
372 jiyang 05/18/98 - remove OCI_ATTR_CARTLANG
373 nbhatt 05/20/98 - OCI_DEQ_REMOVE_NODATA
374 nbhatt 05/19/98 - correct AQ opcode
375 skmishra 05/06/98 - Add precision attribute to Attributes list
376 aroy 04/20/98 - merge forward 8.0.5 -> 8.1.3
377 schandra 05/01/98 - OCI sender id
378 sgollapu 02/19/98 - enhanced array DML
379 nbhatt 05/15/98 - AQ listen call
380 sgollapu 04/27/98 - more attributes
381 skaluska 04/06/98 - Add OCI_PTYPE_SCHEMA, OCI_PTYPE_DATABASE
382 slari 04/28/98 - add OCI_ATTR_PDPRC
383 lchidamb 05/05/98 - change OCI_NAMESPACE_AQ to 1
384 nbhatt 04/27/98 - AQ Notification Descriptor
385 abrumm 06/24/98 - more direct path attributes
386 abrumm 05/27/98 - OCI direct path interface support
387 abrumm 05/08/98 - OCI direct path interface support
388 lchidamb 03/02/98 - client notification additions
389 kkarun 04/17/98 - Add more Interval functions
390 vyanaman 04/16/98 - Add get/set TZ
391 kkarun 04/14/98 - Add OCI Datetime shortnames
392 vyanaman 04/13/98 - Add OCI DateTime and Interval check error codes
393 kkarun 04/07/98 - Add OCI_DTYPE_DATETIME and OCI_DTYPE_INTERVAL
394 esoyleme 12/15/97 - support failover callback retry
395 esoyleme 04/22/98 - merge support for failover callback retry
396 mluong 04/16/98 - add OCI_FNCODE_LOBLOCATORASSIGN
397 rkasamse 04/17/98 - add short names for OCIPickler(Memory/Ctx) cart servi
398 slari 04/10/98 - add OCI_FNCODE_SVCCTXTOLDA
399 slari 04/09/98 - add OCI_FNCODE_RESET
400 slari 04/07/98 - add OCI_FNCODE_LOBFILEISOPEN
401 slari 04/06/98 - add OCI_FNCODE_LOBOPEN
402 slari 03/20/98 - change OCI_CBTYPE_xxx to OCI_UCBTYPE_xxx
403 slari 03/18/98 - add OCI_FNCODE_MAXFCN
404 slari 02/12/98 - add OCI_ENV_NO_USRCB
405 skabraha 04/09/98 - adding shortnames for OCIFile
406 rhwu 04/03/98 - Add short names for the OCIThread package
407 tanguyen 04/03/98 - add OCI_ATTR_xxxx for type inheritance
408 rkasamse 04/02/98 - add OCI_ATTR_UCI_REFRESH
409 nramakri 04/01/98 - Add short names for the OCIExtract package
410 ewaugh 03/31/98 - Add short names for the OCIFormat package.
411 jhasenbe 04/06/98 - Add definitions for U-Calls (Unicode)
412 (OCI_TEXT, OCI_UTEXT, OCI_UTEXT4)
413 skmishra 03/03/98 - Add OCI_ATTR_PARSE_ERROR_OFFSET
414 rwessman 03/11/98 - Added OCI_CRED_PROXY for proxy authentication
415 abrumm 03/31/98 - OCI direct path interface support
416 nmallava 03/03/98 - add constants for temp lob apis
417 skotsovo 03/05/98 - resolve merge conflicts
418 skotsovo 02/24/98 - add OCI_DTYPE_LOC
419 skaluska 01/21/98 - Add OCI_ATTR_LTYPE
420 rkasamse 01/06/98 - add OCI_ATTR* for obj cache enhancements
421 dchatter 01/08/98 - more comments
422 skabraha 12/02/97 - moved oci1.h to the front of include files.
423 jiyang 12/18/97 - Add OCI_NLS_MAX_BUFSZ
424 rhwu 12/02/97 - move oci1.h up
425 ewaugh 12/15/97 - Add short names for the OCIFormat package.
426 rkasamse 12/02/97 - Add a constant for memory cartridge services -- OCI_M
427 nmallava 12/31/97 - open/close for internal lobs
428 khnguyen 11/27/97 - add OCI_ATTR_LFPRECISION, OCI_ATTR_FSPRECISION
429 rkasamse 11/03/97 - add types for pickler cartridge services
430 mluong 11/20/97 - changed ubig_ora to ub4 per skotsovo
431 ssamu 11/14/97 - add oci1.h
432 jiyang 11/13/97 - Add NLS service for cartridge
433 esoyleme 12/15/97 - support failover callback retry
434 jwijaya 10/21/97 - change OCILobOffset/Length from ubig_ora to ub4
435 cxcheng 07/28/97 - fix compile with SLSHORTNAME
436 schandra 06/25/97 - AQ OCI interface
437 sgollapu 07/25/97 - Add OCI_ATTR_DESC_PUBLIC
438 cxcheng 06/16/97 - add OCI_ATTR_TDO
439 skotsovo 06/05/97 - add fntcodes for lob buffering subsystem
440 esoyleme 05/13/97 - move failover callback prototype
441 skmishra 05/06/97 - stdc compiler fixes
442 skmishra 04/22/97 - Provide C++ compatibility
443 lchidamb 04/19/97 - add OCI_ATTR_SESSLANG
444 ramkrish 04/15/97 - Add OCI_LOB_BUFFER_(NO)FREE
445 sgollapu 04/18/97 - Add OCI_ATTR_TABLESPACE
446 skaluska 04/17/97 - Add OCI_ATTR_SUB_NAME
447 schandra 04/10/97 - Use long OCI names
448 aroy 03/27/97 - add OCI_DTYPE_FILE
449 sgollapu 03/26/97 - Add OCI_OTYPEs
450 skmishra 04/09/97 - Added constant OCI_ROWID_LEN
451 dchatter 03/21/97 - add attr OCI_ATTR_IN_V8_MODE
452 lchidamb 03/21/97 - add OCI_COMMIT_ON_SUCCESS execution mode
453 skmishra 03/20/97 - Added OCI_ATTR_LOBEMPTY
454 sgollapu 03/19/97 - Add OCI_ATTR_OVRLD_ID
455 aroy 03/17/97 - add postprocessing callback
456 sgollapu 03/15/97 - Add OCI_ATTR_PARAM
457 cxcheng 02/07/97 - change OCI_PTYPE codes for type method for consistenc
458 cxcheng 02/05/97 - add OCI_PTYPE_TYPE_RESULT
459 cxcheng 02/04/97 - rename OCI_PTYPE constants to be more consistent
460 cxcheng 02/03/97 - add OCI_ATTR, OCI_PTYPE contants for describe type
461 esoyleme 01/23/97 - merge neerja callback
462 sgollapu 12/30/96 - Remove OCI_DTYPE_SECURITY
463 asurpur 12/26/96 - CHanging OCI_NO_AUTH to OCI_AUTH
464 sgollapu 12/23/96 - Add more attrs to COL, ARG, and SEQ
465 sgollapu 12/12/96 - Add OCI_DESCRIBE_ONLY
466 slari 12/11/96 - change prototype of OCICallbackInBind
467 nbhatt 12/05/96 - "callback"
468 lchidamb 11/19/96 - handle subclassing
469 sgollapu 11/09/96 - OCI_PATTR_*
470 dchatter 11/04/96 - add attr OCI_ATTR_CHRCNT
471 mluong 11/01/96 - test
472 cxcheng 10/31/96 - add #defines for OCILobLength etc
473 dchatter 10/31/96 - add lob read write call back fp defs
474 dchatter 10/30/96 - more changes
475 rhari 10/30/96 - Include ociextp.h at the very end
476 lchidamb 10/22/96 - add fdo attribute for bind/server handle
477 dchatter 10/22/96 - change attr defn for prefetch parameters & lobs/file
478 calls
479 slari 10/21/96 - add OCI_ENV_NO_MUTEX
480 rhari 10/25/96 - Include ociextp.h
481 rxgovind 10/25/96 - add OCI_LOBMAXSIZE, remove OCI_FILE_READWRITE
482 sgollapu 10/24/96 - Correct OCILogon and OCILogoff
483 sgollapu 10/24/96 - Correct to OCILogon and OCILogoff
484 sgollapu 10/21/96 - Add ocilon and ociloff
485 skaluska 10/31/96 - Add OCI_PTYPE values
486 sgollapu 10/17/96 - correct OCI_ATTR_SVCCTX to OCI_ATTR_SERVER
487 rwessman 10/16/96 - Added security functions and fixed olint errors.
488 sthakur 10/14/96 - add more COR attributes
489 cxcheng 10/14/96 - re-enable LOB functions
490 sgollapu 10/10/96 - Add ocibdp and ocibdn
491 slari 10/07/96 - add back OCIRowid
492 aroy 10/08/96 - add typedef ocibfill for PRO*C
493 mluong 10/11/96 - replace OCI_ATTR_CHARSET* with OCI_ATTR_CHARSET_*
494 cxcheng 10/10/96 - temporarily take out #define for lob functions
495 sgollapu 10/02/96 - Rename OCI functions and datatypes
496 skotsovo 10/01/96 - move orl lob fnts to oci
497 aroy 09/10/96 - fix merge errors
498 aroy 08/19/96 - NCHAR support
499 jboonleu 09/05/96 - add OCI attributes for object cache
500 dchatter 08/20/96 - HTYPE ranges from 1-50; DTYPE from 50-255
501 slari 08/06/96 - define OCI_DTYPE_ROWID
502 sthakur 08/14/96 - complex object support
503 schandra 06/17/96 - Convert XA to use new OCI
504 abrik 08/15/96 - OCI_ATTR_HEAPALLOC added
505 aroy 07/17/96 - terminology change: ocilobd => ocilobl
506 aroy 07/03/96 - add lob typedefs for Pro*C
507 slari 06/28/96 - add OCI_ATTR_STMT_TYPE
508 lchidamb 06/26/96 - reorg #ifndef
509 schandra 05/31/96 - attribute types for internal and external client name
510 asurpur 05/30/96 - Changing the value of mode
511 schandra 05/18/96 - OCI_TRANS_TWOPHASE -> 0x00000001 to 0x00100000
512 slari 05/30/96 - add callback function prototypes
513 jbellemo 05/23/96 - remove ociisc
514 schandra 04/23/96 - loosely-coupled branches
515 asurpur 05/15/96 - New mode for ocicpw
516 aroy 04/24/96 - making ocihandles opaque
517 slari 04/18/96 - add missing defines
518 schandra 03/27/96 - V8OCI - add transaction related calls
519 dchatter 04/01/96 - add OCI_FILE options
520 dchatter 03/21/96 - add oci2lda conversion routines
521 dchatter 03/07/96 - add OCI piece definition
522 slari 03/12/96 - add describe attributes
523 slari 03/12/96 - add OCI_OTYPE_QUERY
524 aroy 02/28/96 - Add column attributes
525 slari 02/09/96 - add OCI_OBJECT
526 slari 02/07/96 - add OCI_HYTPE_DSC
527 aroy 01/10/96 - adding function code defines...
528 dchatter 01/03/96 - define OCI_NON_BLOCKING
529 dchatter 01/02/96 - Add Any descriptor
530 dchatter 01/02/96 - Add Select List descriptor
531 dchatter 12/29/95 - V8 OCI definitions
532 dchatter 12/29/95 - Creation
533
534*/
535
536#ifdef __cplusplus
537extern "C" {
538#endif
539
540#ifndef ORATYPES
541#include <oratypes.h>
542#endif
543
544#ifndef OCIDFN
545#include <ocidfn.h>
546#endif
547
548#ifndef OCI_ORACLE
549# define OCI_ORACLE
550
551
552/*---------------------------------------------------------------------------
553 Short names provided for platforms which do not allow extended symbolic names
554 ---------------------------------------------------------------------------*/
555
556#ifdef SLSHORTNAME
557/* Translation of the long function/type names to short names for IBM only */
558/* maybe lint will use this too */
559#define OCISessionEnd ocitac
560#define OCIResultSetToStmt ocirs2sh
561#define OCISessionBegin ociauth
562#define OCIServerAttach ociatch
563#define OCIDescriptorAlloc ocigdesc
564#define OCIServerDetach ocidtch
565#define OCIDescriptorFree ocifdesc
566#define OCIServerVersion ocivers
567#define OCIDescribeAny ocidsca
568#define OCIBindDynamic ocibda
569#define OCIBindByName ocibdn
570#define OCIBindByPos ocibdp
571#define OCIErrorGet ocigdr
572#define OCIBindArrayOfStruct ocibsa
573#define OCIEnvInit ociinit
574#define OCIBindObject ocibndt
575#define OCIHandleAlloc ocighndl
576#define OCIHandleFree ocifhndl
577#define OCIRowidToChar ociri2c
578#ifdef NEVER
579#define OCIStmtBindByPos ocibndp
580#define OCIStmtBindByName ocibndn
581#endif
582#define OCIAttrGet ocigattr
583#define OCIDefineByPos ocidfne
584#define OCIAttrSet ocisattr
585#define OCIDefineDynamic ociddf
586#define OCILdaToSvcCtx ocild2sv
587#define OCIDefineArrayOfStruct ocidarr
588#define OCIInitialize ocipi
589#define OCIDefineObject ocidndt
590#define OCIStmtExecute ociexec
591#define OCILobAppend ocilfap
592#define OCILobOpenFile ocifopn
593#define OCILobCloseFile ocifcls
594#define OCILobLocator ocilobd
595#define OCILobGetDeduplicateRegions ocilgshr
596#define OCILobRegion ocilregd
597#define OCILobCopy ocilfcp
598#define OCILobFileCreate ocifcrt
599#define OCILobFileDelete ocifdel
600#define OCILobGetLength ocilfln
601#define OCILobWrite ocilfwr
602#define OCILobRead ocilfrd
603#define OCILobErase ocilfer
604#define OCILobTrim ocilftr
605#define OCILobSetOptions ocinglso
606#define OCILobGetOptions ocinglgo
607#define OCILobFragmentInsert ocinglfi
608#define OCILobFragmentDelete ocinglfd
609#define OCILobFragmentMove ocinglfm
610#define OCILobFragmentReplace ocinglfr
611#define OCILobSetContentType ocinglsct
612#define OCILobGetContentType ocinglgct
613
614#define OCIStmtFetch ocifch
615#define OCIStmtGetBindInfo ocigbp
616#define OCIStmtGetPieceInfo ocigpi
617#define OCIStmtPrepare ocireq
618#define OCIStmtSetPieceInfo ocispi
619#define OCISvcCtxToLda ocisv2ld
620#define OCITransCommit ocitxcm
621#define OCITransDetach ocitxdt
622#define OCITransForget ocitxfgt
623#define OCITransPrepare ocitxpre
624#define OCITransRollback ocitxrl
625#define OCIPasswordChange ocicpw
626#define OCITransStart ocitxst
627#define OCITransMultiPrepare ocitxmp
628
629#define OCIBreak ocibreak
630#define OCIParamGet ocigparm
631#define OCIParamSet ocisparm
632
633#define OCISecurityOpenWallet ocizwOpenWallet
634#define OCISecurityCloseWallet ocizwCloseWallet
635#define OCISecurityCreateWallet ocizwCreateWallet
636#define OCISecurityDestroyWallet ocizwDestroyWallet
637#define OCISecurityStorePersona ocizeStorePersona
638#define OCISecurityOpenPersona ocizeOpenPersona
639#define OCISecurityClosePersona ocizeClosePersona
640#define OCISecurityRemovePersona ocizeRemovePersona
641#define OCISecurityCreatePersona ocizeCreatePersona
642#define OCISecuritySetProtection ocizeSetProtection
643#define OCISecurityGetProtection ocizeGetProtection
644#define OCISecurityRemoveIdentity ociziRemoveIdentity
645#define OCISecurityCreateIdentity ociziCreateIdentity
646#define OCISecurityAbortIdentity ociziAbortIdentity
647#define OCISecurityFreeIdentity ociziFreeIdentity
648#define OCISecurityStoreTrustedIdentity ociziStoreTrustedIdentity
649#define OCISecuritySign ocizSign
650#define OCISecuritySignExpansion ocizxSignExpansion
651#define OCISecurityVerify ocizVerify
652#define OCISecurityValidate ocizValidate
653#define OCISecuritySignDetached ocizsd_SignDetached
654#define OCISecuritySignDetExpansion ocizxsd_SignDetachedExpansion
655#define OCISecurityVerifyDetached ocizved_VerifyDetached
656#define OCISecurity_PKEncrypt ocizkec_PKEncrypt
657#define OCISecurityPKEncryptExpansion ocizxkec_PKEncryptExpansion
658#define OCISecurityPKDecrypt ocizkdc_PKDecrypt
659#define OCISecurityEncrypt ocizEncrypt
660#define OCISecurityEncryptExpansion ocizxEncryptExpansion
661#define OCISecurityDecrypt ocizDecrypt
662#define OCISecurityEnvelope ocizEnvelope
663#define OCISecurityDeEnvelope ocizDeEnvelope
664#define OCISecurityKeyedHash ocizKeyedHash
665#define OCISecurityKeyedHashExpansion ocizxKeyedHashExpansion
666#define OCISecurityHash ocizHash
667#define OCISecurityHashExpansion ocizxHashExpansion
668#define OCISecuritySeedRandom ocizSeedRandom
669#define OCISecurityRandomBytes ocizrb_RandomBytes
670#define OCISecurityRandomNumber ocizrn_RandomNumber
671#define OCISecurityInitBlock ocizibInitBlock
672#define OCISecurityReuseBlock ocizrbReuseBlock
673#define OCISecurityPurgeBlock ocizpbPurgeBlock
674#define OCISecuritySetBlock ocizsbSetBlock
675#define OCISecurityGetIdentity ocizgi_GetIdentity
676
677#define OCIExtractInit ocixeini
678#define OCIExtractTerm ocixetrm
679#define OCIExtractReset ocixerst
680#define OCIExtractSetNumKeys ocixesnk
681#define OCIExtractSetKey ocixesk
682#define OCIExtractFromFile ocixeff
683#define OCIExtractFromStr ocixefs
684#define OCIExtractToInt ocixeti
685#define OCIExtractToBool ocixetb
686#define OCIExtractToStr ocixets
687#define OCIExtractToOCINum ocixeton
688#define OCIExtractToList ocixetl
689#define OCIExtractFromList ocixefl
690
691#define OCIDateTimeGetTime ocidt01_GetTime
692#define OCIDateTimeGetDate ocidt02_GetDate
693#define OCIDateTimeGetTimeZoneOffset ocidt03_GetTZ
694#define OCIDateTimeSysTimeStamp ocidt07_SysTS
695#define OCIDateTimeAssign ocidt08_Assign
696#define OCIDateTimeToText ocidt09_ToText
697#define OCIDateTimeFromText ocidt10_FromText
698#define OCIDateTimeCompare ocidt11_Compare
699#define OCIDateTimeCheck ocidt12_Check
700#define OCIDateTimeConvert ocidt13_Convert
701#define OCIDateTimeSubtract ocidt14_Subtract
702#define OCIDateTimeIntervalAdd ocidt15_IntervalAdd
703#define OCIDateTimeIntervalSub ocidt16_IntervalSub
704#define OCIDateTimeGetTimeZoneName ocidt17_Gettzname
705#define OCIDateTimeToArray ocidt18_ToArray
706#define OCIDateTimeFromArray ocidt19_FromArray
707
708#define OCIIntervalSubtract ociint01_Subtract
709#define OCIIntervalAdd ociint02_Add
710#define OCIIntervalMultiply ociint03_Multiply
711#define OCIIntervalDivide ociint04_Divide
712#define OCIIntervalCompare ociint05_Compare
713#define OCIIntervalFromText ociint06_FromText
714#define OCIIntervalToText ociint07_ToText
715#define OCIIntervalToNumber ociint08_ToNumber
716#define OCIIntervalCheck ociint09_Check
717#define OCIIntervalAssign ociint10_Assign
718#define OCIIntervalGetYearMonth ociint11_GetYearMonth
719#define OCIIntervalSetYearMonth ociint12_SetYearMonth
720#define OCIIntervalGetDaySecond ociint13_GetDaySecond
721#define OCIIntervalSetDaySecond ociint14_SetDaySecond
722#define OCIIntervalFromNumber ociint15_FromNumber
723#define OCIIntervalFromTZ ociint16_FromTZ
724
725#define OCIFormatInit ocixs01_Init
726#define OCIFormatString ocixs02_Format
727#define OCIFormatTerm ocixs03_Term
728#define OCIFormatTUb1 ocixs04_TUb1
729#define OCIFormatTUb2 ocixs05_TUb2
730#define OCIFormatTUb4 ocixs06_TUb4
731#define OCIFormatTUword ocixs07_TUword
732#define OCIFormatTUbig_ora ocixs08_TUbig_ora
733#define OCIFormatTSb1 ocixs09_TSb1
734#define OCIFormatTSb2 ocixs10_TSb2
735#define OCIFormatTSb4 ocixs11_TSb4
736#define OCIFormatTSword ocixs12_TSword
737#define OCIFormatTSbig_ora ocixs13_TSbig_ora
738#define OCIFormatTEb1 ocixs14_TEb1
739#define OCIFormatTEb2 ocixs15_TEb2
740#define OCIFormatTEb4 ocixs16_TEb4
741#define OCIFormatTEword ocixs17_TEword
742#define OCIFormatTChar ocixs18_TChar
743#define OCIFormatTText ocixs19_TText
744#define OCIFormatTDouble ocixs20_TDouble
745#define OCIFormatTDvoid ocixs21_TDvoid
746#define OCIFormatTEnd ocixs22_TEnd
747
748#define OCIFileInit ocifinit
749#define OCIFileTerm ocifterm
750#define OCIFileOpen ocifopen
751#define OCIFileClose ocifclose
752#define OCIFileRead ocifread
753#define OCIFileWrite ocifwrite
754#define OCIFileSeek ocifseek
755#define OCIFileExists ocifexists
756#define OCIFileGetLength ocifglen
757#define OCIFileFlush ocifflush
758
759
760/* OCIThread short name */
761#define OCIThreadProcessInit ocitt01_ProcessInit
762#define OCIThreadInit ocitt02_Init
763#define OCIThreadTerm ocitt03_Term
764#define OCIThreadIsMulti ocitt04_IsMulti
765#define OCIThreadMutexInit ocitt05_MutexInit
766#define OCIThreadMutexDestroy ocitt06_MutexDestroy
767#define OCIThreadMutexAcquire ocitt07_MutexAcquire
768#define OCIThreadMutexRelease ocitt08_MutexRelease
769#define OCIThreadKeyInit ocitt09_KeyInit
770#define OCIThreadKeyDestroy ocitt10_KeyDestroy
771#define OCIThreadKeyGet ocitt11_KeyGet
772#define OCIThreadKeySet ocitt12_KeySet
773#define OCIThreadIdInit ocitt13_IdInit
774#define OCIThreadIdDestroy ocitt14_IdDestroy
775#define OCIThreadIdSet ocitt15_IdSet
776#define OCIThreadIdSetNull ocitt16_IdSetNull
777#define OCIThreadIdGet ocitt17_IdGet
778#define OCIThreadIdSame ocitt18_IdSame
779#define OCIThreadIdNull ocitt19_IdNull
780#define OCIThreadHndInit ocitt20_HndInit
781#define OCIThreadHndDestroy ocitt21_HndDestroy
782#define OCIThreadCreate ocitt22_Create
783#define OCIThreadJoin ocitt23_Join
784#define OCIThreadClose ocitt24_Close
785#define OCIThreadHandleGet ocitt25_HandleGet
786
787/* Translation between the old and new datatypes */
788
789#define OCISession ociusrh
790#define OCIBind ocibndh
791#define OCIDescribe ocidsch
792#define OCIDefine ocidfnh
793#define OCIEnv ocienvh
794#define OCIError ocierrh
795
796#define OCICPool ocicpool
797
798#define OCISPool ocispool
799#define OCIAuthInfo ociauthinfo
800
801
802#define OCILob ocilobd
803#define OCILobLength ocillen
804#define OCILobMode ocilmo
805#define OCILobOffset ociloff
806
807#define OCILobLocator ocilobd
808#define OCIBlobLocator ociblobl
809#define OCIClobLocator ociclobl
810#define OCILobRegion ocilregd
811#define OCIBFileLocator ocibfilel
812
813#define OCIParam ocipard
814#define OCIResult ocirstd
815#define OCISnapshot ocisnad
816#define OCIServer ocisrvh
817#define OCIStmt ocistmh
818#define OCISvcCtx ocisvch
819#define OCITrans ocitxnh
820#define OCICallbackInBind ocibicfp
821#define OCICallbackOutBind ocibocfp
822#define OCICallbackDefine ocidcfp
823#define OCICallbackLobRead ocilrfp
824#define OCICallbackLobWrite ocilwfp
825#define OCICallbackLobGetDededuplicateRegions ocilgshr
826#define OCISecurity ociossh
827#define OCIComplexObject ocicorh
828#define OCIComplexObjectComp ocicord
829#define OCIRowid ociridd
830
831#define OCIAQDeq ociaqdeq
832#define OCIAQEnq ociaqenq
833#define OCIConnectionPoolCreate ociconpc
834#define OCIConnectionPoolDestroy ociconpd
835#define OCIEnvCreate ocienvct
836#define OCILobAssign ociloass
837#define OCILobCharSetForm ocilocfm
838#define OCILobCharSetId ocilocid
839#define OCILobDisableBuffering ocilodbf
840#define OCILobEnableBuffering ociloebf
841#define OCILobFileClose ocilofcl
842#define OCILobFileCloseAll ocilofca
843#define OCILobFileExists ocilofex
844#define OCILobFileGetName ocilofgn
845#define OCILobFileIsOpen ocifiopn
846#define OCILobFileOpen ocilofop
847#define OCILobFileSetName ocilofsn
848#define OCILobFlushBuffer ocilofbf
849#define OCILobIsEqual ociloieq
850#define OCILobLoadFromFile ocilolff
851#define OCILobLocatorIsInit ocilolii
852#define OCILobLocatorAssign ocilolas
853#define OCILogon ocilogon
854#define OCILogon2 ocilgon2
855#define OCILogoff ocilgoff
856#endif /* ifdef SLSHORTNAME */
857
858/*---------------------------------------------------------------------------
859 PUBLIC TYPES AND CONSTANTS
860 ---------------------------------------------------------------------------*/
861
862/*-----------------------------Handle Types----------------------------------*/
863 /* handle types range from 1 - 49 */
864#define OCI_HTYPE_FIRST 1 /* start value of handle type */
865#define OCI_HTYPE_ENV 1 /* environment handle */
866#define OCI_HTYPE_ERROR 2 /* error handle */
867#define OCI_HTYPE_SVCCTX 3 /* service handle */
868#define OCI_HTYPE_STMT 4 /* statement handle */
869#define OCI_HTYPE_BIND 5 /* bind handle */
870#define OCI_HTYPE_DEFINE 6 /* define handle */
871#define OCI_HTYPE_DESCRIBE 7 /* describe handle */
872#define OCI_HTYPE_SERVER 8 /* server handle */
873#define OCI_HTYPE_SESSION 9 /* authentication handle */
874#define OCI_HTYPE_AUTHINFO OCI_HTYPE_SESSION /* SessionGet auth handle */
875#define OCI_HTYPE_TRANS 10 /* transaction handle */
876#define OCI_HTYPE_COMPLEXOBJECT 11 /* complex object retrieval handle */
877#define OCI_HTYPE_SECURITY 12 /* security handle */
878#define OCI_HTYPE_SUBSCRIPTION 13 /* subscription handle */
879#define OCI_HTYPE_DIRPATH_CTX 14 /* direct path context */
880#define OCI_HTYPE_DIRPATH_COLUMN_ARRAY 15 /* direct path column array */
881#define OCI_HTYPE_DIRPATH_STREAM 16 /* direct path stream */
882#define OCI_HTYPE_PROC 17 /* process handle */
883#define OCI_HTYPE_DIRPATH_FN_CTX 18 /* direct path function context */
884#define OCI_HTYPE_DIRPATH_FN_COL_ARRAY 19 /* dp object column array */
885#define OCI_HTYPE_XADSESSION 20 /* access driver session */
886#define OCI_HTYPE_XADTABLE 21 /* access driver table */
887#define OCI_HTYPE_XADFIELD 22 /* access driver field */
888#define OCI_HTYPE_XADGRANULE 23 /* access driver granule */
889#define OCI_HTYPE_XADRECORD 24 /* access driver record */
890#define OCI_HTYPE_XADIO 25 /* access driver I/O */
891#define OCI_HTYPE_CPOOL 26 /* connection pool handle */
892#define OCI_HTYPE_SPOOL 27 /* session pool handle */
893#define OCI_HTYPE_ADMIN 28 /* admin handle */
894#define OCI_HTYPE_EVENT 29 /* HA event handle */
895
896#define OCI_HTYPE_LAST 29 /* last value of a handle type */
897
898/*---------------------------------------------------------------------------*/
899
900
901/*-------------------------Descriptor Types----------------------------------*/
902 /* descriptor values range from 50 - 255 */
903#define OCI_DTYPE_FIRST 50 /* start value of descriptor type */
904#define OCI_DTYPE_LOB 50 /* lob locator */
905#define OCI_DTYPE_SNAP 51 /* snapshot descriptor */
906#define OCI_DTYPE_RSET 52 /* result set descriptor */
907#define OCI_DTYPE_PARAM 53 /* a parameter descriptor obtained from ocigparm */
908#define OCI_DTYPE_ROWID 54 /* rowid descriptor */
909#define OCI_DTYPE_COMPLEXOBJECTCOMP 55
910 /* complex object retrieval descriptor */
911#define OCI_DTYPE_FILE 56 /* File Lob locator */
912#define OCI_DTYPE_AQENQ_OPTIONS 57 /* enqueue options */
913#define OCI_DTYPE_AQDEQ_OPTIONS 58 /* dequeue options */
914#define OCI_DTYPE_AQMSG_PROPERTIES 59 /* message properties */
915#define OCI_DTYPE_AQAGENT 60 /* aq agent */
916#define OCI_DTYPE_LOCATOR 61 /* LOB locator */
917#define OCI_DTYPE_INTERVAL_YM 62 /* Interval year month */
918#define OCI_DTYPE_INTERVAL_DS 63 /* Interval day second */
919#define OCI_DTYPE_AQNFY_DESCRIPTOR 64 /* AQ notify descriptor */
920#define OCI_DTYPE_DATE 65 /* Date */
921#define OCI_DTYPE_TIME 66 /* Time */
922#define OCI_DTYPE_TIME_TZ 67 /* Time with timezone */
923#define OCI_DTYPE_TIMESTAMP 68 /* Timestamp */
924#define OCI_DTYPE_TIMESTAMP_TZ 69 /* Timestamp with timezone */
925#define OCI_DTYPE_TIMESTAMP_LTZ 70 /* Timestamp with local tz */
926#define OCI_DTYPE_UCB 71 /* user callback descriptor */
927#define OCI_DTYPE_SRVDN 72 /* server DN list descriptor */
928#define OCI_DTYPE_SIGNATURE 73 /* signature */
929#define OCI_DTYPE_RESERVED_1 74 /* reserved for internal use */
930#define OCI_DTYPE_AQLIS_OPTIONS 75 /* AQ listen options */
931#define OCI_DTYPE_AQLIS_MSG_PROPERTIES 76 /* AQ listen msg props */
932#define OCI_DTYPE_CHDES 77 /* Top level change notification desc */
933#define OCI_DTYPE_TABLE_CHDES 78 /* Table change descriptor */
934#define OCI_DTYPE_ROW_CHDES 79 /* Row change descriptor */
935#define OCI_DTYPE_CQDES 80 /* Query change descriptor */
936#define OCI_DTYPE_LOB_REGION 81 /* LOB Share region descriptor */
937#define OCI_DTYPE_LAST 81 /* last value of a descriptor type */
938
939/*---------------------------------------------------------------------------*/
940
941/*--------------------------------LOB types ---------------------------------*/
942#define OCI_TEMP_BLOB 1 /* LOB type - BLOB ------------------ */
943#define OCI_TEMP_CLOB 2 /* LOB type - CLOB ------------------ */
944/*---------------------------------------------------------------------------*/
945
946/*-------------------------Object Ptr Types----------------------------------*/
947#define OCI_OTYPE_NAME 1 /* object name */
948#define OCI_OTYPE_REF 2 /* REF to TDO */
949#define OCI_OTYPE_PTR 3 /* PTR to TDO */
950/*---------------------------------------------------------------------------*/
951
952/*=============================Attribute Types===============================*/
953/*
954 Note: All attributes are global. New attibutes should be added to the end
955 of the list. Before you add an attribute see if an existing one can be
956 used for your handle.
957
958 If you see any holes please use the holes first.
959
960*/
961/*===========================================================================*/
962
963
964#define OCI_ATTR_FNCODE 1 /* the OCI function code */
965#define OCI_ATTR_OBJECT 2 /* is the environment initialized in object mode */
966#define OCI_ATTR_NONBLOCKING_MODE 3 /* non blocking mode */
967#define OCI_ATTR_SQLCODE 4 /* the SQL verb */
968#define OCI_ATTR_ENV 5 /* the environment handle */
969#define OCI_ATTR_SERVER 6 /* the server handle */
970#define OCI_ATTR_SESSION 7 /* the user session handle */
971#define OCI_ATTR_TRANS 8 /* the transaction handle */
972#define OCI_ATTR_ROW_COUNT 9 /* the rows processed so far */
973#define OCI_ATTR_SQLFNCODE 10 /* the SQL verb of the statement */
974#define OCI_ATTR_PREFETCH_ROWS 11 /* sets the number of rows to prefetch */
975#define OCI_ATTR_NESTED_PREFETCH_ROWS 12 /* the prefetch rows of nested table*/
976#define OCI_ATTR_PREFETCH_MEMORY 13 /* memory limit for rows fetched */
977#define OCI_ATTR_NESTED_PREFETCH_MEMORY 14 /* memory limit for nested rows */
978#define OCI_ATTR_CHAR_COUNT 15
979 /* this specifies the bind and define size in characters */
980#define OCI_ATTR_PDSCL 16 /* packed decimal scale */
981#define OCI_ATTR_FSPRECISION OCI_ATTR_PDSCL
982 /* fs prec for datetime data types */
983#define OCI_ATTR_PDPRC 17 /* packed decimal format */
984#define OCI_ATTR_LFPRECISION OCI_ATTR_PDPRC
985 /* fs prec for datetime data types */
986#define OCI_ATTR_PARAM_COUNT 18 /* number of column in the select list */
987#define OCI_ATTR_ROWID 19 /* the rowid */
988#define OCI_ATTR_CHARSET 20 /* the character set value */
989#define OCI_ATTR_NCHAR 21 /* NCHAR type */
990#define OCI_ATTR_USERNAME 22 /* username attribute */
991#define OCI_ATTR_PASSWORD 23 /* password attribute */
992#define OCI_ATTR_STMT_TYPE 24 /* statement type */
993#define OCI_ATTR_INTERNAL_NAME 25 /* user friendly global name */
994#define OCI_ATTR_EXTERNAL_NAME 26 /* the internal name for global txn */
995#define OCI_ATTR_XID 27 /* XOPEN defined global transaction id */
996#define OCI_ATTR_TRANS_LOCK 28 /* */
997#define OCI_ATTR_TRANS_NAME 29 /* string to identify a global transaction */
998#define OCI_ATTR_HEAPALLOC 30 /* memory allocated on the heap */
999#define OCI_ATTR_CHARSET_ID 31 /* Character Set ID */
1000#define OCI_ATTR_CHARSET_FORM 32 /* Character Set Form */
1001#define OCI_ATTR_MAXDATA_SIZE 33 /* Maximumsize of data on the server */
1002#define OCI_ATTR_CACHE_OPT_SIZE 34 /* object cache optimal size */
1003#define OCI_ATTR_CACHE_MAX_SIZE 35 /* object cache maximum size percentage */
1004#define OCI_ATTR_PINOPTION 36 /* object cache default pin option */
1005#define OCI_ATTR_ALLOC_DURATION 37
1006 /* object cache default allocation duration */
1007#define OCI_ATTR_PIN_DURATION 38 /* object cache default pin duration */
1008#define OCI_ATTR_FDO 39 /* Format Descriptor object attribute */
1009#define OCI_ATTR_POSTPROCESSING_CALLBACK 40
1010 /* Callback to process outbind data */
1011#define OCI_ATTR_POSTPROCESSING_CONTEXT 41
1012 /* Callback context to process outbind data */
1013#define OCI_ATTR_ROWS_RETURNED 42
1014 /* Number of rows returned in current iter - for Bind handles */
1015#define OCI_ATTR_FOCBK 43 /* Failover Callback attribute */
1016#define OCI_ATTR_IN_V8_MODE 44 /* is the server/service context in V8 mode */
1017#define OCI_ATTR_LOBEMPTY 45 /* empty lob ? */
1018#define OCI_ATTR_SESSLANG 46 /* session language handle */
1019
1020#define OCI_ATTR_VISIBILITY 47 /* visibility */
1021#define OCI_ATTR_RELATIVE_MSGID 48 /* relative message id */
1022#define OCI_ATTR_SEQUENCE_DEVIATION 49 /* sequence deviation */
1023
1024#define OCI_ATTR_CONSUMER_NAME 50 /* consumer name */
1025#define OCI_ATTR_DEQ_MODE 51 /* dequeue mode */
1026#define OCI_ATTR_NAVIGATION 52 /* navigation */
1027#define OCI_ATTR_WAIT 53 /* wait */
1028#define OCI_ATTR_DEQ_MSGID 54 /* dequeue message id */
1029
1030#define OCI_ATTR_PRIORITY 55 /* priority */
1031#define OCI_ATTR_DELAY 56 /* delay */
1032#define OCI_ATTR_EXPIRATION 57 /* expiration */
1033#define OCI_ATTR_CORRELATION 58 /* correlation id */
1034#define OCI_ATTR_ATTEMPTS 59 /* # of attempts */
1035#define OCI_ATTR_RECIPIENT_LIST 60 /* recipient list */
1036#define OCI_ATTR_EXCEPTION_QUEUE 61 /* exception queue name */
1037#define OCI_ATTR_ENQ_TIME 62 /* enqueue time (only OCIAttrGet) */
1038#define OCI_ATTR_MSG_STATE 63/* message state (only OCIAttrGet) */
1039 /* NOTE: 64-66 used below */
1040#define OCI_ATTR_AGENT_NAME 64 /* agent name */
1041#define OCI_ATTR_AGENT_ADDRESS 65 /* agent address */
1042#define OCI_ATTR_AGENT_PROTOCOL 66 /* agent protocol */
1043#define OCI_ATTR_USER_PROPERTY 67 /* user property */
1044#define OCI_ATTR_SENDER_ID 68 /* sender id */
1045#define OCI_ATTR_ORIGINAL_MSGID 69 /* original message id */
1046
1047#define OCI_ATTR_QUEUE_NAME 70 /* queue name */
1048#define OCI_ATTR_NFY_MSGID 71 /* message id */
1049#define OCI_ATTR_MSG_PROP 72 /* message properties */
1050
1051#define OCI_ATTR_NUM_DML_ERRORS 73 /* num of errs in array DML */
1052#define OCI_ATTR_DML_ROW_OFFSET 74 /* row offset in the array */
1053
1054 /* AQ array error handling uses DML method of accessing errors */
1055#define OCI_ATTR_AQ_NUM_ERRORS OCI_ATTR_NUM_DML_ERRORS
1056#define OCI_ATTR_AQ_ERROR_INDEX OCI_ATTR_DML_ROW_OFFSET
1057
1058#define OCI_ATTR_DATEFORMAT 75 /* default date format string */
1059#define OCI_ATTR_BUF_ADDR 76 /* buffer address */
1060#define OCI_ATTR_BUF_SIZE 77 /* buffer size */
1061
1062/* For values 78 - 80, see DirPathAPI attribute section in this file */
1063
1064#define OCI_ATTR_NUM_ROWS 81 /* number of rows in column array */
1065 /* NOTE that OCI_ATTR_NUM_COLS is a column
1066 * array attribute too.
1067 */
1068#define OCI_ATTR_COL_COUNT 82 /* columns of column array
1069 processed so far. */
1070#define OCI_ATTR_STREAM_OFFSET 83 /* str off of last row processed */
1071#define OCI_ATTR_SHARED_HEAPALLOC 84 /* Shared Heap Allocation Size */
1072
1073#define OCI_ATTR_SERVER_GROUP 85 /* server group name */
1074
1075#define OCI_ATTR_MIGSESSION 86 /* migratable session attribute */
1076
1077#define OCI_ATTR_NOCACHE 87 /* Temporary LOBs */
1078
1079#define OCI_ATTR_MEMPOOL_SIZE 88 /* Pool Size */
1080#define OCI_ATTR_MEMPOOL_INSTNAME 89 /* Instance name */
1081#define OCI_ATTR_MEMPOOL_APPNAME 90 /* Application name */
1082#define OCI_ATTR_MEMPOOL_HOMENAME 91 /* Home Directory name */
1083#define OCI_ATTR_MEMPOOL_MODEL 92 /* Pool Model (proc,thrd,both)*/
1084#define OCI_ATTR_MODES 93 /* Modes */
1085
1086#define OCI_ATTR_SUBSCR_NAME 94 /* name of subscription */
1087#define OCI_ATTR_SUBSCR_CALLBACK 95 /* associated callback */
1088#define OCI_ATTR_SUBSCR_CTX 96 /* associated callback context */
1089#define OCI_ATTR_SUBSCR_PAYLOAD 97 /* associated payload */
1090#define OCI_ATTR_SUBSCR_NAMESPACE 98 /* associated namespace */
1091
1092#define OCI_ATTR_PROXY_CREDENTIALS 99 /* Proxy user credentials */
1093#define OCI_ATTR_INITIAL_CLIENT_ROLES 100 /* Initial client role list */
1094
1095#define OCI_ATTR_UNK 101 /* unknown attribute */
1096#define OCI_ATTR_NUM_COLS 102 /* number of columns */
1097#define OCI_ATTR_LIST_COLUMNS 103 /* parameter of the column list */
1098#define OCI_ATTR_RDBA 104 /* DBA of the segment header */
1099#define OCI_ATTR_CLUSTERED 105 /* whether the table is clustered */
1100#define OCI_ATTR_PARTITIONED 106 /* whether the table is partitioned */
1101#define OCI_ATTR_INDEX_ONLY 107 /* whether the table is index only */
1102#define OCI_ATTR_LIST_ARGUMENTS 108 /* parameter of the argument list */
1103#define OCI_ATTR_LIST_SUBPROGRAMS 109 /* parameter of the subprogram list */
1104#define OCI_ATTR_REF_TDO 110 /* REF to the type descriptor */
1105#define OCI_ATTR_LINK 111 /* the database link name */
1106#define OCI_ATTR_MIN 112 /* minimum value */
1107#define OCI_ATTR_MAX 113 /* maximum value */
1108#define OCI_ATTR_INCR 114 /* increment value */
1109#define OCI_ATTR_CACHE 115 /* number of sequence numbers cached */
1110#define OCI_ATTR_ORDER 116 /* whether the sequence is ordered */
1111#define OCI_ATTR_HW_MARK 117 /* high-water mark */
1112#define OCI_ATTR_TYPE_SCHEMA 118 /* type's schema name */
1113#define OCI_ATTR_TIMESTAMP 119 /* timestamp of the object */
1114#define OCI_ATTR_NUM_ATTRS 120 /* number of sttributes */
1115#define OCI_ATTR_NUM_PARAMS 121 /* number of parameters */
1116#define OCI_ATTR_OBJID 122 /* object id for a table or view */
1117#define OCI_ATTR_PTYPE 123 /* type of info described by */
1118#define OCI_ATTR_PARAM 124 /* parameter descriptor */
1119#define OCI_ATTR_OVERLOAD_ID 125 /* overload ID for funcs and procs */
1120#define OCI_ATTR_TABLESPACE 126 /* table name space */
1121#define OCI_ATTR_TDO 127 /* TDO of a type */
1122#define OCI_ATTR_LTYPE 128 /* list type */
1123#define OCI_ATTR_PARSE_ERROR_OFFSET 129 /* Parse Error offset */
1124#define OCI_ATTR_IS_TEMPORARY 130 /* whether table is temporary */
1125#define OCI_ATTR_IS_TYPED 131 /* whether table is typed */
1126#define OCI_ATTR_DURATION 132 /* duration of temporary table */
1127#define OCI_ATTR_IS_INVOKER_RIGHTS 133 /* is invoker rights */
1128#define OCI_ATTR_OBJ_NAME 134 /* top level schema obj name */
1129#define OCI_ATTR_OBJ_SCHEMA 135 /* schema name */
1130#define OCI_ATTR_OBJ_ID 136 /* top level schema object id */
1131
1132/* For values 137 - 141, see DirPathAPI attribute section in this file */
1133
1134
1135#define OCI_ATTR_TRANS_TIMEOUT 142 /* transaction timeout */
1136#define OCI_ATTR_SERVER_STATUS 143/* state of the server handle */
1137#define OCI_ATTR_STATEMENT 144 /* statement txt in stmt hdl */
1138
1139/* For value 145, see DirPathAPI attribute section in this file */
1140
1141#define OCI_ATTR_DEQCOND 146 /* dequeue condition */
1142#define OCI_ATTR_RESERVED_2 147 /* reserved */
1143
1144
1145#define OCI_ATTR_SUBSCR_RECPT 148 /* recepient of subscription */
1146#define OCI_ATTR_SUBSCR_RECPTPROTO 149 /* protocol for recepient */
1147
1148/* For values 150 - 151, see DirPathAPI attribute section in this file */
1149
1150#define OCI_ATTR_LDAP_HOST 153 /* LDAP host to connect to */
1151#define OCI_ATTR_LDAP_PORT 154 /* LDAP port to connect to */
1152#define OCI_ATTR_BIND_DN 155 /* bind DN */
1153#define OCI_ATTR_LDAP_CRED 156 /* credentials to connect to LDAP */
1154#define OCI_ATTR_WALL_LOC 157 /* client wallet location */
1155#define OCI_ATTR_LDAP_AUTH 158 /* LDAP authentication method */
1156#define OCI_ATTR_LDAP_CTX 159 /* LDAP adminstration context DN */
1157#define OCI_ATTR_SERVER_DNS 160 /* list of registration server DNs */
1158
1159#define OCI_ATTR_DN_COUNT 161 /* the number of server DNs */
1160#define OCI_ATTR_SERVER_DN 162 /* server DN attribute */
1161
1162#define OCI_ATTR_MAXCHAR_SIZE 163 /* max char size of data */
1163
1164#define OCI_ATTR_CURRENT_POSITION 164 /* for scrollable result sets*/
1165
1166/* Added to get attributes for ref cursor to statement handle */
1167#define OCI_ATTR_RESERVED_3 165 /* reserved */
1168#define OCI_ATTR_RESERVED_4 166 /* reserved */
1169
1170/* For value 167, see DirPathAPI attribute section in this file */
1171
1172#define OCI_ATTR_DIGEST_ALGO 168 /* digest algorithm */
1173#define OCI_ATTR_CERTIFICATE 169 /* certificate */
1174#define OCI_ATTR_SIGNATURE_ALGO 170 /* signature algorithm */
1175#define OCI_ATTR_CANONICAL_ALGO 171 /* canonicalization algo. */
1176#define OCI_ATTR_PRIVATE_KEY 172 /* private key */
1177#define OCI_ATTR_DIGEST_VALUE 173 /* digest value */
1178#define OCI_ATTR_SIGNATURE_VAL 174 /* signature value */
1179#define OCI_ATTR_SIGNATURE 175 /* signature */
1180
1181/* attributes for setting OCI stmt caching specifics in svchp */
1182#define OCI_ATTR_STMTCACHESIZE 176 /* size of the stm cache */
1183
1184/* --------------------------- Connection Pool Attributes ------------------ */
1185#define OCI_ATTR_CONN_NOWAIT 178
1186#define OCI_ATTR_CONN_BUSY_COUNT 179
1187#define OCI_ATTR_CONN_OPEN_COUNT 180
1188#define OCI_ATTR_CONN_TIMEOUT 181
1189#define OCI_ATTR_STMT_STATE 182
1190#define OCI_ATTR_CONN_MIN 183
1191#define OCI_ATTR_CONN_MAX 184
1192#define OCI_ATTR_CONN_INCR 185
1193
1194/* For value 187, see DirPathAPI attribute section in this file */
1195
1196#define OCI_ATTR_NUM_OPEN_STMTS 188 /* open stmts in session */
1197#define OCI_ATTR_DESCRIBE_NATIVE 189 /* get native info via desc */
1198
1199#define OCI_ATTR_BIND_COUNT 190 /* number of bind postions */
1200#define OCI_ATTR_HANDLE_POSITION 191 /* pos of bind/define handle */
1201#define OCI_ATTR_RESERVED_5 192 /* reserverd */
1202#define OCI_ATTR_SERVER_BUSY 193 /* call in progress on server*/
1203
1204/* For value 194, see DirPathAPI attribute section in this file */
1205
1206/* notification presentation for recipient */
1207#define OCI_ATTR_SUBSCR_RECPTPRES 195
1208#define OCI_ATTR_TRANSFORMATION 196 /* AQ message transformation */
1209
1210#define OCI_ATTR_ROWS_FETCHED 197 /* rows fetched in last call */
1211
1212/* --------------------------- Snapshot attributes ------------------------- */
1213#define OCI_ATTR_SCN_BASE 198 /* snapshot base */
1214#define OCI_ATTR_SCN_WRAP 199 /* snapshot wrap */
1215
1216/* --------------------------- Miscellanous attributes --------------------- */
1217#define OCI_ATTR_RESERVED_6 200 /* reserved */
1218#define OCI_ATTR_READONLY_TXN 201 /* txn is readonly */
1219#define OCI_ATTR_RESERVED_7 202 /* reserved */
1220#define OCI_ATTR_ERRONEOUS_COLUMN 203 /* position of erroneous col */
1221#define OCI_ATTR_RESERVED_8 204 /* reserved */
1222#define OCI_ATTR_ASM_VOL_SPRT 205 /* ASM volume supported? */
1223
1224/* For value 206, see DirPathAPI attribute section in this file */
1225
1226#define OCI_ATTR_INST_TYPE 207 /* oracle instance type */
1227/******USED attribute 208 for OCI_ATTR_SPOOL_STMTCACHESIZE*******************/
1228
1229#define OCI_ATTR_ENV_UTF16 209 /* is env in utf16 mode? */
1230#define OCI_ATTR_RESERVED_9 210 /* reserved */
1231#define OCI_ATTR_RESERVED_10 211 /* reserved */
1232
1233/* For values 212 and 213, see DirPathAPI attribute section in this file */
1234
1235#define OCI_ATTR_RESERVED_12 214 /* reserved */
1236#define OCI_ATTR_RESERVED_13 215 /* reserved */
1237#define OCI_ATTR_IS_EXTERNAL 216 /* whether table is external */
1238
1239
1240/* -------------------------- Statement Handle Attributes ------------------ */
1241
1242#define OCI_ATTR_RESERVED_15 217 /* reserved */
1243#define OCI_ATTR_STMT_IS_RETURNING 218 /* stmt has returning clause */
1244#define OCI_ATTR_RESERVED_16 219 /* reserved */
1245#define OCI_ATTR_RESERVED_17 220 /* reserved */
1246#define OCI_ATTR_RESERVED_18 221 /* reserved */
1247
1248/* --------------------------- session attributes ---------------------------*/
1249#define OCI_ATTR_RESERVED_19 222 /* reserved */
1250#define OCI_ATTR_RESERVED_20 223 /* reserved */
1251#define OCI_ATTR_CURRENT_SCHEMA 224 /* Current Schema */
1252#define OCI_ATTR_RESERVED_21 415 /* reserved */
1253
1254/* ------------------------- notification subscription ----------------------*/
1255#define OCI_ATTR_SUBSCR_QOSFLAGS 225 /* QOS flags */
1256#define OCI_ATTR_SUBSCR_PAYLOADCBK 226 /* Payload callback */
1257#define OCI_ATTR_SUBSCR_TIMEOUT 227 /* Timeout */
1258#define OCI_ATTR_SUBSCR_NAMESPACE_CTX 228 /* Namespace context */
1259#define OCI_ATTR_SUBSCR_CQ_QOSFLAGS 229
1260 /* change notification (CQ) specific QOS flags */
1261#define OCI_ATTR_SUBSCR_CQ_REGID 230
1262 /* change notification registration id */
1263#define OCI_ATTR_SUBSCR_NTFN_GROUPING_CLASS 231/* ntfn grouping class */
1264#define OCI_ATTR_SUBSCR_NTFN_GROUPING_VALUE 232/* ntfn grouping value */
1265#define OCI_ATTR_SUBSCR_NTFN_GROUPING_TYPE 233 /* ntfn grouping type */
1266#define OCI_ATTR_SUBSCR_NTFN_GROUPING_START_TIME 234/* ntfn grp start time */
1267#define OCI_ATTR_SUBSCR_NTFN_GROUPING_REPEAT_COUNT 235 /* ntfn grp rep count */
1268#define OCI_ATTR_AQ_NTFN_GROUPING_MSGID_ARRAY 236 /* aq grp msgid array */
1269#define OCI_ATTR_AQ_NTFN_GROUPING_COUNT 237 /* ntfns recd in grp */
1270
1271/* ----------------------- row callback attributes ------------------------- */
1272#define OCI_ATTR_BIND_ROWCBK 301 /* bind row callback */
1273#define OCI_ATTR_BIND_ROWCTX 302 /* ctx for bind row callback */
1274#define OCI_ATTR_SKIP_BUFFER 303 /* skip buffer in array ops */
1275
1276/* ----------------------- XStream API attributes -------------------------- */
1277#define OCI_ATTR_XSTREAM_ACK_INTERVAL 350 /* XStream ack interval */
1278#define OCI_ATTR_XSTREAM_IDLE_TIMEOUT 351 /* XStream idle timeout */
1279
1280/*----- Db Change Notification (CQ) statement handle attributes------------ */
1281#define OCI_ATTR_CQ_QUERYID 304
1282/* ------------- DB Change Notification reg handle attributes ---------------*/
1283#define OCI_ATTR_CHNF_TABLENAMES 401 /* out: array of table names */
1284#define OCI_ATTR_CHNF_ROWIDS 402 /* in: rowids needed */
1285#define OCI_ATTR_CHNF_OPERATIONS 403
1286 /* in: notification operation filter*/
1287#define OCI_ATTR_CHNF_CHANGELAG 404
1288 /* txn lag between notifications */
1289
1290/* DB Change: Notification Descriptor attributes -----------------------*/
1291#define OCI_ATTR_CHDES_DBNAME 405 /* source database */
1292#define OCI_ATTR_CHDES_NFYTYPE 406 /* notification type flags */
1293#define OCI_ATTR_CHDES_XID 407 /* XID of the transaction */
1294#define OCI_ATTR_CHDES_TABLE_CHANGES 408/* array of table chg descriptors*/
1295
1296#define OCI_ATTR_CHDES_TABLE_NAME 409 /* table name */
1297#define OCI_ATTR_CHDES_TABLE_OPFLAGS 410 /* table operation flags */
1298#define OCI_ATTR_CHDES_TABLE_ROW_CHANGES 411 /* array of changed rows */
1299#define OCI_ATTR_CHDES_ROW_ROWID 412 /* rowid of changed row */
1300#define OCI_ATTR_CHDES_ROW_OPFLAGS 413 /* row operation flags */
1301
1302/* Statement handle attribute for db change notification */
1303#define OCI_ATTR_CHNF_REGHANDLE 414 /* IN: subscription handle */
1304#define OCI_ATTR_NETWORK_FILE_DESC 415 /* network file descriptor */
1305
1306/* client name for single session proxy */
1307#define OCI_ATTR_PROXY_CLIENT 416
1308
1309/* 415 is already taken - see OCI_ATTR_RESERVED_21 */
1310
1311/* TDE attributes on the Table */
1312#define OCI_ATTR_TABLE_ENC 417/* does table have any encrypt columns */
1313#define OCI_ATTR_TABLE_ENC_ALG 418 /* Table encryption Algorithm */
1314#define OCI_ATTR_TABLE_ENC_ALG_ID 419 /* Internal Id of encryption Algorithm*/
1315
1316/* -------- Attributes related to Statement cache callback ----------------- */
1317#define OCI_ATTR_STMTCACHE_CBKCTX 420 /* opaque context on stmt */
1318#define OCI_ATTR_STMTCACHE_CBK 421 /* callback fn for stmtcache */
1319
1320/*---------------- Query change descriptor attributes -----------------------*/
1321#define OCI_ATTR_CQDES_OPERATION 422
1322#define OCI_ATTR_CQDES_TABLE_CHANGES 423
1323#define OCI_ATTR_CQDES_QUERYID 424
1324
1325
1326#define OCI_ATTR_CHDES_QUERIES 425 /* Top level change desc array of queries */
1327
1328/* Please use from 143 */
1329
1330/* -------- Internal statement attributes ------- */
1331#define OCI_ATTR_RESERVED_26 422
1332
1333/* 424 is used by OCI_ATTR_DRIVER_NAME */
1334/* --------- Attributes added to support server side session pool ---------- */
1335#define OCI_ATTR_CONNECTION_CLASS 425
1336#define OCI_ATTR_PURITY 426
1337
1338#define OCI_ATTR_PURITY_DEFAULT 0x00
1339#define OCI_ATTR_PURITY_NEW 0x01
1340#define OCI_ATTR_PURITY_SELF 0x02
1341
1342/* -------- Attributes for Times Ten --------------------------*/
1343#define OCI_ATTR_RESERVED_28 426 /* reserved */
1344#define OCI_ATTR_RESERVED_29 427 /* reserved */
1345#define OCI_ATTR_RESERVED_30 428 /* reserved */
1346#define OCI_ATTR_RESERVED_31 429 /* reserved */
1347#define OCI_ATTR_RESERVED_32 430 /* reserved */
1348#define OCI_ATTR_RESERVED_41 454 /* reserved */
1349
1350
1351/* ----------- Reserve internal attributes for workload replay ------------ */
1352#define OCI_ATTR_RESERVED_33 433
1353#define OCI_ATTR_RESERVED_34 434
1354
1355/* statement attribute */
1356#define OCI_ATTR_RESERVED_36 444
1357
1358/* -------- Attributes for Network Session Time Out--------------------------*/
1359#define OCI_ATTR_SEND_TIMEOUT 435 /* NS send timeout */
1360#define OCI_ATTR_RECEIVE_TIMEOUT 436 /* NS receive timeout */
1361
1362/*--------- Attributes related to LOB prefetch------------------------------ */
1363#define OCI_ATTR_DEFAULT_LOBPREFETCH_SIZE 438 /* default prefetch size */
1364#define OCI_ATTR_LOBPREFETCH_SIZE 439 /* prefetch size */
1365#define OCI_ATTR_LOBPREFETCH_LENGTH 440 /* prefetch length & chunk */
1366
1367/*--------- Attributes related to LOB Deduplicate Regions ------------------ */
1368#define OCI_ATTR_LOB_REGION_PRIMARY 442 /* Primary LOB Locator */
1369#define OCI_ATTR_LOB_REGION_PRIMOFF 443 /* Offset into Primary LOB */
1370#define OCI_ATTR_LOB_REGION_OFFSET 445 /* Region Offset */
1371#define OCI_ATTR_LOB_REGION_LENGTH 446 /* Region Length Bytes/Chars */
1372#define OCI_ATTR_LOB_REGION_MIME 447 /* Region mime type */
1373
1374/*--------------------Attribute to fetch ROWID ------------------------------*/
1375#define OCI_ATTR_FETCH_ROWID 448
1376
1377/* server attribute */
1378#define OCI_ATTR_RESERVED_37 449
1379
1380/*------------------- Client Internal Attributes -----------------------*/
1381#define OCI_ATTR_RESERVED_38 450
1382#define OCI_ATTR_RESERVED_39 451
1383
1384/* --------------- ip address attribute in environment handle -------------- */
1385#define OCI_ATTR_SUBSCR_IPADDR 452 /* ip address to listen on */
1386
1387/* server attribute */
1388#define OCI_ATTR_RESERVED_40 453
1389
1390/* ------------- round trip callback attributes in the process handle ----- */
1391#define OCI_ATTR_RESERVED_458 458 /* reserved */
1392#define OCI_ATTR_RESERVED_459 459 /* reserved */
1393
1394/* DB Change: Event types ---------------*/
1395#define OCI_EVENT_NONE 0x0 /* None */
1396#define OCI_EVENT_STARTUP 0x1 /* Startup database */
1397#define OCI_EVENT_SHUTDOWN 0x2 /* Shutdown database */
1398#define OCI_EVENT_SHUTDOWN_ANY 0x3 /* Startup instance */
1399#define OCI_EVENT_DROP_DB 0x4 /* Drop database */
1400#define OCI_EVENT_DEREG 0x5 /* Subscription deregistered */
1401#define OCI_EVENT_OBJCHANGE 0x6 /* Object change notification */
1402#define OCI_EVENT_QUERYCHANGE 0x7 /* query result change */
1403
1404/* DB Change: Operation types -----------*/
1405#define OCI_OPCODE_ALLROWS 0x1 /* all rows invalidated */
1406#define OCI_OPCODE_ALLOPS 0x0 /* interested in all operations */
1407#define OCI_OPCODE_INSERT 0x2 /* INSERT */
1408#define OCI_OPCODE_UPDATE 0x4 /* UPDATE */
1409#define OCI_OPCODE_DELETE 0x8 /* DELETE */
1410#define OCI_OPCODE_ALTER 0x10 /* ALTER */
1411#define OCI_OPCODE_DROP 0x20 /* DROP TABLE */
1412#define OCI_OPCODE_UNKNOWN 0x40 /* GENERIC/ UNKNOWN*/
1413
1414/* -------- client side character and national character set ids ----------- */
1415#define OCI_ATTR_ENV_CHARSET_ID OCI_ATTR_CHARSET_ID /* charset id in env */
1416#define OCI_ATTR_ENV_NCHARSET_ID OCI_ATTR_NCHARSET_ID /* ncharset id in env */
1417
1418/* ----------------------- ha event callback attributes -------------------- */
1419#define OCI_ATTR_EVTCBK 304 /* ha callback */
1420#define OCI_ATTR_EVTCTX 305 /* ctx for ha callback */
1421
1422/* ------------------ User memory attributes (all handles) ----------------- */
1423#define OCI_ATTR_USER_MEMORY 306 /* pointer to user memory */
1424
1425/* ------- unauthorised access and user action auditing banners ------------ */
1426#define OCI_ATTR_ACCESS_BANNER 307 /* access banner */
1427#define OCI_ATTR_AUDIT_BANNER 308 /* audit banner */
1428
1429/* ----------------- port no attribute in environment handle ------------- */
1430#define OCI_ATTR_SUBSCR_PORTNO 390 /* port no to listen */
1431
1432#define OCI_ATTR_RESERVED_35 437
1433
1434/*------------- Supported Values for protocol for recepient -----------------*/
1435#define OCI_SUBSCR_PROTO_OCI 0 /* oci */
1436#define OCI_SUBSCR_PROTO_MAIL 1 /* mail */
1437#define OCI_SUBSCR_PROTO_SERVER 2 /* server */
1438#define OCI_SUBSCR_PROTO_HTTP 3 /* http */
1439#define OCI_SUBSCR_PROTO_MAX 4 /* max current protocols */
1440
1441/*------------- Supported Values for presentation for recepient -------------*/
1442#define OCI_SUBSCR_PRES_DEFAULT 0 /* default */
1443#define OCI_SUBSCR_PRES_XML 1 /* xml */
1444#define OCI_SUBSCR_PRES_MAX 2 /* max current presentations */
1445
1446/*------------- Supported QOS values for notification registrations ---------*/
1447#define OCI_SUBSCR_QOS_RELIABLE 0x01 /* reliable */
1448#define OCI_SUBSCR_QOS_PAYLOAD 0x02 /* payload delivery */
1449#define OCI_SUBSCR_QOS_REPLICATE 0x04 /* replicate to director */
1450#define OCI_SUBSCR_QOS_SECURE 0x08 /* secure payload delivery */
1451#define OCI_SUBSCR_QOS_PURGE_ON_NTFN 0x10 /* purge on first ntfn */
1452#define OCI_SUBSCR_QOS_MULTICBK 0x20 /* multi instance callback */
1453 /* 0x40 is used for a internal flag */
1454#define OCI_SUBSCR_QOS_HAREG 0x80 /* HA reg */
1455
1456/* ----QOS flags specific to change notification/ continuous queries CQ -----*/
1457#define OCI_SUBSCR_CQ_QOS_QUERY 0x01 /* query level notification */
1458#define OCI_SUBSCR_CQ_QOS_BEST_EFFORT 0x02 /* best effort notification */
1459#define OCI_SUBSCR_CQ_QOS_CLQRYCACHE 0x04 /* client query caching */
1460
1461/*------------- Supported Values for notification grouping class ------------*/
1462#define OCI_SUBSCR_NTFN_GROUPING_CLASS_TIME 1 /* time */
1463
1464/*------------- Supported Values for notification grouping type -------------*/
1465#define OCI_SUBSCR_NTFN_GROUPING_TYPE_SUMMARY 1 /* summary */
1466#define OCI_SUBSCR_NTFN_GROUPING_TYPE_LAST 2 /* last */
1467
1468/* ----- Temporary attribute value for UCS2/UTF16 character set ID -------- */
1469#define OCI_UCS2ID 1000 /* UCS2 charset ID */
1470#define OCI_UTF16ID 1000 /* UTF16 charset ID */
1471
1472/*============================== End OCI Attribute Types ====================*/
1473
1474/*---------------- Server Handle Attribute Values ---------------------------*/
1475
1476/* OCI_ATTR_SERVER_STATUS */
1477#define OCI_SERVER_NOT_CONNECTED 0x0
1478#define OCI_SERVER_NORMAL 0x1
1479
1480/*---------------------------------------------------------------------------*/
1481
1482/*------------------------- Supported Namespaces ---------------------------*/
1483#define OCI_SUBSCR_NAMESPACE_ANONYMOUS 0 /* Anonymous Namespace */
1484#define OCI_SUBSCR_NAMESPACE_AQ 1 /* Advanced Queues */
1485#define OCI_SUBSCR_NAMESPACE_DBCHANGE 2 /* change notification */
1486#define OCI_SUBSCR_NAMESPACE_MAX 3 /* Max Name Space Number */
1487
1488
1489/*-------------------------Credential Types----------------------------------*/
1490#define OCI_CRED_RDBMS 1 /* database username/password */
1491#define OCI_CRED_EXT 2 /* externally provided credentials */
1492#define OCI_CRED_PROXY 3 /* proxy authentication */
1493#define OCI_CRED_RESERVED_1 4 /* reserved */
1494#define OCI_CRED_RESERVED_2 5 /* reserved */
1495/*---------------------------------------------------------------------------*/
1496
1497/*------------------------Error Return Values--------------------------------*/
1498#define OCI_SUCCESS 0 /* maps to SQL_SUCCESS of SAG CLI */
1499#define OCI_SUCCESS_WITH_INFO 1 /* maps to SQL_SUCCESS_WITH_INFO */
1500#define OCI_RESERVED_FOR_INT_USE 200 /* reserved */
1501#define OCI_NO_DATA 100 /* maps to SQL_NO_DATA */
1502#define OCI_ERROR -1 /* maps to SQL_ERROR */
1503#define OCI_INVALID_HANDLE -2 /* maps to SQL_INVALID_HANDLE */
1504#define OCI_NEED_DATA 99 /* maps to SQL_NEED_DATA */
1505#define OCI_STILL_EXECUTING -3123 /* OCI would block error */
1506/*---------------------------------------------------------------------------*/
1507
1508/*--------------------- User Callback Return Values -------------------------*/
1509#define OCI_CONTINUE -24200 /* Continue with the body of the OCI function */
1510#define OCI_ROWCBK_DONE -24201 /* done with user row callback */
1511/*---------------------------------------------------------------------------*/
1512
1513/*------------------DateTime and Interval check Error codes------------------*/
1514
1515/* DateTime Error Codes used by OCIDateTimeCheck() */
1516#define OCI_DT_INVALID_DAY 0x1 /* Bad day */
1517#define OCI_DT_DAY_BELOW_VALID 0x2 /* Bad DAy Low/high bit (1=low)*/
1518#define OCI_DT_INVALID_MONTH 0x4 /* Bad MOnth */
1519#define OCI_DT_MONTH_BELOW_VALID 0x8 /* Bad MOnth Low/high bit (1=low) */
1520#define OCI_DT_INVALID_YEAR 0x10 /* Bad YeaR */
1521#define OCI_DT_YEAR_BELOW_VALID 0x20 /* Bad YeaR Low/high bit (1=low) */
1522#define OCI_DT_INVALID_HOUR 0x40 /* Bad HouR */
1523#define OCI_DT_HOUR_BELOW_VALID 0x80 /* Bad HouR Low/high bit (1=low) */
1524#define OCI_DT_INVALID_MINUTE 0x100 /* Bad MiNute */
1525#define OCI_DT_MINUTE_BELOW_VALID 0x200 /*Bad MiNute Low/high bit (1=low) */
1526#define OCI_DT_INVALID_SECOND 0x400 /* Bad SeCond */
1527#define OCI_DT_SECOND_BELOW_VALID 0x800 /*bad second Low/high bit (1=low)*/
1528#define OCI_DT_DAY_MISSING_FROM_1582 0x1000
1529 /* Day is one of those "missing" from 1582 */
1530#define OCI_DT_YEAR_ZERO 0x2000 /* Year may not equal zero */
1531#define OCI_DT_INVALID_TIMEZONE 0x4000 /* Bad Timezone */
1532#define OCI_DT_INVALID_FORMAT 0x8000 /* Bad date format input */
1533
1534
1535/* Interval Error Codes used by OCIInterCheck() */
1536#define OCI_INTER_INVALID_DAY 0x1 /* Bad day */
1537#define OCI_INTER_DAY_BELOW_VALID 0x2 /* Bad DAy Low/high bit (1=low) */
1538#define OCI_INTER_INVALID_MONTH 0x4 /* Bad MOnth */
1539#define OCI_INTER_MONTH_BELOW_VALID 0x8 /*Bad MOnth Low/high bit (1=low) */
1540#define OCI_INTER_INVALID_YEAR 0x10 /* Bad YeaR */
1541#define OCI_INTER_YEAR_BELOW_VALID 0x20 /*Bad YeaR Low/high bit (1=low) */
1542#define OCI_INTER_INVALID_HOUR 0x40 /* Bad HouR */
1543#define OCI_INTER_HOUR_BELOW_VALID 0x80 /*Bad HouR Low/high bit (1=low) */
1544#define OCI_INTER_INVALID_MINUTE 0x100 /* Bad MiNute */
1545#define OCI_INTER_MINUTE_BELOW_VALID 0x200
1546 /*Bad MiNute Low/high bit(1=low) */
1547#define OCI_INTER_INVALID_SECOND 0x400 /* Bad SeCond */
1548#define OCI_INTER_SECOND_BELOW_VALID 0x800
1549 /*bad second Low/high bit(1=low) */
1550#define OCI_INTER_INVALID_FRACSEC 0x1000 /* Bad Fractional second */
1551#define OCI_INTER_FRACSEC_BELOW_VALID 0x2000
1552 /* Bad fractional second Low/High */
1553
1554
1555/*------------------------Parsing Syntax Types-------------------------------*/
1556#define OCI_V7_SYNTAX 2 /* V815 language - for backwards compatibility */
1557#define OCI_V8_SYNTAX 3 /* V815 language - for backwards compatibility */
1558#define OCI_NTV_SYNTAX 1 /* Use what so ever is the native lang of server */
1559 /* these values must match the values defined in kpul.h */
1560/*---------------------------------------------------------------------------*/
1561
1562/*------------------------(Scrollable Cursor) Fetch Options-------------------
1563 * For non-scrollable cursor, the only valid (and default) orientation is
1564 * OCI_FETCH_NEXT
1565 */
1566#define OCI_FETCH_CURRENT 0x00000001 /* refetching current position */
1567#define OCI_FETCH_NEXT 0x00000002 /* next row */
1568#define OCI_FETCH_FIRST 0x00000004 /* first row of the result set */
1569#define OCI_FETCH_LAST 0x00000008 /* the last row of the result set */
1570#define OCI_FETCH_PRIOR 0x00000010 /* previous row relative to current */
1571#define OCI_FETCH_ABSOLUTE 0x00000020 /* absolute offset from first */
1572#define OCI_FETCH_RELATIVE 0x00000040 /* offset relative to current */
1573#define OCI_FETCH_RESERVED_1 0x00000080 /* reserved */
1574#define OCI_FETCH_RESERVED_2 0x00000100 /* reserved */
1575#define OCI_FETCH_RESERVED_3 0x00000200 /* reserved */
1576#define OCI_FETCH_RESERVED_4 0x00000400 /* reserved */
1577#define OCI_FETCH_RESERVED_5 0x00000800 /* reserved */
1578#define OCI_FETCH_RESERVED_6 0x00001000 /* reserved */
1579
1580/*---------------------------------------------------------------------------*/
1581
1582/*------------------------Bind and Define Options----------------------------*/
1583#define OCI_SB2_IND_PTR 0x00000001 /* unused */
1584#define OCI_DATA_AT_EXEC 0x00000002 /* data at execute time */
1585#define OCI_DYNAMIC_FETCH 0x00000002 /* fetch dynamically */
1586#define OCI_PIECEWISE 0x00000004 /* piecewise DMLs or fetch */
1587#define OCI_DEFINE_RESERVED_1 0x00000008 /* reserved */
1588#define OCI_BIND_RESERVED_2 0x00000010 /* reserved */
1589#define OCI_DEFINE_RESERVED_2 0x00000020 /* reserved */
1590#define OCI_BIND_SOFT 0x00000040 /* soft bind or define */
1591#define OCI_DEFINE_SOFT 0x00000080 /* soft bind or define */
1592#define OCI_BIND_RESERVED_3 0x00000100 /* reserved */
1593#define OCI_IOV 0x00000200 /* For scatter gather bind/define */
1594/*---------------------------------------------------------------------------*/
1595
1596/*----------------------------- Various Modes ------------------------------*/
1597#define OCI_DEFAULT 0x00000000
1598 /* the default value for parameters and attributes */
1599/*-------------OCIInitialize Modes / OCICreateEnvironment Modes -------------*/
1600#define OCI_THREADED 0x00000001 /* appl. in threaded environment */
1601#define OCI_OBJECT 0x00000002 /* application in object environment */
1602#define OCI_EVENTS 0x00000004 /* application is enabled for events */
1603#define OCI_RESERVED1 0x00000008 /* reserved */
1604#define OCI_SHARED 0x00000010 /* the application is in shared mode */
1605#define OCI_RESERVED2 0x00000020 /* reserved */
1606/* The following *TWO* are only valid for OCICreateEnvironment call */
1607#define OCI_NO_UCB 0x00000040 /* No user callback called during ini */
1608#define OCI_NO_MUTEX 0x00000080 /* the environment handle will not be */
1609 /* protected by a mutex internally */
1610#define OCI_SHARED_EXT 0x00000100 /* Used for shared forms */
1611/************************** 0x00000200 free **********************************/
1612#define OCI_ALWAYS_BLOCKING 0x00000400 /* all connections always blocking */
1613/************************** 0x00000800 free **********************************/
1614#define OCI_USE_LDAP 0x00001000 /* allow LDAP connections */
1615#define OCI_REG_LDAPONLY 0x00002000 /* only register to LDAP */
1616#define OCI_UTF16 0x00004000 /* mode for all UTF16 metadata */
1617#define OCI_AFC_PAD_ON 0x00008000
1618 /* turn on AFC blank padding when rlenp present */
1619#define OCI_ENVCR_RESERVED3 0x00010000 /* reserved */
1620#define OCI_NEW_LENGTH_SEMANTICS 0x00020000 /* adopt new length semantics */
1621 /* the new length semantics, always bytes, is used by OCIEnvNlsCreate */
1622#define OCI_NO_MUTEX_STMT 0x00040000 /* Do not mutex stmt handle */
1623#define OCI_MUTEX_ENV_ONLY 0x00080000 /* Mutex only the environment handle */
1624#define OCI_SUPPRESS_NLS_VALIDATION 0x00100000 /* suppress nls validation */
1625 /* nls validation suppression is on by default;
1626 use OCI_ENABLE_NLS_VALIDATION to disable it */
1627#define OCI_MUTEX_TRY 0x00200000 /* try and acquire mutex */
1628#define OCI_NCHAR_LITERAL_REPLACE_ON 0x00400000 /* nchar literal replace on */
1629#define OCI_NCHAR_LITERAL_REPLACE_OFF 0x00800000 /* nchar literal replace off*/
1630#define OCI_ENABLE_NLS_VALIDATION 0x01000000 /* enable nls validation */
1631#define OCI_ENVCR_RESERVED4 0x02000000 /* reserved */
1632
1633/*---------------------------------------------------------------------------*/
1634/*------------------------OCIConnectionpoolCreate Modes----------------------*/
1635
1636#define OCI_CPOOL_REINITIALIZE 0x111
1637
1638/*---------------------------------------------------------------------------*/
1639/*--------------------------------- OCILogon2 Modes -------------------------*/
1640
1641#define OCI_LOGON2_SPOOL 0x0001 /* Use session pool */
1642#define OCI_LOGON2_CPOOL OCI_CPOOL /* Use connection pool */
1643#define OCI_LOGON2_STMTCACHE 0x0004 /* Use Stmt Caching */
1644#define OCI_LOGON2_PROXY 0x0008 /* Proxy authentiaction */
1645
1646/*---------------------------------------------------------------------------*/
1647/*------------------------- OCISessionPoolCreate Modes ----------------------*/
1648
1649#define OCI_SPC_REINITIALIZE 0x0001 /* Reinitialize the session pool */
1650#define OCI_SPC_HOMOGENEOUS 0x0002 /* Session pool is homogeneneous */
1651#define OCI_SPC_STMTCACHE 0x0004 /* Session pool has stmt cache */
1652#define OCI_SPC_NO_RLB 0x0008 /* Do not enable Runtime load balancing. */
1653
1654/*---------------------------------------------------------------------------*/
1655/*--------------------------- OCISessionGet Modes ---------------------------*/
1656
1657#define OCI_SESSGET_SPOOL 0x0001 /* SessionGet called in SPOOL mode */
1658#define OCI_SESSGET_CPOOL OCI_CPOOL /* SessionGet called in CPOOL mode */
1659#define OCI_SESSGET_STMTCACHE 0x0004 /* Use statement cache */
1660#define OCI_SESSGET_CREDPROXY 0x0008 /* SessionGet called in proxy mode */
1661#define OCI_SESSGET_CREDEXT 0x0010
1662#define OCI_SESSGET_SPOOL_MATCHANY 0x0020
1663#define OCI_SESSGET_PURITY_NEW 0x0040
1664#define OCI_SESSGET_PURITY_SELF 0x0080
1665#define OCI_SESSGET_SYSDBA 0x0100 /* SessionGet with SYSDBA privileges */
1666
1667/*---------------------------------------------------------------------------*/
1668/*------------------------ATTR Values for Session Pool-----------------------*/
1669/* Attribute values for OCI_ATTR_SPOOL_GETMODE */
1670#define OCI_SPOOL_ATTRVAL_WAIT 0 /* block till you get a session */
1671#define OCI_SPOOL_ATTRVAL_NOWAIT 1 /* error out if no session avaliable */
1672#define OCI_SPOOL_ATTRVAL_FORCEGET 2 /* get session even if max is exceeded */
1673
1674/*---------------------------------------------------------------------------*/
1675/*--------------------------- OCISessionRelease Modes -----------------------*/
1676
1677#define OCI_SESSRLS_DROPSESS 0x0001 /* Drop the Session */
1678#define OCI_SESSRLS_RETAG 0x0002 /* Retag the session */
1679
1680/*---------------------------------------------------------------------------*/
1681/*----------------------- OCISessionPoolDestroy Modes -----------------------*/
1682
1683#define OCI_SPD_FORCE 0x0001 /* Force the sessions to terminate.
1684 Even if there are some busy
1685 sessions close them */
1686
1687/*---------------------------------------------------------------------------*/
1688/*----------------------------- Statement States ----------------------------*/
1689
1690#define OCI_STMT_STATE_INITIALIZED 0x0001
1691#define OCI_STMT_STATE_EXECUTED 0x0002
1692#define OCI_STMT_STATE_END_OF_FETCH 0x0003
1693
1694/*---------------------------------------------------------------------------*/
1695
1696/*----------------------------- OCIMemStats Modes ---------------------------*/
1697#define OCI_MEM_INIT 0x01
1698#define OCI_MEM_CLN 0x02
1699#define OCI_MEM_FLUSH 0x04
1700#define OCI_DUMP_HEAP 0x80
1701
1702#define OCI_CLIENT_STATS 0x10
1703#define OCI_SERVER_STATS 0x20
1704
1705/*----------------------------- OCIEnvInit Modes ----------------------------*/
1706/* NOTE: NO NEW MODES SHOULD BE ADDED HERE BECAUSE THE RECOMMENDED METHOD
1707 * IS TO USE THE NEW OCICreateEnvironment MODES.
1708 */
1709#define OCI_ENV_NO_UCB 0x01 /* A user callback will not be called in
1710 OCIEnvInit() */
1711#define OCI_ENV_NO_MUTEX 0x08 /* the environment handle will not be protected
1712 by a mutex internally */
1713
1714/*---------------------------------------------------------------------------*/
1715
1716/*------------------------ Prepare Modes ------------------------------------*/
1717#define OCI_NO_SHARING 0x01 /* turn off statement handle sharing */
1718#define OCI_PREP_RESERVED_1 0x02 /* reserved */
1719#define OCI_PREP_AFC_PAD_ON 0x04 /* turn on blank padding for AFC */
1720#define OCI_PREP_AFC_PAD_OFF 0x08 /* turn off blank padding for AFC */
1721/*---------------------------------------------------------------------------*/
1722
1723/*---------------------------------------------------------------------------*/
1724
1725/*----------------------- Execution Modes -----------------------------------*/
1726#define OCI_BATCH_MODE 0x00000001 /* batch the oci stmt for exec */
1727#define OCI_EXACT_FETCH 0x00000002 /* fetch exact rows specified */
1728/* #define 0x00000004 available */
1729#define OCI_STMT_SCROLLABLE_READONLY \
1730 0x00000008 /* if result set is scrollable */
1731#define OCI_DESCRIBE_ONLY 0x00000010 /* only describe the statement */
1732#define OCI_COMMIT_ON_SUCCESS 0x00000020 /* commit, if successful exec */
1733#define OCI_NON_BLOCKING 0x00000040 /* non-blocking */
1734#define OCI_BATCH_ERRORS 0x00000080 /* batch errors in array dmls */
1735#define OCI_PARSE_ONLY 0x00000100 /* only parse the statement */
1736#define OCI_EXACT_FETCH_RESERVED_1 0x00000200 /* reserved */
1737#define OCI_SHOW_DML_WARNINGS 0x00000400
1738 /* return OCI_SUCCESS_WITH_INFO for delete/update w/no where clause */
1739#define OCI_EXEC_RESERVED_2 0x00000800 /* reserved */
1740#define OCI_DESC_RESERVED_1 0x00001000 /* reserved */
1741#define OCI_EXEC_RESERVED_3 0x00002000 /* reserved */
1742#define OCI_EXEC_RESERVED_4 0x00004000 /* reserved */
1743#define OCI_EXEC_RESERVED_5 0x00008000 /* reserved */
1744#define OCI_EXEC_RESERVED_6 0x00010000 /* reserved */
1745#define OCI_RESULT_CACHE 0x00020000 /* hint to use query caching */
1746#define OCI_NO_RESULT_CACHE 0x00040000 /*hint to bypass query caching*/
1747#define OCI_EXEC_RESERVED_7 0x00080000 /* reserved */
1748
1749/*---------------------------------------------------------------------------*/
1750
1751/*------------------------Authentication Modes-------------------------------*/
1752#define OCI_MIGRATE 0x00000001 /* migratable auth context */
1753#define OCI_SYSDBA 0x00000002 /* for SYSDBA authorization */
1754#define OCI_SYSOPER 0x00000004 /* for SYSOPER authorization */
1755#define OCI_PRELIM_AUTH 0x00000008 /* for preliminary authorization */
1756#define OCIP_ICACHE 0x00000010 /* Private OCI cache mode */
1757#define OCI_AUTH_RESERVED_1 0x00000020 /* reserved */
1758#define OCI_STMT_CACHE 0x00000040 /* enable OCI Stmt Caching */
1759#define OCI_STATELESS_CALL 0x00000080 /* stateless at call boundary */
1760#define OCI_STATELESS_TXN 0x00000100 /* stateless at txn boundary */
1761#define OCI_STATELESS_APP 0x00000200 /* stateless at user-specified pts */
1762#define OCI_AUTH_RESERVED_2 0x00000400 /* reserved */
1763#define OCI_AUTH_RESERVED_3 0x00000800 /* reserved */
1764#define OCI_AUTH_RESERVED_4 0x00001000 /* reserved */
1765#define OCI_AUTH_RESERVED_5 0x00002000 /* reserved */
1766#define OCI_SYSASM 0x00008000 /* for SYSASM authorization */
1767#define OCI_AUTH_RESERVED_6 0x00010000 /* reserved */
1768
1769/*---------------------------------------------------------------------------*/
1770
1771/*------------------------Session End Modes----------------------------------*/
1772#define OCI_SESSEND_RESERVED_1 0x0001 /* reserved */
1773#define OCI_SESSEND_RESERVED_2 0x0002 /* reserved */
1774/*---------------------------------------------------------------------------*/
1775
1776/*------------------------Attach Modes---------------------------------------*/
1777
1778/* The following attach modes are the same as the UPI modes defined in
1779 * UPIDEF.H. Do not use these values externally.
1780 */
1781
1782#define OCI_FASTPATH 0x0010 /* Attach in fast path mode */
1783#define OCI_ATCH_RESERVED_1 0x0020 /* reserved */
1784#define OCI_ATCH_RESERVED_2 0x0080 /* reserved */
1785#define OCI_ATCH_RESERVED_3 0x0100 /* reserved */
1786#define OCI_CPOOL 0x0200 /* Attach using server handle from pool */
1787#define OCI_ATCH_RESERVED_4 0x0400 /* reserved */
1788#define OCI_ATCH_RESERVED_5 0x2000 /* reserved */
1789#define OCI_ATCH_ENABLE_BEQ 0x4000 /* Allow bequeath connect strings */
1790#define OCI_ATCH_RESERVED_6 0x8000 /* reserved */
1791#define OCI_ATCH_RESERVED_7 0x10000 /* reserved */
1792#define OCI_ATCH_RESERVED_8 0x20000 /* reserved */
1793
1794#define OCI_SRVATCH_RESERVED5 0x01000000 /* reserved */
1795#define OCI_SRVATCH_RESERVED6 0x02000000 /* reserved */
1796
1797/*---------------------OCIStmtPrepare2 Modes---------------------------------*/
1798#define OCI_PREP2_CACHE_SEARCHONLY 0x0010 /* ONly Search */
1799#define OCI_PREP2_GET_PLSQL_WARNINGS 0x0020 /* Get PL/SQL warnings */
1800#define OCI_PREP2_RESERVED_1 0x0040 /* reserved */
1801
1802/*---------------------OCIStmtRelease Modes----------------------------------*/
1803#define OCI_STRLS_CACHE_DELETE 0x0010 /* Delete from Cache */
1804
1805/*---------------------OCIHanlde Mgmt Misc Modes-----------------------------*/
1806#define OCI_STM_RESERVED4 0x00100000 /* reserved */
1807
1808/*-----------------------------End Various Modes ----------------------------*/
1809
1810/*------------------------Piece Information----------------------------------*/
1811#define OCI_PARAM_IN 0x01 /* in parameter */
1812#define OCI_PARAM_OUT 0x02 /* out parameter */
1813/*---------------------------------------------------------------------------*/
1814
1815/*------------------------ Transaction Start Flags --------------------------*/
1816/* NOTE: OCI_TRANS_JOIN and OCI_TRANS_NOMIGRATE not supported in 8.0.X */
1817#define OCI_TRANS_NEW 0x00000001 /* start a new local or global txn */
1818#define OCI_TRANS_JOIN 0x00000002 /* join an existing global txn */
1819#define OCI_TRANS_RESUME 0x00000004 /* resume the global txn branch */
1820#define OCI_TRANS_PROMOTE 0x00000008 /* promote the local txn to global */
1821#define OCI_TRANS_STARTMASK 0x000000ff /* mask for start operation flags */
1822
1823#define OCI_TRANS_READONLY 0x00000100 /* start a readonly txn */
1824#define OCI_TRANS_READWRITE 0x00000200 /* start a read-write txn */
1825#define OCI_TRANS_SERIALIZABLE 0x00000400 /* start a serializable txn */
1826#define OCI_TRANS_ISOLMASK 0x0000ff00 /* mask for start isolation flags */
1827
1828#define OCI_TRANS_LOOSE 0x00010000 /* a loosely coupled branch */
1829#define OCI_TRANS_TIGHT 0x00020000 /* a tightly coupled branch */
1830#define OCI_TRANS_TYPEMASK 0x000f0000 /* mask for branch type flags */
1831
1832#define OCI_TRANS_NOMIGRATE 0x00100000 /* non migratable transaction */
1833#define OCI_TRANS_SEPARABLE 0x00200000 /* separable transaction (8.1.6+) */
1834#define OCI_TRANS_OTSRESUME 0x00400000 /* OTS resuming a transaction */
1835#define OCI_TRANS_OTHRMASK 0xfff00000 /* mask for other start flags */
1836
1837
1838/*---------------------------------------------------------------------------*/
1839
1840/*------------------------ Transaction End Flags ----------------------------*/
1841#define OCI_TRANS_TWOPHASE 0x01000000 /* use two phase commit */
1842#define OCI_TRANS_WRITEBATCH 0x00000001 /* force cmt-redo for local txns */
1843#define OCI_TRANS_WRITEIMMED 0x00000002 /* no force cmt-redo */
1844#define OCI_TRANS_WRITEWAIT 0x00000004 /* no sync cmt-redo */
1845#define OCI_TRANS_WRITENOWAIT 0x00000008 /* sync cmt-redo for local txns */
1846/*---------------------------------------------------------------------------*/
1847
1848/*------------------------- AQ Constants ------------------------------------
1849 * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
1850 * The following constants must match the PL/SQL dbms_aq constants
1851 * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
1852 */
1853/* ------------------------- Visibility flags -------------------------------*/
1854#define OCI_ENQ_IMMEDIATE 1 /* enqueue is an independent transaction */
1855#define OCI_ENQ_ON_COMMIT 2 /* enqueue is part of current transaction */
1856
1857/* ----------------------- Dequeue mode flags -------------------------------*/
1858#define OCI_DEQ_BROWSE 1 /* read message without acquiring a lock */
1859#define OCI_DEQ_LOCKED 2 /* read and obtain write lock on message */
1860#define OCI_DEQ_REMOVE 3 /* read the message and delete it */
1861#define OCI_DEQ_REMOVE_NODATA 4 /* delete message w'o returning payload */
1862#define OCI_DEQ_GETSIG 5 /* get signature only */
1863
1864/* ----------------- Dequeue navigation flags -------------------------------*/
1865#define OCI_DEQ_FIRST_MSG 1 /* get first message at head of queue */
1866#define OCI_DEQ_NEXT_MSG 3 /* next message that is available */
1867#define OCI_DEQ_NEXT_TRANSACTION 2 /* get first message of next txn group */
1868#define OCI_DEQ_FIRST_MSG_MULTI_GROUP 4
1869 /* start from first message and array deq across txn groups */
1870#define OCI_DEQ_MULT_TRANSACTION 5 /* array dequeue across txn groups */
1871#define OCI_DEQ_NEXT_MSG_MULTI_GROUP OCI_DEQ_MULT_TRANSACTION
1872 /* array dequeue across txn groups */
1873
1874/* ----------------- Dequeue Option Reserved flags ------------------------- */
1875#define OCI_DEQ_RESERVED_1 0x000001
1876
1877/* --------------------- Message states -------------------------------------*/
1878#define OCI_MSG_WAITING 1 /* the message delay has not yet completed */
1879#define OCI_MSG_READY 0 /* the message is ready to be processed */
1880#define OCI_MSG_PROCESSED 2 /* the message has been processed */
1881#define OCI_MSG_EXPIRED 3 /* message has moved to exception queue */
1882
1883/* --------------------- Sequence deviation ---------------------------------*/
1884#define OCI_ENQ_BEFORE 2 /* enqueue message before another message */
1885#define OCI_ENQ_TOP 3 /* enqueue message before all messages */
1886
1887/* ------------------------- Visibility flags -------------------------------*/
1888#define OCI_DEQ_IMMEDIATE 1 /* dequeue is an independent transaction */
1889#define OCI_DEQ_ON_COMMIT 2 /* dequeue is part of current transaction */
1890
1891/* ------------------------ Wait --------------------------------------------*/
1892#define OCI_DEQ_WAIT_FOREVER -1 /* wait forever if no message available */
1893#define OCI_NTFN_GROUPING_FOREVER -1 /* send grouping notifications forever */
1894#define OCI_DEQ_NO_WAIT 0 /* do not wait if no message is available */
1895
1896#define OCI_FLOW_CONTROL_NO_TIMEOUT -1
1897 /* streaming enqueue: no timeout for flow control */
1898
1899/* ------------------------ Delay -------------------------------------------*/
1900#define OCI_MSG_NO_DELAY 0 /* message is available immediately */
1901
1902/* ------------------------- Expiration -------------------------------------*/
1903#define OCI_MSG_NO_EXPIRATION -1 /* message will never expire */
1904
1905#define OCI_MSG_PERSISTENT_OR_BUFFERED 3
1906#define OCI_MSG_BUFFERED 2
1907#define OCI_MSG_PERSISTENT 1
1908
1909/* ----------------------- Reserved/AQE pisdef flags ------------------------*/
1910/* see aqeflg defines in kwqp.h */
1911#define OCI_AQ_RESERVED_1 0x0002
1912#define OCI_AQ_RESERVED_2 0x0004
1913#define OCI_AQ_RESERVED_3 0x0008
1914#define OCI_AQ_RESERVED_4 0x0010
1915
1916#define OCI_AQ_STREAMING_FLAG 0x02000000
1917
1918/* ------------------------------ Replay Info -------------------------------*/
1919#define OCI_AQ_LAST_ENQUEUED 0
1920#define OCI_AQ_LAST_ACKNOWLEDGED 1
1921
1922/* -------------------------- END AQ Constants ----------------------------- */
1923
1924/* --------------------END DateTime and Interval Constants ------------------*/
1925
1926/*-----------------------Object Types----------------------------------------*/
1927/*-----------Object Types **** Not to be Used **** --------------------------*/
1928/* Deprecated */
1929#define OCI_OTYPE_UNK 0
1930#define OCI_OTYPE_TABLE 1
1931#define OCI_OTYPE_VIEW 2
1932#define OCI_OTYPE_SYN 3
1933#define OCI_OTYPE_PROC 4
1934#define OCI_OTYPE_FUNC 5
1935#define OCI_OTYPE_PKG 6
1936#define OCI_OTYPE_STMT 7
1937/*---------------------------------------------------------------------------*/
1938
1939/*=======================Describe Handle Parameter Attributes ===============*/
1940/*
1941 These attributes are orthogonal to the other set of attributes defined
1942 above. These attrubutes are to be used only for the describe handle.
1943*/
1944/*===========================================================================*/
1945/* Attributes common to Columns and Stored Procs */
1946#define OCI_ATTR_DATA_SIZE 1 /* maximum size of the data */
1947#define OCI_ATTR_DATA_TYPE 2 /* the SQL type of the column/argument */
1948#define OCI_ATTR_DISP_SIZE 3 /* the display size */
1949#define OCI_ATTR_NAME 4 /* the name of the column/argument */
1950#define OCI_ATTR_PRECISION 5 /* precision if number type */
1951#define OCI_ATTR_SCALE 6 /* scale if number type */
1952#define OCI_ATTR_IS_NULL 7 /* is it null ? */
1953#define OCI_ATTR_TYPE_NAME 8
1954 /* name of the named data type or a package name for package private types */
1955#define OCI_ATTR_SCHEMA_NAME 9 /* the schema name */
1956#define OCI_ATTR_SUB_NAME 10 /* type name if package private type */
1957#define OCI_ATTR_POSITION 11
1958 /* relative position of col/arg in the list of cols/args */
1959/* complex object retrieval parameter attributes */
1960#define OCI_ATTR_COMPLEXOBJECTCOMP_TYPE 50
1961#define OCI_ATTR_COMPLEXOBJECTCOMP_TYPE_LEVEL 51
1962#define OCI_ATTR_COMPLEXOBJECT_LEVEL 52
1963#define OCI_ATTR_COMPLEXOBJECT_COLL_OUTOFLINE 53
1964
1965/* Only Columns */
1966#define OCI_ATTR_DISP_NAME 100 /* the display name */
1967#define OCI_ATTR_ENCC_SIZE 101 /* encrypted data size */
1968#define OCI_ATTR_COL_ENC 102 /* column is encrypted ? */
1969#define OCI_ATTR_COL_ENC_SALT 103 /* is encrypted column salted ? */
1970
1971/*Only Stored Procs */
1972#define OCI_ATTR_OVERLOAD 210 /* is this position overloaded */
1973#define OCI_ATTR_LEVEL 211 /* level for structured types */
1974#define OCI_ATTR_HAS_DEFAULT 212 /* has a default value */
1975#define OCI_ATTR_IOMODE 213 /* in, out inout */
1976#define OCI_ATTR_RADIX 214 /* returns a radix */
1977#define OCI_ATTR_NUM_ARGS 215 /* total number of arguments */
1978
1979/* only named type attributes */
1980#define OCI_ATTR_TYPECODE 216 /* object or collection */
1981#define OCI_ATTR_COLLECTION_TYPECODE 217 /* varray or nested table */
1982#define OCI_ATTR_VERSION 218 /* user assigned version */
1983#define OCI_ATTR_IS_INCOMPLETE_TYPE 219 /* is this an incomplete type */
1984#define OCI_ATTR_IS_SYSTEM_TYPE 220 /* a system type */
1985#define OCI_ATTR_IS_PREDEFINED_TYPE 221 /* a predefined type */
1986#define OCI_ATTR_IS_TRANSIENT_TYPE 222 /* a transient type */
1987#define OCI_ATTR_IS_SYSTEM_GENERATED_TYPE 223 /* system generated type */
1988#define OCI_ATTR_HAS_NESTED_TABLE 224 /* contains nested table attr */
1989#define OCI_ATTR_HAS_LOB 225 /* has a lob attribute */
1990#define OCI_ATTR_HAS_FILE 226 /* has a file attribute */
1991#define OCI_ATTR_COLLECTION_ELEMENT 227 /* has a collection attribute */
1992#define OCI_ATTR_NUM_TYPE_ATTRS 228 /* number of attribute types */
1993#define OCI_ATTR_LIST_TYPE_ATTRS 229 /* list of type attributes */
1994#define OCI_ATTR_NUM_TYPE_METHODS 230 /* number of type methods */
1995#define OCI_ATTR_LIST_TYPE_METHODS 231 /* list of type methods */
1996#define OCI_ATTR_MAP_METHOD 232 /* map method of type */
1997#define OCI_ATTR_ORDER_METHOD 233 /* order method of type */
1998
1999/* only collection element */
2000#define OCI_ATTR_NUM_ELEMS 234 /* number of elements */
2001
2002/* only type methods */
2003#define OCI_ATTR_ENCAPSULATION 235 /* encapsulation level */
2004#define OCI_ATTR_IS_SELFISH 236 /* method selfish */
2005#define OCI_ATTR_IS_VIRTUAL 237 /* virtual */
2006#define OCI_ATTR_IS_INLINE 238 /* inline */
2007#define OCI_ATTR_IS_CONSTANT 239 /* constant */
2008#define OCI_ATTR_HAS_RESULT 240 /* has result */
2009#define OCI_ATTR_IS_CONSTRUCTOR 241 /* constructor */
2010#define OCI_ATTR_IS_DESTRUCTOR 242 /* destructor */
2011#define OCI_ATTR_IS_OPERATOR 243 /* operator */
2012#define OCI_ATTR_IS_MAP 244 /* a map method */
2013#define OCI_ATTR_IS_ORDER 245 /* order method */
2014#define OCI_ATTR_IS_RNDS 246 /* read no data state method */
2015#define OCI_ATTR_IS_RNPS 247 /* read no process state */
2016#define OCI_ATTR_IS_WNDS 248 /* write no data state method */
2017#define OCI_ATTR_IS_WNPS 249 /* write no process state */
2018
2019#define OCI_ATTR_DESC_PUBLIC 250 /* public object */
2020
2021/* Object Cache Enhancements : attributes for User Constructed Instances */
2022#define OCI_ATTR_CACHE_CLIENT_CONTEXT 251
2023#define OCI_ATTR_UCI_CONSTRUCT 252
2024#define OCI_ATTR_UCI_DESTRUCT 253
2025#define OCI_ATTR_UCI_COPY 254
2026#define OCI_ATTR_UCI_PICKLE 255
2027#define OCI_ATTR_UCI_UNPICKLE 256
2028#define OCI_ATTR_UCI_REFRESH 257
2029
2030/* for type inheritance */
2031#define OCI_ATTR_IS_SUBTYPE 258
2032#define OCI_ATTR_SUPERTYPE_SCHEMA_NAME 259
2033#define OCI_ATTR_SUPERTYPE_NAME 260
2034
2035/* for schemas */
2036#define OCI_ATTR_LIST_OBJECTS 261 /* list of objects in schema */
2037
2038/* for database */
2039#define OCI_ATTR_NCHARSET_ID 262 /* char set id */
2040#define OCI_ATTR_LIST_SCHEMAS 263 /* list of schemas */
2041#define OCI_ATTR_MAX_PROC_LEN 264 /* max procedure length */
2042#define OCI_ATTR_MAX_COLUMN_LEN 265 /* max column name length */
2043#define OCI_ATTR_CURSOR_COMMIT_BEHAVIOR 266 /* cursor commit behavior */
2044#define OCI_ATTR_MAX_CATALOG_NAMELEN 267 /* catalog namelength */
2045#define OCI_ATTR_CATALOG_LOCATION 268 /* catalog location */
2046#define OCI_ATTR_SAVEPOINT_SUPPORT 269 /* savepoint support */
2047#define OCI_ATTR_NOWAIT_SUPPORT 270 /* nowait support */
2048#define OCI_ATTR_AUTOCOMMIT_DDL 271 /* autocommit DDL */
2049#define OCI_ATTR_LOCKING_MODE 272 /* locking mode */
2050
2051/* for externally initialized context */
2052#define OCI_ATTR_APPCTX_SIZE 273 /* count of context to be init*/
2053#define OCI_ATTR_APPCTX_LIST 274 /* count of context to be init*/
2054#define OCI_ATTR_APPCTX_NAME 275 /* name of context to be init*/
2055#define OCI_ATTR_APPCTX_ATTR 276 /* attr of context to be init*/
2056#define OCI_ATTR_APPCTX_VALUE 277 /* value of context to be init*/
2057
2058/* for client id propagation */
2059#define OCI_ATTR_CLIENT_IDENTIFIER 278 /* value of client id to set*/
2060
2061/* for inheritance - part 2 */
2062#define OCI_ATTR_IS_FINAL_TYPE 279 /* is final type ? */
2063#define OCI_ATTR_IS_INSTANTIABLE_TYPE 280 /* is instantiable type ? */
2064#define OCI_ATTR_IS_FINAL_METHOD 281 /* is final method ? */
2065#define OCI_ATTR_IS_INSTANTIABLE_METHOD 282 /* is instantiable method ? */
2066#define OCI_ATTR_IS_OVERRIDING_METHOD 283 /* is overriding method ? */
2067
2068#define OCI_ATTR_DESC_SYNBASE 284 /* Describe the base object */
2069
2070
2071#define OCI_ATTR_CHAR_USED 285 /* char length semantics */
2072#define OCI_ATTR_CHAR_SIZE 286 /* char length */
2073
2074/* SQLJ support */
2075#define OCI_ATTR_IS_JAVA_TYPE 287 /* is java implemented type ? */
2076
2077/* N-Tier support */
2078#define OCI_ATTR_DISTINGUISHED_NAME 300 /* use DN as user name */
2079#define OCI_ATTR_KERBEROS_TICKET 301 /* Kerberos ticket as cred. */
2080
2081/* for multilanguage debugging */
2082#define OCI_ATTR_ORA_DEBUG_JDWP 302 /* ORA_DEBUG_JDWP attribute */
2083
2084#define OCI_ATTR_EDITION 288 /* ORA_EDITION */
2085
2086#define OCI_ATTR_RESERVED_14 303 /* reserved */
2087
2088
2089/*---------------------------End Describe Handle Attributes -----------------*/
2090
2091/* For values 303 - 307, see DirPathAPI attribute section in this file */
2092
2093/* ----------------------- Session Pool Attributes ------------------------- */
2094#define OCI_ATTR_SPOOL_TIMEOUT 308 /* session timeout */
2095#define OCI_ATTR_SPOOL_GETMODE 309 /* session get mode */
2096#define OCI_ATTR_SPOOL_BUSY_COUNT 310 /* busy session count */
2097#define OCI_ATTR_SPOOL_OPEN_COUNT 311 /* open session count */
2098#define OCI_ATTR_SPOOL_MIN 312 /* min session count */
2099#define OCI_ATTR_SPOOL_MAX 313 /* max session count */
2100#define OCI_ATTR_SPOOL_INCR 314 /* session increment count */
2101#define OCI_ATTR_SPOOL_STMTCACHESIZE 208 /*Stmt cache size of pool */
2102#define OCI_ATTR_SPOOL_AUTH 460 /* Auth handle on pool handle*/
2103/*------------------------------End Session Pool Attributes -----------------*/
2104/*---------------------------- For XML Types ------------------------------- */
2105/* For table, view and column */
2106#define OCI_ATTR_IS_XMLTYPE 315 /* Is the type an XML type? */
2107#define OCI_ATTR_XMLSCHEMA_NAME 316 /* Name of XML Schema */
2108#define OCI_ATTR_XMLELEMENT_NAME 317 /* Name of XML Element */
2109#define OCI_ATTR_XMLSQLTYPSCH_NAME 318 /* SQL type's schema for XML Ele */
2110#define OCI_ATTR_XMLSQLTYPE_NAME 319 /* Name of SQL type for XML Ele */
2111#define OCI_ATTR_XMLTYPE_STORED_OBJ 320 /* XML type stored as object? */
2112#define OCI_ATTR_XMLTYPE_BINARY_XML 422 /* XML type stored as binary? */
2113
2114/*---------------------------- For Subtypes ------------------------------- */
2115/* For type */
2116#define OCI_ATTR_HAS_SUBTYPES 321 /* Has subtypes? */
2117#define OCI_ATTR_NUM_SUBTYPES 322 /* Number of subtypes */
2118#define OCI_ATTR_LIST_SUBTYPES 323 /* List of subtypes */
2119
2120/* XML flag */
2121#define OCI_ATTR_XML_HRCHY_ENABLED 324 /* hierarchy enabled? */
2122
2123/* Method flag */
2124#define OCI_ATTR_IS_OVERRIDDEN_METHOD 325 /* Method is overridden? */
2125
2126/* For values 326 - 335, see DirPathAPI attribute section in this file */
2127
2128/*------------- Attributes for 10i Distributed Objects ----------------------*/
2129#define OCI_ATTR_OBJ_SUBS 336 /* obj col/tab substitutable */
2130
2131/* For values 337 - 338, see DirPathAPI attribute section in this file */
2132
2133/*---------- Attributes for 10i XADFIELD (NLS language, territory -----------*/
2134#define OCI_ATTR_XADFIELD_RESERVED_1 339 /* reserved */
2135#define OCI_ATTR_XADFIELD_RESERVED_2 340 /* reserved */
2136/*------------- Kerberos Secure Client Identifier ---------------------------*/
2137#define OCI_ATTR_KERBEROS_CID 341 /* Kerberos db service ticket*/
2138
2139
2140/*------------------------ Attributes for Rules objects ---------------------*/
2141#define OCI_ATTR_CONDITION 342 /* rule condition */
2142#define OCI_ATTR_COMMENT 343 /* comment */
2143#define OCI_ATTR_VALUE 344 /* Anydata value */
2144#define OCI_ATTR_EVAL_CONTEXT_OWNER 345 /* eval context owner */
2145#define OCI_ATTR_EVAL_CONTEXT_NAME 346 /* eval context name */
2146#define OCI_ATTR_EVALUATION_FUNCTION 347 /* eval function name */
2147#define OCI_ATTR_VAR_TYPE 348 /* variable type */
2148#define OCI_ATTR_VAR_VALUE_FUNCTION 349 /* variable value function */
2149#define OCI_ATTR_VAR_METHOD_FUNCTION 350 /* variable method function */
2150#define OCI_ATTR_ACTION_CONTEXT 351 /* action context */
2151#define OCI_ATTR_LIST_TABLE_ALIASES 352 /* list of table aliases */
2152#define OCI_ATTR_LIST_VARIABLE_TYPES 353 /* list of variable types */
2153#define OCI_ATTR_TABLE_NAME 356 /* table name */
2154
2155/* For values 357 - 359, see DirPathAPI attribute section in this file */
2156
2157#define OCI_ATTR_MESSAGE_CSCN 360 /* message cscn */
2158#define OCI_ATTR_MESSAGE_DSCN 361 /* message dscn */
2159
2160/*--------------------- Audit Session ID ------------------------------------*/
2161#define OCI_ATTR_AUDIT_SESSION_ID 362 /* Audit session ID */
2162
2163/*--------------------- Kerberos TGT Keys -----------------------------------*/
2164#define OCI_ATTR_KERBEROS_KEY 363 /* n-tier Kerberos cred key */
2165#define OCI_ATTR_KERBEROS_CID_KEY 364 /* SCID Kerberos cred key */
2166
2167
2168#define OCI_ATTR_TRANSACTION_NO 365 /* AQ enq txn number */
2169
2170/*----------------------- Attributes for End To End Tracing -----------------*/
2171#define OCI_ATTR_MODULE 366 /* module for tracing */
2172#define OCI_ATTR_ACTION 367 /* action for tracing */
2173#define OCI_ATTR_CLIENT_INFO 368 /* client info */
2174#define OCI_ATTR_COLLECT_CALL_TIME 369 /* collect call time */
2175#define OCI_ATTR_CALL_TIME 370 /* extract call time */
2176#define OCI_ATTR_ECONTEXT_ID 371 /* execution-id context */
2177#define OCI_ATTR_ECONTEXT_SEQ 372 /*execution-id sequence num */
2178
2179
2180/*------------------------------ Session attributes -------------------------*/
2181#define OCI_ATTR_SESSION_STATE 373 /* session state */
2182#define OCI_SESSION_STATELESS 1 /* valid states */
2183#define OCI_SESSION_STATEFUL 2
2184
2185#define OCI_ATTR_SESSION_STATETYPE 374 /* session state type */
2186#define OCI_SESSION_STATELESS_DEF 0 /* valid state types */
2187#define OCI_SESSION_STATELESS_CAL 1
2188#define OCI_SESSION_STATELESS_TXN 2
2189#define OCI_SESSION_STATELESS_APP 3
2190
2191#define OCI_ATTR_SESSION_STATE_CLEARED 376 /* session state cleared */
2192#define OCI_ATTR_SESSION_MIGRATED 377 /* did session migrate */
2193#define OCI_ATTR_SESSION_PRESERVE_STATE 388 /* preserve session state */
2194#define OCI_ATTR_DRIVER_NAME 424 /* Driver Name */
2195
2196/* -------------------------- Admin Handle Attributes ---------------------- */
2197
2198#define OCI_ATTR_ADMIN_PFILE 389 /* client-side param file */
2199
2200/*----------------------- Attributes for End To End Tracing -----------------*/
2201/* -------------------------- HA Event Handle Attributes ------------------- */
2202
2203#define OCI_ATTR_HOSTNAME 390 /* SYS_CONTEXT hostname */
2204#define OCI_ATTR_DBNAME 391 /* SYS_CONTEXT dbname */
2205#define OCI_ATTR_INSTNAME 392 /* SYS_CONTEXT instance name */
2206#define OCI_ATTR_SERVICENAME 393 /* SYS_CONTEXT service name */
2207#define OCI_ATTR_INSTSTARTTIME 394 /* v$instance instance start time */
2208#define OCI_ATTR_HA_TIMESTAMP 395 /* event time */
2209#define OCI_ATTR_RESERVED_22 396 /* reserved */
2210#define OCI_ATTR_RESERVED_23 397 /* reserved */
2211#define OCI_ATTR_RESERVED_24 398 /* reserved */
2212#define OCI_ATTR_DBDOMAIN 399 /* db domain */
2213#define OCI_ATTR_RESERVED_27 425 /* reserved */
2214
2215#define OCI_ATTR_EVENTTYPE 400 /* event type */
2216#define OCI_EVENTTYPE_HA 0 /* valid value for OCI_ATTR_EVENTTYPE */
2217
2218#define OCI_ATTR_HA_SOURCE 401
2219/* valid values for OCI_ATTR_HA_SOURCE */
2220#define OCI_HA_SOURCE_INSTANCE 0
2221#define OCI_HA_SOURCE_DATABASE 1
2222#define OCI_HA_SOURCE_NODE 2
2223#define OCI_HA_SOURCE_SERVICE 3
2224#define OCI_HA_SOURCE_SERVICE_MEMBER 4
2225#define OCI_HA_SOURCE_ASM_INSTANCE 5
2226#define OCI_HA_SOURCE_SERVICE_PRECONNECT 6
2227
2228#define OCI_ATTR_HA_STATUS 402
2229#define OCI_HA_STATUS_DOWN 0 /* valid values for OCI_ATTR_HA_STATUS */
2230#define OCI_HA_STATUS_UP 1
2231
2232#define OCI_ATTR_HA_SRVFIRST 403
2233
2234#define OCI_ATTR_HA_SRVNEXT 404
2235/* ------------------------- Server Handle Attributes -----------------------*/
2236
2237#define OCI_ATTR_TAF_ENABLED 405
2238
2239/* Extra notification attributes */
2240#define OCI_ATTR_NFY_FLAGS 406
2241
2242#define OCI_ATTR_MSG_DELIVERY_MODE 407 /* msg delivery mode */
2243#define OCI_ATTR_DB_CHARSET_ID 416 /* database charset ID */
2244#define OCI_ATTR_DB_NCHARSET_ID 417 /* database ncharset ID */
2245#define OCI_ATTR_RESERVED_25 418 /* reserved */
2246
2247#define OCI_ATTR_FLOW_CONTROL_TIMEOUT 423 /* AQ: flow control timeout */
2248/*---------------------------------------------------------------------------*/
2249/* ------------------DirPathAPI attribute Section----------------------------*/
2250/* All DirPathAPI attributes are in this section of the file. Existing */
2251/* attributes prior to this section being created are assigned values < 2000 */
2252/* Add new DirPathAPI attributes to this section and their assigned value */
2253/* should be whatever the last entry is + 1. */
2254
2255/*------------- Supported Values for Direct Path Stream Version -------------*/
2256#define OCI_DIRPATH_STREAM_VERSION_1 100
2257#define OCI_DIRPATH_STREAM_VERSION_2 200
2258#define OCI_DIRPATH_STREAM_VERSION_3 300 /* default */
2259
2260
2261#define OCI_ATTR_DIRPATH_MODE 78 /* mode of direct path operation */
2262#define OCI_ATTR_DIRPATH_NOLOG 79 /* nologging option */
2263#define OCI_ATTR_DIRPATH_PARALLEL 80 /* parallel (temp seg) option */
2264
2265#define OCI_ATTR_DIRPATH_SORTED_INDEX 137 /* index that data is sorted on */
2266
2267 /* direct path index maint method (see oci8dp.h) */
2268#define OCI_ATTR_DIRPATH_INDEX_MAINT_METHOD 138
2269
2270 /* parallel load: db file, initial and next extent sizes */
2271
2272#define OCI_ATTR_DIRPATH_FILE 139 /* DB file to load into */
2273#define OCI_ATTR_DIRPATH_STORAGE_INITIAL 140 /* initial extent size */
2274#define OCI_ATTR_DIRPATH_STORAGE_NEXT 141 /* next extent size */
2275 /* direct path index maint method (see oci8dp.h) */
2276#define OCI_ATTR_DIRPATH_SKIPINDEX_METHOD 145
2277
2278 /* 8.2 dpapi support of ADTs */
2279#define OCI_ATTR_DIRPATH_EXPR_TYPE 150 /* expr type of OCI_ATTR_NAME */
2280
2281/* For the direct path API there are three data formats:
2282 * TEXT - used mainly by SQL*Loader, data is in textual form
2283 * STREAM - used by datapump, data is in stream loadable form
2284 * OCI - used by OCI programs utilizing the DpApi, data is in binary form
2285 */
2286#define OCI_ATTR_DIRPATH_INPUT 151
2287#define OCI_DIRPATH_INPUT_TEXT 0x01 /* text */
2288#define OCI_DIRPATH_INPUT_STREAM 0x02 /* stream (datapump) */
2289#define OCI_DIRPATH_INPUT_OCI 0x04 /* binary (oci) */
2290#define OCI_DIRPATH_INPUT_UNKNOWN 0x08
2291
2292#define OCI_ATTR_DIRPATH_FN_CTX 167 /* fn ctx ADT attrs or args */
2293
2294#define OCI_ATTR_DIRPATH_OID 187 /* loading into an OID col */
2295#define OCI_ATTR_DIRPATH_SID 194 /* loading into an SID col */
2296#define OCI_ATTR_DIRPATH_OBJ_CONSTR 206 /* obj type of subst obj tbl */
2297
2298/* Attr to allow setting of the stream version PRIOR to calling Prepare */
2299#define OCI_ATTR_DIRPATH_STREAM_VERSION 212 /* version of the stream*/
2300
2301#define OCIP_ATTR_DIRPATH_VARRAY_INDEX 213 /* varray index column */
2302
2303/*------------- Supported Values for Direct Path Date cache -----------------*/
2304#define OCI_ATTR_DIRPATH_DCACHE_NUM 303 /* date cache entries */
2305#define OCI_ATTR_DIRPATH_DCACHE_SIZE 304 /* date cache limit */
2306#define OCI_ATTR_DIRPATH_DCACHE_MISSES 305 /* date cache misses */
2307#define OCI_ATTR_DIRPATH_DCACHE_HITS 306 /* date cache hits */
2308#define OCI_ATTR_DIRPATH_DCACHE_DISABLE 307 /* on set: disable datecache
2309 * on overflow.
2310 * on get: datecache disabled?
2311 * could be due to overflow
2312 * or others */
2313
2314/*------------- Attributes for 10i Updates to the DirPath API ---------------*/
2315#define OCI_ATTR_DIRPATH_RESERVED_7 326 /* reserved */
2316#define OCI_ATTR_DIRPATH_RESERVED_8 327 /* reserved */
2317#define OCI_ATTR_DIRPATH_CONVERT 328 /* stream conversion needed? */
2318#define OCI_ATTR_DIRPATH_BADROW 329 /* info about bad row */
2319#define OCI_ATTR_DIRPATH_BADROW_LENGTH 330 /* length of bad row info */
2320#define OCI_ATTR_DIRPATH_WRITE_ORDER 331 /* column fill order */
2321#define OCI_ATTR_DIRPATH_GRANULE_SIZE 332 /* granule size for unload */
2322#define OCI_ATTR_DIRPATH_GRANULE_OFFSET 333 /* offset to last granule */
2323#define OCI_ATTR_DIRPATH_RESERVED_1 334 /* reserved */
2324#define OCI_ATTR_DIRPATH_RESERVED_2 335 /* reserved */
2325
2326/*------ Attributes for 10i DirPathAPI conversion (NLS lang, terr, cs) ------*/
2327#define OCI_ATTR_DIRPATH_RESERVED_3 337 /* reserved */
2328#define OCI_ATTR_DIRPATH_RESERVED_4 338 /* reserved */
2329#define OCI_ATTR_DIRPATH_RESERVED_5 357 /* reserved */
2330#define OCI_ATTR_DIRPATH_RESERVED_6 358 /* reserved */
2331
2332#define OCI_ATTR_DIRPATH_LOCK_WAIT 359 /* wait for lock in dpapi */
2333
2334#define OCI_ATTR_DIRPATH_RESERVED_9 2000 /* reserved */
2335
2336/*------ Attribute for 10iR2 for column encryption for Direct Path API ------*/
2337#define OCI_ATTR_DIRPATH_RESERVED_10 2001 /* reserved */
2338#define OCI_ATTR_DIRPATH_RESERVED_11 2002 /* reserved */
2339
2340/*------ Attribute to determine last column successfully converted ----------*/
2341#define OCI_ATTR_CURRENT_ERRCOL 2003 /* current error column */
2342
2343 /*--Attributes for 11gR1 for multiple subtype support in Direct Path API - */
2344#define OCI_ATTR_DIRPATH_SUBTYPE_INDEX 2004 /* sbtyp indx for attribute */
2345
2346#define OCI_ATTR_DIRPATH_RESERVED_12 2005 /* reserved */
2347#define OCI_ATTR_DIRPATH_RESERVED_13 2006 /* reserver */
2348
2349 /*--Attribute for partitioning constraint optimization in Direct Path API */
2350#define OCI_ATTR_DIRPATH_RESERVED_14 2007 /* reserved */
2351
2352 /*--Attribute for interval partitioning in Direct Path API */
2353#define OCI_ATTR_DIRPATH_RESERVED_15 2008 /* reserved */
2354
2355 /*--Attribute for interval partitioning in Direct Path API */
2356#define OCI_ATTR_DIRPATH_RESERVED_16 2009 /* reserved */
2357
2358/*--Attribute for allowing parallel lob loads in Direct Path API */
2359#define OCI_ATTR_DIRPATH_RESERVED_17 2010 /* reserved */
2360
2361/*--Attribute for process order number of table being loaded/unloaded */
2362#define OCI_ATTR_DIRPATH_RESERVED_18 2011 /* reserved */
2363
2364#define OCI_ATTR_DIRPATH_RESERVED_19 2012 /* reserved */
2365
2366#define OCI_ATTR_DIRPATH_NO_INDEX_ERRORS 2013 /* reserved */
2367
2368/*--Attribute for private sqlldr no index errors */
2369#define OCI_ATTR_DIRPATH_RESERVED_20 2014 /* reserved */
2370
2371/*--Attribute for private sqlldr partition memory limit */
2372#define OCI_ATTR_DIRPATH_RESERVED_21 2015 /* reserved */
2373
2374#define OCI_ATTR_DIRPATH_RESERVED_22 2016 /* reserved */
2375
2376/*--Attribute to use caller's transaction rather than starting on in kpodpp */
2377#define OCI_ATTR_DIRPATH_USE_ACTIVE_TRANS 2017 /* reserved */
2378
2379/*--Attribute for recnum column */
2380#define OCI_ATTR_DIRPATH_RESERVED_23 2018 /* reserved */
2381
2382/* Add DirPathAPI attributes above. Next value to be assigned is 2019 */
2383
2384
2385
2386/* ------------------End of DirPathAPI attribute Section --------------------*/
2387/*---------------------------------------------------------------------------*/
2388
2389
2390/*---------------- Describe Handle Parameter Attribute Values ---------------*/
2391
2392/* OCI_ATTR_CURSOR_COMMIT_BEHAVIOR */
2393#define OCI_CURSOR_OPEN 0
2394#define OCI_CURSOR_CLOSED 1
2395
2396/* OCI_ATTR_CATALOG_LOCATION */
2397#define OCI_CL_START 0
2398#define OCI_CL_END 1
2399
2400/* OCI_ATTR_SAVEPOINT_SUPPORT */
2401#define OCI_SP_SUPPORTED 0
2402#define OCI_SP_UNSUPPORTED 1
2403
2404/* OCI_ATTR_NOWAIT_SUPPORT */
2405#define OCI_NW_SUPPORTED 0
2406#define OCI_NW_UNSUPPORTED 1
2407
2408/* OCI_ATTR_AUTOCOMMIT_DDL */
2409#define OCI_AC_DDL 0
2410#define OCI_NO_AC_DDL 1
2411
2412/* OCI_ATTR_LOCKING_MODE */
2413#define OCI_LOCK_IMMEDIATE 0
2414#define OCI_LOCK_DELAYED 1
2415
2416/* ------------------- Instance type attribute values -----------------------*/
2417#define OCI_INSTANCE_TYPE_UNKNOWN 0
2418#define OCI_INSTANCE_TYPE_RDBMS 1
2419#define OCI_INSTANCE_TYPE_OSM 2
2420
2421/* ---------------- ASM Volume Device Support attribute values --------------*/
2422#define OCI_ASM_VOLUME_UNSUPPORTED 0
2423#define OCI_ASM_VOLUME_SUPPORTED 1
2424
2425/*---------------------------------------------------------------------------*/
2426
2427/*---------------------------OCIPasswordChange-------------------------------*/
2428#define OCI_AUTH 0x08 /* Change the password but do not login */
2429
2430
2431/*------------------------Other Constants------------------------------------*/
2432#define OCI_MAX_FNS 100 /* max number of OCI Functions */
2433#define OCI_SQLSTATE_SIZE 5
2434#define OCI_ERROR_MAXMSG_SIZE 1024 /* max size of an error message */
2435#define OCI_ERROR_MAXMSG_SIZE2 3072 /* new len max size of an error message */
2436#define OCI_LOBMAXSIZE MINUB4MAXVAL /* maximum lob data size */
2437#define OCI_ROWID_LEN 23
2438#define OCI_LOB_CONTENTTYPE_MAXSIZE 128 /* max size of securefile contenttype */
2439#define OCI_LOB_CONTENTTYPE_MAXBYTESIZE OCI_LOB_CONTENTTYPE_MAXSIZE
2440/*---------------------------------------------------------------------------*/
2441
2442/*------------------------ Fail Over Events ---------------------------------*/
2443#define OCI_FO_END 0x00000001
2444#define OCI_FO_ABORT 0x00000002
2445#define OCI_FO_REAUTH 0x00000004
2446#define OCI_FO_BEGIN 0x00000008
2447#define OCI_FO_ERROR 0x00000010
2448/*---------------------------------------------------------------------------*/
2449
2450/*------------------------ Fail Over Callback Return Codes ------------------*/
2451#define OCI_FO_RETRY 25410
2452/*---------------------------------------------------------------------------*/
2453
2454/*------------------------- Fail Over Types ---------------------------------*/
2455#define OCI_FO_NONE 0x00000001
2456#define OCI_FO_SESSION 0x00000002
2457#define OCI_FO_SELECT 0x00000004
2458#define OCI_FO_TXNAL 0x00000008
2459/*---------------------------------------------------------------------------*/
2460
2461/*-----------------------Function Codes--------------------------------------*/
2462#define OCI_FNCODE_INITIALIZE 1 /* OCIInitialize */
2463#define OCI_FNCODE_HANDLEALLOC 2 /* OCIHandleAlloc */
2464#define OCI_FNCODE_HANDLEFREE 3 /* OCIHandleFree */
2465#define OCI_FNCODE_DESCRIPTORALLOC 4 /* OCIDescriptorAlloc */
2466#define OCI_FNCODE_DESCRIPTORFREE 5 /* OCIDescriptorFree */
2467#define OCI_FNCODE_ENVINIT 6 /* OCIEnvInit */
2468#define OCI_FNCODE_SERVERATTACH 7 /* OCIServerAttach */
2469#define OCI_FNCODE_SERVERDETACH 8 /* OCIServerDetach */
2470/* unused 9 */
2471#define OCI_FNCODE_SESSIONBEGIN 10 /* OCISessionBegin */
2472#define OCI_FNCODE_SESSIONEND 11 /* OCISessionEnd */
2473#define OCI_FNCODE_PASSWORDCHANGE 12 /* OCIPasswordChange */
2474#define OCI_FNCODE_STMTPREPARE 13 /* OCIStmtPrepare */
2475 /* unused 14- 16 */
2476#define OCI_FNCODE_BINDDYNAMIC 17 /* OCIBindDynamic */
2477#define OCI_FNCODE_BINDOBJECT 18 /* OCIBindObject */
2478 /* 19 unused */
2479#define OCI_FNCODE_BINDARRAYOFSTRUCT 20 /* OCIBindArrayOfStruct */
2480#define OCI_FNCODE_STMTEXECUTE 21 /* OCIStmtExecute */
2481 /* unused 22-24 */
2482#define OCI_FNCODE_DEFINEOBJECT 25 /* OCIDefineObject */
2483#define OCI_FNCODE_DEFINEDYNAMIC 26 /* OCIDefineDynamic */
2484#define OCI_FNCODE_DEFINEARRAYOFSTRUCT 27 /* OCIDefineArrayOfStruct */
2485#define OCI_FNCODE_STMTFETCH 28 /* OCIStmtFetch */
2486#define OCI_FNCODE_STMTGETBIND 29 /* OCIStmtGetBindInfo */
2487 /* 30, 31 unused */
2488#define OCI_FNCODE_DESCRIBEANY 32 /* OCIDescribeAny */
2489#define OCI_FNCODE_TRANSSTART 33 /* OCITransStart */
2490#define OCI_FNCODE_TRANSDETACH 34 /* OCITransDetach */
2491#define OCI_FNCODE_TRANSCOMMIT 35 /* OCITransCommit */
2492 /* 36 unused */
2493#define OCI_FNCODE_ERRORGET 37 /* OCIErrorGet */
2494#define OCI_FNCODE_LOBOPENFILE 38 /* OCILobFileOpen */
2495#define OCI_FNCODE_LOBCLOSEFILE 39 /* OCILobFileClose */
2496 /* 40 was LOBCREATEFILE, unused */
2497 /* 41 was OCILobFileDelete, unused */
2498#define OCI_FNCODE_LOBCOPY 42 /* OCILobCopy */
2499#define OCI_FNCODE_LOBAPPEND 43 /* OCILobAppend */
2500#define OCI_FNCODE_LOBERASE 44 /* OCILobErase */
2501#define OCI_FNCODE_LOBLENGTH 45 /* OCILobGetLength */
2502#define OCI_FNCODE_LOBTRIM 46 /* OCILobTrim */
2503#define OCI_FNCODE_LOBREAD 47 /* OCILobRead */
2504#define OCI_FNCODE_LOBWRITE 48 /* OCILobWrite */
2505 /* 49 unused */
2506#define OCI_FNCODE_SVCCTXBREAK 50 /* OCIBreak */
2507#define OCI_FNCODE_SERVERVERSION 51 /* OCIServerVersion */
2508
2509#define OCI_FNCODE_KERBATTRSET 52 /* OCIKerbAttrSet */
2510
2511/* unused 53 */
2512
2513#define OCI_FNCODE_ATTRGET 54 /* OCIAttrGet */
2514#define OCI_FNCODE_ATTRSET 55 /* OCIAttrSet */
2515#define OCI_FNCODE_PARAMSET 56 /* OCIParamSet */
2516#define OCI_FNCODE_PARAMGET 57 /* OCIParamGet */
2517#define OCI_FNCODE_STMTGETPIECEINFO 58 /* OCIStmtGetPieceInfo */
2518#define OCI_FNCODE_LDATOSVCCTX 59 /* OCILdaToSvcCtx */
2519 /* 60 unused */
2520#define OCI_FNCODE_STMTSETPIECEINFO 61 /* OCIStmtSetPieceInfo */
2521#define OCI_FNCODE_TRANSFORGET 62 /* OCITransForget */
2522#define OCI_FNCODE_TRANSPREPARE 63 /* OCITransPrepare */
2523#define OCI_FNCODE_TRANSROLLBACK 64 /* OCITransRollback */
2524#define OCI_FNCODE_DEFINEBYPOS 65 /* OCIDefineByPos */
2525#define OCI_FNCODE_BINDBYPOS 66 /* OCIBindByPos */
2526#define OCI_FNCODE_BINDBYNAME 67 /* OCIBindByName */
2527#define OCI_FNCODE_LOBASSIGN 68 /* OCILobAssign */
2528#define OCI_FNCODE_LOBISEQUAL 69 /* OCILobIsEqual */
2529#define OCI_FNCODE_LOBISINIT 70 /* OCILobLocatorIsInit */
2530
2531#define OCI_FNCODE_LOBENABLEBUFFERING 71 /* OCILobEnableBuffering */
2532#define OCI_FNCODE_LOBCHARSETID 72 /* OCILobCharSetID */
2533#define OCI_FNCODE_LOBCHARSETFORM 73 /* OCILobCharSetForm */
2534#define OCI_FNCODE_LOBFILESETNAME 74 /* OCILobFileSetName */
2535#define OCI_FNCODE_LOBFILEGETNAME 75 /* OCILobFileGetName */
2536#define OCI_FNCODE_LOGON 76 /* OCILogon */
2537#define OCI_FNCODE_LOGOFF 77 /* OCILogoff */
2538#define OCI_FNCODE_LOBDISABLEBUFFERING 78 /* OCILobDisableBuffering */
2539#define OCI_FNCODE_LOBFLUSHBUFFER 79 /* OCILobFlushBuffer */
2540#define OCI_FNCODE_LOBLOADFROMFILE 80 /* OCILobLoadFromFile */
2541
2542#define OCI_FNCODE_LOBOPEN 81 /* OCILobOpen */
2543#define OCI_FNCODE_LOBCLOSE 82 /* OCILobClose */
2544#define OCI_FNCODE_LOBISOPEN 83 /* OCILobIsOpen */
2545#define OCI_FNCODE_LOBFILEISOPEN 84 /* OCILobFileIsOpen */
2546#define OCI_FNCODE_LOBFILEEXISTS 85 /* OCILobFileExists */
2547#define OCI_FNCODE_LOBFILECLOSEALL 86 /* OCILobFileCloseAll */
2548#define OCI_FNCODE_LOBCREATETEMP 87 /* OCILobCreateTemporary */
2549#define OCI_FNCODE_LOBFREETEMP 88 /* OCILobFreeTemporary */
2550#define OCI_FNCODE_LOBISTEMP 89 /* OCILobIsTemporary */
2551
2552#define OCI_FNCODE_AQENQ 90 /* OCIAQEnq */
2553#define OCI_FNCODE_AQDEQ 91 /* OCIAQDeq */
2554#define OCI_FNCODE_RESET 92 /* OCIReset */
2555#define OCI_FNCODE_SVCCTXTOLDA 93 /* OCISvcCtxToLda */
2556#define OCI_FNCODE_LOBLOCATORASSIGN 94 /* OCILobLocatorAssign */
2557
2558#define OCI_FNCODE_UBINDBYNAME 95
2559
2560#define OCI_FNCODE_AQLISTEN 96 /* OCIAQListen */
2561
2562#define OCI_FNCODE_SVC2HST 97 /* reserved */
2563#define OCI_FNCODE_SVCRH 98 /* reserved */
2564 /* 97 and 98 are reserved for Oracle internal use */
2565
2566#define OCI_FNCODE_TRANSMULTIPREPARE 99 /* OCITransMultiPrepare */
2567
2568#define OCI_FNCODE_CPOOLCREATE 100 /* OCIConnectionPoolCreate */
2569#define OCI_FNCODE_CPOOLDESTROY 101 /* OCIConnectionPoolDestroy */
2570#define OCI_FNCODE_LOGON2 102 /* OCILogon2 */
2571#define OCI_FNCODE_ROWIDTOCHAR 103 /* OCIRowidToChar */
2572
2573#define OCI_FNCODE_SPOOLCREATE 104 /* OCISessionPoolCreate */
2574#define OCI_FNCODE_SPOOLDESTROY 105 /* OCISessionPoolDestroy */
2575#define OCI_FNCODE_SESSIONGET 106 /* OCISessionGet */
2576#define OCI_FNCODE_SESSIONRELEASE 107 /* OCISessionRelease */
2577#define OCI_FNCODE_STMTPREPARE2 108 /* OCIStmtPrepare2 */
2578#define OCI_FNCODE_STMTRELEASE 109 /* OCIStmtRelease */
2579#define OCI_FNCODE_AQENQARRAY 110 /* OCIAQEnqArray */
2580#define OCI_FNCODE_AQDEQARRAY 111 /* OCIAQDeqArray */
2581#define OCI_FNCODE_LOBCOPY2 112 /* OCILobCopy2 */
2582#define OCI_FNCODE_LOBERASE2 113 /* OCILobErase2 */
2583#define OCI_FNCODE_LOBLENGTH2 114 /* OCILobGetLength2 */
2584#define OCI_FNCODE_LOBLOADFROMFILE2 115 /* OCILobLoadFromFile2 */
2585#define OCI_FNCODE_LOBREAD2 116 /* OCILobRead2 */
2586#define OCI_FNCODE_LOBTRIM2 117 /* OCILobTrim2 */
2587#define OCI_FNCODE_LOBWRITE2 118 /* OCILobWrite2 */
2588#define OCI_FNCODE_LOBGETSTORAGELIMIT 119 /* OCILobGetStorageLimit */
2589#define OCI_FNCODE_DBSTARTUP 120 /* OCIDBStartup */
2590#define OCI_FNCODE_DBSHUTDOWN 121 /* OCIDBShutdown */
2591#define OCI_FNCODE_LOBARRAYREAD 122 /* OCILobArrayRead */
2592#define OCI_FNCODE_LOBARRAYWRITE 123 /* OCILobArrayWrite */
2593#define OCI_FNCODE_AQENQSTREAM 124 /* OCIAQEnqStreaming */
2594#define OCI_FNCODE_AQGETREPLAY 125 /* OCIAQGetReplayInfo */
2595#define OCI_FNCODE_AQRESETREPLAY 126 /* OCIAQResetReplayInfo */
2596#define OCI_FNCODE_ARRAYDESCRIPTORALLOC 127 /*OCIArrayDescriptorAlloc */
2597#define OCI_FNCODE_ARRAYDESCRIPTORFREE 128 /* OCIArrayDescriptorFree */
2598#define OCI_FNCODE_LOBGETOPT 129 /* OCILobGetCptions */
2599#define OCI_FNCODE_LOBSETOPT 130 /* OCILobSetCptions */
2600#define OCI_FNCODE_LOBFRAGINS 131 /* OCILobFragementInsert */
2601#define OCI_FNCODE_LOBFRAGDEL 132 /* OCILobFragementDelete */
2602#define OCI_FNCODE_LOBFRAGMOV 133 /* OCILobFragementMove */
2603#define OCI_FNCODE_LOBFRAGREP 134 /* OCILobFragementReplace */
2604#define OCI_FNCODE_LOBGETDEDUPLICATEREGIONS 135/* OCILobGetDeduplicateRegions */
2605#define OCI_FNCODE_APPCTXSET 136 /* OCIAppCtxSet */
2606#define OCI_FNCODE_APPCTXCLEARALL 137 /* OCIAppCtxClearAll */
2607
2608#define OCI_FNCODE_LOBGETCONTENTTYPE 138 /* OCILobGetContentType */
2609#define OCI_FNCODE_LOBSETCONTENTTYPE 139 /* OCILobSetContentType */
2610#define OCI_FNCODE_MAXFCN 139 /* maximum OCI function code */
2611
2612/*---------------Statement Cache callback modes-----------------------------*/
2613#define OCI_CBK_STMTCACHE_STMTPURGE 0x01
2614
2615/*---------------------------------------------------------------------------*/
2616
2617/*-----------------------Handle Definitions----------------------------------*/
2618typedef struct OCIEnv OCIEnv; /* OCI environment handle */
2619typedef struct OCIError OCIError; /* OCI error handle */
2620typedef struct OCISvcCtx OCISvcCtx; /* OCI service handle */
2621typedef struct OCIStmt OCIStmt; /* OCI statement handle */
2622typedef struct OCIBind OCIBind; /* OCI bind handle */
2623typedef struct OCIDefine OCIDefine; /* OCI Define handle */
2624typedef struct OCIDescribe OCIDescribe; /* OCI Describe handle */
2625typedef struct OCIServer OCIServer; /* OCI Server handle */
2626typedef struct OCISession OCISession; /* OCI Authentication handle */
2627typedef struct OCIComplexObject OCIComplexObject; /* OCI COR handle */
2628typedef struct OCITrans OCITrans; /* OCI Transaction handle */
2629typedef struct OCISecurity OCISecurity; /* OCI Security handle */
2630typedef struct OCISubscription OCISubscription; /* subscription handle */
2631
2632typedef struct OCICPool OCICPool; /* connection pool handle */
2633typedef struct OCISPool OCISPool; /* session pool handle */
2634typedef struct OCIAuthInfo OCIAuthInfo; /* auth handle */
2635typedef struct OCIAdmin OCIAdmin; /* admin handle */
2636typedef struct OCIEvent OCIEvent; /* HA event handle */
2637
2638/*-----------------------Descriptor Definitions------------------------------*/
2639typedef struct OCISnapshot OCISnapshot; /* OCI snapshot descriptor */
2640typedef struct OCIResult OCIResult; /* OCI Result Set Descriptor */
2641typedef struct OCILobLocator OCILobLocator; /* OCI Lob Locator descriptor */
2642typedef struct OCILobRegion OCILobRegion; /* OCI Lob Regions descriptor */
2643typedef struct OCIParam OCIParam; /* OCI PARameter descriptor */
2644typedef struct OCIComplexObjectComp OCIComplexObjectComp;
2645 /* OCI COR descriptor */
2646typedef struct OCIRowid OCIRowid; /* OCI ROWID descriptor */
2647
2648typedef struct OCIDateTime OCIDateTime; /* OCI DateTime descriptor */
2649typedef struct OCIInterval OCIInterval; /* OCI Interval descriptor */
2650
2651typedef struct OCIUcb OCIUcb; /* OCI User Callback descriptor */
2652typedef struct OCIServerDNs OCIServerDNs; /* OCI server DN descriptor */
2653
2654/*-------------------------- AQ Descriptors ---------------------------------*/
2655typedef struct OCIAQEnqOptions OCIAQEnqOptions; /* AQ Enqueue Options hdl */
2656typedef struct OCIAQDeqOptions OCIAQDeqOptions; /* AQ Dequeue Options hdl */
2657typedef struct OCIAQMsgProperties OCIAQMsgProperties; /* AQ Mesg Properties */
2658typedef struct OCIAQAgent OCIAQAgent; /* AQ Agent descriptor */
2659typedef struct OCIAQNfyDescriptor OCIAQNfyDescriptor; /* AQ Nfy descriptor */
2660typedef struct OCIAQSignature OCIAQSignature; /* AQ Siganture */
2661typedef struct OCIAQListenOpts OCIAQListenOpts; /* AQ listen options */
2662typedef struct OCIAQLisMsgProps OCIAQLisMsgProps; /* AQ listen msg props */
2663
2664/*---------------------------------------------------------------------------*/
2665
2666/* Lob typedefs for Pro*C */
2667typedef struct OCILobLocator OCIClobLocator; /* OCI Character LOB Locator */
2668typedef struct OCILobLocator OCIBlobLocator; /* OCI Binary LOB Locator */
2669typedef struct OCILobLocator OCIBFileLocator; /* OCI Binary LOB File Locator */
2670/*---------------------------------------------------------------------------*/
2671
2672/* Undefined value for tz in interval types*/
2673#define OCI_INTHR_UNK 24
2674
2675 /* These defined adjustment values */
2676#define OCI_ADJUST_UNK 10
2677#define OCI_ORACLE_DATE 0
2678#define OCI_ANSI_DATE 1
2679
2680/*------------------------ Lob-specific Definitions -------------------------*/
2681
2682/*
2683 * ociloff - OCI Lob OFFset
2684 *
2685 * The offset in the lob data. The offset is specified in terms of bytes for
2686 * BLOBs and BFILes. Character offsets are used for CLOBs, NCLOBs.
2687 * The maximum size of internal lob data is 4 gigabytes. FILE LOB
2688 * size is limited by the operating system.
2689 */
2690typedef ub4 OCILobOffset;
2691
2692/*
2693 * ocillen - OCI Lob LENgth (of lob data)
2694 *
2695 * Specifies the length of lob data in bytes for BLOBs and BFILes and in
2696 * characters for CLOBs, NCLOBs. The maximum length of internal lob
2697 * data is 4 gigabytes. The length of FILE LOBs is limited only by the
2698 * operating system.
2699 */
2700typedef ub4 OCILobLength;
2701/*
2702 * ocilmo - OCI Lob open MOdes
2703 *
2704 * The mode specifies the planned operations that will be performed on the
2705 * FILE lob data. The FILE lob can be opened in read-only mode only.
2706 *
2707 * In the future, we may include read/write, append and truncate modes. Append
2708 * is equivalent to read/write mode except that the FILE is positioned for
2709 * writing to the end. Truncate is equivalent to read/write mode except that
2710 * the FILE LOB data is first truncated to a length of 0 before use.
2711 */
2712enum OCILobMode
2713{
2714 OCI_LOBMODE_READONLY = 1, /* read-only */
2715 OCI_LOBMODE_READWRITE = 2 /* read_write for internal lobs only */
2716};
2717typedef enum OCILobMode OCILobMode;
2718
2719/*---------------------------------------------------------------------------*/
2720
2721
2722/*----------------------------Piece Definitions------------------------------*/
2723
2724/* if ocidef.h is being included in the app, ocidef.h should precede oci.h */
2725
2726/*
2727 * since clients may use oci.h, ocidef.h and ocidfn.h the following defines
2728 * need to be guarded, usually internal clients
2729 */
2730
2731#ifndef OCI_FLAGS
2732#define OCI_FLAGS
2733#define OCI_ONE_PIECE 0 /* one piece */
2734#define OCI_FIRST_PIECE 1 /* the first piece */
2735#define OCI_NEXT_PIECE 2 /* the next of many pieces */
2736#define OCI_LAST_PIECE 3 /* the last piece */
2737#endif
2738/*---------------------------------------------------------------------------*/
2739
2740/*--------------------------- FILE open modes -------------------------------*/
2741#define OCI_FILE_READONLY 1 /* readonly mode open for FILE types */
2742/*---------------------------------------------------------------------------*/
2743/*--------------------------- LOB open modes --------------------------------*/
2744#define OCI_LOB_READONLY 1 /* readonly mode open for ILOB types */
2745#define OCI_LOB_READWRITE 2 /* read write mode open for ILOBs */
2746#define OCI_LOB_WRITEONLY 3 /* Writeonly mode open for ILOB types*/
2747#define OCI_LOB_APPENDONLY 4 /* Appendonly mode open for ILOB types */
2748#define OCI_LOB_FULLOVERWRITE 5 /* Completely overwrite ILOB */
2749#define OCI_LOB_FULLREAD 6 /* Doing a Full Read of ILOB */
2750
2751/*----------------------- LOB Buffering Flush Flags -------------------------*/
2752#define OCI_LOB_BUFFER_FREE 1
2753#define OCI_LOB_BUFFER_NOFREE 2
2754/*---------------------------------------------------------------------------*/
2755
2756/*---------------------------LOB Option Types -------------------------------*/
2757#define OCI_LOB_OPT_COMPRESS 1 /* SECUREFILE Compress */
2758#define OCI_LOB_OPT_ENCRYPT 2 /* SECUREFILE Encrypt */
2759#define OCI_LOB_OPT_DEDUPLICATE 4 /* SECUREFILE Deduplicate */
2760#define OCI_LOB_OPT_ALLOCSIZE 8 /* SECUREFILE Allocation Size */
2761#define OCI_LOB_OPT_CONTENTTYPE 16 /* SECUREFILE Content Type */
2762#define OCI_LOB_OPT_MODTIME 32 /* SECUREFILE Modification Time */
2763
2764/*------------------------ LOB Option Values ------------------------------*/
2765/* Compression */
2766#define OCI_LOB_COMPRESS_OFF 0 /* Compression off */
2767#define OCI_LOB_COMPRESS_ON 1 /* Compression on */
2768/* Encryption */
2769#define OCI_LOB_ENCRYPT_OFF 0 /* Encryption Off */
2770#define OCI_LOB_ENCRYPT_ON 2 /* Encryption On */
2771/* Deduplciate */
2772#define OCI_LOB_DEDUPLICATE_OFF 0 /* Deduplicate Off */
2773#define OCI_LOB_DEDUPLICATE_ON 4 /* Deduplicate Lobs */
2774
2775/*--------------------------- OCI Statement Types ---------------------------*/
2776
2777#define OCI_STMT_UNKNOWN 0 /* Unknown statement */
2778#define OCI_STMT_SELECT 1 /* select statement */
2779#define OCI_STMT_UPDATE 2 /* update statement */
2780#define OCI_STMT_DELETE 3 /* delete statement */
2781#define OCI_STMT_INSERT 4 /* Insert Statement */
2782#define OCI_STMT_CREATE 5 /* create statement */
2783#define OCI_STMT_DROP 6 /* drop statement */
2784#define OCI_STMT_ALTER 7 /* alter statement */
2785#define OCI_STMT_BEGIN 8 /* begin ... (pl/sql statement)*/
2786#define OCI_STMT_DECLARE 9 /* declare .. (pl/sql statement ) */
2787#define OCI_STMT_CALL 10 /* corresponds to kpu call */
2788/*---------------------------------------------------------------------------*/
2789
2790/*--------------------------- OCI Parameter Types ---------------------------*/
2791#define OCI_PTYPE_UNK 0 /* unknown */
2792#define OCI_PTYPE_TABLE 1 /* table */
2793#define OCI_PTYPE_VIEW 2 /* view */
2794#define OCI_PTYPE_PROC 3 /* procedure */
2795#define OCI_PTYPE_FUNC 4 /* function */
2796#define OCI_PTYPE_PKG 5 /* package */
2797#define OCI_PTYPE_TYPE 6 /* user-defined type */
2798#define OCI_PTYPE_SYN 7 /* synonym */
2799#define OCI_PTYPE_SEQ 8 /* sequence */
2800#define OCI_PTYPE_COL 9 /* column */
2801#define OCI_PTYPE_ARG 10 /* argument */
2802#define OCI_PTYPE_LIST 11 /* list */
2803#define OCI_PTYPE_TYPE_ATTR 12 /* user-defined type's attribute */
2804#define OCI_PTYPE_TYPE_COLL 13 /* collection type's element */
2805#define OCI_PTYPE_TYPE_METHOD 14 /* user-defined type's method */
2806#define OCI_PTYPE_TYPE_ARG 15 /* user-defined type method's arg */
2807#define OCI_PTYPE_TYPE_RESULT 16/* user-defined type method's result */
2808#define OCI_PTYPE_SCHEMA 17 /* schema */
2809#define OCI_PTYPE_DATABASE 18 /* database */
2810#define OCI_PTYPE_RULE 19 /* rule */
2811#define OCI_PTYPE_RULE_SET 20 /* rule set */
2812#define OCI_PTYPE_EVALUATION_CONTEXT 21 /* evaluation context */
2813#define OCI_PTYPE_TABLE_ALIAS 22 /* table alias */
2814#define OCI_PTYPE_VARIABLE_TYPE 23 /* variable type */
2815#define OCI_PTYPE_NAME_VALUE 24 /* name value pair */
2816
2817/*---------------------------------------------------------------------------*/
2818
2819/*----------------------------- OCI List Types ------------------------------*/
2820#define OCI_LTYPE_UNK 0 /* unknown */
2821#define OCI_LTYPE_COLUMN 1 /* column list */
2822#define OCI_LTYPE_ARG_PROC 2 /* procedure argument list */
2823#define OCI_LTYPE_ARG_FUNC 3 /* function argument list */
2824#define OCI_LTYPE_SUBPRG 4 /* subprogram list */
2825#define OCI_LTYPE_TYPE_ATTR 5 /* type attribute */
2826#define OCI_LTYPE_TYPE_METHOD 6 /* type method */
2827#define OCI_LTYPE_TYPE_ARG_PROC 7 /* type method w/o result argument list */
2828#define OCI_LTYPE_TYPE_ARG_FUNC 8 /* type method w/result argument list */
2829#define OCI_LTYPE_SCH_OBJ 9 /* schema object list */
2830#define OCI_LTYPE_DB_SCH 10 /* database schema list */
2831#define OCI_LTYPE_TYPE_SUBTYPE 11 /* subtype list */
2832#define OCI_LTYPE_TABLE_ALIAS 12 /* table alias list */
2833#define OCI_LTYPE_VARIABLE_TYPE 13 /* variable type list */
2834#define OCI_LTYPE_NAME_VALUE 14 /* name value list */
2835
2836/*---------------------------------------------------------------------------*/
2837
2838/*-------------------------- Memory Cartridge Services ---------------------*/
2839#define OCI_MEMORY_CLEARED 1
2840
2841/*-------------------------- Pickler Cartridge Services ---------------------*/
2842typedef struct OCIPicklerTdsCtx OCIPicklerTdsCtx;
2843typedef struct OCIPicklerTds OCIPicklerTds;
2844typedef struct OCIPicklerImage OCIPicklerImage;
2845typedef struct OCIPicklerFdo OCIPicklerFdo;
2846typedef ub4 OCIPicklerTdsElement;
2847
2848typedef struct OCIAnyData OCIAnyData;
2849
2850typedef struct OCIAnyDataSet OCIAnyDataSet;
2851typedef struct OCIAnyDataCtx OCIAnyDataCtx;
2852
2853/*---------------------------------------------------------------------------*/
2854
2855/*--------------------------- User Callback Constants -----------------------*/
2856#define OCI_UCBTYPE_ENTRY 1 /* entry callback */
2857#define OCI_UCBTYPE_EXIT 2 /* exit callback */
2858#define OCI_UCBTYPE_REPLACE 3 /* replacement callback */
2859
2860/*---------------------------------------------------------------------------*/
2861
2862/*--------------------- NLS service type and constance ----------------------*/
2863#define OCI_NLS_DAYNAME1 1 /* Native name for Monday */
2864#define OCI_NLS_DAYNAME2 2 /* Native name for Tuesday */
2865#define OCI_NLS_DAYNAME3 3 /* Native name for Wednesday */
2866#define OCI_NLS_DAYNAME4 4 /* Native name for Thursday */
2867#define OCI_NLS_DAYNAME5 5 /* Native name for Friday */
2868#define OCI_NLS_DAYNAME6 6 /* Native name for for Saturday */
2869#define OCI_NLS_DAYNAME7 7 /* Native name for for Sunday */
2870#define OCI_NLS_ABDAYNAME1 8 /* Native abbreviated name for Monday */
2871#define OCI_NLS_ABDAYNAME2 9 /* Native abbreviated name for Tuesday */
2872#define OCI_NLS_ABDAYNAME3 10 /* Native abbreviated name for Wednesday */
2873#define OCI_NLS_ABDAYNAME4 11 /* Native abbreviated name for Thursday */
2874#define OCI_NLS_ABDAYNAME5 12 /* Native abbreviated name for Friday */
2875#define OCI_NLS_ABDAYNAME6 13 /* Native abbreviated name for for Saturday */
2876#define OCI_NLS_ABDAYNAME7 14 /* Native abbreviated name for for Sunday */
2877#define OCI_NLS_MONTHNAME1 15 /* Native name for January */
2878#define OCI_NLS_MONTHNAME2 16 /* Native name for February */
2879#define OCI_NLS_MONTHNAME3 17 /* Native name for March */
2880#define OCI_NLS_MONTHNAME4 18 /* Native name for April */
2881#define OCI_NLS_MONTHNAME5 19 /* Native name for May */
2882#define OCI_NLS_MONTHNAME6 20 /* Native name for June */
2883#define OCI_NLS_MONTHNAME7 21 /* Native name for July */
2884#define OCI_NLS_MONTHNAME8 22 /* Native name for August */
2885#define OCI_NLS_MONTHNAME9 23 /* Native name for September */
2886#define OCI_NLS_MONTHNAME10 24 /* Native name for October */
2887#define OCI_NLS_MONTHNAME11 25 /* Native name for November */
2888#define OCI_NLS_MONTHNAME12 26 /* Native name for December */
2889#define OCI_NLS_ABMONTHNAME1 27 /* Native abbreviated name for January */
2890#define OCI_NLS_ABMONTHNAME2 28 /* Native abbreviated name for February */
2891#define OCI_NLS_ABMONTHNAME3 29 /* Native abbreviated name for March */
2892#define OCI_NLS_ABMONTHNAME4 30 /* Native abbreviated name for April */
2893#define OCI_NLS_ABMONTHNAME5 31 /* Native abbreviated name for May */
2894#define OCI_NLS_ABMONTHNAME6 32 /* Native abbreviated name for June */
2895#define OCI_NLS_ABMONTHNAME7 33 /* Native abbreviated name for July */
2896#define OCI_NLS_ABMONTHNAME8 34 /* Native abbreviated name for August */
2897#define OCI_NLS_ABMONTHNAME9 35 /* Native abbreviated name for September */
2898#define OCI_NLS_ABMONTHNAME10 36 /* Native abbreviated name for October */
2899#define OCI_NLS_ABMONTHNAME11 37 /* Native abbreviated name for November */
2900#define OCI_NLS_ABMONTHNAME12 38 /* Native abbreviated name for December */
2901#define OCI_NLS_YES 39 /* Native string for affirmative response */
2902#define OCI_NLS_NO 40 /* Native negative response */
2903#define OCI_NLS_AM 41 /* Native equivalent string of AM */
2904#define OCI_NLS_PM 42 /* Native equivalent string of PM */
2905#define OCI_NLS_AD 43 /* Native equivalent string of AD */
2906#define OCI_NLS_BC 44 /* Native equivalent string of BC */
2907#define OCI_NLS_DECIMAL 45 /* decimal character */
2908#define OCI_NLS_GROUP 46 /* group separator */
2909#define OCI_NLS_DEBIT 47 /* Native symbol of debit */
2910#define OCI_NLS_CREDIT 48 /* Native sumbol of credit */
2911#define OCI_NLS_DATEFORMAT 49 /* Oracle date format */
2912#define OCI_NLS_INT_CURRENCY 50 /* International currency symbol */
2913#define OCI_NLS_LOC_CURRENCY 51 /* Locale currency symbol */
2914#define OCI_NLS_LANGUAGE 52 /* Language name */
2915#define OCI_NLS_ABLANGUAGE 53 /* Abbreviation for language name */
2916#define OCI_NLS_TERRITORY 54 /* Territory name */
2917#define OCI_NLS_CHARACTER_SET 55 /* Character set name */
2918#define OCI_NLS_LINGUISTIC_NAME 56 /* Linguistic name */
2919#define OCI_NLS_CALENDAR 57 /* Calendar name */
2920#define OCI_NLS_DUAL_CURRENCY 78 /* Dual currency symbol */
2921#define OCI_NLS_WRITINGDIR 79 /* Language writing direction */
2922#define OCI_NLS_ABTERRITORY 80 /* Territory Abbreviation */
2923#define OCI_NLS_DDATEFORMAT 81 /* Oracle default date format */
2924#define OCI_NLS_DTIMEFORMAT 82 /* Oracle default time format */
2925#define OCI_NLS_SFDATEFORMAT 83 /* Local string formatted date format */
2926#define OCI_NLS_SFTIMEFORMAT 84 /* Local string formatted time format */
2927#define OCI_NLS_NUMGROUPING 85 /* Number grouping fields */
2928#define OCI_NLS_LISTSEP 86 /* List separator */
2929#define OCI_NLS_MONDECIMAL 87 /* Monetary decimal character */
2930#define OCI_NLS_MONGROUP 88 /* Monetary group separator */
2931#define OCI_NLS_MONGROUPING 89 /* Monetary grouping fields */
2932#define OCI_NLS_INT_CURRENCYSEP 90 /* International currency separator */
2933#define OCI_NLS_CHARSET_MAXBYTESZ 91 /* Maximum character byte size */
2934#define OCI_NLS_CHARSET_FIXEDWIDTH 92 /* Fixed-width charset byte size */
2935#define OCI_NLS_CHARSET_ID 93 /* Character set id */
2936#define OCI_NLS_NCHARSET_ID 94 /* NCharacter set id */
2937
2938#define OCI_NLS_MAXBUFSZ 100 /* Max buffer size may need for OCINlsGetInfo */
2939
2940#define OCI_NLS_BINARY 0x1 /* for the binary comparison */
2941#define OCI_NLS_LINGUISTIC 0x2 /* for linguistic comparison */
2942#define OCI_NLS_CASE_INSENSITIVE 0x10 /* for case-insensitive comparison */
2943
2944#define OCI_NLS_UPPERCASE 0x20 /* convert to uppercase */
2945#define OCI_NLS_LOWERCASE 0x40 /* convert to lowercase */
2946
2947#define OCI_NLS_CS_IANA_TO_ORA 0 /* Map charset name from IANA to Oracle */
2948#define OCI_NLS_CS_ORA_TO_IANA 1 /* Map charset name from Oracle to IANA */
2949#define OCI_NLS_LANG_ISO_TO_ORA 2 /* Map language name from ISO to Oracle */
2950#define OCI_NLS_LANG_ORA_TO_ISO 3 /* Map language name from Oracle to ISO */
2951#define OCI_NLS_TERR_ISO_TO_ORA 4 /* Map territory name from ISO to Oracle*/
2952#define OCI_NLS_TERR_ORA_TO_ISO 5 /* Map territory name from Oracle to ISO*/
2953#define OCI_NLS_TERR_ISO3_TO_ORA 6 /* Map territory name from 3-letter ISO */
2954 /* abbreviation to Oracle */
2955#define OCI_NLS_TERR_ORA_TO_ISO3 7 /* Map territory name from Oracle to */
2956 /* 3-letter ISO abbreviation */
2957#define OCI_NLS_LOCALE_A2_ISO_TO_ORA 8
2958 /*Map locale name from A2 ISO to oracle*/
2959#define OCI_NLS_LOCALE_A2_ORA_TO_ISO 9
2960 /*Map locale name from oracle to A2 ISO*/
2961
2962typedef struct OCIMsg OCIMsg;
2963typedef ub4 OCIWchar;
2964
2965#define OCI_XMLTYPE_CREATE_OCISTRING 1
2966#define OCI_XMLTYPE_CREATE_CLOB 2
2967#define OCI_XMLTYPE_CREATE_BLOB 3
2968
2969/*------------------------- Kerber Authentication Modes ---------------------*/
2970#define OCI_KERBCRED_PROXY 1 /* Apply Kerberos Creds for Proxy */
2971#define OCI_KERBCRED_CLIENT_IDENTIFIER 2/*Apply Creds for Secure Client ID */
2972
2973/*------------------------- Database Startup Flags --------------------------*/
2974#define OCI_DBSTARTUPFLAG_FORCE 0x00000001 /* Abort running instance, start */
2975#define OCI_DBSTARTUPFLAG_RESTRICT 0x00000002 /* Restrict access to DBA */
2976
2977/*------------------------- Database Shutdown Modes -------------------------*/
2978#define OCI_DBSHUTDOWN_TRANSACTIONAL 1 /* Wait for all the transactions */
2979#define OCI_DBSHUTDOWN_TRANSACTIONAL_LOCAL 2 /* Wait for local transactions */
2980#define OCI_DBSHUTDOWN_IMMEDIATE 3 /* Terminate and roll back */
2981#define OCI_DBSHUTDOWN_ABORT 4 /* Terminate and don't roll back */
2982#define OCI_DBSHUTDOWN_FINAL 5 /* Orderly shutdown */
2983
2984/*------------------------- Version information -----------------------------*/
2985#define OCI_MAJOR_VERSION 11 /* Major release version */
2986#define OCI_MINOR_VERSION 2 /* Minor release version */
2987
2988/*---------------------- OCIIOV structure definitions -----------------------*/
2989struct OCIIOV
2990{
2991 void *bfp; /* The Pointer to the data buffer */
2992 ub4 bfl; /* Length of the Data Buffer */
2993};
2994typedef struct OCIIOV OCIIOV;
2995
2996/*---------------------------------------------------------------------------
2997 PRIVATE TYPES AND CONSTANTS
2998 ---------------------------------------------------------------------------*/
2999
3000/* None */
3001
3002/*---------------------------------------------------------------------------
3003 PUBLIC FUNCTIONS
3004 ---------------------------------------------------------------------------*/
3005
3006/* see ociap.h or ocikp.h */
3007
3008/*---------------------------------------------------------------------------
3009 PRIVATE FUNCTIONS
3010 ---------------------------------------------------------------------------*/
3011
3012/* None */
3013
3014
3015#endif /* OCI_ORACLE */
3016
3017
3018/* more includes */
3019
3020#ifndef OCI1_ORACLE
3021#include <oci1.h>
3022#endif
3023
3024#ifndef ORO_ORACLE
3025#include <oro.h>
3026#endif
3027
3028#ifndef ORI_ORACLE
3029#include <ori.h>
3030#endif
3031
3032#ifndef ORL_ORACLE
3033#include <orl.h>
3034#endif
3035
3036#ifndef ORT_ORACLE
3037#include <ort.h>
3038#endif
3039
3040#ifndef OCIEXTP_ORACLE
3041#include <ociextp.h>
3042#endif
3043
3044#include <ociapr.h>
3045#include <ociap.h>
3046
3047#ifndef OCIXMLDB_ORACLE
3048#include <ocixmldb.h>
3049#endif
3050
3051#ifndef OCI8DP_ORACLE
3052#include <oci8dp.h> /* interface definitions for the direct path api */
3053#endif
3054
3055#ifndef OCIEXTP_ORACLE
3056#include <ociextp.h>
3057#endif
3058
3059#ifndef OCIXSTREAM_ORACLE
3060#include <ocixstream.h>
3061#endif
3062
3063#ifdef __cplusplus
3064}
3065#endif /* __cplusplus */
3066