| TerraLib 4.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

E:/Projetos_Primeiro_Semestre_2012/TerraView/terralib/src/terralib/drivers/Oracle/OCI/include/oci8dp.h
Go to the documentation of this file.

    00001 /*
    00002  * $Header$
    00003  */
    00004
    00005 /* Copyright (c) 1998, 2003, Oracle Corporation.  All rights reserved.  */
    00006
    00007 /*
    00008    NAME
    00009      oci8dp.h - OCI: Direct Path API interface prototypes.
    00010
    00011    DESCRIPTION
    00012      Public types, constants, and interfaces to the direct path API.
    00013
    00014    RELATED DOCUMENTS
    00015
    00016    NOTES
    00017      This file is not directly included by the application, this file
    00018      is included by "oci.h", which the application should include.
    00019
    00020    MODIFIED   (MM/DD/YY)
    00021    srseshad    03/12/03 - convert oci public api to ansi
    00022    msakayed    10/28/02 - Bug #2643907: add OCI_ATTR_DIRPATH_SKIPINDEX_METHOD
    00023    cmlim       04/13/01 - remove OCIDirPathStreamToStream - not used by dpapi
    00024    cmlim       04/02/01 - OCI_DIRPATH_EXPR_OPQ_SQL_FN to OCI_DIRPATH_EXPR_SQL
    00025    ebatbout    01/22/01 - PARTIAL value for OCIDirPathDataSave action parameter
    00026    cmlim       07/20/00 - support opaques/sql strings in 8.2 dpapi
    00027    cmlim       08/14/00 - support refs in 8.2 dpapi
    00028    cmlim       04/17/00 - add defines for OCIDirPathFuncCtx handle & OCI_ATTR_D
    00029    whe         09/01/99 - 976457:check __cplusplus for C++ code
    00030    abrumm      04/16/99 - dpapi: more attributes
    00031    abrumm      02/26/99 - add defines for DataSave action
    00032    abrumm      10/04/98 - clen must be a ub4
    00033    abrumm      05/27/98 - add column array flag values
    00034    abrumm      05/12/98 - direct path api support
    00035    abrumm      03/31/98 - OCI direct path interface support
    00036    abrumm      03/18/98 - Creation
    00037
    00038 */
    00039
    00040 #ifndef OCI8DP_ORACLE
    00041 # define OCI8DP_ORACLE
    00042
    00043 #ifndef ORATYPES
    00044 #include <oratypes.h>
    00045 #endif
    00046
    00047 #ifndef OCIDFN
    00048 #include <ocidfn.h>
    00049 #endif
    00050
    00051 #ifndef OCI_ORACLE
    00052 #include <oci.h>
    00053 #endif
    00054
    00055
    00056 /*---------------------------------------------------------------------------
    00057                      PUBLIC TYPES AND CONSTANTS
    00058   ---------------------------------------------------------------------------*/
    00059
    00060 /*----- Handles and descriptors for direct path operations (OCIDirPath*) ----*/
    00061
    00062 typedef struct OCIDirPathCtx      OCIDirPathCtx;                  /* context */
    00063 typedef struct OCIDirPathFuncCtx  OCIDirPathFuncCtx;     /* function context */
    00064 typedef struct OCIDirPathColArray OCIDirPathColArray;        /* column array */
    00065 typedef struct OCIDirPathStream   OCIDirPathStream;                /* stream */
    00066 typedef struct OCIDirPathDesc     OCIDirPathDesc;  /* direct path descriptor */
    00067
    00068                  /*----- Defines for Direct Path Options -----*/
    00069
    00070                  /* values for OCI_ATTR_DIRPATH_MODE attribute */
    00071 #define OCI_DIRPATH_LOAD         1             /* direct path load operation */
    00072 #define OCI_DIRPATH_UNLOAD       2           /* direct path unload operation */
    00073 #define OCI_DIRPATH_CONVERT      3     /* direct path convert only operation */
    00074
    00075     /*----- values for OCI_ATTR_DIRPATH_INDEX_MAINT_METHOD attribute -----*/
    00076 #define OCI_DIRPATH_INDEX_MAINT_SINGLE_ROW     1
    00077
    00078 /* Note that there are two attributes dealing with index maintenance -
    00079  * OCI_ATTR_DIRPATH_INDEX_MAINT_METHOD and OCI_ATTR_DIRPATH_SKIPINDEX_METHOD.
    00080  * OCI_ATTR_DIRPATH_SKIPINDEX_METHOD exists to isolate the behavior for
    00081  * skipping index maintenance since maintenance of unusable indexes is
    00082  * orthogonal to that of single row insertion.
    00083  * For backwards compatibility we still allow users to specify skip
    00084  * methods in OCI_ATTR_DIRPATH_INDEX_MAINT_METHOD so make sure the
    00085  * enumerations for the two attributes are distinct.
    00086  */
    00087     /*----- values for OCI_ATTR_DIRPATH_SKIPINDEX_METHOD attribute -----*/
    00088 #define OCI_DIRPATH_INDEX_MAINT_SKIP_UNUSABLE       2
    00089 #define OCI_DIRPATH_INDEX_MAINT_DONT_SKIP_UNUSABLE  3
    00090 #define OCI_DIRPATH_INDEX_MAINT_SKIP_ALL            4
    00091
    00092            /* values for OCI_ATTR_STATE attribute of OCIDirPathCtx */
    00093 #define OCI_DIRPATH_NORMAL       1     /* can accept rows, last row complete */
    00094 #define OCI_DIRPATH_PARTIAL      2                   /* last row was partial */
    00095 #define OCI_DIRPATH_NOT_PREPARED 3    /* direct path context is not prepared */
    00096
    00097      /*----- values for cflg argument to OCIDirpathColArrayEntrySet -----*/
    00098 #define OCI_DIRPATH_COL_COMPLETE 0                /* column data is complete */
    00099 #define OCI_DIRPATH_COL_NULL     1                         /* column is null */
    00100 #define OCI_DIRPATH_COL_PARTIAL  2                 /* column data is partial */
    00101
    00102           /*----- values for action parameter to OCIDirPathDataSave -----*/
    00103 #define OCI_DIRPATH_DATASAVE_SAVEONLY 0              /* data save point only */
    00104 #define OCI_DIRPATH_DATASAVE_FINISH   1           /* execute finishing logic */
    00105 /* save portion of input data (before space error occurred) and finish */
    00106 #define OCI_DIRPATH_DATASAVE_PARTIAL  2
    00107
    00108   /*- OCI_ATTR_DIRPATH_EXPR_TYPE values (describes OCI_ATTR_NAME expr type) -*/
    00109 #define OCI_DIRPATH_EXPR_OBJ_CONSTR  1      /* NAME is an object constructor */
    00110 #define OCI_DIRPATH_EXPR_SQL         2  /* NAME is an opaque or sql function */
    00111 #define OCI_DIRPATH_EXPR_REF_TBLNAME 3 /* NAME is table name if ref is scoped*/
    00112
    00113
    00114 /*---------------------------------------------------------------------------
    00115                            PUBLIC FUNCTIONS
    00116   ---------------------------------------------------------------------------*/
    00117
    00118 /*------------------------ OCIDirPathCtx Operations -------------------------*/
    00119
    00120 /*
    00121   NAME
    00122     OCIDirPathAbort - OCI: Abort a direct path operation.
    00123
    00124   DESCRIPTION
    00125     Aborts a direct path operation.  Upon successful completion
    00126     the direct path context is no longer valid.
    00127
    00128   RETURNS
    00129     An OCI error code, Oracle errors are returned via the error handle.
    00130   NOTES
    00131  */
    00132 sword
    00133 OCIDirPathAbort( OCIDirPathCtx *dpctx, OCIError *errhp );
    00134
    00135 /*
    00136   NAME
    00137     OCIDirPathDataSave - OCI: Execute a data save point.
    00138
    00139   DESCRIPTION
    00140     Successful return of this function indicates that a data save
    00141     point has been executed.
    00142
    00143   RETURNS
    00144     An OCI error code, Oracle errors are returned via the error handle.
    00145   NOTES
    00146  */
    00147 sword
    00148 OCIDirPathDataSave( OCIDirPathCtx *dpctx, OCIError *errhp, ub4 action );
    00149
    00150 /*
    00151   NAME
    00152     OCIDirPathFinish - OCI: Finish a direct path operation.
    00153
    00154   DESCRIPTION
    00155     Finishes a direct path operation.
    00156
    00157   RETURNS
    00158     An OCI error code, Oracle errors are returned via the error handle.
    00159   NOTES
    00160  */
    00161 sword
    00162 OCIDirPathFinish( OCIDirPathCtx *dpctx, OCIError  *errhp );
    00163
    00164 /*
    00165   NAME
    00166     OCIDirPathFlushRow - OCI: Flush a partial row from the server.
    00167
    00168   DESCRIPTION
    00169     Flushes a partially loaded row from the server.
    00170
    00171   RETURNS
    00172     An OCI error code, Oracle errors are returned via the error handle.
    00173   NOTES
    00174  */
    00175 sword
    00176 OCIDirPathFlushRow( OCIDirPathCtx *dpctx, OCIError  *errhp );
    00177
    00178 /*
    00179   NAME
    00180     OCIDirPathPrepare - OCI: Prepare a direct path operation.
    00181
    00182   DESCRIPTION
    00183     Prepares a table/partition for a direct path operation.
    00184
    00185   RETURNS
    00186     An OCI error code, Oracle errors are returned via the error handle.
    00187   NOTES
    00188  */
    00189 sword
    00190 OCIDirPathPrepare( OCIDirPathCtx *dpctx, OCISvcCtx *svchp,
    00191                       OCIError  *errhp );
    00192
    00193 /*
    00194   NAME
    00195     OCIDirPathLoadStream - OCI: Load a direct path stream.
    00196
    00197   DESCRIPTION
    00198     Load a direct path stream to the object associated with
    00199     the direct path context.
    00200
    00201   RETURNS
    00202     An OCI error code, Oracle errors are returned via the error handle.
    00203   NOTES
    00204  */
    00205 sword
    00206 OCIDirPathLoadStream( OCIDirPathCtx *dpctx, OCIDirPathStream *dpstr,
    00207                          OCIError      *errhp );
    00208
    00209
    00210 /*---------------------- OCIDirPathColArray Operations ----------------------*/
    00211
    00212 /*
    00213   NAME
    00214     OCIDirPathColArrayEntryGet - OCI:  Get column array entry.
    00215
    00216   DESCRIPTION
    00217     Column array function which is used to get a specified entry in
    00218     a column array.
    00219
    00220   RETURNS
    00221     An OCI error code, Oracle errors are returned via the error handle.
    00222   NOTES
    00223  */
    00224 sword
    00225 OCIDirPathColArrayEntryGet( OCIDirPathColArray *dpca, OCIError *errhp,
    00226                               ub4 rownum, ub2 colIdx, ub1 **cvalpp, ub4 *clenp,
    00227                               ub1 *cflgp );
    00228
    00229 /*
    00230   NAME
    00231     OCIDirPathColArrayEntrySet - OCI:  Set column array entry.
    00232
    00233   DESCRIPTION
    00234     Column array function which is used to set a specified entry in
    00235     a column array.
    00236
    00237   RETURNS
    00238     An OCI error code, Oracle errors are returned via the error handle.
    00239   NOTES
    00240  */
    00241 sword
    00242 OCIDirPathColArrayEntrySet( OCIDirPathColArray *dpca, OCIError *errhp,
    00243                                ub4 rownum, ub2 colIdx, ub1 *cvalp, ub4 clen,
    00244                                ub1 cflg );
    00245
    00246 /*
    00247   NAME
    00248     OCIDirPathColArrayRowGet - OCI:  Get column array row pointers.
    00249
    00250   DESCRIPTION
    00251     Column array function which is used to get the base row pointers
    00252     for a specified row in a column array.
    00253     To be used in lieu of OCIDirPathColArrayEntryGet() and
    00254     OCIDirPathColArrayEntrySet().
    00255
    00256   RETURNS
    00257     An OCI error code, Oracle errors are returned via the error handle.
    00258   NOTES
    00259  */
    00260 sword
    00261 OCIDirPathColArrayRowGet( OCIDirPathColArray *dpca, OCIError *errhp,
    00262                          ub4 rownum, ub1 ***cvalppp, ub4 **clenpp,
    00263                          ub1 **cflgpp );
    00264
    00265 /*
    00266   NAME
    00267     OCIDirPathColArrayReset - OCI: Reset Column Array State
    00268
    00269   DESCRIPTION
    00270     Function which resets the column array state.
    00271
    00272   RETURNS
    00273     An OCI error code, Oracle errors are returned via the error handle.
    00274   NOTES
    00275     Resetting the column array state is necessary when piecing in a large
    00276     column and an error occurs in the middle of loading the column.
    00277  */
    00278 sword
    00279 OCIDirPathColArrayReset( OCIDirPathColArray *dpca, OCIError *errhp );
    00280
    00281 /*
    00282   NAME
    00283     OCIDirPathColArrayToStream - OCI: Convert Column Array to Stream Format.
    00284
    00285   DESCRIPTION
    00286     Convert from column array format to stream format which is suitable
    00287     for loading via OCIDirPathLoadStream().
    00288
    00289   RETURNS
    00290     An OCI error code, Oracle errors are returned via the error handle.
    00291   NOTES
    00292  */
    00293 sword
    00294 OCIDirPathColArrayToStream( OCIDirPathColArray *dpca,  OCIDirPathCtx *dpctx,
    00295                                OCIDirPathStream   *dpstr, OCIError      *errhp,
    00296                                ub4 rowcnt, ub4 rowoff );
    00297
    00298
    00299
    00300 /*----------------------- OCIDirPathStream Operations -----------------------*/
    00301
    00302 /*
    00303   NAME
    00304     OCIDirPathStreamReset - OCI:
    00305
    00306   DESCRIPTION
    00307
    00308   RETURNS
    00309     An OCI error code, Oracle errors are returned via the error handle.
    00310   NOTES
    00311  */
    00312 sword
    00313 OCIDirPathStreamReset( OCIDirPathStream *dpstr, OCIError *errhp );
    00314
    00315 #endif                                              /* OCI8DP_ORACLE */

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines