-- | -- Module : Foreign.Erlang.OTP -- Copyright : (c) Eric Sessoms, 2008 -- (c) Artúr Poór, 2015 -- (c) Arnold Szederjesi-Dragomir, 2021 -- License : GPL3 -- -- Maintainer : szederjesiarnold@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]