selda-sqlite 0.1.2.1 → 0.1.2.2
raw patch · 2 files changed
+10/−6 lines, 2 filesdep +directorydep ~selda
Dependencies added: directory
Dependency ranges changed: selda
Files
- selda-sqlite.cabal +4/−3
- src/Database/Selda/SQLite.hs +6/−3
selda-sqlite.cabal view
@@ -1,5 +1,5 @@ name: selda-sqlite-version: 0.1.2.1+version: 0.1.2.2 synopsis: SQLite backend for the Selda database EDSL. description: SQLite backend for the Selda database EDSL. homepage: https://github.com/valderman/selda@@ -24,11 +24,12 @@ build-depends: base >=4.8 && <5 , exceptions >=0.8 && <0.9- , selda >=0.1.3.2 && <0.2+ , selda >=0.1.4.1 && <0.2 , text >=1.0 && <1.3 if !flag(haste) build-depends:- direct-sqlite >=2.2 && <2.4+ direct-sqlite >=2.2 && <2.4+ , directory >=1.2.2 && <1.4 hs-source-dirs: src default-language:
src/Database/Selda/SQLite.hs view
@@ -8,6 +8,7 @@ import Control.Concurrent #ifndef __HASTE__ import Database.SQLite3+import System.Directory (makeAbsolute) #endif -- | Perform the given computation over an SQLite database.@@ -23,16 +24,18 @@ Left e@(SQLError{}) -> do throwM (DbError (show e)) Right db -> do- let backend = sqliteBackend lock db+ absFile <- liftIO $ makeAbsolute file+ let backend = sqliteBackend lock absFile db liftIO $ runStmt backend "PRAGMA foreign_keys = ON;" [] runSeldaT m backend `finally` liftIO (close db) -sqliteBackend :: MVar () -> Database -> SeldaBackend-sqliteBackend lock db = SeldaBackend+sqliteBackend :: MVar () -> FilePath -> Database -> SeldaBackend+sqliteBackend lock dbfile db = SeldaBackend { runStmt = \q ps -> snd <$> sqliteQueryRunner lock db q ps , runStmtWithPK = \q ps -> fst <$> sqliteQueryRunner lock db q ps , customColType = \_ _ -> Nothing , defaultKeyword = "NULL"+ , dbIdentifier = pack dbfile } sqliteQueryRunner :: MVar () -> Database -> QueryRunner (Int, (Int, [[SqlValue]]))