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: