-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | SQLite backend for the Selda database EDSL.
--
-- Allows the Selda database EDSL to be used with SQLite databases.
@package selda-sqlite
@version 0.1.7.0
-- | SQLite3 backend for Selda.
module Database.Selda.SQLite
data SQLite
-- | Perform the given computation over an SQLite database. The database is
-- guaranteed to be closed when the computation terminates.
withSQLite :: (MonadIO m, MonadMask m) => FilePath -> SeldaT SQLite m a -> m a
-- | Open a new connection to an SQLite database. The connection is
-- reusable across calls to runSeldaT, and must be explicitly
-- closed using seldaClose when no longer needed.
sqliteOpen :: (MonadIO m, MonadMask m) => FilePath -> m (SeldaConnection SQLite)
-- | Close a reusable Selda connection. Closing a connection while in use
-- is undefined. Passing a closed connection to runSeldaT results
-- in a SeldaError being thrown. Closing a connection more than
-- once is a no-op.
seldaClose :: MonadIO m => SeldaConnection b -> m ()
-- | Create a Selda backend using an already open database handle. This is
-- useful for situations where you want to use some SQLite-specific
-- functionality alongside Selda.
--
-- Note that manipulating the underlying database handle directly voids
-- any and all safety guarantees made by the Selda API. Caching
-- functionality in particular WILL break. Proceed with extreme caution.
sqliteBackend :: Database -> SeldaBackend SQLite