📄 oci_defs.h
字号:
typedef struct OCISubscription OCISubscription; /* subscription handle */
typedef struct OCICPool OCICPool; /* connection pool handle */
typedef struct OCISPool OCISPool; /* session pool handle */
typedef struct OCIAuthInfo OCIAuthInfo; /* auth handle */
typedef struct OCIAdmin OCIAdmin; /* admin handle */
typedef struct OCIEvent OCIEvent; /* HA event handle */
/*--------------------- OCI Thread Object Definitions------------------------*/
/* OCIThread Context */
typedef struct OCIThreadContext OCIThreadContext;
/* OCIThread Mutual Exclusion Lock */
typedef struct OCIThreadMutex OCIThreadMutex;
/* OCIThread Key for Thread-Specific Data */
typedef struct OCIThreadKey OCIThreadKey;
/* OCIThread Thread ID */
typedef struct OCIThreadId OCIThreadId;
/* OCIThread Thread Handle */
typedef struct OCIThreadHandle OCIThreadHandle;
/*--------------------- OCI Collection Object Definitions--------------------*/
/* OCIColl - generic collection type */
typedef struct OCIColl OCIColl;
/* OCIArray - varray collection type */
typedef OCIColl OCIArray;
/* OCITable - nested table collection type */
typedef OCIColl OCITable;
/* OCIIter - collection iterator */
typedef struct OCIIter OCIIter;
/*-----------------------Descriptor Definitions------------------------------*/
typedef struct OCISnapshot OCISnapshot; /* OCI snapshot descriptor */
typedef struct OCIResult OCIResult; /* OCI Result Set Descriptor */
typedef struct OCILobLocator OCILobLocator; /* OCI Lob Locator descriptor */
typedef struct OCIParam OCIParam; /* OCI PARameter descriptor */
typedef struct OCIDateTime OCIDateTime; /* OCI DateTime descriptor */
typedef struct OCIInterval OCIInterval; /* OCI Interval descriptor */
/*----------------------------- OBJECT FREE OPTION --------------------------*/
#define OCI_OBJECTFREE_FORCE (ub2)0x0001
#define OCI_OBJECTFREE_NONULL (ub2)0x0002
/*-------------------------- OCINumber --------------------------------------*/
#define OCI_NUMBER_UNSIGNED 0 /* Unsigned type -- ubX */
#define OCI_NUMBER_SIGNED 2 /* Signed type -- sbX */
#define OCI_NUMBER_SIZE 22
struct OCINumber
{
ub1 OCINumberPart[OCI_NUMBER_SIZE];
};
/*-----------------------Objects Definitions---------------------------------*/
typedef struct OCIString OCIString;
typedef struct OCIRaw OCIRaw;
typedef struct OCIType OCIType;
typedef struct OCINumber OCINumber;
/*--------------------------- 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 */
/*-------------------------Object Ptr Types----------------------------------*/
#define OCI_OTYPE_NAME 1 /* object name */
#define OCI_OTYPE_REF 2 /* REF to TDO */
#define OCI_OTYPE_PTR 3 /* PTR to TDO */
/*------------------------ Lob-specific Definitions -------------------------*/
typedef ub4 OCILobOffset;
typedef ub4 OCILobLength;
/*----------------------------Piece Definitions------------------------------*/
#define OCI_ONE_PIECE 0 /* one piece */
#define OCI_FIRST_PIECE 1 /* the first piece */
#define OCI_NEXT_PIECE 2 /* the next of many pieces */
#define OCI_LAST_PIECE 3 /* the last piece */
/*----------------------- GET OPTIONS FOR TDO ------------------------------*/
enum OCITypeGetOpt
{
OCI_TYPEGET_HEADER, /* load only the header portion of the TDO */
OCI_TYPEGET_ALL /* load all attribute and method descriptors as well */
};
typedef enum OCITypeGetOpt OCITypeGetOpt;
/*------------------------------ TYPE CODE ----------------------------------*/
/* The OCITypeCode type is interchangeable with the existing SQLT type
which is a ub2 */
typedef ub2 OCITypeCode;
/*--------------------------- ORACLE DATE TYPE ----------------------------*/
struct OCITime
{
ub1 OCITimeHH; /* hours; range is 0 <= hours <=23 */
ub1 OCITimeMI; /* minutes; range is 0 <= minutes <= 59 */
ub1 OCITimeSS; /* seconds; range is 0 <= seconds <= 59 */
};
typedef struct OCITime OCITime;
struct OCIDate
{
sb2 OCIDateYYYY; /* gregorian year; range is -4712 <= year <= 9999 */
ub1 OCIDateMM; /* month; range is 1 <= month < 12 */
ub1 OCIDateDD; /* day; range is 1 <= day <= 31 */
OCITime OCIDateTime; /* time */
};
typedef struct OCIDate OCIDate;
/*-------------------------- OBJECT Duration --------------------------------*/
typedef ub2 OCIDuration;
#define OCI_DURATION_BEGIN (OCIDuration)10
/* beginning sequence of duration */
#define OCI_DURATION_NULL (OCIDuration)(OCI_DURATION_BEGIN-1)
/* null duration */
#define OCI_DURATION_DEFAULT (OCIDuration)(OCI_DURATION_BEGIN-2) /* default */
#define OCI_DURATION_NEXT (OCIDuration)(OCI_DURATION_BEGIN-3)
/* next special duration */
#define OCI_DURATION_SESSION (OCIDuration)(OCI_DURATION_BEGIN)
/* the end of user session */
#define OCI_DURATION_TRANS (OCIDuration)(OCI_DURATION_BEGIN+1)
/* the end of user transaction */
/*-------------------------Object Ptr Types----------------------------------*/
#define OCI_OTYPE_NAME 1 /* object name */
/*--------------------------- OCI Parameter Types ---------------------------*/
#define OCI_PTYPE_UNK 0 /* unknown */
#define OCI_PTYPE_TABLE 1 /* table */
#define OCI_PTYPE_VIEW 2 /* view */
#define OCI_PTYPE_PROC 3 /* procedure */
#define OCI_PTYPE_FUNC 4 /* function */
#define OCI_PTYPE_PKG 5 /* package */
#define OCI_PTYPE_TYPE 6 /* user-defined type */
#define OCI_PTYPE_SYN 7 /* synonym */
#define OCI_PTYPE_SEQ 8 /* sequence */
#define OCI_PTYPE_COL 9 /* column */
#define OCI_PTYPE_ARG 10 /* argument */
#define OCI_PTYPE_LIST 11 /* list */
#define OCI_PTYPE_TYPE_ATTR 12 /* user-defined type's attribute */
#define OCI_PTYPE_TYPE_COLL 13 /* collection type's element */
#define OCI_PTYPE_TYPE_METHOD 14 /* user-defined type's method */
#define OCI_PTYPE_TYPE_ARG 15 /* user-defined type method's arg */
#define OCI_PTYPE_TYPE_RESULT 16/* user-defined type method's result */
#define OCI_PTYPE_SCHEMA 17 /* schema */
#define OCI_PTYPE_DATABASE 18 /* database */
#define OCI_PTYPE_RULE 19 /* rule */
#define OCI_PTYPE_RULE_SET 20 /* rule set */
#define OCI_PTYPE_EVALUATION_CONTEXT 21 /* evaluation context */
#define OCI_PTYPE_TABLE_ALIAS 22 /* table alias */
#define OCI_PTYPE_VARIABLE_TYPE 23 /* variable type */
#define OCI_PTYPE_NAME_VALUE 24 /* name value pair */
/*------------------------------ TYPE CODE ----------------------------------*/
#define OCI_TYPECODE_VARRAY 247 /* SQL VARRAY OTS PAGED VARRAY */
#define OCI_TYPECODE_TABLE 248 /* SQL TABLE OTS MULTISET */
/*------------------------Piece Information----------------------------------*/
#define OCI_PARAM_IN 0x01 /* in parameter */
#define OCI_PARAM_OUT 0x02 /* out parameter */
#endif /* OCILIB_OCI_DEFS_H_INCLUDED */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -