-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Berkeley DB binding -- -- Berkeley DB is a fast, scalable, fully transactional database that -- runs on a local file system, and functions as a dictionary of -- arbitrary-sized binary blobs. (It is NOT an SQL-based database.) This -- package provides a thin Haskell binding for Berkeley DB. -- -- This is a work in progress: The coverage of the Berkeley DB API is not -- yet complete. Tested with Berkeley DB version 4.6. -- -- Berkeley DB home page: -- http://www.oracle.com/database/berkeley-db/index.html -- -- Haskell binding tutorial: -- http://www.haskell.org/haskellwiki/BerkeleyDBXML -- -- DARCS repository: http://blacksapphire.com/BerkeleyDB @package BerkeleyDB @version 0.6 -- | Berkeley DB binding. All IO monad functions can throw DbException. module Database.Berkeley.Db data DbFlag DB_CREATE :: DbFlag DB_DURABLE_UNKNOWN :: DbFlag DB_FORCE :: DbFlag DB_MULTIVERSION :: DbFlag DB_NOMMAP :: DbFlag DB_RDONLY :: DbFlag DB_RECOVER :: DbFlag DB_THREAD :: DbFlag DB_TRUNCATE :: DbFlag DB_TXN_NOSYNC :: DbFlag DB_TXN_NOWAIT :: DbFlag DB_TXN_NOT_DURABLE :: DbFlag DB_TXN_WRITE_NOSYNC :: DbFlag DB_SPARE_FLAG :: DbFlag DB_TXN_SYNC :: DbFlag DB_TXN_WAIT :: DbFlag DB_IGNORE_LEASE :: DbFlag DB_AUTO_COMMIT :: DbFlag DB_READ_COMMITTED :: DbFlag DB_DEGREE_2 :: DbFlag DB_READ_UNCOMMITTED :: DbFlag DB_DIRTY_READ :: DbFlag DB_TXN_SNAPSHOT :: DbFlag DB_CXX_NO_EXCEPTIONS :: DbFlag DB_XA_CREATE :: DbFlag DB_USE_ENVIRON :: DbFlag DB_USE_ENVIRON_ROOT :: DbFlag DB_INIT_CDB :: DbFlag DB_INIT_LOCK :: DbFlag DB_INIT_LOG :: DbFlag DB_INIT_MPOOL :: DbFlag DB_INIT_REP :: DbFlag DB_INIT_TXN :: DbFlag DB_LOCKDOWN :: DbFlag DB_PRIVATE :: DbFlag DB_RECOVER_FATAL :: DbFlag DB_REGISTER :: DbFlag DB_SYSTEM_MEM :: DbFlag DB_EXCL :: DbFlag DB_FCNTL_LOCKING :: DbFlag DB_NO_AUTO_COMMIT :: DbFlag DB_RDWRMASTER :: DbFlag DB_WRITEOPEN :: DbFlag DB_MULTIPLE :: DbFlag DB_MULTIPLE_KEY :: DbFlag DB_RMW :: DbFlag DB_LOCK_NOWAIT :: DbFlag data DbError -- | User memory too small for return. DB_BUFFER_SMALL :: DbError -- | "Null" return from 2ndary callbk. DB_DONOTINDEX :: DbError -- | Key/data deleted or never created. DB_KEYEMPTY :: DbError -- | The key/data pair already exists. DB_KEYEXIST :: DbError -- | Deadlock. DB_LOCK_DEADLOCK :: DbError -- | Lock unavailable. DB_LOCK_NOTGRANTED :: DbError -- | In-memory log buffer full. DB_LOG_BUFFER_FULL :: DbError -- | Server panic return. DB_NOSERVER :: DbError -- | Bad home sent to server. DB_NOSERVER_HOME :: DbError -- | Bad ID sent to server. DB_NOSERVER_ID :: DbError -- | Key/data pair not found (EOF). DB_NOTFOUND :: DbError -- | Out-of-date version. DB_OLD_VERSION :: DbError -- | Requested page not found. DB_PAGE_NOTFOUND :: DbError -- | There are two masters. DB_REP_DUPMASTER :: DbError -- | Rolled back a commit. DB_REP_HANDLE_DEAD :: DbError -- | Time to hold an election. DB_REP_HOLDELECTION :: DbError -- | This msg should be ignored. DB_REP_IGNORE :: DbError -- | Cached not written perm written. DB_REP_ISPERM :: DbError -- | Unable to join replication group. DB_REP_JOIN_FAILURE :: DbError -- | Master lease has expired. DB_REP_LEASE_EXPIRED :: DbError -- | API/Replication lockout now. DB_REP_LOCKOUT :: DbError -- | New site entered system. DB_REP_NEWSITE :: DbError -- | Permanent log record not written. DB_REP_NOTPERM :: DbError -- | Site cannot currently be reached. DB_REP_UNAVAIL :: DbError -- | Panic return. DB_RUNRECOVERY :: DbError -- | Secondary index corrupt. DB_SECONDARY_BAD :: DbError -- | Verify failed; bad format. DB_VERIFY_BAD :: DbError -- | Environment version mismatch. DB_VERSION_MISMATCH :: DbError -- | Haskell binding: Attempted to use a DbEnv handle after it was closed DB_ACCESSED_DB_ENV_AFTER_CLOSE :: DbError -- | Haskell binding: Attempted to use a Db handle after it was closed DB_ACCESSED_DB_AFTER_CLOSE :: DbError -- | Haskell binding: Attempted to use a DbTxn handle after it was closed DB_ACCESSED_DB_TXN_AFTER_CLOSE :: DbError -- | An errno value returned by the operating system SYSTEM_ERROR :: Int -> DbError -- | An exception indicating an error in a Berkeley DB operation. data DbException DbException :: String -> DbError -> DbException type DbEnv = ForeignPtr DbEnv_struct dbEnv_close :: [DbFlag] -> DbEnv -> IO () data DbEnvCreateFlag dbEnv_create :: [DbEnvCreateFlag] -> IO DbEnv dbEnv_get_cache_size :: DbEnv -> IO (Int, Int, Int) dbEnv_get_lg_regionmax :: DbEnv -> IO Int dbEnv_get_lk_max_lockers :: DbEnv -> IO Int dbEnv_get_lk_max_locks :: DbEnv -> IO Int dbEnv_get_lk_max_objects :: DbEnv -> IO Int dbEnv_get_tx_max :: DbEnv -> IO Int type DbLock = ForeignPtr DbLock_struct data DbLocker data DbLockMode DB_LOCK_READ :: DbLockMode DB_LOCK_WRITE :: DbLockMode DB_LOCK_IWRITE :: DbLockMode DB_LOCK_IREAD :: DbLockMode DB_LOCK_IWR :: DbLockMode -- | Acquire a DbLock. dbTxn_id converts a DbTxn to a DbLocker. dbEnv_lock_get :: [DbFlag] -> DbLockMode -> ByteString -> DbEnv -> DbLocker -> IO DbLock -- | Release a DbLock acquired by dbEnv_lock_get. dbEnv_lock_put :: DbLock -> IO () -- | Wrap dbEnv_lock_get / dbEnv_lock_put around the specified computation. -- dbTxn_id converts a DbTxn to a DbLocker. dbEnv_withLock :: [DbFlag] -> DbLockMode -> ByteString -> DbEnv -> DbLocker -> IO () -> IO () dbEnv_open :: [DbFlag] -> Int -> DbEnv -> FilePath -> IO () dbEnv_set_cache_size :: DbEnv -> Int -> Int -> Int -> IO () dbEnv_set_lg_regionmax :: DbEnv -> Int -> IO () data DbLockFlag DB_LOCK_NORUN :: DbLockFlag DB_LOCK_DEFAULT :: DbLockFlag DB_LOCK_EXPIRE :: DbLockFlag DB_LOCK_MAXLOCKS :: DbLockFlag DB_LOCK_MAXWRITE :: DbLockFlag DB_LOCK_MINLOCKS :: DbLockFlag DB_LOCK_MINWRITE :: DbLockFlag DB_LOCK_OLDEST :: DbLockFlag DB_LOCK_RANDOM :: DbLockFlag DB_LOCK_YOUNGEST :: DbLockFlag dbEnv_set_lk_detect :: DbEnv -> DbLockFlag -> IO () dbEnv_set_lk_max_lockers :: DbEnv -> Int -> IO () dbEnv_set_lk_max_locks :: DbEnv -> Int -> IO () dbEnv_set_lk_max_objects :: DbEnv -> Int -> IO () dbEnv_set_tx_max :: DbEnv -> Int -> IO () dbEnv_txn_begin :: [DbFlag] -> DbEnv -> Maybe DbTxn -> IO DbTxn dbEnv_txn_checkpoint :: [DbFlag] -> DbEnv -> CUInt -> CUInt -> IO () -- | Execute a computation within a transaction. dbEnv_withTxn :: [DbFlag] -> [DbFlag] -> DbEnv -> Maybe DbTxn -> (DbTxn -> IO ()) -> IO () type DbTxn = ForeignPtr DbTxn_struct dbTxn_abort :: DbTxn -> IO () dbTxn_commit :: [DbFlag] -> DbTxn -> IO () dbTxn_id :: DbTxn -> DbLocker type Db = ForeignPtr Db_struct db_close :: [DbFlag] -> Db -> IO () db_create :: [DbFlag] -> DbEnv -> IO Db db_del :: [DbFlag] -> Db -> Maybe DbTxn -> ByteString -> IO () db_get :: [DbFlag] -> Db -> Maybe DbTxn -> ByteString -> IO (Maybe ByteString) data DbType DB_BTREE :: DbType DB_HASH :: DbType DB_RECNO :: DbType DB_QUEUE :: DbType DB_UNKNOWN :: DbType db_open :: [DbFlag] -> DbType -> Int -> Db -> Maybe DbTxn -> FilePath -> Maybe String -> IO () db_put :: [DbFlag] -> Db -> Maybe DbTxn -> ByteString -> ByteString -> IO () db_set_pagesize :: Db -> Int -> IO () dbToNum :: DbFlag -> CUInt dbErrFromNum :: Int -> DbError data DbEnv_struct data DbTxn_struct instance Typeable DbException instance Eq DbException instance Show DbException instance Eq DbError instance Show DbError instance Exception DbException