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 */
 |