增加oracle 11g x86版 instantclient
diff --git a/sdk/include/odci.h b/sdk/include/odci.h
new file mode 100755
index 0000000..c65cfad
--- /dev/null
+++ b/sdk/include/odci.h
@@ -0,0 +1,801 @@
+/*
+ *
+ */
+
+/* Copyright (c) 1998, 2010, Oracle and/or its affiliates.
+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)
+ yhu 02/03/10 - add a new flag ODCI_INDEX_UGI
+ 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
+#define ODCI_INDEX_UGI 0x0400
+
+/* 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 */