00001 /* 00002 * $Header$ 00003 */ 00004 00005 /* Copyright (c) 1998, 2003, Oracle Corporation. All rights reserved. */ 00006 00007 /* 00008 NAME 00009 odci.h - Oracle Data Cartridge Interface definitions 00010 00011 DESCRIPTION 00012 This file contains Oracle Data Cartridge Interface definitions. These 00013 include the ODCI Types and Constants. 00014 00015 RELATED DOCUMENTS 00016 00017 INSPECTION STATUS 00018 Inspection date: 00019 Inspection status: 00020 Estimated increasing cost defects per page: 00021 Rule sets: 00022 00023 ACCEPTANCE REVIEW STATUS 00024 Review date: 00025 Review status: 00026 Reviewers: 00027 00028 PUBLIC FUNCTION(S) 00029 None. 00030 00031 PRIVATE FUNCTION(S) 00032 None. 00033 00034 EXAMPLES 00035 00036 NOTES 00037 - The constants defined here are replica of the constants defined 00038 in ODCIConst Package defined as part of catodci.sql. If you change 00039 these do make the similar change in catodci.sql. 00040 00041 MODIFIED (MM/DD/YY) 00042 ayoaz 04/21/03 - add CursorNum to ODCIEnv 00043 abrumm 12/30/02 - Bug #2223225: add define for 00044 ODCI_ARG_DESC_LIST_MAXSIZE 00045 ayoaz 10/14/02 - Add Cardinality to ODCIArgDesc 00046 ayoaz 09/11/02 - add ODCIQueryInfo to ODCIIndexCtx 00047 yhu 09/19/02 - add ODCI_DEBUGGING_ON for ODCIEnv.EnvFlags 00048 hsbedi 10/10/02 - add object number into ODCIExtTableInfo 00049 ayoaz 08/30/02 - add ODCITable2 types 00050 tchorma 07/29/02 - Add ODCIFuncCallInfo type for WITH COLUMN CONTEXT 00051 hsbedi 06/29/02 - External table populate 00052 yhu 07/20/01 - add parallel degree in ODCIIndexInfo. 00053 abrumm 02/20/01 - ODCIExtTableInfo: add AccessParmBlob attribute 00054 abrumm 01/18/01 - ODCIExtTableInfo: add default directory 00055 spsundar 08/24/00 - Update attrbiute positions 00056 abrumm 08/04/00 - external tables changes: ODCIExtTableInfo, constants 00057 tchorma 09/11/00 - Add return code ODCI_FATAL 00058 tchorma 08/08/00 - Add Update Block References Option for Alter Index 00059 ayoaz 08/01/00 - Add ODCI_AGGREGATE_REUSE_CTX 00060 spsundar 06/19/00 - add ODCIEnv type 00061 abrumm 06/27/00 - add defines for ODCIExtTable flags 00062 abrumm 06/04/00 - external tables: ODCIExtTableInfo change; add ODCIEnv 00063 ddas 04/28/00 - extensible optimizer enhancements for 8.2 00064 yhu 06/05/00 - add a bit in IndexInfoFlags for trans. tblspc 00065 yhu 04/10/00 - add ODCIPartInfo & remove ODCIIndexPartList 00066 abrumm 03/29/00 - external table support 00067 spsundar 02/14/00 - update odci definitions for 8.2 00068 nagarwal 03/07/99 - bug# 838308 - set estimate_stats=1 00069 rmurthy 11/09/98 - add blocking flag 00070 ddas 10/31/98 - add ODCI_QUERY_SORT_ASC and ODCI_QUERY_SORT_DESC 00071 ddas 05/26/98 - fix ODCIPredInfo flag bits 00072 rmurthy 06/03/98 - add macro for RegularCall 00073 spsundar 05/08/98 - add constants related to ODCIIndexAlter options 00074 rmurthy 04/30/98 - remove include s.h 00075 rmurthy 04/20/98 - name fixes 00076 rmurthy 04/13/98 - add C mappings for odci types 00077 alsrivas 04/10/98 - adding defines for ODCI_INDEX1 00078 jsriniva 04/04/98 - Creation 00079 00080 */ 00081 00082 #ifndef OCI_ORACLE 00083 # include <oci.h> 00084 #endif 00085 #ifndef ODCI_ORACLE 00086 # define ODCI_ORACLE 00087 00088 /*---------------------------------------------------------------------------*/ 00089 /* SHORT NAMES SUPPORT SECTION */ 00090 /*---------------------------------------------------------------------------*/ 00091 00092 #ifdef SLSHORTNAME 00093 00094 /* The following are short names that are only supported on IBM mainframes 00095 * with the SLSHORTNAME defined. 00096 * With this all subsequent long names will actually be substituted with 00097 * the short names here 00098 */ 00099 00100 #define ODCIColInfo_ref odcicir 00101 #define ODCIColInfoList odcicil 00102 #define ODCIColInfoList2 odcicil2 00103 #define ODCIIndexInfo_ref odciiir 00104 #define ODCIPredInfo_ref odcipir 00105 #define ODCIRidList odcirl 00106 #define ODCIIndexCtx_ref odciicr 00107 #define ODCIObject_ref odcior 00108 #define ODCIObjectList odciol 00109 #define ODCIQueryInfo_ref odciqir 00110 #define ODCIFuncInfo_ref odcifir 00111 #define ODCICost_ref odcicr 00112 #define ODCIArgDesc_ref odciadr 00113 #define ODCIArgDescList odciadl 00114 #define ODCIStatsOptions_ref odcisor 00115 #define ODCIColInfo odcici 00116 #define ODCIColInfo_ind odcicii 00117 #define ODCIIndexInfo odciii 00118 #define ODCIIndexInfo_ind odciiii 00119 #define ODCIPredInfo odcipi 00120 #define ODCIPredInfo_ind odcipii 00121 #define ODCIIndexCtx odciic 00122 #define ODCIIndexCtx_ind odciici 00123 #define ODCIObject odcio 00124 #define ODCIObject_ind odcioi 00125 #define ODCIQueryInfo odciqi 00126 #define ODCIQueryInfo_ind odciqii 00127 #define ODCIFuncInfo odcifi 00128 #define ODCIFuncInfo_infd odcifii 00129 #define ODCICost odcic 00130 #define ODCICost_ind odcici 00131 #define ODCIArgDesc odciad 00132 #define ODCIArgDesc_ind odciadi 00133 #define ODCIStatsOptions odciso 00134 #define ODCIStatsOptions_ind odcisoi 00135 #define ODCIPartInfo odcipti 00136 #define ODCIPartInfo_ind odciptii 00137 #define ODCIPartInfo_ref odciptir 00138 #define ODCIExtTableInfo odcixt 00139 #define ODCIExtTableInfo_ind odcixti 00140 #define ODCIExtTableInfo_ref odcixtr 00141 #define ODCIExtTableQCInfo odcixq 00142 #define ODCIExtTableQCInfo_ind odcixqi 00143 #define ODCIExtTableQCInfo_ref odcixqr 00144 #define ODCIFuncCallInfo odcifc 00145 #define ODCIFuncCall_ind odcifci 00146 #define ODCIFuncCall_ref odcifcr 00147 00148 #endif /* SLSHORTNAME */ 00149 00150 /*--------------------------------------------------------------------------- 00151 PUBLIC TYPES AND CONSTANTS 00152 ---------------------------------------------------------------------------*/ 00153 00154 /* Constants for Return Status */ 00155 #define ODCI_SUCCESS 0 00156 #define ODCI_ERROR 1 00157 #define ODCI_WARNING 2 00158 #define ODCI_ERROR_CONTINUE 3 00159 #define ODCI_FATAL 4 00160 00161 /* Constants for ODCIPredInfo.Flags */ 00162 #define ODCI_PRED_EXACT_MATCH 0x0001 00163 #define ODCI_PRED_PREFIX_MATCH 0x0002 00164 #define ODCI_PRED_INCLUDE_START 0x0004 00165 #define ODCI_PRED_INCLUDE_STOP 0x0008 00166 #define ODCI_PRED_OBJECT_FUNC 0x0010 00167 #define ODCI_PRED_OBJECT_PKG 0x0020 00168 #define ODCI_PRED_OBJECT_TYPE 0x0040 00169 #define ODCI_PRED_MULTI_TABLE 0x0080 00170 00171 /* Constants for QueryInfo.Flags */ 00172 #define ODCI_QUERY_FIRST_ROWS 0x01 00173 #define ODCI_QUERY_ALL_ROWS 0x02 00174 #define ODCI_QUERY_SORT_ASC 0x04 00175 #define ODCI_QUERY_SORT_DESC 0x08 00176 #define ODCI_QUERY_BLOCKING 0x10 00177 00178 /* Constants for ScnFlg(Func /w Index Context) */ 00179 #define ODCI_CLEANUP_CALL 1 00180 #define ODCI_REGULAR_CALL 2 00181 00182 /* Constants for ODCIFuncInfo.Flags */ 00183 #define ODCI_OBJECT_FUNC 0x01 00184 #define ODCI_OBJECT_PKG 0x02 00185 #define ODCI_OBJECT_TYPE 0x04 00186 00187 /* Constants for ODCIArgDesc.ArgType */ 00188 #define ODCI_ARG_OTHER 1 00189 #define ODCI_ARG_COL 2 /* column */ 00190 #define ODCI_ARG_LIT 3 /* literal */ 00191 #define ODCI_ARG_ATTR 4 /* object attribute */ 00192 #define ODCI_ARG_NULL 5 00193 #define ODCI_ARG_CURSOR 6 00194 00195 /* Maximum size of ODCIArgDescList array */ 00196 #define ODCI_ARG_DESC_LIST_MAXSIZE 32767 00197 00198 /* Constants for ODCIStatsOptions.Options */ 00199 #define ODCI_PERCENT_OPTION 1 00200 #define ODCI_ROW_OPTION 2 00201 00202 /* Constants for ODCIStatsOptions.Flags */ 00203 #define ODCI_ESTIMATE_STATS 0x01 00204 #define ODCI_COMPUTE_STATS 0x02 00205 #define ODCI_VALIDATE 0x04 00206 00207 /* Constants for ODCIIndexAlter parameter alter_option */ 00208 #define ODCI_ALTIDX_NONE 0 00209 #define ODCI_ALTIDX_RENAME 1 00210 #define ODCI_ALTIDX_REBUILD 2 00211 #define ODCI_ALTIDX_REBUILD_ONL 3 00212 #define ODCI_ALTIDX_MODIFY_COL 4 00213 #define ODCI_ALTIDX_UPDATE_BLOCK_REFS 5 00214 00215 /* Constants for ODCIIndexInfo.IndexInfoFlags */ 00216 #define ODCI_INDEX_LOCAL 0x0001 00217 #define ODCI_INDEX_RANGE_PARTN 0x0002 00218 #define ODCI_INDEX_HASH_PARTN 0x0004 00219 #define ODCI_INDEX_ONLINE 0x0008 00220 #define ODCI_INDEX_PARALLEL 0x0010 00221 #define ODCI_INDEX_UNUSABLE 0x0020 00222 #define ODCI_INDEX_ONIOT 0x0040 00223 #define ODCI_INDEX_TRANS_TBLSPC 0x0080 00224 #define ODCI_INDEX_FUNCTION_IDX 0x0100 00225 00226 /* Constants for ODCIIndexInfo.IndexParaDegree */ 00227 #define ODCI_INDEX_DEFAULT_DEGREE 32767 00228 00229 /* Constants for ODCIEnv.EnvFlags */ 00230 #define ODCI_DEBUGGING_ON 0x01 00231 00232 /* Constants for ODCIEnv.CallProperty */ 00233 #define ODCI_CALL_NONE 0 00234 #define ODCI_CALL_FIRST 1 00235 #define ODCI_CALL_INTERMEDIATE 2 00236 #define ODCI_CALL_FINAL 3 00237 00238 /* Constants for ODCIExtTableInfo.OpCode */ 00239 #define ODCI_EXTTABLE_INFO_OPCODE_FETCH 1 00240 #define ODCI_EXTTABLE_INFO_OPCODE_POPULATE 2 00241 00242 /* Constants (bit definitions) for ODCIExtTableInfo.Flag */ 00243 /* sampling type: row or block */ 00244 #define ODCI_EXTTABLE_INFO_FLAG_SAMPLE 0x00000001 00245 #define ODCI_EXTTABLE_INFO_FLAG_SAMPLE_BLOCK 0x00000002 00246 /* AccessParmClob, AccessParmBlob discriminator */ 00247 #define ODCI_EXTTABLE_INFO_FLAG_ACCESS_PARM_CLOB 0x00000004 00248 #define ODCI_EXTTABLE_INFO_FLAG_ACCESS_PARM_BLOB 0x00000008 00249 00250 /* Constants for ODCIExtTableInfo.IntraSourceConcurrency */ 00251 #define ODCI_TRUE 1 00252 #define ODCI_FALSE 0 00253 00254 /* Constants (bit definitions) for ODCIExtTable{Open,Fetch,Populate,Close} 00255 * Flag argument. 00256 */ 00257 #define ODCI_EXTTABLE_OPEN_FLAGS_QC 0x00000001 /* caller is Query Coord */ 00258 #define ODCI_EXTTABLE_OPEN_FLAGS_SHADOW 0x00000002 /* caller is shadow proc */ 00259 #define ODCI_EXTTABLE_OPEN_FLAGS_SLAVE 0x00000004 /* caller is slave proc */ 00260 00261 #define ODCI_EXTTABLE_FETCH_FLAGS_EOS 0x00000001 /* end-of-stream on fetch */ 00262 00263 /* Constants for Flags argument to ODCIAggregateTerminate */ 00264 #define ODCI_AGGREGATE_REUSE_CTX 1 00265 00266 /*--------------------------------------------------------------------------- 00267 ODCI TYPES 00268 ---------------------------------------------------------------------------*/ 00269 /* 00270 * These are C mappings for the OTS types defined in catodci.sql 00271 */ 00272 00273 typedef OCIRef ODCIColInfo_ref; 00274 typedef OCIArray ODCIColInfoList; 00275 typedef OCIArray ODCIColInfoList2; 00276 typedef OCIRef ODCIIndexInfo_ref; 00277 typedef OCIRef ODCIPredInfo_ref; 00278 typedef OCIArray ODCIRidList; 00279 typedef OCIRef ODCIIndexCtx_ref; 00280 typedef OCIRef ODCIObject_ref; 00281 typedef OCIArray ODCIObjectList; 00282 typedef OCIRef ODCIQueryInfo_ref; 00283 typedef OCIRef ODCIFuncInfo_ref; 00284 typedef OCIRef ODCICost_ref; 00285 typedef OCIRef ODCIArgDesc_ref; 00286 typedef OCIArray ODCIArgDescList; 00287 typedef OCIRef ODCIStatsOptions_ref; 00288 typedef OCIRef ODCIPartInfo_ref; 00289 typedef OCIRef ODCIEnv_ref; 00290 typedef OCIRef ODCIExtTableInfo_ref; /* external table support */ 00291 typedef OCIArray ODCIGranuleList; /* external table support */ 00292 typedef OCIRef ODCIExtTableQCInfo_ref; /* external table support */ 00293 typedef OCIRef ODCIFuncCallInfo_ref; 00294 typedef OCIArray ODCINumberList; 00295 00296 struct ODCIColInfo 00297 { 00298 OCIString* TableSchema; 00299 OCIString* TableName; 00300 OCIString* ColName; 00301 OCIString* ColTypName; 00302 OCIString* ColTypSchema; 00303 OCIString* TablePartition; 00304 }; 00305 typedef struct ODCIColInfo ODCIColInfo; 00306 00307 struct ODCIColInfo_ind 00308 { 00309 OCIInd atomic; 00310 OCIInd TableSchema; 00311 OCIInd TableName; 00312 OCIInd ColName; 00313 OCIInd ColTypName; 00314 OCIInd ColTypSchema; 00315 OCIInd TablePartition; 00316 }; 00317 typedef struct ODCIColInfo_ind ODCIColInfo_ind; 00318 00319 struct ODCIFuncCallInfo 00320 { 00321 struct ODCIColInfo ColInfo; 00322 }; 00323 00324 struct ODCIFuncCallInfo_ind 00325 { 00326 struct ODCIColInfo_ind ColInfo; 00327 }; 00328 00329 struct ODCIIndexInfo 00330 { 00331 OCIString* IndexSchema; 00332 OCIString* IndexName; 00333 ODCIColInfoList* IndexCols; 00334 OCIString* IndexPartition; 00335 OCINumber IndexInfoFlags; 00336 OCINumber IndexParaDegree; 00337 }; 00338 typedef struct ODCIIndexInfo ODCIIndexInfo; 00339 00340 struct ODCIIndexInfo_ind 00341 { 00342 OCIInd atomic; 00343 OCIInd IndexSchema; 00344 OCIInd IndexName; 00345 OCIInd IndexCols; 00346 OCIInd IndexPartition; 00347 OCIInd IndexInfoFlags; 00348 OCIInd IndexParaDegree; 00349 }; 00350 typedef struct ODCIIndexInfo_ind ODCIIndexInfo_ind; 00351 00352 struct ODCIPredInfo 00353 { 00354 OCIString* ObjectSchema; 00355 OCIString* ObjectName; 00356 OCIString* MethodName; 00357 OCINumber Flags; 00358 }; 00359 typedef struct ODCIPredInfo ODCIPredInfo; 00360 00361 struct ODCIPredInfo_ind 00362 { 00363 OCIInd atomic; 00364 OCIInd ObjectSchema; 00365 OCIInd ObjectName; 00366 OCIInd MethodName; 00367 OCIInd Flags; 00368 }; 00369 typedef struct ODCIPredInfo_ind ODCIPredInfo_ind; 00370 00371 struct ODCIObject 00372 { 00373 OCIString* ObjectSchema; 00374 OCIString* ObjectName; 00375 }; 00376 typedef struct ODCIObject ODCIObject; 00377 00378 struct ODCIObject_ind 00379 { 00380 OCIInd atomic; 00381 OCIInd ObjectSchema; 00382 OCIInd ObjectName; 00383 }; 00384 typedef struct ODCIObject_ind ODCIObject_ind; 00385 00386 struct ODCIQueryInfo 00387 { 00388 OCINumber Flags; 00389 ODCIObjectList* AncOps; 00390 }; 00391 typedef struct ODCIQueryInfo ODCIQueryInfo; 00392 00393 00394 struct ODCIQueryInfo_ind 00395 { 00396 OCIInd atomic; 00397 OCIInd Flags; 00398 OCIInd AncOps; 00399 }; 00400 typedef struct ODCIQueryInfo_ind ODCIQueryInfo_ind; 00401 00402 struct ODCIIndexCtx 00403 { 00404 struct ODCIIndexInfo IndexInfo; 00405 OCIString* Rid; 00406 struct ODCIQueryInfo QueryInfo; 00407 }; 00408 typedef struct ODCIIndexCtx ODCIIndexCtx; 00409 00410 struct ODCIIndexCtx_ind 00411 { 00412 OCIInd atomic; 00413 struct ODCIIndexInfo_ind IndexInfo; 00414 OCIInd Rid; 00415 struct ODCIQueryInfo_ind QueryInfo; 00416 }; 00417 typedef struct ODCIIndexCtx_ind ODCIIndexCtx_ind; 00418 00419 struct ODCIFuncInfo 00420 { 00421 OCIString* ObjectSchema; 00422 OCIString* ObjectName; 00423 OCIString* MethodName; 00424 OCINumber Flags; 00425 }; 00426 typedef struct ODCIFuncInfo ODCIFuncInfo; 00427 00428 struct ODCIFuncInfo_ind 00429 { 00430 OCIInd atomic; 00431 OCIInd ObjectSchema; 00432 OCIInd ObjectName; 00433 OCIInd MethodName; 00434 OCIInd Flags; 00435 }; 00436 typedef struct ODCIFuncInfo_ind ODCIFuncInfo_ind; 00437 00438 struct ODCICost 00439 { 00440 OCINumber CPUcost; 00441 OCINumber IOcost; 00442 OCINumber NetworkCost; 00443 OCIString* IndexCostInfo; 00444 }; 00445 typedef struct ODCICost ODCICost; 00446 00447 struct ODCICost_ind 00448 { 00449 OCIInd atomic; 00450 OCIInd CPUcost; 00451 OCIInd IOcost; 00452 OCIInd NetworkCost; 00453 OCIInd IndexCostInfo; 00454 }; 00455 typedef struct ODCICost_ind ODCICost_ind; 00456 00457 struct ODCIArgDesc 00458 { 00459 OCINumber ArgType; 00460 OCIString* TableName; 00461 OCIString* TableSchema; 00462 OCIString* ColName; 00463 OCIString* TablePartitionLower; 00464 OCIString* TablePartitionUpper; 00465 OCINumber Cardinality; 00466 }; 00467 typedef struct ODCIArgDesc ODCIArgDesc; 00468 00469 struct ODCIArgDesc_ind 00470 { 00471 OCIInd atomic; 00472 OCIInd ArgType; 00473 OCIInd TableName; 00474 OCIInd TableSchema; 00475 OCIInd ColName; 00476 OCIInd TablePartitionLower; 00477 OCIInd TablePartitionUpper; 00478 OCIInd Cardinality; 00479 }; 00480 typedef struct ODCIArgDesc_ind ODCIArgDesc_ind; 00481 00482 struct ODCIStatsOptions 00483 { 00484 OCINumber Sample; 00485 OCINumber Options; 00486 OCINumber Flags; 00487 }; 00488 typedef struct ODCIStatsOptions ODCIStatsOptions; 00489 00490 struct ODCIStatsOptions_ind 00491 { 00492 OCIInd atomic; 00493 OCIInd Sample; 00494 OCIInd Options; 00495 OCIInd Flags; 00496 }; 00497 typedef struct ODCIStatsOptions_ind ODCIStatsOptions_ind; 00498 00499 struct ODCIEnv 00500 { 00501 OCINumber EnvFlags; 00502 OCINumber CallProperty; 00503 OCINumber DebugLevel; 00504 OCINumber CursorNum; 00505 }; 00506 typedef struct ODCIEnv ODCIEnv; 00507 00508 struct ODCIEnv_ind 00509 { 00510 OCIInd _atomic; 00511 OCIInd EnvFlags; 00512 OCIInd CallProperty; 00513 OCIInd DebugLevel; 00514 OCIInd CursorNum; 00515 }; 00516 typedef struct ODCIEnv_ind ODCIEnv_ind; 00517 00518 struct ODCIPartInfo 00519 { 00520 OCIString* TablePartition; 00521 OCIString* IndexPartition; 00522 }; 00523 typedef struct ODCIPartInfo ODCIPartInfo; 00524 00525 struct ODCIPartInfo_ind 00526 { 00527 OCIInd atomic; 00528 OCIInd TablePartition; 00529 OCIInd IndexPartition; 00530 }; 00531 typedef struct ODCIPartInfo_ind ODCIPartInfo_ind; 00532 00533 /*---------- External Tables ----------*/ 00534 struct ODCIExtTableInfo 00535 { 00536 OCIString* TableSchema; 00537 OCIString* TableName; 00538 ODCIColInfoList* RefCols; 00539 OCIClobLocator* AccessParmClob; 00540 OCIBlobLocator* AccessParmBlob; 00541 ODCIArgDescList* Locations; 00542 ODCIArgDescList* Directories; 00543 OCIString* DefaultDirectory; 00544 OCIString* DriverType; 00545 OCINumber OpCode; 00546 OCINumber AgentNum; 00547 OCINumber GranuleSize; 00548 OCINumber Flag; 00549 OCINumber SamplePercent; 00550 OCINumber MaxDoP; 00551 OCIRaw* SharedBuf; 00552 OCIString* MTableName; 00553 OCIString* MTableSchema; 00554 OCINumber TableObjNo; 00555 }; 00556 typedef struct ODCIExtTableInfo ODCIExtTableInfo; 00557 00558 struct ODCIExtTableInfo_ind 00559 { 00560 OCIInd _atomic; 00561 OCIInd TableSchema; 00562 OCIInd TableName; 00563 OCIInd RefCols; 00564 OCIInd AccessParmClob; 00565 OCIInd AccessParmBlob; 00566 OCIInd Locations; 00567 OCIInd Directories; 00568 OCIInd DefaultDirectory; 00569 OCIInd DriverType; 00570 OCIInd OpCode; 00571 OCIInd AgentNum; 00572 OCIInd GranuleSize; 00573 OCIInd Flag; 00574 OCIInd SamplePercent; 00575 OCIInd MaxDoP; 00576 OCIInd SharedBuf; 00577 OCIInd MTableName; 00578 OCIInd MTableSchema; 00579 OCIInd TableObjNo; 00580 }; 00581 typedef struct ODCIExtTableInfo_ind ODCIExtTableInfo_ind; 00582 00583 struct ODCIExtTableQCInfo 00584 { 00585 OCINumber NumGranules; 00586 OCINumber NumLocations; 00587 ODCIGranuleList* GranuleInfo; 00588 OCINumber IntraSourceConcurrency; 00589 OCINumber MaxDoP; 00590 OCIRaw* SharedBuf; 00591 }; 00592 typedef struct ODCIExtTableQCInfo ODCIExtTableQCInfo; 00593 00594 struct ODCIExtTableQCInfo_ind 00595 { 00596 OCIInd _atomic; 00597 OCIInd NumGranules; 00598 OCIInd NumLocations; 00599 OCIInd GranuleInfo; 00600 OCIInd IntraSourceConcurrency; 00601 OCIInd MaxDoP; 00602 OCIInd SharedBuf; 00603 }; 00604 typedef struct ODCIExtTableQCInfo_ind ODCIExtTableQCInfo_ind; 00605 00606 /*********************************************************/ 00607 /* Table Function Info types (used by ODCITablePrepare) */ 00608 /*********************************************************/ 00609 00610 struct ODCITabFuncInfo 00611 { 00612 ODCINumberList* Attrs; 00613 OCIType* RetType; 00614 }; 00615 typedef struct ODCITabFuncInfo ODCITabFuncInfo; 00616 00617 struct ODCITabFuncInfo_ind 00618 { 00619 OCIInd _atomic; 00620 OCIInd Attrs; 00621 OCIInd RetType; 00622 }; 00623 typedef struct ODCITabFuncInfo_ind ODCITabFuncInfo_ind; 00624 00625 /*********************************************************************/ 00626 /* Table Function Statistics types (used by ODCIStatsTableFunction) */ 00627 /*********************************************************************/ 00628 00629 struct ODCITabFuncStats 00630 { 00631 OCINumber num_rows; 00632 }; 00633 typedef struct ODCITabFuncStats ODCITabFuncStats; 00634 00635 struct ODCITabFuncStats_ind 00636 { 00637 OCIInd _atomic; 00638 OCIInd num_rows; 00639 }; 00640 typedef struct ODCITabFuncStats_ind ODCITabFuncStats_ind; 00641 00642 /*--------------------------------------------------------------------------- 00643 PRIVATE TYPES AND CONSTANTS 00644 ---------------------------------------------------------------------------*/ 00645 00646 00647 /*--------------------------------------------------------------------------- 00648 PUBLIC FUNCTIONS 00649 ---------------------------------------------------------------------------*/ 00650 00651 00652 /*--------------------------------------------------------------------------- 00653 PRIVATE FUNCTIONS 00654 ---------------------------------------------------------------------------*/ 00655 00656 00657 #endif /* ODCI_ORACLE */
1.5.3