Annotation of win32/sql/oracle/include/oci/odci.h, revision 1.1.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: