Annotation of win32/sql/oracle/include/oci/odci.h, revision 1.1
1.1 ! parser 1: /*
! 2: * $Header: /var/lib/cvsroot/parser3/parser3/src/sql/oracle/oracle32/include/oci/odci.h,v 1.1 2001/08/22 14:02:20 parser Exp $
! 3: */
! 4:
! 5: /* Copyright (c) Oracle Corporation 1998, 1999. All Rights Reserved. */
! 6:
! 7: /*
! 8: NAME
! 9: odci.h - Oracle Data Cartridge Interface definitions
! 10:
! 11: DESCRIPTION
! 12: This file contains Oracle Data Cartridge Interface definitions. These
! 13: include the ODCI Types and Constants.
! 14:
! 15: RELATED DOCUMENTS
! 16:
! 17: INSPECTION STATUS
! 18: Inspection date:
! 19: Inspection status:
! 20: Estimated increasing cost defects per page:
! 21: Rule sets:
! 22:
! 23: ACCEPTANCE REVIEW STATUS
! 24: Review date:
! 25: Review status:
! 26: Reviewers:
! 27:
! 28: PUBLIC FUNCTION(S)
! 29: <list of external functions declared/defined - with one-line descriptions>
! 30:
! 31: PRIVATE FUNCTION(S)
! 32: <list of static functions defined in .c file - with one-line descriptions>
! 33:
! 34: EXAMPLES
! 35:
! 36: NOTES
! 37: - The constants defined here are replica of the constants defined
! 38: in ODCIConst Package defined as part of catodci.sql. If you change
! 39: these do make the similar change in catodci.sql.
! 40:
! 41: MODIFIED (MM/DD/YY)
! 42: nagarwal 03/07/99 - bug# 838308 - set estimate_stats=1
! 43: rmurthy 11/09/98 - add blocking flag
! 44: ddas 10/31/98 - add ODCI_QUERY_SORT_ASC and ODCI_QUERY_SORT_DESC
! 45: ddas 05/26/98 - fix ODCIPredInfo flag bits
! 46: rmurthy 06/03/98 - add macro for RegularCall
! 47: spsundar 05/08/98 - add constants related to ODCIIndexAlter options
! 48: rmurthy 04/30/98 - remove include s.h
! 49: rmurthy 04/20/98 - name fixes
! 50: rmurthy 04/13/98 - add C mappings for odci types
! 51: alsrivas 04/10/98 - adding defines for ODCI_INDEX1
! 52: jsriniva 04/04/98 - Creation
! 53:
! 54: */
! 55:
! 56: #ifndef OCI_ORACLE
! 57: # include <oci.h>
! 58: #endif
! 59: #ifndef ODCI_ORACLE
! 60: # define ODCI_ORACLE
! 61:
! 62: /*---------------------------------------------------------------------------*/
! 63: /* SHORT NAMES SUPPORT SECTION */
! 64: /*---------------------------------------------------------------------------*/
! 65:
! 66: #ifdef SLSHORTNAME
! 67:
! 68: /* The following are short names that are only supported on IBM mainframes
! 69: * with the SLSHORTNAME defined.
! 70: * With this all subsequent long names will actually be substituted with
! 71: * the short names here
! 72: */
! 73:
! 74: #define ODCIColInfo_ref odcicir
! 75: #define ODCIColInfoList odcicil
! 76: #define ODCIIndexInfo_ref odciiir
! 77: #define ODCIPredInfo_ref odcipir
! 78: #define ODCIRidList odcirl
! 79: #define ODCIIndexCtx_ref odciicr
! 80: #define ODCIObject_ref odcior
! 81: #define ODCIObjectList odciol
! 82: #define ODCIQueryInfo_ref odciqir
! 83: #define ODCIFuncInfo_ref odcifir
! 84: #define ODCICost_ref odcicr
! 85: #define ODCIArgDesc_ref odciadr
! 86: #define ODCIArgDescList odciadl
! 87: #define ODCIStatsOptions_ref odcisor
! 88: #define ODCIColInfo odcici
! 89: #define ODCIColInfo_ind odcicii
! 90: #define ODCIIndexInfo odciii
! 91: #define ODCIIndexInfo_ind odciiii
! 92: #define ODCIPredInfo odcipi
! 93: #define ODCIPredInfo_ind odcipii
! 94: #define ODCIIndexCtx odciic
! 95: #define ODCIIndexCtx_ind odciici
! 96: #define ODCIObject odcio
! 97: #define ODCIObject_ind odcioi
! 98: #define ODCIQueryInfo odciqi
! 99: #define ODCIQueryInfo_ind odciqii
! 100: #define ODCIFuncInfo odcifi
! 101: #define ODCIFuncInfo_infd odcifii
! 102: #define ODCICost odcic
! 103: #define ODCICost_ind odcici
! 104: #define ODCIArgDesc odciad
! 105: #define ODCIArgDesc_ind odciadi
! 106: #define ODCIStatsOptions odciso
! 107: #define ODCIStatsOptions_ind odcisoi
! 108:
! 109: #endif /* SLSHORTNAME */
! 110:
! 111: /*---------------------------------------------------------------------------
! 112: PUBLIC TYPES AND CONSTANTS
! 113: ---------------------------------------------------------------------------*/
! 114:
! 115: /* Constants for Return Status */
! 116: #define ODCI_SUCCESS 0
! 117: #define ODCI_ERROR 1
! 118: #define ODCI_WARNING 2
! 119:
! 120: /* Constants for ODCIPredInfo.Flags */
! 121: #define ODCI_PRED_EXACT_MATCH 0x0001
! 122: #define ODCI_PRED_PREFIX_MATCH 0x0002
! 123: #define ODCI_PRED_INCLUDE_START 0x0004
! 124: #define ODCI_PRED_INCLUDE_STOP 0x0008
! 125: #define ODCI_PRED_OBJECT_FUNC 0x0010
! 126: #define ODCI_PRED_OBJECT_PKG 0x0020
! 127: #define ODCI_PRED_OBJECT_TYPE 0x0040
! 128:
! 129: /* Constants for QueryInfo.Flags */
! 130: #define ODCI_QUERY_FIRST_ROWS 0x01
! 131: #define ODCI_QUERY_ALL_ROWS 0x02
! 132: #define ODCI_QUERY_SORT_ASC 0x04
! 133: #define ODCI_QUERY_SORT_DESC 0x08
! 134: #define ODCI_QUERY_BLOCKING 0x10
! 135:
! 136: /* Constants for ScnFlg(Func /w Index Context) */
! 137: #define ODCI_CLEANUP_CALL 1
! 138: #define ODCI_REGULAR_CALL 2
! 139:
! 140: /* Constants for ODCIFuncInfo.Flags */
! 141: #define ODCI_OBJECT_FUNC 0x01
! 142: #define ODCI_OBJECT_PKG 0x02
! 143: #define ODCI_OBJECT_TYPE 0x04
! 144:
! 145: /* Constants for ODCIArgDesc.ArgType */
! 146: #define ODCI_ARG_OTHER 1
! 147: #define ODCI_ARG_COL 2 /* column */
! 148: #define ODCI_ARG_LIT 3 /* literal */
! 149: #define ODCI_ARG_ATTR 4 /* object attribute */
! 150: #define ODCI_ARG_NULL 5
! 151:
! 152: /* Constants for ODCIStatsOptions.Options */
! 153: #define ODCI_PERCENT_OPTION 1
! 154: #define ODCI_ROW_OPTION 2
! 155:
! 156: /* Constants for ODCIStatsOptions.Flags */
! 157: #define ODCI_ESTIMATE_STATS 0x01
! 158: #define ODCI_COMPUTE_STATS 0x02
! 159: #define ODCI_VALIDATE 0x04
! 160:
! 161: /* Constants for ODCIIndexAlter parameter alter_option */
! 162: #define ODCI_ALTIDX_NONE 0
! 163: #define ODCI_ALTIDX_RENAME 1
! 164: #define ODCI_ALTIDX_REBUILD 2
! 165: #define ODCI_ALTIDX_REBUILD_ONL 3
! 166:
! 167: /*---------------------------------------------------------------------------
! 168: ODCI TYPES
! 169: ---------------------------------------------------------------------------*/
! 170: /*
! 171: * These are C mappings for the OTS types defined in catodci.sql
! 172: */
! 173:
! 174: typedef OCIRef ODCIColInfo_ref;
! 175: typedef OCIArray ODCIColInfoList;
! 176: typedef OCIRef ODCIIndexInfo_ref;
! 177: typedef OCIRef ODCIPredInfo_ref;
! 178: typedef OCIArray ODCIRidList;
! 179: typedef OCIRef ODCIIndexCtx_ref;
! 180: typedef OCIRef ODCIObject_ref;
! 181: typedef OCIArray ODCIObjectList;
! 182: typedef OCIRef ODCIQueryInfo_ref;
! 183: typedef OCIRef ODCIFuncInfo_ref;
! 184: typedef OCIRef ODCICost_ref;
! 185: typedef OCIRef ODCIArgDesc_ref;
! 186: typedef OCIArray ODCIArgDescList;
! 187: typedef OCIRef ODCIStatsOptions_ref;
! 188:
! 189: struct ODCIColInfo
! 190: {
! 191: OCIString* TableSchema;
! 192: OCIString* TableName;
! 193: OCIString* ColName;
! 194: OCIString* ColTypName;
! 195: OCIString* ColTypSchema;
! 196: };
! 197: typedef struct ODCIColInfo ODCIColInfo;
! 198:
! 199: struct ODCIColInfo_ind
! 200: {
! 201: OCIInd atomic;
! 202: OCIInd TableSchema;
! 203: OCIInd TableName;
! 204: OCIInd ColName;
! 205: OCIInd ColTypName;
! 206: OCIInd ColTypSchema;
! 207: };
! 208: typedef struct ODCIColInfo_ind ODCIColInfo_ind;
! 209:
! 210: struct ODCIIndexInfo
! 211: {
! 212: OCIString* IndexSchema;
! 213: OCIString* IndexName;
! 214: ODCIColInfoList* IndexCols;
! 215: };
! 216: typedef struct ODCIIndexInfo ODCIIndexInfo;
! 217:
! 218: struct ODCIIndexInfo_ind
! 219: {
! 220: OCIInd atomic;
! 221: OCIInd IndexSchema;
! 222: OCIInd IndexName;
! 223: OCIInd IndexCols;
! 224: };
! 225: typedef struct ODCIIndexInfo_ind ODCIIndexInfo_ind;
! 226:
! 227: struct ODCIPredInfo
! 228: {
! 229: OCIString* ObjectSchema;
! 230: OCIString* ObjectName;
! 231: OCIString* MethodName;
! 232: OCINumber Flags;
! 233: };
! 234: typedef struct ODCIPredInfo ODCIPredInfo;
! 235:
! 236: struct ODCIPredInfo_ind
! 237: {
! 238: OCIInd atomic;
! 239: OCIInd ObjectSchema;
! 240: OCIInd ObjectName;
! 241: OCIInd MethodName;
! 242: OCIInd Flags;
! 243: };
! 244: typedef struct ODCIPredInfo_ind ODCIPredInfo_ind;
! 245:
! 246: struct ODCIIndexCtx
! 247: {
! 248: struct ODCIIndexInfo IndexInfo;
! 249: OCIString* Rid;
! 250: };
! 251: typedef struct ODCIIndexCtx ODCIIndexCtx;
! 252:
! 253: struct ODCIIndexCtx_ind
! 254: {
! 255: OCIInd atomic;
! 256: struct ODCIIndexInfo_ind IndexInfo;
! 257: OCIInd Rid;
! 258: };
! 259: typedef struct ODCIIndexCtx_ind ODCIIndexCtx_ind;
! 260:
! 261: struct ODCIObject
! 262: {
! 263: OCIString* ObjectSchema;
! 264: OCIString* ObjectName;
! 265: };
! 266: typedef struct ODCIObject ODCIObject;
! 267:
! 268: struct ODCIObject_ind
! 269: {
! 270: OCIInd atomic;
! 271: OCIInd ObjectSchema;
! 272: OCIInd ObjectName;
! 273: };
! 274: typedef struct ODCIObject_ind ODCIObject_ind;
! 275:
! 276: struct ODCIQueryInfo
! 277: {
! 278: OCINumber Flags;
! 279: ODCIObjectList* AncOps;
! 280: };
! 281: typedef struct ODCIQueryInfo ODCIQueryInfo;
! 282:
! 283:
! 284: struct ODCIQueryInfo_ind
! 285: {
! 286: OCIInd atomic;
! 287: OCIInd Flags;
! 288: OCIInd AncOps;
! 289: };
! 290: typedef struct ODCIQueryInfo_ind ODCIQueryInfo_ind;
! 291:
! 292: struct ODCIFuncInfo
! 293: {
! 294: OCIString* ObjectSchema;
! 295: OCIString* ObjectName;
! 296: OCIString* MethodName;
! 297: OCINumber Flags;
! 298: };
! 299: typedef struct ODCIFuncInfo ODCIFuncInfo;
! 300:
! 301: struct ODCIFuncInfo_ind
! 302: {
! 303: OCIInd atomic;
! 304: OCIInd ObjectSchema;
! 305: OCIInd ObjectName;
! 306: OCIInd MethodName;
! 307: OCIInd Flags;
! 308: };
! 309: typedef struct ODCIFuncInfo_ind ODCIFuncInfo_ind;
! 310:
! 311: struct ODCICost
! 312: {
! 313: OCINumber CPUcost;
! 314: OCINumber IOcost;
! 315: OCINumber NetworkCost;
! 316: };
! 317: typedef struct ODCICost ODCICost;
! 318:
! 319: struct ODCICost_ind
! 320: {
! 321: OCIInd atomic;
! 322: OCIInd CPUcost;
! 323: OCIInd IOcost;
! 324: OCIInd NetworkCost;
! 325: };
! 326: typedef struct ODCICost_ind ODCICost_ind;
! 327:
! 328: struct ODCIArgDesc
! 329: {
! 330: OCINumber ArgType;
! 331: OCIString* TableName;
! 332: OCIString* TableSchema;
! 333: OCIString* ColName;
! 334: };
! 335: typedef struct ODCIArgDesc ODCIArgDesc;
! 336:
! 337: struct ODCIArgDesc_ind
! 338: {
! 339: OCIInd atomic;
! 340: OCIInd ArgType;
! 341: OCIInd TableName;
! 342: OCIInd TableSchema;
! 343: OCIInd ColName;
! 344: };
! 345: typedef struct ODCIArgDesc_ind ODCIArgDesc_ind;
! 346:
! 347: struct ODCIStatsOptions
! 348: {
! 349: OCINumber Sample;
! 350: OCINumber Options;
! 351: OCINumber Flags;
! 352: };
! 353: typedef struct ODCIStatsOptions ODCIStatsOptions;
! 354:
! 355: struct ODCIStatsOptions_ind
! 356: {
! 357: OCIInd atomic;
! 358: OCIInd Sample;
! 359: OCIInd Options;
! 360: OCIInd Flags;
! 361: };
! 362: typedef struct ODCIStatsOptions_ind ODCIStatsOptions_ind;
! 363:
! 364:
! 365: /*---------------------------------------------------------------------------
! 366: PRIVATE TYPES AND CONSTANTS
! 367: ---------------------------------------------------------------------------*/
! 368:
! 369:
! 370: /*---------------------------------------------------------------------------
! 371: PUBLIC FUNCTIONS
! 372: ---------------------------------------------------------------------------*/
! 373:
! 374:
! 375: /*---------------------------------------------------------------------------
! 376: PRIVATE FUNCTIONS
! 377: ---------------------------------------------------------------------------*/
! 378:
! 379:
! 380: #endif /* ODCI_ORACLE */
E-mail: