#define OCI_TRANS_READONLY 0x00000100 /* starts a readonly transaction */
#define OCI_TRANS_READWRITE 0x00000200 /* starts a read-write transaction */
#define OCI_TRANS_SERIALIZABLE 0x00000400
/* starts a serializable transaction */
#define OCI_TRANS_ISOLMASK 0x0000ff00
#define OCI_TRANS_LOOSE 0x00010000 /* a loosely coupled branch */
#define OCI_TRANS_TIGHT 0x00020000 /* a tightly coupled branch */
#define OCI_TRANS_TYPEMASK 0x000f0000
#define OCI_TRANS_NOMIGRATE 0x00100000 /* non migratable transaction */
/*---------------------------------------------------------------------------*/
/*------------------------ Transaction End Flags ----------------------------*/
#define OCI_TRANS_TWOPHASE 0x01000000 /* use two phase commit */
/*---------------------------------------------------------------------------*/
/*------------------------- AQ Constants ------------------------------------
* NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
* The following constants must match the PL/SQL dbms_aq constants
* NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
*/
/* ------------------------- Visibility flags -------------------------------*/
#define OCI_ENQ_IMMEDIATE 1 /* enqueue is an independent transaction */
#define OCI_ENQ_ON_COMMIT 2 /* enqueue is part of current transaction */
/* ----------------------- Dequeue mode flags -------------------------------*/
#define OCI_DEQ_BROWSE 1 /* read message without acquiring a lock */
#define OCI_DEQ_LOCKED 2 /* read and obtain write lock on message */
#define OCI_DEQ_REMOVE 3 /* read the message and delete it */
#define OCI_DEQ_REMOVE_NODATA 4 /* delete message w'o returning payload */
/* ----------------- Dequeue navigation flags -------------------------------*/
#define OCI_DEQ_FIRST_MSG 1 /* get first message at head of queue */
#define OCI_DEQ_NEXT_MSG 3 /* next message that is available */
#define OCI_DEQ_NEXT_TRANSACTION 2 /* get first message of next txn group */
/* --------------------- Message states -------------------------------------*/
#define OCI_MSG_WAITING 1 /* the message delay has not yet completed */
#define OCI_MSG_READY 0 /* the message is ready to be processed */
#define OCI_MSG_PROCESSED 2 /* the message has been processed */
#define OCI_MSG_EXPIRED 3 /* message has moved to exception queue */
/* --------------------- Sequence deviation ---------------------------------*/
#define OCI_ENQ_BEFORE 2 /* enqueue message before another message */
#define OCI_ENQ_TOP 3 /* enqueue message before all messages */
/* ------------------------- Visibility flags -------------------------------*/
#define OCI_DEQ_IMMEDIATE 1 /* dequeue is an independent transaction */
#define OCI_DEQ_ON_COMMIT 2 /* dequeue is part of current transaction */
/* ------------------------ Wait --------------------------------------------*/
#define OCI_DEQ_WAIT_FOREVER -1 /* wait forever if no message available */
#define OCI_DEQ_NO_WAIT 0 /* do not wait if no message is available */
/* ------------------------ Delay -------------------------------------------*/
#define OCI_MSG_NO_DELAY 0 /* message is available immediately */
/* ------------------------- Expiration -------------------------------------*/
#define OCI_MSG_NO_EXPIRATION -1 /* message will never expire */
/* -------------------------- END AQ Constants ----------------------------- */
/* --------------------END DateTime and Interval Constants ------------------*/
/*-----------------------Object Types----------------------------------------*/
/*-----------Object Types **** Not to be Used **** --------------------------*/
/* Deprecated */
#define OCI_OTYPE_UNK 0
#define OCI_OTYPE_TABLE 1
#define OCI_OTYPE_VIEW 2
#define OCI_OTYPE_SYN 3
#define OCI_OTYPE_PROC 4
#define OCI_OTYPE_FUNC 5
#define OCI_OTYPE_PKG 6
#define OCI_OTYPE_STMT 7
/*---------------------------------------------------------------------------*/
/*=======================Describe Handle Parameter Attributes ===============*/
/*
These attributes are orthogonal to the other set of attributes defined
above. These attrubutes are tobe used only for the desscribe handle
*/
/*===========================================================================*/
/* Attributes common to Columns and Stored Procs */
#define OCI_ATTR_DATA_SIZE 1 /* maximum size of the data */
#define OCI_ATTR_DATA_TYPE 2 /* the SQL type of the column/argument */
#define OCI_ATTR_DISP_SIZE 3 /* the display size */
#define OCI_ATTR_NAME 4 /* the name of the column/argument */
#define OCI_ATTR_PRECISION 5 /* precision if number type */
#define OCI_ATTR_SCALE 6 /* scale if number type */
#define OCI_ATTR_IS_NULL 7 /* is it null ? */
#define OCI_ATTR_TYPE_NAME 8
/* name of the named data type or a package name for package private types */
#define OCI_ATTR_SCHEMA_NAME 9 /* the schema name */
#define OCI_ATTR_SUB_NAME 10 /* type name if package private type */
#define OCI_ATTR_POSITION 11
/* relative position of col/arg in the list of cols/args */
/* complex object retrieval parameter attributes */
#define OCI_ATTR_COMPLEXOBJECTCOMP_TYPE 50
#define OCI_ATTR_COMPLEXOBJECTCOMP_TYPE_LEVEL 51
#define OCI_ATTR_COMPLEXOBJECT_LEVEL 52
#define OCI_ATTR_COMPLEXOBJECT_COLL_OUTOFLINE 53
/* Only Columns */
#define OCI_ATTR_DISP_NAME 100 /* the display name */
/*Only Stored Procs */
#define OCI_ATTR_OVERLOAD 210 /* is this position overloaded */
#define OCI_ATTR_LEVEL 211 /* level for structured types */
#define OCI_ATTR_HAS_DEFAULT 212 /* has a default value */
#define OCI_ATTR_IOMODE 213 /* in, out inout */
#define OCI_ATTR_RADIX 214 /* returns a radix */
#define OCI_ATTR_NUM_ARGS 215 /* total number of arguments */
/* only named type attributes */
#define OCI_ATTR_TYPECODE 216 /* object or collection */
#define OCI_ATTR_COLLECTION_TYPECODE 217 /* varray or nested table */
#define OCI_ATTR_VERSION 218 /* user assigned version */
#define OCI_ATTR_IS_INCOMPLETE_TYPE 219 /* is this an incomplete type */
#define OCI_ATTR_IS_SYSTEM_TYPE 220 /* a system type */
#define OCI_ATTR_IS_PREDEFINED_TYPE 221 /* a predefined type */
#define OCI_ATTR_IS_TRANSIENT_TYPE 222 /* a transient type */
#define OCI_ATTR_IS_SYSTEM_GENERATED_TYPE 223 /* system generated type */
#define OCI_ATTR_HAS_NESTED_TABLE 224 /* contains nested table attr */
#define OCI_ATTR_HAS_LOB 225 /* has a lob attribute */
#define OCI_ATTR_HAS_FILE 226 /* has a file attribute */
#define OCI_ATTR_COLLECTION_ELEMENT 227 /* has a collection attribute */
#define OCI_ATTR_NUM_TYPE_ATTRS 228 /* number of attribute types */
#define OCI_ATTR_LIST_TYPE_ATTRS 229 /* list of type attributes */
#define OCI_ATTR_NUM_TYPE_METHODS 230 /* number of type methods */
#define OCI_ATTR_LIST_TYPE_METHODS 231 /* list of type methods */
#define OCI_ATTR_MAP_METHOD 232 /* map method of type */
#define OCI_ATTR_ORDER_METHOD 233 /* order method of type */
/* only collection element */
#define OCI_ATTR_NUM_ELEMS 234 /* number of elements */
/* only type methods */
#define OCI_ATTR_ENCAPSULATION 235 /* encapsulation level */
#define OCI_ATTR_IS_SELFISH 236 /* method selfish */
#define OCI_ATTR_IS_VIRTUAL 237 /* virtual */
#define OCI_ATTR_IS_INLINE 238 /* inline */
#define OCI_ATTR_IS_CONSTANT 239 /* constant */
#define OCI_ATTR_HAS_RESULT 240 /* has result */
#define OCI_ATTR_IS_CONSTRUCTOR 241 /* constructor */
#define OCI_ATTR_IS_DESTRUCTOR 242 /* destructor */
#define OCI_ATTR_IS_OPERATOR 243 /* operator */
#define OCI_ATTR_IS_MAP 244 /* a map method */
#define OCI_ATTR_IS_ORDER 245 /* order method */
#define OCI_ATTR_IS_RNDS 246 /* read no data state method */
#define OCI_ATTR_IS_RNPS 247 /* read no process state */
#define OCI_ATTR_IS_WNDS 248 /* write no data state method */
#define OCI_ATTR_IS_WNPS 249 /* write no process state */
#define OCI_ATTR_DESC_PUBLIC 250 /* public object */
/* Object Cache Enhancements : attributes for User Constructed Instances */
#define OCI_ATTR_CACHE_CLIENT_CONTEXT 251
#define OCI_ATTR_UCI_CONSTRUCT 252
#define OCI_ATTR_UCI_DESTRUCT 253
#define OCI_ATTR_UCI_COPY 254
#define OCI_ATTR_UCI_PICKLE 255
#define OCI_ATTR_UCI_UNPICKLE 256
#define OCI_ATTR_UCI_REFRESH 257
/* for type inheritance */
#define OCI_ATTR_IS_SUBTYPE 258
#define OCI_ATTR_SUPERTYPE_SCHEMA_NAME 259
#define OCI_ATTR_SUPERTYPE_NAME 260
/* for schemas */
#define OCI_ATTR_LIST_OBJECTS 261 /* list of objects in schema */
/* for database */
#define OCI_ATTR_NCHARSET_ID 262 /* char set id */
#define OCI_ATTR_LIST_SCHEMAS 263 /* list of schemas */
#define OCI_ATTR_MAX_PROC_LEN 264 /* max procedure length */
#define OCI_ATTR_MAX_COLUMN_LEN 265 /* max column name length */
#define OCI_ATTR_CURSOR_COMMIT_BEHAVIOR 266 /* cursor commit behavior */
#define OCI_ATTR_MAX_CATALOG_NAMELEN 267 /* catalog namelength */
#define OCI_ATTR_CATALOG_LOCATION 268 /* catalog location */
#define OCI_ATTR_SAVEPOINT_SUPPORT 269 /* savepoint support */
#define OCI_ATTR_NOWAIT_SUPPORT 270 /* nowait support */
#define OCI_ATTR_AUTOCOMMIT_DDL 271 /* autocommit DDL */
#define OCI_ATTR_LOCKING_MODE 272 /* locking mode */
/* for externally initialized context */
#define OCI_ATTR_APPCTX_SIZE 273 /* count of context to be init*/
#define OCI_ATTR_APPCTX_LIST 274 /* count of context to be init*/
#define OCI_ATTR_APPCTX_NAME 275 /* name of context to be init*/
#define OCI_ATTR_APPCTX_ATTR 276 /* attr of context to be init*/
#define OCI_ATTR_APPCTX_VALUE 277 /* value of context to be init*/
/*---------------------------End Describe Handle Attributes -----------------*/
/*---------------- Describe Handle Parameter Attribute Values ---------------*/
/* OCI_ATTR_CURSOR_COMMIT_BEHAVIOR */
#define OCI_CURSOR_OPEN 0
#define OCI_CURSOR_CLOSED 1
/* OCI_ATTR_CATALOG_LOCATION */
#define OCI_CL_START 0
#define OCI_CL_END 1
/* OCI_ATTR_SAVEPOINT_SUPPORT */
#define OCI_SP_SUPPORTED 0
#define OCI_SP_UNSUPPORTED 1
/* OCI_ATTR_NOWAIT_SUPPORT */
#define OCI_NW_SUPPORTED 0
#define OCI_NW_UNSUPPORTED 1
/* OCI_ATTR_AUTOCOMMIT_DDL */
#define OCI_AC_DDL 0
#define OCI_NO_AC_DDL 1
/* OCI_ATTR_LOCKING_MODE */
#define OCI_LOCK_IMMEDIATE 0
#define OCI_LOCK_DELAYED 1
/*---------------------------------------------------------------------------*/
/*---------------------------OCIPasswordChange-------------------------------*/
#define OCI_AUTH 0x08 /* Change the password but do not login */
/*------------------------Other Constants------------------------------------*/
#define OCI_MAX_FNS 100 /* max number of OCI Functions */
#define OCI_SQLSTATE_SIZE 5
#define OCI_ERROR_MAXMSG_SIZE 1024 /* max size of an error message */
#define OCI_LOBMAXSIZE MINUB4MAXVAL /* maximum lob data size */
#define OCI_ROWI