mtollari 63d98e39cd Patch level : 12.0 no-patch
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
2017-10-26 09:07:39 +00:00

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 */