| Module : Database.Oracle.OCIConstants Copyright : (c) 2004 Oleg Kiselyov, Alistair Bayley License : BSD-style Maintainer : oleg@pobox.com, alistair@abayley.org Stability : experimental Portability : non-portable Contains CInt equivalents of the #defines in the oci library headers. This is not a complete set; just enough to get the Haskell libraries working. This also might not be particularly portable, but I don't think Oracle are going to change these in a hurry (that would break compiled programs, wouldn't it?). > module Database.Oracle.OCIConstants where > import Foreign.C.Types ** Used all over the place: > oci_DEFAULT :: CInt > oci_DEFAULT = 0 ** Handle types: | Found in $ORAHOME\/oci\/include\/oci.h > [ oci_HTYPE_ENV > , oci_HTYPE_ERROR > , oci_HTYPE_SVCCTX > , oci_HTYPE_STMT > , oci_HTYPE_BIND > , oci_HTYPE_DEFINE > , oci_HTYPE_DESCRIBE > , oci_HTYPE_SERVER > , oci_HTYPE_SESSION > , oci_HTYPE_TRANS > ] = [1..10] :: [CInt] ** Error code types: | Found in $ORAHOME\/oci\/include\/oci.h > [ oci_SUCCESS > , oci_SUCCESS_WITH_INFO > , oci_RESERVED_FOR_INT_USE > , oci_NO_DATA > , oci_ERROR > , oci_INVALID_HANDLE > , oci_NEED_DATA > , oci_STILL_EXECUTING > , oci_CONTINUE > ] = > [0, 1, 200, 100, -1, -2, 99, -3123, -24200] :: [CInt] ** Attribute types: | Found in $ORAHOME\/oci\/include\/oci.h > [ oci_ATTR_ENV > , oci_ATTR_SERVER > , oci_ATTR_SESSION > , oci_ATTR_TRANS > , oci_ATTR_ROW_COUNT > , oci_ATTR_PREFETCH_ROWS > , oci_ATTR_USERNAME > , oci_ATTR_PASSWORD > ] = [5,6,7,8,9,11,22,23] :: [CInt] ** Authentication options: | Found in $ORAHOME\/oci\/include\/oci.h > oci_CRED_RDBMS :: CInt > oci_CRED_RDBMS = 1 > oci_CRED_EXT :: CInt > oci_CRED_EXT = 2 > oci_CRED_PROXY :: CInt > oci_CRED_PROXY = 3 ** Syntax types (i.e. does the DBMS understand v7 or v8 syntax, etc): | Found in $ORAHOME\/oci\/include\/oci.h > oci_NTV_SYNTAX :: CInt > oci_NTV_SYNTAX = 1 ** Scrollable Cursor Options: | Found in $ORAHOME\/oci\/include\/oci.h > oci_FETCH_NEXT :: CInt > oci_FETCH_NEXT = 2 > oci_FETCH_FIRST :: CInt > oci_FETCH_FIRST = 4 > oci_FETCH_LAST :: CInt > oci_FETCH_LAST = 8 > oci_FETCH_PRIOR :: CInt > oci_FETCH_PRIOR = 16 > oci_FETCH_ABSOLUTE :: CInt > oci_FETCH_ABSOLUTE = 32 > oci_FETCH_RELATIVE :: CInt > oci_FETCH_RELATIVE = 64 > oci_FETCH_RESERVED :: CInt > oci_FETCH_RESERVED = 128 ** OCI datatypes: | Found in $ORAHOME\/oci\/include\/ocidfn.h > oci_SQLT_CHR :: CInt > oci_SQLT_CHR = 1 > oci_SQLT_NUM :: CInt > oci_SQLT_NUM = 2 > oci_SQLT_INT :: CInt > oci_SQLT_INT = 3 > oci_SQLT_FLT :: CInt > oci_SQLT_FLT = 4 > oci_SQLT_STR :: CInt > oci_SQLT_STR = 5 > oci_SQLT_VNU :: CInt > oci_SQLT_VNU = 6 > oci_SQLT_LNG :: CInt > oci_SQLT_LNG = 8 > oci_SQLT_VCS :: CInt > oci_SQLT_VCS = 9 > oci_SQLT_RID :: CInt > oci_SQLT_RID = 11 > oci_SQLT_DAT :: CInt > oci_SQLT_DAT = 12 > oci_SQLT_VBI :: CInt > oci_SQLT_VBI = 15 > oci_SQLT_BIN :: CInt > oci_SQLT_BIN = 23 > oci_SQLT_LBI :: CInt > oci_SQLT_LBI = 24 > oci_SQLT_UIN :: CInt > oci_SQLT_UIN = 68 > oci_SQLT_LVC :: CInt > oci_SQLT_LVC = 94 > oci_SQLT_LVB :: CInt > oci_SQLT_LVB = 95 > oci_SQLT_AFC :: CInt > oci_SQLT_AFC = 96 > oci_SQLT_AVC :: CInt > oci_SQLT_AVC = 97 > oci_SQLT_RSET :: CInt > oci_SQLT_RSET = 116 ** Transaction types; parameters for ociTransStart. | Found in $ORAHOME\/oci\/include\/oci.h. There are more than this, but they're related to complicated transaction-management stuff in the OCI libraries that I don't understand. These should be sufficient to support the simple transaction model understood by most developers. > oci_TRANS_READONLY :: CInt > oci_TRANS_READONLY = 0x00000100 -- 256 > oci_TRANS_READWRITE :: CInt > oci_TRANS_READWRITE = 0x00000200 -- 512 > oci_TRANS_SERIALIZABLE :: CInt > oci_TRANS_SERIALIZABLE = 0x00000400 -- 1024