odci.h

Go to the documentation of this file.
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 */

Generated on Sun Jul 29 04:01:06 2012 for TerraLib - Development Source by  doxygen 1.5.3