@@ -8,7 +8,7 @@ import ProjectM36.Persist (writeBSFileSync, DiskSync, renameSync)
88import qualified Data.Map as M
99import qualified Data.HashSet as HS
1010import qualified Data.Binary as B
11−import qualified Data.ByteString.Lazy as BS
11+--import qualified Data.ByteString as BS
1212import System.FilePath
1313import System.Directory
1414import qualified Data.Text as T
@@ -59,7 +59,7 @@ readTransaction dbdir transId mScriptSession = do
5959 return $ Left $ MissingTransactionError transId
6060 else do
6161 relvars <- readRelVars transDir
62− transInfo <- B.decode <$> BS.readFile (transactionInfoPath transDir)
62+ transInfo <- B.decodeFile (transactionInfoPath transDir)
6363 incDeps <- readIncDeps transDir
6464 typeCons <- readTypeConstructorMapping transDir
6565 sschemas <- readSubschemas transDir
@@ -89,7 +89,7 @@ writeTransaction sync dbdir trans = do
8989 writeDBCFuncs sync tempTransDir (dbcFunctions context)
9090 writeTypeConstructorMapping sync tempTransDir (typeConstructorMapping context)
9191 writeSubschemas sync tempTransDir (subschemas trans)
92− BS.writeFile (transactionInfoPath tempTransDir) (B.encode $ transactionInfo trans)
92+ B.encodeFile (transactionInfoPath tempTransDir) (transactionInfo trans)
9393 --move the temp directory to final location
9494 renameSync sync tempTransDir finalTransDir
9595 pure ()
@@ -101,13 +101,13 @@ writeRelVar sync transDir (relvarName, rel) = do
101101
102102writeRelVars :: DiskSync -> FilePath -> M.Map RelVarName Relation -> IO ()
103103writeRelVars sync transDir relvars = mapM_ (writeRelVar sync transDir) $ M.toList relvars
104−
104+
105105readRelVars :: FilePath -> IO (M.Map RelVarName Relation)
106106readRelVars transDir = do
107107 let relvarsPath = relvarsDir transDir
108108 relvarNames <- getDirectoryNames relvarsPath
109109 relvars <- mapM (\name -> do
110− rel <- B.decode <$> BS.readFile (relvarsPath </> name)
110+ rel <- B.decodeFile (relvarsPath </> name)
111111 return (T.pack name, rel)) relvarNames
112112 return $ M.fromList relvars
113113
@@ -133,7 +133,7 @@ writeAtomFunc sync transDir func = do
133133readAtomFunc :: FilePath -> AtomFunctionName -> Maybe ScriptSession -> AtomFunctions -> IO AtomFunction
134134readAtomFunc transDir funcName mScriptSession precompiledFuncs = do
135135 let atomFuncPath = atomFuncsDir transDir </> T.unpack funcName
136− (funcType, mFuncScript) <- B.decode <$> BS.readFile atomFuncPath
136+ (funcType, mFuncScript) <- B.decodeFile atomFuncPath
137137 case mFuncScript of
138138 --handle pre-compiled case- pull it from the precompiled list
139139 Nothing -> case atomFunctionForName funcName precompiledFuncs of
@@ -174,7 +174,7 @@ readDBCFuncs transDir mScriptSession = do
174174readDBCFunc :: FilePath -> DatabaseContextFunctionName -> Maybe ScriptSession -> DatabaseContextFunctions -> IO DatabaseContextFunction
175175readDBCFunc transDir funcName mScriptSession precompiledFuncs = do
176176 let dbcFuncPath = dbcFuncsDir transDir </> T.unpack funcName
177− (funcType, mFuncScript) <- B.decode <$> BS.readFile dbcFuncPath
177+ (funcType, mFuncScript) <- B.decodeFile dbcFuncPath
178178 case mFuncScript of
179179 Nothing -> case databaseContextFunctionForName funcName precompiledFuncs of
180180 Left _ -> error ("expected precompiled dbc function: " ++ T.unpack funcName)
@@ -202,8 +202,8 @@ writeIncDeps sync transDir incdeps = mapM_ (writeIncDep sync transDir) $ M.toLis
202202readIncDep :: FilePath -> IncDepName -> IO (IncDepName, InclusionDependency)
203203readIncDep transDir incdepName = do
204204 let incDepPath = incDepsDir transDir </> T.unpack incdepName
205− incDepData <- BS.readFile incDepPath
206− pure (incdepName, B.decode incDepData)
205+ incDepData <- B.decodeFile incDepPath
206+ pure (incdepName, incDepData)
207207
208208readIncDeps :: FilePath -> IO (M.Map IncDepName InclusionDependency)
209209readIncDeps transDir = do
@@ -215,8 +215,7 @@ readIncDeps transDir = do
215215readSubschemas :: FilePath -> IO Subschemas
216216readSubschemas transDir = do
217217 let sschemasPath = subschemasPath transDir
218− bytes <- BS.readFile sschemasPath
219− pure (B.decode bytes)
218+ B.decodeFile sschemasPath
220219
221220writeSubschemas :: DiskSync -> FilePath -> Subschemas -> IO ()
222221writeSubschemas sync transDir sschemas = do
@@ -230,6 +229,6 @@ writeTypeConstructorMapping sync path types = let atPath = typeConsPath path in
230229readTypeConstructorMapping :: FilePath -> IO TypeConstructorMapping
231230readTypeConstructorMapping path = do
232231 let atPath = typeConsPath path
233− B.decode <$> BS.readFile atPath
232+ B.decodeFile atPath
234233
235234