erlang-0.2: src/Foreign/Erlang/OTP/Mnesia.hs
-- |
-- Module : Foreign.Erlang.OTP
-- Copyright : (c) Eric Sessoms, 2008
-- (c) Artúr Poór, 2015
-- License : GPL3
--
-- Maintainer : gombocarti@gmail.com
-- Stability : experimental
-- Portability : portable
--
module Foreign.Erlang.OTP.Mnesia (
-- * Mnesia database methods
backup
, dirtyAllKeys
, dirtyFirst
, dirtyNext
, dirtyLast
, dirtyPrev
, dirtyMatchObject
, dirtyRead
, dirtySelect
) where
import Foreign.Erlang.OTP.GenServer (rpcCall)
import Foreign.Erlang.Processes (MBox)
import Foreign.Erlang.Types (ErlType(..))
import Foreign.Erlang.Network (Node)
mnesia :: MBox -> Node -> String -> [ErlType] -> IO ErlType
mnesia mbox node f as = rpcCall mbox node "mnesia" f as
backup :: MBox -> Node -> String -> IO ErlType
backup mbox node path = mnesia mbox node "backup" [ErlString path]
dirtyAllKeys :: MBox -> Node -> String -> IO ErlType
dirtyAllKeys mbox node tab = mnesia mbox node "dirty_all_keys" [ErlAtom tab]
dirtyFirst :: MBox -> Node -> String -> IO ErlType
dirtyFirst mbox node tab = mnesia mbox node "dirty_first" [ErlAtom tab]
dirtyNext :: MBox -> Node -> String -> ErlType -> IO ErlType
dirtyNext mbox node tab key = mnesia mbox node "dirty_next" [ErlAtom tab, key]
dirtyLast :: MBox -> Node -> String -> IO ErlType
dirtyLast mbox node tab = mnesia mbox node "dirty_last" [ErlAtom tab]
dirtyPrev :: MBox -> Node -> String -> ErlType -> IO ErlType
dirtyPrev mbox node tab key = mnesia mbox node "dirty_pref" [ErlAtom tab, key]
dirtyMatchObject :: MBox -> Node -> ErlType -> IO ErlType
dirtyMatchObject mbox node pat = mnesia mbox node "dirty_match_object" [pat]
dirtyRead :: MBox -> Node -> String -> ErlType -> IO ErlType
dirtyRead mbox node tab key = mnesia mbox node "dirty_read" [ErlAtom tab, key]
dirtySelect :: MBox -> Node -> String -> ErlType -> IO ErlType
dirtySelect mbox node tab spec = mnesia mbox node "dirty_select" [spec]