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
		
			
				
	
	
		
			318 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			318 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * 
 | |
|  */
 | |
| 
 | |
| /* Copyright (c) 1998, 2005, Oracle. All rights reserved.  */
 | |
|  
 | |
| /* 
 | |
|    NAME 
 | |
|      oci8dp.h - OCI: Direct Path API interface prototypes.
 | |
| 
 | |
|    DESCRIPTION 
 | |
|      Public types, constants, and interfaces to the direct path API.
 | |
| 
 | |
|    RELATED DOCUMENTS 
 | |
|  
 | |
|    NOTES
 | |
|      This file is not directly included by the application, this file
 | |
|      is included by "oci.h", which the application should include.
 | |
| 
 | |
|    MODIFIED   (MM/DD/YY)
 | |
|    dmukhin     06/29/05 - ANSI prototypes; miscellaneous cleanup 
 | |
|    rphillip    02/27/04 - Add OCI_DIRPATH_COL_ERROR 
 | |
|    srseshad    03/12/03 - convert oci public api to ansi
 | |
|    msakayed    10/28/02 - Bug #2643907: add OCI_ATTR_DIRPATH_SKIPINDEX_METHOD
 | |
|    cmlim       04/13/01 - remove OCIDirPathStreamToStream - not used by dpapi
 | |
|    cmlim       04/02/01 - OCI_DIRPATH_EXPR_OPQ_SQL_FN to OCI_DIRPATH_EXPR_SQL
 | |
|    ebatbout    01/22/01 - PARTIAL value for OCIDirPathDataSave action parameter
 | |
|    cmlim       07/20/00 - support opaques/sql strings in 8.2 dpapi
 | |
|    cmlim       08/14/00 - support refs in 8.2 dpapi
 | |
|    cmlim       04/17/00 - add defines for OCIDirPathFuncCtx handle & OCI_ATTR_D
 | |
|    whe         09/01/99 - 976457:check __cplusplus for C++ code
 | |
|    abrumm      04/16/99 - dpapi: more attributes
 | |
|    abrumm      02/26/99 - add defines for DataSave action
 | |
|    abrumm      10/04/98 - clen must be a ub4
 | |
|    abrumm      05/27/98 - add column array flag values
 | |
|    abrumm      05/12/98 - direct path api support
 | |
|    abrumm      03/31/98 - OCI direct path interface support
 | |
|    abrumm      03/18/98 - Creation
 | |
| 
 | |
| */
 | |
| 
 | |
| #ifndef OCI8DP_ORACLE
 | |
| # define OCI8DP_ORACLE
 | |
| 
 | |
| #ifndef ORATYPES
 | |
| #include <oratypes.h>
 | |
| #endif
 | |
| 
 | |
| #ifndef OCIDFN
 | |
| #include <ocidfn.h>
 | |
| #endif
 | |
| 
 | |
| #ifndef OCI_ORACLE
 | |
| #include <oci.h>
 | |
| #endif
 | |
| 
 | |
| 
 | |
| /*---------------------------------------------------------------------------
 | |
|                      PUBLIC TYPES AND CONSTANTS
 | |
|   ---------------------------------------------------------------------------*/
 | |
| 
 | |
| /*----- Handles and descriptors for direct path operations (OCIDirPath*) ----*/
 | |
| 
 | |
| typedef struct OCIDirPathCtx      OCIDirPathCtx;                  /* context */
 | |
| typedef struct OCIDirPathFuncCtx  OCIDirPathFuncCtx;     /* function context */
 | |
| typedef struct OCIDirPathColArray OCIDirPathColArray;        /* column array */
 | |
| typedef struct OCIDirPathStream   OCIDirPathStream;                /* stream */
 | |
| typedef struct OCIDirPathDesc     OCIDirPathDesc;  /* direct path descriptor */
 | |
| 
 | |
|                  /*----- Defines for Direct Path Options -----*/
 | |
| 
 | |
|                  /* values for OCI_ATTR_DIRPATH_MODE attribute */
 | |
| #define OCI_DIRPATH_LOAD         1             /* direct path load operation */
 | |
| #define OCI_DIRPATH_UNLOAD       2           /* direct path unload operation */
 | |
| #define OCI_DIRPATH_CONVERT      3     /* direct path convert only operation */
 | |
| 
 | |
|     /*----- values for OCI_ATTR_DIRPATH_INDEX_MAINT_METHOD attribute -----*/
 | |
| #define OCI_DIRPATH_INDEX_MAINT_SINGLE_ROW     1
 | |
| 
 | |
| /* Note that there are two attributes dealing with index maintenance -
 | |
|  * OCI_ATTR_DIRPATH_INDEX_MAINT_METHOD and OCI_ATTR_DIRPATH_SKIPINDEX_METHOD.
 | |
|  * OCI_ATTR_DIRPATH_SKIPINDEX_METHOD exists to isolate the behavior for
 | |
|  * skipping index maintenance since maintenance of unusable indexes is 
 | |
|  * orthogonal to that of single row insertion.
 | |
|  * For backwards compatibility we still allow users to specify skip
 | |
|  * methods in OCI_ATTR_DIRPATH_INDEX_MAINT_METHOD so make sure the
 | |
|  * enumerations for the two attributes are distinct.
 | |
|  */
 | |
|     /*----- values for OCI_ATTR_DIRPATH_SKIPINDEX_METHOD attribute -----*/
 | |
| #define OCI_DIRPATH_INDEX_MAINT_SKIP_UNUSABLE       2
 | |
| #define OCI_DIRPATH_INDEX_MAINT_DONT_SKIP_UNUSABLE  3
 | |
| #define OCI_DIRPATH_INDEX_MAINT_SKIP_ALL            4
 | |
| 
 | |
|            /* values for OCI_ATTR_STATE attribute of OCIDirPathCtx */
 | |
| #define OCI_DIRPATH_NORMAL       1     /* can accept rows, last row complete */
 | |
| #define OCI_DIRPATH_PARTIAL      2                   /* last row was partial */
 | |
| #define OCI_DIRPATH_NOT_PREPARED 3    /* direct path context is not prepared */
 | |
| 
 | |
|      /*----- values for cflg argument to OCIDirpathColArrayEntrySet -----*/
 | |
| #define OCI_DIRPATH_COL_COMPLETE 0                /* column data is complete */
 | |
| #define OCI_DIRPATH_COL_NULL     1                         /* column is null */
 | |
| #define OCI_DIRPATH_COL_PARTIAL  2                 /* column data is partial */
 | |
| #define OCI_DIRPATH_COL_ERROR    3               /* column error, ignore row */
 | |
|           /*----- values for action parameter to OCIDirPathDataSave -----*/
 | |
| #define OCI_DIRPATH_DATASAVE_SAVEONLY 0              /* data save point only */
 | |
| #define OCI_DIRPATH_DATASAVE_FINISH   1           /* execute finishing logic */
 | |
| /* save portion of input data (before space error occurred) and finish */
 | |
| #define OCI_DIRPATH_DATASAVE_PARTIAL  2       
 | |
| 
 | |
|   /*- OCI_ATTR_DIRPATH_EXPR_TYPE values (describes OCI_ATTR_NAME expr type) -*/
 | |
| #define OCI_DIRPATH_EXPR_OBJ_CONSTR  1      /* NAME is an object constructor */
 | |
| #define OCI_DIRPATH_EXPR_SQL         2  /* NAME is an opaque or sql function */
 | |
| #define OCI_DIRPATH_EXPR_REF_TBLNAME 3 /* NAME is table name if ref is scoped*/
 | |
| 
 | |
| 
 | |
| /*---------------------------------------------------------------------------
 | |
|                            PUBLIC FUNCTIONS
 | |
|   ---------------------------------------------------------------------------*/
 | |
| 
 | |
| /*------------------------ OCIDirPathCtx Operations -------------------------*/
 | |
| 
 | |
| /*
 | |
|   NAME
 | |
|     OCIDirPathAbort - OCI: Abort a direct path operation.
 | |
| 
 | |
|   DESCRIPTION
 | |
|     Aborts a direct path operation.  Upon successful completion
 | |
|     the direct path context is no longer valid.
 | |
| 
 | |
|   RETURNS
 | |
|     An OCI error code, Oracle errors are returned via the error handle.
 | |
|   NOTES
 | |
|  */
 | |
| sword
 | |
| OCIDirPathAbort( OCIDirPathCtx *dpctx, OCIError *errhp );
 | |
| 
 | |
| /*
 | |
|   NAME
 | |
|     OCIDirPathDataSave - OCI: Execute a data save point.
 | |
| 
 | |
|   DESCRIPTION
 | |
|     Successful return of this function indicates that a data save
 | |
|     point has been executed.
 | |
| 
 | |
|   RETURNS
 | |
|     An OCI error code, Oracle errors are returned via the error handle.
 | |
|   NOTES
 | |
|  */
 | |
| sword
 | |
| OCIDirPathDataSave( OCIDirPathCtx *dpctx, OCIError *errhp, ub4 action );
 | |
| 
 | |
| /*
 | |
|   NAME
 | |
|     OCIDirPathFinish - OCI: Finish a direct path operation.
 | |
| 
 | |
|   DESCRIPTION
 | |
|     Finishes a direct path operation.
 | |
| 
 | |
|   RETURNS
 | |
|     An OCI error code, Oracle errors are returned via the error handle.
 | |
|   NOTES
 | |
|  */
 | |
| sword
 | |
| OCIDirPathFinish( OCIDirPathCtx *dpctx, OCIError  *errhp );
 | |
| 
 | |
| /*
 | |
|   NAME
 | |
|     OCIDirPathFlushRow - OCI: Flush a partial row from the server.
 | |
| 
 | |
|   DESCRIPTION
 | |
|     Flushes a partially loaded row from the server.
 | |
| 
 | |
|   RETURNS
 | |
|     An OCI error code, Oracle errors are returned via the error handle.
 | |
|   NOTES
 | |
|  */
 | |
| sword
 | |
| OCIDirPathFlushRow( OCIDirPathCtx *dpctx, OCIError  *errhp );
 | |
| 
 | |
| /*
 | |
|   NAME
 | |
|     OCIDirPathPrepare - OCI: Prepare a direct path operation.
 | |
| 
 | |
|   DESCRIPTION
 | |
|     Prepares a table/partition for a direct path operation.
 | |
| 
 | |
|   RETURNS
 | |
|     An OCI error code, Oracle errors are returned via the error handle.
 | |
|   NOTES
 | |
|  */
 | |
| sword
 | |
| OCIDirPathPrepare( OCIDirPathCtx *dpctx, OCISvcCtx *svchp,
 | |
|                       OCIError  *errhp );
 | |
| 
 | |
| /*
 | |
|   NAME
 | |
|     OCIDirPathLoadStream - OCI: Load a direct path stream.
 | |
| 
 | |
|   DESCRIPTION
 | |
|     Load a direct path stream to the object associated with
 | |
|     the direct path context.
 | |
| 
 | |
|   RETURNS
 | |
|     An OCI error code, Oracle errors are returned via the error handle.
 | |
|   NOTES
 | |
|  */
 | |
| sword
 | |
| OCIDirPathLoadStream( OCIDirPathCtx *dpctx, OCIDirPathStream *dpstr,
 | |
|                          OCIError      *errhp );
 | |
| 
 | |
| 
 | |
| /*---------------------- OCIDirPathColArray Operations ----------------------*/
 | |
| 
 | |
| /*
 | |
|   NAME
 | |
|     OCIDirPathColArrayEntryGet - OCI:  Get column array entry.
 | |
| 
 | |
|   DESCRIPTION
 | |
|     Column array function which is used to get a specified entry in
 | |
|     a column array.
 | |
| 
 | |
|   RETURNS
 | |
|     An OCI error code, Oracle errors are returned via the error handle.
 | |
|   NOTES
 | |
|  */
 | |
| sword
 | |
| OCIDirPathColArrayEntryGet( OCIDirPathColArray *dpca, OCIError *errhp,
 | |
|                               ub4 rownum, ub2 colIdx, ub1 **cvalpp, ub4 *clenp,
 | |
|                               ub1 *cflgp );
 | |
| 
 | |
| /*
 | |
|   NAME
 | |
|     OCIDirPathColArrayEntrySet - OCI:  Set column array entry.
 | |
| 
 | |
|   DESCRIPTION
 | |
|     Column array function which is used to set a specified entry in
 | |
|     a column array.
 | |
| 
 | |
|   RETURNS
 | |
|     An OCI error code, Oracle errors are returned via the error handle.
 | |
|   NOTES
 | |
|  */
 | |
| sword
 | |
| OCIDirPathColArrayEntrySet( OCIDirPathColArray *dpca, OCIError *errhp,
 | |
|                                ub4 rownum, ub2 colIdx, ub1 *cvalp, ub4 clen,
 | |
|                                ub1 cflg );
 | |
| 
 | |
| /*
 | |
|   NAME
 | |
|     OCIDirPathColArrayRowGet - OCI:  Get column array row pointers.
 | |
| 
 | |
|   DESCRIPTION
 | |
|     Column array function which is used to get the base row pointers
 | |
|     for a specified row in a column array.
 | |
|     To be used in lieu of OCIDirPathColArrayEntryGet() and
 | |
|     OCIDirPathColArrayEntrySet().
 | |
| 
 | |
|   RETURNS
 | |
|     An OCI error code, Oracle errors are returned via the error handle.
 | |
|   NOTES
 | |
|  */
 | |
| sword
 | |
| OCIDirPathColArrayRowGet( OCIDirPathColArray *dpca, OCIError *errhp,
 | |
|                          ub4 rownum, ub1 ***cvalppp, ub4 **clenpp,
 | |
|                          ub1 **cflgpp );
 | |
| 
 | |
| /*
 | |
|   NAME
 | |
|     OCIDirPathColArrayReset - OCI: Reset Column Array State
 | |
| 
 | |
|   DESCRIPTION
 | |
|     Function which resets the column array state.
 | |
| 
 | |
|   RETURNS
 | |
|     An OCI error code, Oracle errors are returned via the error handle.
 | |
|   NOTES
 | |
|     Resetting the column array state is necessary when piecing in a large
 | |
|     column and an error occurs in the middle of loading the column.
 | |
|  */
 | |
| sword
 | |
| OCIDirPathColArrayReset( OCIDirPathColArray *dpca, OCIError *errhp );
 | |
| 
 | |
| /*
 | |
|   NAME
 | |
|     OCIDirPathColArrayToStream - OCI: Convert Column Array to Stream Format.
 | |
| 
 | |
|   DESCRIPTION
 | |
|     Convert from column array format to stream format which is suitable
 | |
|     for loading via OCIDirPathLoadStream().
 | |
| 
 | |
|   RETURNS
 | |
|     An OCI error code, Oracle errors are returned via the error handle.
 | |
|   NOTES
 | |
|  */
 | |
| sword
 | |
| OCIDirPathColArrayToStream( OCIDirPathColArray *dpca,  OCIDirPathCtx *dpctx,
 | |
|                                OCIDirPathStream   *dpstr, OCIError      *errhp,
 | |
|                                ub4 rowcnt, ub4 rowoff );
 | |
| 
 | |
| 
 | |
| 
 | |
| /*----------------------- OCIDirPathStream Operations -----------------------*/
 | |
| 
 | |
| /*
 | |
|   NAME
 | |
|     OCIDirPathStreamReset - OCI:
 | |
| 
 | |
|   DESCRIPTION
 | |
| 
 | |
|   RETURNS
 | |
|     An OCI error code, Oracle errors are returned via the error handle.
 | |
|   NOTES
 | |
|  */
 | |
| sword
 | |
| OCIDirPathStreamReset( OCIDirPathStream *dpstr, OCIError *errhp );
 | |
| 
 | |
| #endif                                              /* OCI8DP_ORACLE */
 |