⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oro.h

📁 ORACLE访问接口
💻 H
📖 第 1 页 / 共 3 页
字号:
/* Copyright (c) Oracle Corporation 1994, 1995, 1996, 1997, 1998, 1999.  All Rights Reserved. */

/*
  NAME
    OCI - Oracle Object Interface for External/Internal/Kernel Clients

  DESCRIPTION
    This header file contains Oracle object interface definitions which
    can be included by external user applications, tools, as well as
    the kernel.  It defines types and constants that are common to all
    object interface which is being defined in several other header files
    (e.g., ori.h, ort.h, and orl.h).

  RELATED DOCUMENTS
    TBD

  INSPECTION STATUS [[ deletable if no inspection ]]
    Inspection date:    [[ date of the last logging meeting ]]
    Inspection status:  [[ exited, not exited, or N/A if exit is not a goal ]]
    Estimated increasing cost defects per page:
    Rule sets:          [[ rule sets inspected against or planned to be 
                           inspected against ]]

  ACCEPTANCE REVIEW STATUS [[ deletable if no approval review ]]
    Review date:    [[ date of the meeting where issues were logged and the 
                       approval status was decided ]] 
    Review status:  [[ current status:  accepted, conditionally accepted, 
                       major revision required, rejected ]]
    Reviewers:      [[ names of the members on the review team ]]

  PUBLIC FUNCTIONS

  EXAMPLES
    Examples are given in the description of each function or macro where
    relevant.

  MODIFIED
    tnbui      07/28/99 - Remove OCI_TYPECODE_TIMESTAMP_ITZ                    
    tnbui      07/21/99 - TS LOCAL TZ                                          
    thoang     06/21/99 - Add OCI_TYPECODE_TIMESTAMP_ITZ
    thoang     03/04/99 - Add datetime datatypes
    rkasamse   10/20/98 - add OCI_ATTR_CACHE_ARRAYFLUSH
    rkasamse   10/29/98 - add OCI_DURATION_CALLOUT
    rkasamse   04/28/98 - OCI_OBJECT_DETECTCHANGE -> OCI_ATTR_OBJECT_DETECTCHAN
    rkasamse   04/28/98 - OCI_OBJECT_NEWNOTNULL -> OCI_ATTR_OBJECT_NEWNOTNULL  
    rkasamse   04/23/98 - add OCI_OBJECT_DETECTCHANGE
    rkasamse   04/03/98 - add OCI_OBJECT_NEWNOTNULL                            
    pmitra     04/01/98 - OCI_LOCK_X_NOWAIT added                              
    rxgovind   02/18/98 - add OCI_TYPECODE_OPAQUE
    rkasamse   02/13/98 - Add OCI_DURATION_PROCESS
    rkasamse   12/02/97 -
    cxcheng    07/28/97 - fix compile with SLSHORTNAME
    skrishna   07/14/97 - add OCIObjectGetProperty
    cxcheng    04/30/97 - make OCITypeParamMode values consistent with PL/SQL
    skrishna   04/28/97 - undocument OCIObjectProperty & OCIObjectEvent
    cxcheng    03/29/97 - remove all remaining short names
    sthakur    03/20/97 - add casts to constants
    cxcheng    02/21/97 - temporarily put SLSHORTNAME for PL/SQL
    cxcheng    02/06/97 - take out short name support except with SLSHORTNAME
    lchidamb   01/20/97 - update OCIRef comments
    sgollapu   11/19/96 - Add OCI type codes for BOOL,REC,and TAB
    cxcheng    11/19/96 - more typecode changes
    cxcheng    11/13/96 - add #include for ocidfn.h
    cxcheng    11/13/96 - add OCI_TYPECODE_ADT for compatibility
    cxcheng    11/12/96 - add SQLT_NCO for named collection
    cxcheng    11/11/96 - more changes to typecodes
    cxcheng    11/07/96 - #define OCI_TYPECODE_MLSLABEL to SQLT_LAB
    cxcheng    11/06/96 - fix #define omission for OROTCNAT
    cxcheng    10/30/96 - move OCI_TYPECODE_* to ocidfn.h as SQLT_*
    cxcheng    10/28/96 - more beautification changes
    jboonleu   10/29/96 - add flags for freeing object
    dchatter   10/26/96 - delete redef of OCISvcCtx, OCIError, OCIEnv
    cxcheng    10/15/96 - more changes
    cxcheng    10/14/96 - more final fixes to constants
    mluong     10/11/96 -
    mluong     10/11/96 -  KOCON and KONSP are in lowercase
    mluong     10/11/96 -  add some define per Calvin
    cxcheng    10/09/96 -  add #define for OROOCOSFN to OCI_COPY_NOREF
    jboonleu   10/08/96 -  change OROOCOSFN to OCICopyFlag
    jboonleu   10/07/96 -  use new OCI names for cache options
    cxcheng    10/07/96 -  add OROTCS02 for KOTTCBRI and OROTCS03 as spare
    cxcheng    10/07/96 -  more lint fixes
    cxcheng    10/02/96 -  move oronsp to ko.h as konsp
    cxcheng    10/01/96 -  add long names for readability
    cxcheng    10/01/96 -  remove orotty and orotal
    rjenkins   09/28/96 -  2k char 4k varchar2
    jboonleu   09/27/96 -  add macro used only in beta2
    cxcheng    09/27/96 -  move oroenv to oroenv.h
    cxcheng    09/24/96 -  remove unnecessary orotyp
    cxcheng    09/25/96 -  add typecode OROTCS01 as placeholder for lob pointer
    cxcheng    09/20/96 -  add TDO load option orotgo
    jboonleu   09/18/96 -  add OROOPOREC
    jboonleu   09/10/96 -  add OROOPODFL
    jweisz     08/27/96 -  add SQL internal typecode OROTCS00
    cxcheng    08/02/96 -  add PLSQL internal typecodes OROTCP..
    cxcheng    08/01/96 -  add OROTCFAR to fill up space left by OROTCCAR
    jboonleu   07/16/96 -  new pin option
    cxcheng    06/18/96 -  add casts to OROTNOPRE and OROTNOSCL
    cxcheng    05/29/96 -  change OROTCNPT back to OROTCDOM
    vkrishna   05/27/96 -  add OROTCCAR
    cxcheng    05/17/96 -  replace OROTCFAR with OROTCCAR
    cxcheng    05/08/96 -  change orotmf from ub1 to ub2
    cxcheng    05/07/96 -  fix public defines for method types
    cxcheng    04/30/96 -  change OROTCDOM to OROTCNPT
    cxcheng    04/15/96 -  remove obsolete OROTTYICT
    jboonleu   04/12/96 -  add new pin option
    sthakur    04/12/96 -  add indicator type and indicator status
    cxcheng    04/10/96 -  add function parameter codes for ORT/KOT
    cxcheng    04/03/96 -  replace OROTCFAR as OROTCCAR
    jwijaya    03/29/96 -  add OROTTCCAR
    jwijaya    03/27/96 -  better comments for orotc
    cxcheng    02/23/96 -  add typecodes for SMALLINT and VARCHAR2
    skrishna   02/22/96 -  add oroind - null indicator type
    cxcheng    02/21/96 -  change lob character codes to OROTCCLB, OROTCBLB...
    jboonleu   02/06/96 -  new value for predefined duration
    cxcheng    01/12/96 -  add OROTCCLO, OROTCBLO, OROTCFIL to orotc
    cxcheng    12/05/95 -  add OROTCDOM and OROTCAAT to orotc
    skotsovo   10/30/95 -  reserve space for internal 'oid' type
    jwijaya    10/20/95 -  support variable-length ref
    cxcheng    10/03/95 -  add OROTMFOR for ordering function to orotmf
    cxcheng    10/03/95 -  Adding the ordering function type to orotmf
    jboonleu   09/28/95 -  set OROODTPRE 
    jboonleu   09/25/95 -  add oroodt
    skotsovo   03/10/95 -  update to only include release 1 
    jboonleu   02/15/95 -  add OROOPOREC, remove orocro, oroolo
    skotsovo   01/30/95 -  add default max lengths for varrays and vstrings 
    skotsovo   01/24/95 -  categorize sint32, double, and real as number types 
			   (with precision and scale) instead of scalar types.
    skotsovo   12/20/94 -  add release 1 types 
    skotsovo   12/12/94 -  update according to new ots doc
    skotsovo   12/01/94 -  add default precision and scale 
    jwijaya    11/15/94 -  rename ORONSPTAB to ORONSPEXT 
    jwijaya    10/25/94 -  tint 
    jwijaya    10/06/94 -  add namespace 
    jwijaya    10/02/94 -  connection handle -> connection number 
    skotsovo   09/12/94 -  keep 0 as uninitialized value for ORT consts 
    skotsovo   08/24/94 -  fix orotec 
    skotsovo   08/17/94 -  modify type code names 
    skotsovo   08/12/94 -  fix 141 lint errors 
    skotsovo   07/25/94 -  modify categorization of complex types (orotc) 
    skotsovo   07/07/94 -  change typecode enum values & add decimal type
    skotsovo   07/01/94 -  change order of typecodes 
    jwijaya    06/15/94 -  review 
    jboonleu   06/13/94 -  add comments for the object cache options
    jwijaya    06/13/94 -  adhere to the header file template 
    skotsovo   06/09/94 -  make ots scalar type names consistent with the ots 
                           document 
    jwijaya    06/07/94 -  include oratypes.h instead of s.h 
    skotsovo   05/24/94 -  change typecodes 
    jwijaya    05/23/94 -  fix comments of ororef 
    skotsovo   05/19/94 -  remove type composition 
    skotsovo   05/09/94 -  modified orotc according to new OTS document
    jwijaya    05/03/94 -  oroid and ororef
    jwijaya    01/26/94 -  Creation
*/


#ifndef ORATYPES
#include "oratypes.h"
#endif

#ifndef OCIDFN_ORACLE
#include "ocidfn.h"
#endif

#ifndef ORO_ORACLE
#define ORO_ORACLE

/*---------------------------------------------------------------------------*/
/*                         SHORT NAMES SUPPORT SECTION                       */
/*---------------------------------------------------------------------------*/

#ifdef SLSHORTNAME

/* the following are short names that are only supported on IBM mainframes
   with the SLSHORTNAME defined.
   With this all subsequent long names will actually be substituted with
   the short names here */

#define OCIDuration                     oroodt
#define OCIInd                          oroind
#define OCILockOpt                      oroolm
#define OCIMarkOpt                      oroomo
#define OCIObjectEvent                  orocev
#define OCIObjectProperty               oroopr
#define OCIPinOpt                       oroopo
#define OCIRef                          ororef
#define OCIRefreshOpt                   orooro
#define OCITypeCode                     orotc
#define OCITypeEncap                    orotec
#define OCITypeGetOpt                   orotgo
#define OCITypeMethodFlag               orotmf
#define OCITypeParamMode                orotpm
#define OCIObjectPropId                 oroopi
#define OCIObjectLifetime               oroolft
#define OCIObjectMarkstatus             oroomst
#define OCI_LOCK_NONE                   OROOLMNUL
#define OCI_LOCK_X                      OROOLMX
#define OCI_LOCK_X_NOWAIT               OROOLMXNW
#define OCI_MARK_DEFAULT                OROOMODFL
#define OCI_MARK_NONE                   OROOMONON
#define OCI_MARK_UPDATE                 OROOMOUPD
#define OCI_OBJECTEVENT_AFTER_FLUSH     OROCEVAFL
#define OCI_OBJECTEVENT_AFTER_REFRESH   OROCEVARF
#define OCI_OBJECTEVENT_BEFORE_FLUSH    OROCEVBFL
#define OCI_OBJECTEVENT_BEFORE_REFRESH  OROCEVBRF
#define OCI_OBJECTEVENT_WHEN_LOCK       OROCEVWLK
#define OCI_OBJECTEVENT_WHEN_MARK_DELETED OROCEVWDL
#define OCI_OBJECTEVENT_WHEN_MARK_UPDATED OROCEVWUP
#define OCI_OBJECTEVENT_WHEN_UNMARK     OROCEVWUM
#define OCI_OBJECTPROP_DIRTIED          OROOPRDRT
#define OCI_OBJECTPROP_LOADED           OROOPRLOD
#define OCI_OBJECTPROP_LOCKED           OROOPRLCK
#define OCI_PIN_ANY                     OROOPOANY
#define OCI_PIN_DEFAULT                 OROOPODFL
#define OCI_PIN_LATEST                  OROOPOLST
#define OCI_PIN_RECENT                  OROOPOREC
#define OCI_REFRESH_LOADED              OROOROLOD
#define OCI_TYPEENCAP_PRIVATE           OROTECPVT
#define OCI_TYPEENCAP_PUBLIC            OROTECPUB
#define OCI_TYPEGET_ALL                 OROTGOALL
#define OCI_TYPEGET_HEADER              OROTGOHDR
#define OCI_TYPEMETHOD_CONSTANT         OROTMFCON
#define OCI_TYPEMETHOD_CONSTRUCTOR      OROTMFCSTR
#define OCI_TYPEMETHOD_DESTRUCTOR       OROTMFDSTR
#define OCI_TYPEMETHOD_INLINE           OROTMFINL
#define OCI_TYPEMETHOD_MAP              OROTMFMAP
#define OCI_TYPEMETHOD_OPERATOR         OROTMFOP
#define OCI_TYPEMETHOD_ORDER            OROTMFOR
#define OCI_TYPEMETHOD_RNDS             OROTMFRDS
#define OCI_TYPEMETHOD_RNPS             OROTMFRPS
#define OCI_TYPEMETHOD_SELFISH          OROTMFSLF
#define OCI_TYPEMETHOD_VIRTUAL          OROTMFVRT
#define OCI_TYPEMETHOD_WNDS             OROTMFWDS
#define OCI_TYPEMETHOD_WNPS             OROTMFWPS
#define OCI_TYPEPARAM_BYREF             OROTPMREF
#define OCI_TYPEPARAM_IN                OROTPMIN
#define OCI_TYPEPARAM_INOUT             OROTPMIO
#define OCI_TYPEPARAM_OUT               OROTPMOUT

#endif                                                        /* SLSHORTNAME */


/*---------------------------------------------------------------------------*/
/*                    PUBLIC TYPES, CONSTANTS AND MACROS                     */
/*---------------------------------------------------------------------------*/

/*---------------------------------------------------------------------------*/
/*                  GENERAL OBJECT TYPES, CONSTANTS, MACROS                  */
/*---------------------------------------------------------------------------*/

/*------------------------- OBJECT REFERENCE (REF) --------------------------*/

typedef struct OCIRef OCIRef;
/*
 * OCIRef - OCI object REFerence
 *
 * In the Oracle object runtime environment, an object is identified by an 
 * object reference (ref) which contains the object identifier plus other 
 * runtime information.  The contents of a ref is opaque to clients.  Use
 * OCIObjectNew() to construct a ref.
 */


/*--------------------------- OBJECT INDICATOR ------------------------------*/

typedef sb2 OCIInd;
/*
 * OCIInd -- a variable of this type contains (null) indicator information
 */

#define OCI_IND_NOTNULL (OCIInd)0                                /* not NULL */
#define OCI_IND_NULL (OCIInd)(-1)                                    /* NULL */
#define OCI_IND_BADNULL (OCIInd)(-2)                             /* BAD NULL */
#define OCI_IND_NOTNULLABLE (OCIInd)(-3)                     /* not NULLable */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -