-- 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