module Database.HaskellDB.HDBC.SQLite3 (
SQLiteOptions(..), sqliteConnect,
DriverInterface(..), driver
) where
import Database.HaskellDB.Database
import Database.HaskellDB.HDBC
import Database.HaskellDB.DriverAPI
import Database.HaskellDB.Sql.SQLite as SQLite
import Database.HDBC.Sqlite3 (connectSqlite3)
import System.IO
data SQLiteOptions = SQLiteOptions {
filepath :: FilePath
}
sqliteConnect :: MonadIO m => FilePath -> (Database -> m a) -> m a
sqliteConnect path = hdbcConnect SQLite.generator (connectSqlite3 path)
options :: [(String, String)]
options =
("filepath", "File path") :
[]
sqliteConnectOpts :: MonadIO m => [(String,String)] -> (Database -> m a) -> m a
sqliteConnectOpts opts f =
do
[a] <- getAnnotatedOptions options opts
sqliteConnect a f
driver :: DriverInterface
driver = defaultdriver {connect = sqliteConnectOpts, requiredOptions = options}