Files correlati : Commento : - Creazione nuova cartella per contenere tutte le librerie esterne - Aggiunta nuova libreria sqlapi per interfacciare campo a vari DB git-svn-id: svn://10.65.10.50/branches/R_10_00@24149 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			799 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			799 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * 
 | |
|  */
 | |
| 
 | |
| /* Copyright (c) 1998, 2006, Oracle. All rights reserved.  */
 | |
|  
 | |
| /* 
 | |
|    NAME 
 | |
|      odci.h - Oracle Data Cartridge Interface definitions
 | |
| 
 | |
|    DESCRIPTION 
 | |
|      This file contains Oracle Data Cartridge Interface definitions. These
 | |
|      include the ODCI Types and Constants.
 | |
| 
 | |
|    RELATED DOCUMENTS 
 | |
|  
 | |
|    INSPECTION STATUS 
 | |
|      Inspection date: 
 | |
|      Inspection status: 
 | |
|      Estimated increasing cost defects per page: 
 | |
|      Rule sets: 
 | |
|  
 | |
|    ACCEPTANCE REVIEW STATUS 
 | |
|      Review date: 
 | |
|      Review status: 
 | |
|      Reviewers: 
 | |
|  
 | |
|    PUBLIC FUNCTION(S) 
 | |
|      None.
 | |
| 
 | |
|    PRIVATE FUNCTION(S)
 | |
|      None.
 | |
| 
 | |
|    EXAMPLES
 | |
| 
 | |
|    NOTES
 | |
|      - The constants defined here are replica of the constants defined 
 | |
|        in ODCIConst Package defined as part of catodci.sql. If you change
 | |
|        these do make the similar change in catodci.sql.
 | |
| 
 | |
|    MODIFIED   (MM/DD/YY)
 | |
|    spsundar    09/13/07 - 
 | |
|    yhu         06/02/06 - add callproperty for statistics 
 | |
|    yhu         05/22/06 - add ODCI_NODATA to speed rebuild empty index or ind. 
 | |
|                           part. 
 | |
|    srirkris    05/09/06 - change ODCIOrderByInfo_ind
 | |
|    srirkris    02/06/06 - add definitions for CDI query.
 | |
|    spsundar    02/17/06 - add fields/types for system managed domain idx
 | |
|    yhu         02/08/06 - add RenameCol Na d RenameTopADT 
 | |
|    yhu         03/11/05 - add flags for rename column and rename table 
 | |
|    spsundar    11/28/05 - add fields/types for composite domain idx
 | |
|    yhu         12/06/05 - mapping table for local text indexes 
 | |
|    dmukhin     06/29/05 - ANSI prototypes; miscellaneous cleanup 
 | |
|    ayoaz       04/21/03 - add CursorNum to ODCIEnv
 | |
|    abrumm      12/30/02 - Bug #2223225: add define for
 | |
|                           ODCI_ARG_DESC_LIST_MAXSIZE
 | |
|    ayoaz       10/14/02 - Add Cardinality to ODCIArgDesc
 | |
|    ayoaz       09/11/02 - add ODCIQueryInfo to ODCIIndexCtx
 | |
|    yhu         09/19/02 - add ODCI_DEBUGGING_ON for ODCIEnv.EnvFlags
 | |
|    hsbedi      10/10/02 - add object number into ODCIExtTableInfo
 | |
|    ayoaz       08/30/02 - add ODCITable2 types
 | |
|    tchorma     07/29/02 - Add ODCIFuncCallInfo type for WITH COLUMN CONTEXT
 | |
|    hsbedi      06/29/02 - External table populate
 | |
|    yhu         07/20/01 - add parallel degree in ODCIIndexInfo.
 | |
|    abrumm      02/20/01 - ODCIExtTableInfo: add AccessParmBlob attribute
 | |
|    abrumm      01/18/01 - ODCIExtTableInfo: add default directory
 | |
|    spsundar    08/24/00 - Update attrbiute positions
 | |
|    abrumm      08/04/00 - external tables changes: ODCIExtTableInfo, constants
 | |
|    tchorma     09/11/00 - Add return code ODCI_FATAL
 | |
|    tchorma     08/08/00 - Add Update Block References Option for Alter Index
 | |
|    ayoaz       08/01/00 - Add ODCI_AGGREGATE_REUSE_CTX
 | |
|    spsundar    06/19/00 - add ODCIEnv type
 | |
|    abrumm      06/27/00 - add defines for ODCIExtTable flags
 | |
|    abrumm      06/04/00 - external tables: ODCIExtTableInfo change; add ODCIEnv
 | |
|    ddas        04/28/00 - extensible optimizer enhancements for 8.2
 | |
|    yhu         06/05/00 - add a bit in IndexInfoFlags for trans. tblspc
 | |
|    yhu         04/10/00 - add ODCIPartInfo & remove ODCIIndexPartList
 | |
|    abrumm      03/29/00 - external table support
 | |
|    spsundar    02/14/00 - update odci definitions for 8.2
 | |
|    nagarwal    03/07/99 - bug# 838308 - set estimate_stats=1
 | |
|    rmurthy     11/09/98 - add blocking flag
 | |
|    ddas        10/31/98 - add ODCI_QUERY_SORT_ASC and ODCI_QUERY_SORT_DESC
 | |
|    ddas        05/26/98 - fix ODCIPredInfo flag bits
 | |
|    rmurthy     06/03/98 - add macro for RegularCall
 | |
|    spsundar    05/08/98 - add constants related to ODCIIndexAlter options
 | |
|    rmurthy     04/30/98 - remove include s.h
 | |
|    rmurthy     04/20/98 - name fixes
 | |
|    rmurthy     04/13/98 - add C mappings for odci types
 | |
|    alsrivas    04/10/98 - adding defines for ODCI_INDEX1
 | |
|    jsriniva    04/04/98 - Creation
 | |
| 
 | |
| */
 | |
| 
 | |
| #ifndef OCI_ORACLE
 | |
| # include <oci.h>
 | |
| #endif
 | |
| #ifndef ODCI_ORACLE
 | |
| # define ODCI_ORACLE
 | |
| 
 | |
| /*---------------------------------------------------------------------------*/
 | |
| /*                         SHORT NAMES SUPPORT SECTION                       */
 | |
| /*---------------------------------------------------------------------------*/
 | |
| 
 | |
| #ifdef SLSHORTNAME
 | |
| 
 | |
| /* The following are short names that are only supported on IBM mainframes
 | |
|  *   with the SLSHORTNAME defined.
 | |
|  * With this all subsequent long names will actually be substituted with
 | |
|  *  the short names here
 | |
|  */
 | |
| 
 | |
| #define ODCIColInfo_ref             odcicir
 | |
| #define ODCIColInfoList             odcicil
 | |
| #define ODCIColInfoList2            odcicil2
 | |
| #define ODCIIndexInfo_ref           odciiir
 | |
| #define ODCIPredInfo_ref            odcipir
 | |
| #define ODCIRidList                 odcirl
 | |
| #define ODCIIndexCtx_ref            odciicr
 | |
| #define ODCIObject_ref              odcior
 | |
| #define ODCIObjectList              odciol
 | |
| #define ODCIQueryInfo_ref           odciqir
 | |
| #define ODCIFuncInfo_ref            odcifir
 | |
| #define ODCICost_ref                odcicr
 | |
| #define ODCIArgDesc_ref             odciadr
 | |
| #define ODCIArgDescList             odciadl
 | |
| #define ODCIStatsOptions_ref        odcisor
 | |
| #define ODCIColInfo                 odcici
 | |
| #define ODCIColInfo_ind             odcicii
 | |
| #define ODCIIndexInfo               odciii
 | |
| #define ODCIIndexInfo_ind           odciiii
 | |
| #define ODCIPredInfo                odcipi
 | |
| #define ODCIPredInfo_ind            odcipii
 | |
| #define ODCIIndexCtx                odciic
 | |
| #define ODCIIndexCtx_ind            odciici
 | |
| #define ODCIObject                  odcio
 | |
| #define ODCIObject_ind              odcioi
 | |
| #define ODCIQueryInfo               odciqi
 | |
| #define ODCIQueryInfo_ind           odciqii
 | |
| #define ODCIFuncInfo                odcifi
 | |
| #define ODCIFuncInfo_infd           odcifii
 | |
| #define ODCICost                    odcic
 | |
| #define ODCICost_ind                odcici
 | |
| #define ODCIArgDesc                 odciad
 | |
| #define ODCIArgDesc_ind             odciadi
 | |
| #define ODCIStatsOptions            odciso
 | |
| #define ODCIStatsOptions_ind        odcisoi
 | |
| #define ODCIPartInfo                odcipti
 | |
| #define ODCIPartInfo_ind            odciptii
 | |
| #define ODCIPartInfo_ref            odciptir
 | |
| #define ODCIExtTableInfo            odcixt
 | |
| #define ODCIExtTableInfo_ind        odcixti
 | |
| #define ODCIExtTableInfo_ref        odcixtr
 | |
| #define ODCIExtTableQCInfo          odcixq
 | |
| #define ODCIExtTableQCInfo_ind      odcixqi
 | |
| #define ODCIExtTableQCInfo_ref      odcixqr
 | |
| #define ODCIFuncCallInfo            odcifc
 | |
| #define ODCIFuncCall_ind            odcifci
 | |
| #define ODCIFuncCall_ref            odcifcr
 | |
| #define ODCIColValList              odcicvl
 | |
| #define ODCIColArrayList            odcical
 | |
| #define ODCIFilterInfoList          odciflil
 | |
| #define ODCIOrderByInfoList         odciobil
 | |
| #define ODCIFilterInfo_ref          odciflir
 | |
| #define ODCIOrderByInfo_ref         odciobir
 | |
| #define ODCICompQueryInfo_ref       odcicqir
 | |
| #define ODCIFilterInfo              odcifli
 | |
| #define ODCIOrderByInfo             odciobi
 | |
| #define ODCICompQueryInfo           odcicqi
 | |
| #define ODCIFilterInfo_ind          odciflii
 | |
| #define ODCIOrderByInfo_ind         odciobii
 | |
| #define ODCICompQueryInfo_ind       odcicqii
 | |
| 
 | |
| #endif                                                        /* SLSHORTNAME */
 | |
| 
 | |
| /*---------------------------------------------------------------------------
 | |
|                      PUBLIC TYPES AND CONSTANTS
 | |
|   ---------------------------------------------------------------------------*/
 | |
| 
 | |
| /* Constants for Return Status */
 | |
| #define ODCI_SUCCESS             0
 | |
| #define ODCI_ERROR               1
 | |
| #define ODCI_WARNING             2
 | |
| #define ODCI_ERROR_CONTINUE      3
 | |
| #define ODCI_FATAL               4
 | |
| 
 | |
| /* Constants for ODCIPredInfo.Flags */
 | |
| #define ODCI_PRED_EXACT_MATCH    0x0001
 | |
| #define ODCI_PRED_PREFIX_MATCH   0x0002
 | |
| #define ODCI_PRED_INCLUDE_START  0x0004
 | |
| #define ODCI_PRED_INCLUDE_STOP   0x0008
 | |
| #define ODCI_PRED_OBJECT_FUNC    0x0010
 | |
| #define ODCI_PRED_OBJECT_PKG     0x0020
 | |
| #define ODCI_PRED_OBJECT_TYPE    0x0040
 | |
| #define ODCI_PRED_MULTI_TABLE    0x0080
 | |
| #define ODCI_PRED_NOT_EQUAL      0x0100
 | |
| 
 | |
| /* Constants for QueryInfo.Flags */
 | |
| #define ODCI_QUERY_FIRST_ROWS    0x01
 | |
| #define ODCI_QUERY_ALL_ROWS      0x02
 | |
| #define ODCI_QUERY_SORT_ASC      0x04
 | |
| #define ODCI_QUERY_SORT_DESC     0x08
 | |
| #define ODCI_QUERY_BLOCKING      0x10
 | |
| 
 | |
| /* Constants for ScnFlg(Func /w Index Context) */
 | |
| #define ODCI_CLEANUP_CALL        1
 | |
| #define ODCI_REGULAR_CALL        2
 | |
| 
 | |
| /* Constants for ODCIFuncInfo.Flags */
 | |
| #define ODCI_OBJECT_FUNC         0x01
 | |
| #define ODCI_OBJECT_PKG          0x02
 | |
| #define ODCI_OBJECT_TYPE         0x04
 | |
| 
 | |
| /* Constants for ODCIArgDesc.ArgType */
 | |
| #define ODCI_ARG_OTHER           1
 | |
| #define ODCI_ARG_COL             2                                 /* column */
 | |
| #define ODCI_ARG_LIT             3                                /* literal */
 | |
| #define ODCI_ARG_ATTR            4                       /* object attribute */
 | |
| #define ODCI_ARG_NULL            5
 | |
| #define ODCI_ARG_CURSOR          6
 | |
| 
 | |
| /* Maximum size of ODCIArgDescList array */
 | |
| #define ODCI_ARG_DESC_LIST_MAXSIZE 32767
 | |
| 
 | |
| /* Constants for ODCIStatsOptions.Options */
 | |
| #define ODCI_PERCENT_OPTION      1
 | |
| #define ODCI_ROW_OPTION          2
 | |
| 
 | |
| /* Constants for ODCIStatsOptions.Flags */
 | |
| #define ODCI_ESTIMATE_STATS     0x01
 | |
| #define ODCI_COMPUTE_STATS      0x02
 | |
| #define ODCI_VALIDATE           0x04
 | |
| 
 | |
| /* Constants for ODCIIndexAlter parameter alter_option */
 | |
| #define ODCI_ALTIDX_NONE               0
 | |
| #define ODCI_ALTIDX_RENAME             1
 | |
| #define ODCI_ALTIDX_REBUILD            2
 | |
| #define ODCI_ALTIDX_REBUILD_ONL        3
 | |
| #define ODCI_ALTIDX_MODIFY_COL         4
 | |
| #define ODCI_ALTIDX_UPDATE_BLOCK_REFS  5
 | |
| #define ODCI_ALTIDX_RENAME_COL         6
 | |
| #define ODCI_ALTIDX_RENAME_TAB         7
 | |
| #define ODCI_ALTIDX_MIGRATE            8
 | |
| 
 | |
| /* Constants for ODCIIndexInfo.IndexInfoFlags */
 | |
| #define ODCI_INDEX_LOCAL         0x0001
 | |
| #define ODCI_INDEX_RANGE_PARTN   0x0002
 | |
| #define ODCI_INDEX_HASH_PARTN    0x0004
 | |
| #define ODCI_INDEX_ONLINE        0x0008
 | |
| #define ODCI_INDEX_PARALLEL      0x0010
 | |
| #define ODCI_INDEX_UNUSABLE      0x0020
 | |
| #define ODCI_INDEX_ONIOT         0x0040
 | |
| #define ODCI_INDEX_TRANS_TBLSPC  0x0080
 | |
| #define ODCI_INDEX_FUNCTION_IDX  0x0100
 | |
| #define ODCI_INDEX_LIST_PARTN    0x0200
 | |
| 
 | |
| /* Constants for ODCIIndexInfo.IndexParaDegree */
 | |
| #define ODCI_INDEX_DEFAULT_DEGREE 32767
 | |
| 
 | |
| /* Constants for ODCIEnv.EnvFlags */
 | |
| #define ODCI_DEBUGGING_ON        0x01
 | |
| #define ODCI_NODATA              0x02
 | |
| 
 | |
| /* Constants for ODCIEnv.CallProperty */
 | |
| #define ODCI_CALL_NONE           0
 | |
| #define ODCI_CALL_FIRST          1
 | |
| #define ODCI_CALL_INTERMEDIATE   2
 | |
| #define ODCI_CALL_FINAL          3
 | |
| #define ODCI_CALL_REBUILD_INDEX  4
 | |
| #define ODCI_CALL_REBUILD_PMO    5
 | |
| #define ODCI_CALL_STATSGLOBAL    6
 | |
| #define ODCI_CALL_STATSGLOBALANDPARTITION    7
 | |
| #define ODCI_CALL_STATSPARTITION             8
 | |
| 
 | |
| /* Constants for ODCIExtTableInfo.OpCode */
 | |
| #define ODCI_EXTTABLE_INFO_OPCODE_FETCH           1
 | |
| #define ODCI_EXTTABLE_INFO_OPCODE_POPULATE        2
 | |
| 
 | |
| /* Constants (bit definitions) for ODCIExtTableInfo.Flag */
 | |
|     /* sampling type: row or block */
 | |
| #define ODCI_EXTTABLE_INFO_FLAG_SAMPLE           0x00000001
 | |
| #define ODCI_EXTTABLE_INFO_FLAG_SAMPLE_BLOCK     0x00000002
 | |
|     /* AccessParmClob, AccessParmBlob discriminator */
 | |
| #define ODCI_EXTTABLE_INFO_FLAG_ACCESS_PARM_CLOB 0x00000004
 | |
| #define ODCI_EXTTABLE_INFO_FLAG_ACCESS_PARM_BLOB 0x00000008
 | |
| 
 | |
| /* Constants for ODCIExtTableInfo.IntraSourceConcurrency */
 | |
| #define ODCI_TRUE  1
 | |
| #define ODCI_FALSE 0
 | |
| 
 | |
| /* Constants (bit definitions) for ODCIExtTable{Open,Fetch,Populate,Close}
 | |
|  * Flag argument.
 | |
|  */
 | |
| #define ODCI_EXTTABLE_OPEN_FLAGS_QC     0x00000001  /* caller is Query Coord */
 | |
| #define ODCI_EXTTABLE_OPEN_FLAGS_SHADOW 0x00000002  /* caller is shadow proc */
 | |
| #define ODCI_EXTTABLE_OPEN_FLAGS_SLAVE  0x00000004  /* caller is slave  proc */
 | |
| 
 | |
| #define ODCI_EXTTABLE_FETCH_FLAGS_EOS   0x00000001 /* end-of-stream on fetch */
 | |
| 
 | |
| /* Constants for Flags argument to ODCIAggregateTerminate */
 | |
| #define ODCI_AGGREGATE_REUSE_CTX  1
 | |
| 
 | |
| /* Constants for ODCIColInfo.Flags */
 | |
| #define ODCI_COMP_FILTERBY_COL     0x0001
 | |
| #define ODCI_COMP_ORDERBY_COL      0x0002
 | |
| #define ODCI_COMP_ORDERDSC_COL     0x0004
 | |
| #define ODCI_COMP_UPDATED_COL      0x0008
 | |
| #define ODCI_COMP_RENAMED_COL      0x0010
 | |
| #define ODCI_COMP_RENAMED_TOPADT   0x0020
 | |
| 
 | |
| /* Constants for ODCIOrderByInfo.ExprType */
 | |
| #define ODCI_COLUMN_EXPR   1
 | |
| #define ODCI_ANCOP_EXPR    2
 | |
| 
 | |
| /* Constants for ODCIOrderByInfo.SortOrder */
 | |
| #define ODCI_SORT_ASC    1
 | |
| #define ODCI_SORT_DESC   2
 | |
| #define ODCI_NULLS_FIRST 4
 | |
| 
 | |
| /* Constants for ODCIPartInfo.PartOp */
 | |
| #define  ODCI_ADD_PARTITION   1
 | |
| #define  ODCI_DROP_PARTITION  2
 | |
| 
 | |
| /*---------------------------------------------------------------------------
 | |
|                      ODCI TYPES
 | |
|   ---------------------------------------------------------------------------*/
 | |
| /*
 | |
|  * These are C mappings for the OTS types defined in catodci.sql
 | |
|  */
 | |
| 
 | |
| typedef OCIRef   ODCIColInfo_ref;
 | |
| typedef OCIArray ODCIColInfoList;
 | |
| typedef OCIArray ODCIColInfoList2;
 | |
| typedef OCIRef   ODCIIndexInfo_ref;
 | |
| typedef OCIRef   ODCIPredInfo_ref;
 | |
| typedef OCIArray ODCIRidList;
 | |
| typedef OCIRef   ODCIIndexCtx_ref;
 | |
| typedef OCIRef   ODCIObject_ref;
 | |
| typedef OCIArray ODCIObjectList;
 | |
| typedef OCIRef   ODCIQueryInfo_ref;
 | |
| typedef OCIRef   ODCIFuncInfo_ref;
 | |
| typedef OCIRef   ODCICost_ref;
 | |
| typedef OCIRef   ODCIArgDesc_ref;
 | |
| typedef OCIArray ODCIArgDescList;
 | |
| typedef OCIRef   ODCIStatsOptions_ref;
 | |
| typedef OCIRef   ODCIPartInfo_ref;
 | |
| typedef OCIRef   ODCIEnv_ref;
 | |
| typedef OCIRef   ODCIExtTableInfo_ref;             /* external table support */
 | |
| typedef OCIArray ODCIGranuleList;                  /* external table support */
 | |
| typedef OCIRef   ODCIExtTableQCInfo_ref;           /* external table support */
 | |
| typedef OCIRef   ODCIFuncCallInfo_ref;
 | |
| typedef OCIArray ODCINumberList;
 | |
| typedef OCIArray ODCIPartInfoList;
 | |
| typedef OCIArray ODCIColValList;
 | |
| typedef OCIArray ODCIColArrayList;
 | |
| typedef OCIArray ODCIFilterInfoList;
 | |
| typedef OCIArray ODCIOrderByInfoList;
 | |
| typedef OCIRef   ODCIFilterInfo_ref;
 | |
| typedef OCIRef   ODCIOrderByInfo_ref;
 | |
| typedef OCIRef   ODCICompQueryInfo_ref;
 | |
|  
 | |
| struct ODCIColInfo
 | |
| {
 | |
|    OCIString* TableSchema;
 | |
|    OCIString* TableName;
 | |
|    OCIString* ColName;
 | |
|    OCIString* ColTypName;
 | |
|    OCIString* ColTypSchema;
 | |
|    OCIString* TablePartition;
 | |
|    OCINumber  ColFlags;
 | |
|    OCINumber  ColOrderPos;
 | |
|    OCINumber  TablePartitionIden;
 | |
|    OCINumber  TablePartitionTotal;
 | |
| };
 | |
| typedef struct ODCIColInfo ODCIColInfo;
 | |
|  
 | |
| struct ODCIColInfo_ind
 | |
| {
 | |
|    OCIInd atomic;
 | |
|    OCIInd TableSchema;
 | |
|    OCIInd TableName;
 | |
|    OCIInd ColName;
 | |
|    OCIInd ColTypName;
 | |
|    OCIInd ColTypSchema;
 | |
|    OCIInd TablePartition;
 | |
|    OCIInd ColFlags;
 | |
|    OCIInd ColOrderPos;
 | |
|    OCIInd TablePartitionIden;
 | |
|    OCIInd TablePartitionTotal;
 | |
| };
 | |
| typedef struct ODCIColInfo_ind ODCIColInfo_ind;
 | |
| 
 | |
| struct ODCIFuncCallInfo
 | |
| {
 | |
|    struct ODCIColInfo ColInfo;
 | |
| };
 | |
| 
 | |
| struct ODCIFuncCallInfo_ind
 | |
| {
 | |
|   struct ODCIColInfo_ind ColInfo;
 | |
| };
 | |
|  
 | |
| struct ODCIIndexInfo
 | |
| {
 | |
|    OCIString*       IndexSchema;
 | |
|    OCIString*       IndexName;
 | |
|    ODCIColInfoList* IndexCols;
 | |
|    OCIString*       IndexPartition;
 | |
|    OCINumber        IndexInfoFlags;
 | |
|    OCINumber        IndexParaDegree;
 | |
|    OCINumber        IndexPartitionIden;
 | |
|    OCINumber        IndexPartitionTotal;
 | |
| };
 | |
| typedef struct ODCIIndexInfo ODCIIndexInfo;
 | |
|  
 | |
| struct ODCIIndexInfo_ind
 | |
| {
 | |
|    OCIInd atomic;
 | |
|    OCIInd IndexSchema;
 | |
|    OCIInd IndexName;
 | |
|    OCIInd IndexCols;
 | |
|    OCIInd IndexPartition;
 | |
|    OCIInd IndexInfoFlags;
 | |
|    OCIInd IndexParaDegree;
 | |
|    OCIInd IndexPartitionIden;
 | |
|    OCIInd IndexPartitionTotal;
 | |
| };
 | |
| typedef struct ODCIIndexInfo_ind ODCIIndexInfo_ind;
 | |
|  
 | |
| struct ODCIPredInfo
 | |
| {
 | |
|    OCIString* ObjectSchema;
 | |
|    OCIString* ObjectName;
 | |
|    OCIString* MethodName;
 | |
|    OCINumber  Flags;
 | |
| };
 | |
| typedef struct ODCIPredInfo ODCIPredInfo;
 | |
|  
 | |
| struct ODCIPredInfo_ind
 | |
| {
 | |
|    OCIInd atomic;
 | |
|    OCIInd ObjectSchema;
 | |
|    OCIInd ObjectName;
 | |
|    OCIInd MethodName;
 | |
|    OCIInd Flags;
 | |
| };
 | |
| typedef struct ODCIPredInfo_ind ODCIPredInfo_ind;
 | |
| 
 | |
| struct ODCIFilterInfo
 | |
| {
 | |
|   ODCIColInfo ColInfo;
 | |
|   OCINumber Flags;
 | |
|   OCIAnyData *strt;
 | |
|   OCIAnyData *stop;
 | |
| };
 | |
| typedef struct ODCIFilterInfo ODCIFilterInfo;
 | |
| 
 | |
| struct ODCIFilterInfo_ind
 | |
| {
 | |
|   OCIInd atomic;
 | |
|   ODCIColInfo_ind ColInfo;
 | |
|   OCIInd  Flags;
 | |
|   OCIInd  strt;
 | |
|   OCIInd  stop;
 | |
| };
 | |
| typedef struct ODCIFilterInfo_ind ODCIFilterInfo_ind;
 | |
| 
 | |
| 
 | |
| struct ODCIOrderByInfo
 | |
| {
 | |
|   OCINumber ExprType;
 | |
|   OCIString *ObjectSchema;
 | |
|   OCIString *TableName;
 | |
|   OCIString *ExprName;
 | |
|   OCINumber SortOrder;
 | |
| };
 | |
| typedef struct ODCIOrderByInfo ODCIOrderByInfo;
 | |
| 
 | |
| struct ODCIOrderByInfo_ind
 | |
| {
 | |
|   OCIInd atomic;
 | |
|   OCIInd ExprType;
 | |
|   OCIInd ObjectSchema;
 | |
|   OCIInd TableName;
 | |
|   OCIInd ExprName;
 | |
|   OCIInd SortOrder;
 | |
| };
 | |
| typedef struct ODCIOrderByInfo_ind ODCIOrderByInfo_ind;
 | |
| 
 | |
| 
 | |
| struct ODCICompQueryInfo
 | |
| {
 | |
|   ODCIFilterInfoList  *PredInfo;
 | |
|   ODCIOrderByInfoList *ObyInfo;
 | |
| };
 | |
| typedef struct ODCICompQueryInfo ODCICompQueryInfo;
 | |
| 
 | |
| struct ODCICompQueryInfo_ind
 | |
| {
 | |
|   OCIInd atomic;
 | |
|   OCIInd PredInfo;
 | |
|   OCIInd ObyInfo;
 | |
| };
 | |
| typedef struct ODCICompQueryInfo_ind ODCICompQueryInfo_ind;
 | |
| 
 | |
|  
 | |
| struct ODCIObject
 | |
| {
 | |
|    OCIString* ObjectSchema;
 | |
|    OCIString* ObjectName;
 | |
| };
 | |
| typedef struct ODCIObject ODCIObject;
 | |
|  
 | |
| struct ODCIObject_ind
 | |
| {
 | |
|    OCIInd atomic;
 | |
|    OCIInd ObjectSchema;
 | |
|    OCIInd ObjectName;
 | |
| };
 | |
| typedef struct ODCIObject_ind ODCIObject_ind;
 | |
|  
 | |
| struct ODCIQueryInfo
 | |
| {
 | |
|    OCINumber       Flags;
 | |
|    ODCIObjectList* AncOps;
 | |
|    ODCICompQueryInfo CompInfo;
 | |
| };
 | |
| typedef struct ODCIQueryInfo ODCIQueryInfo;
 | |
| 
 | |
|  
 | |
| struct ODCIQueryInfo_ind
 | |
| {
 | |
|    OCIInd atomic;
 | |
|    OCIInd Flags;
 | |
|    OCIInd AncOps;
 | |
|    ODCICompQueryInfo_ind CompInfo;
 | |
| };
 | |
| typedef struct ODCIQueryInfo_ind ODCIQueryInfo_ind;
 | |
|  
 | |
| struct ODCIIndexCtx
 | |
| {
 | |
|    struct ODCIIndexInfo IndexInfo;
 | |
|    OCIString*           Rid;
 | |
|    struct ODCIQueryInfo QueryInfo;
 | |
| };
 | |
| typedef struct ODCIIndexCtx ODCIIndexCtx;
 | |
|  
 | |
| struct ODCIIndexCtx_ind
 | |
| {
 | |
|    OCIInd                   atomic;
 | |
|    struct ODCIIndexInfo_ind IndexInfo;
 | |
|    OCIInd                   Rid;
 | |
|    struct ODCIQueryInfo_ind QueryInfo;
 | |
| };
 | |
| typedef struct ODCIIndexCtx_ind ODCIIndexCtx_ind;
 | |
|  
 | |
| struct ODCIFuncInfo
 | |
| {
 | |
|    OCIString* ObjectSchema;
 | |
|    OCIString* ObjectName;
 | |
|    OCIString* MethodName;
 | |
|    OCINumber Flags;
 | |
| };
 | |
| typedef struct ODCIFuncInfo ODCIFuncInfo;
 | |
|  
 | |
| struct ODCIFuncInfo_ind
 | |
| {
 | |
|    OCIInd atomic;
 | |
|    OCIInd ObjectSchema;
 | |
|    OCIInd ObjectName;
 | |
|    OCIInd MethodName;
 | |
|    OCIInd Flags;
 | |
| };
 | |
| typedef struct ODCIFuncInfo_ind ODCIFuncInfo_ind;
 | |
|  
 | |
| struct ODCICost
 | |
| {
 | |
|    OCINumber  CPUcost;
 | |
|    OCINumber  IOcost;
 | |
|    OCINumber  NetworkCost;
 | |
|    OCIString* IndexCostInfo;
 | |
| };
 | |
| typedef struct ODCICost ODCICost;
 | |
|  
 | |
| struct ODCICost_ind
 | |
| {
 | |
|    OCIInd atomic;
 | |
|    OCIInd CPUcost;
 | |
|    OCIInd IOcost;
 | |
|    OCIInd NetworkCost;
 | |
|    OCIInd IndexCostInfo;
 | |
| };
 | |
| typedef struct ODCICost_ind ODCICost_ind;
 | |
|  
 | |
| struct ODCIArgDesc
 | |
| {
 | |
|    OCINumber  ArgType;
 | |
|    OCIString* TableName;
 | |
|    OCIString* TableSchema;
 | |
|    OCIString* ColName;
 | |
|    OCIString* TablePartitionLower;
 | |
|    OCIString* TablePartitionUpper;
 | |
|    OCINumber  Cardinality;
 | |
| };
 | |
| typedef struct ODCIArgDesc ODCIArgDesc;
 | |
|  
 | |
| struct ODCIArgDesc_ind
 | |
| {
 | |
|    OCIInd atomic;
 | |
|    OCIInd ArgType;
 | |
|    OCIInd TableName;
 | |
|    OCIInd TableSchema;
 | |
|    OCIInd ColName;
 | |
|    OCIInd TablePartitionLower;
 | |
|    OCIInd TablePartitionUpper;
 | |
|    OCIInd Cardinality;
 | |
| };
 | |
| typedef struct ODCIArgDesc_ind ODCIArgDesc_ind;
 | |
|  
 | |
| struct ODCIStatsOptions
 | |
| {
 | |
|    OCINumber Sample;
 | |
|    OCINumber Options;
 | |
|    OCINumber Flags;
 | |
| };
 | |
| typedef struct ODCIStatsOptions ODCIStatsOptions;
 | |
|  
 | |
| struct ODCIStatsOptions_ind
 | |
| {
 | |
|    OCIInd atomic;
 | |
|    OCIInd Sample;
 | |
|    OCIInd Options;
 | |
|    OCIInd Flags;
 | |
| };
 | |
| typedef struct ODCIStatsOptions_ind ODCIStatsOptions_ind;
 | |
| 
 | |
| struct ODCIEnv
 | |
| {
 | |
|    OCINumber EnvFlags;
 | |
|    OCINumber CallProperty;
 | |
|    OCINumber DebugLevel;
 | |
|    OCINumber CursorNum;
 | |
| };
 | |
| typedef struct ODCIEnv ODCIEnv;
 | |
| 
 | |
| struct ODCIEnv_ind
 | |
| {
 | |
|    OCIInd _atomic;
 | |
|    OCIInd EnvFlags;
 | |
|    OCIInd CallProperty;
 | |
|    OCIInd DebugLevel;
 | |
|    OCIInd CursorNum;
 | |
| };
 | |
| typedef struct ODCIEnv_ind ODCIEnv_ind;
 | |
|  
 | |
| struct ODCIPartInfo
 | |
| {
 | |
|    OCIString* TablePartition;
 | |
|    OCIString* IndexPartition;
 | |
|    OCINumber  IndexPartitionIden;
 | |
|    OCINumber  PartOp;
 | |
| };
 | |
| typedef struct ODCIPartInfo ODCIPartInfo;
 | |
|  
 | |
| struct ODCIPartInfo_ind
 | |
| {
 | |
|    OCIInd atomic;
 | |
|    OCIInd TablePartition;
 | |
|    OCIInd IndexPartition;
 | |
|    OCIInd IndexPartitionIden;
 | |
|    OCIInd PartOp;
 | |
| };
 | |
| typedef struct ODCIPartInfo_ind ODCIPartInfo_ind;
 | |
| 
 | |
| /*---------- External Tables ----------*/
 | |
| struct ODCIExtTableInfo
 | |
| {
 | |
|    OCIString*       TableSchema;
 | |
|    OCIString*       TableName;
 | |
|    ODCIColInfoList* RefCols;
 | |
|    OCIClobLocator*  AccessParmClob;
 | |
|    OCIBlobLocator*  AccessParmBlob;
 | |
|    ODCIArgDescList* Locations;
 | |
|    ODCIArgDescList* Directories;
 | |
|    OCIString*       DefaultDirectory;
 | |
|    OCIString*       DriverType;
 | |
|    OCINumber        OpCode;
 | |
|    OCINumber        AgentNum;
 | |
|    OCINumber        GranuleSize;
 | |
|    OCINumber        Flag;
 | |
|    OCINumber        SamplePercent;
 | |
|    OCINumber        MaxDoP;
 | |
|    OCIRaw*          SharedBuf;
 | |
|    OCIString*       MTableName;
 | |
|    OCIString*       MTableSchema;
 | |
|    OCINumber        TableObjNo;
 | |
| };
 | |
| typedef struct ODCIExtTableInfo ODCIExtTableInfo;
 | |
| 
 | |
| struct ODCIExtTableInfo_ind
 | |
| {
 | |
|    OCIInd _atomic;
 | |
|    OCIInd TableSchema;
 | |
|    OCIInd TableName;
 | |
|    OCIInd RefCols;
 | |
|    OCIInd AccessParmClob;
 | |
|    OCIInd AccessParmBlob;
 | |
|    OCIInd Locations;
 | |
|    OCIInd Directories;
 | |
|    OCIInd DefaultDirectory;
 | |
|    OCIInd DriverType;
 | |
|    OCIInd OpCode;
 | |
|    OCIInd AgentNum;
 | |
|    OCIInd GranuleSize;
 | |
|    OCIInd Flag;
 | |
|    OCIInd SamplePercent;
 | |
|    OCIInd MaxDoP;
 | |
|    OCIInd SharedBuf;
 | |
|    OCIInd MTableName;
 | |
|    OCIInd MTableSchema;
 | |
|    OCIInd TableObjNo;
 | |
| };
 | |
| typedef struct ODCIExtTableInfo_ind ODCIExtTableInfo_ind;
 | |
| 
 | |
| struct ODCIExtTableQCInfo
 | |
| {
 | |
|    OCINumber        NumGranules;
 | |
|    OCINumber        NumLocations;
 | |
|    ODCIGranuleList* GranuleInfo;
 | |
|    OCINumber        IntraSourceConcurrency;
 | |
|    OCINumber        MaxDoP;
 | |
|    OCIRaw*          SharedBuf;
 | |
| };
 | |
| typedef struct ODCIExtTableQCInfo ODCIExtTableQCInfo;
 | |
| 
 | |
| struct ODCIExtTableQCInfo_ind
 | |
| {
 | |
|    OCIInd _atomic;
 | |
|    OCIInd NumGranules;
 | |
|    OCIInd NumLocations;
 | |
|    OCIInd GranuleInfo;
 | |
|    OCIInd IntraSourceConcurrency;
 | |
|    OCIInd MaxDoP;
 | |
|    OCIInd SharedBuf;
 | |
| };
 | |
| typedef struct ODCIExtTableQCInfo_ind ODCIExtTableQCInfo_ind;
 | |
| 
 | |
| /*********************************************************/
 | |
| /* Table Function Info types (used by ODCITablePrepare)  */
 | |
| /*********************************************************/
 | |
| 
 | |
| struct ODCITabFuncInfo
 | |
| {
 | |
|   ODCINumberList*  Attrs;
 | |
|   OCIType*         RetType;
 | |
| };
 | |
| typedef struct ODCITabFuncInfo ODCITabFuncInfo;
 | |
| 
 | |
| struct ODCITabFuncInfo_ind
 | |
| {
 | |
|   OCIInd _atomic;
 | |
|   OCIInd Attrs;
 | |
|   OCIInd RetType;
 | |
| };
 | |
| typedef struct ODCITabFuncInfo_ind ODCITabFuncInfo_ind;
 | |
| 
 | |
| /*********************************************************************/
 | |
| /* Table Function Statistics types (used by ODCIStatsTableFunction)  */
 | |
| /*********************************************************************/
 | |
| 
 | |
| struct ODCITabFuncStats
 | |
| {
 | |
|   OCINumber num_rows;
 | |
| };
 | |
| typedef struct ODCITabFuncStats ODCITabFuncStats;
 | |
| 
 | |
| struct ODCITabFuncStats_ind
 | |
| {
 | |
|   OCIInd _atomic;
 | |
|   OCIInd num_rows;
 | |
| };
 | |
| typedef struct ODCITabFuncStats_ind ODCITabFuncStats_ind;
 | |
| 
 | |
| /*---------------------------------------------------------------------------
 | |
|                      PRIVATE TYPES AND CONSTANTS
 | |
|   ---------------------------------------------------------------------------*/
 | |
| 
 | |
| 
 | |
| /*---------------------------------------------------------------------------
 | |
|                            PUBLIC FUNCTIONS
 | |
|   ---------------------------------------------------------------------------*/
 | |
| 
 | |
| 
 | |
| /*---------------------------------------------------------------------------
 | |
|                           PRIVATE FUNCTIONS
 | |
|   ---------------------------------------------------------------------------*/
 | |
| 
 | |
| 
 | |
| #endif                                              /* ODCI_ORACLE */
 |