-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | PostgreSQL backend for Seakale -- -- This package provides a way to run code written with Seakale with a -- PostgreSQL database. @package seakale-postgresql @version 0.2.0.0 module Database.Seakale.PostgreSQL -- | Connection encapsulates a connection to the backend. data Connection :: * data ConnectInfo ConnectInfo :: String -> Word16 -> String -> String -> String -> ConnectInfo [ciHostname] :: ConnectInfo -> String [ciPort] :: ConnectInfo -> Word16 [ciUsername] :: ConnectInfo -> String [ciPassword] :: ConnectInfo -> String [ciDatabase] :: ConnectInfo -> String connect :: ConnectInfo -> IO Connection connectString :: ByteString -> IO Connection disconnect :: Connection -> IO () type Request = Request PSQL type RequestT = RequestT PSQL runRequest :: (HasConnection m, MonadIO m) => PSQL -> Request a -> m (Either SeakaleError a) runRequestT :: (HasConnection m, MonadIO m) => PSQL -> RequestT m a -> m (Either SeakaleError a) type Select = Select PSQL type SelectT = SelectT PSQL runSelect :: Select a -> Request a runSelectT :: Monad m => SelectT m a -> RequestT m a type Store = Store PSQL type StoreT m = StoreT PSQL m runStore :: Store a -> Request a runStoreT :: Monad m => StoreT m a -> RequestT m a class Monad m => HasConnection m withConn :: HasConnection m => (Connection -> m a) -> m a data PSQL PSQL :: Bool -> PSQL [psqlLogQueries] :: PSQL -> Bool defaultPSQL :: PSQL data SeakaleError :: * RowParseError :: String -> SeakaleError BackendError :: ByteString -> SeakaleError EntityNotFoundError :: SeakaleError data Query (a :: Nat) :: Nat -> * [Plain] :: Query a [Hole] :: Query (S n) [EmptyQuery] :: Query O newtype Field backend :: * -> * Field :: Maybe ByteString -> Field backend [fieldValue] :: Field backend -> Maybe ByteString type Row backend = [Field backend] data ColumnInfo backend :: * -> * ColumnInfo :: Maybe ByteString -> ColumnType backend -> ColumnInfo backend [colInfoName] :: ColumnInfo backend -> Maybe ByteString [colInfoType] :: ColumnInfo backend -> ColumnType backend type QueryData (n :: Nat) = Vector n (Maybe ByteString) data Vector (a :: Nat) b :: Nat -> * -> * [Cons] :: Vector (S n) b [Nil] :: Vector O b cons :: a -> Vector n a -> Vector (S n) a (<:>) :: a -> Vector n a -> Vector (S n) a infixr 5 <:> nil :: Vector Zero a (<:|) :: a -> a -> Vector Two a infixr 5 <:| type Zero = O type One = S Zero type Two = S One type Three = S Two type Four = S Three type Five = S Four type Six = S Five type Seven = S Six type Eight = S Seven type Nine = S Eight type Ten = S Nine instance GHC.Base.Monad m => Database.Seakale.PostgreSQL.HasConnection (Control.Monad.Trans.Reader.ReaderT Database.PostgreSQL.LibPQ.Internal.Connection m) instance Database.Seakale.PostgreSQL.HasConnection m => Database.Seakale.PostgreSQL.HasConnection (Control.Monad.Trans.Except.ExceptT e m) instance Database.Seakale.PostgreSQL.HasConnection m => Database.Seakale.PostgreSQL.HasConnection (Control.Monad.Trans.State.Lazy.StateT s m) instance Database.Seakale.Types.Backend Database.Seakale.PostgreSQL.PSQL module Database.Seakale.PostgreSQL.FromRow instance Database.Seakale.FromRow.FromRow Database.Seakale.PostgreSQL.PSQL Database.Seakale.Types.One GHC.Types.Bool instance Database.Seakale.FromRow.FromRow Database.Seakale.PostgreSQL.PSQL Database.Seakale.Types.One Data.Time.Clock.UTC.UTCTime instance Database.Seakale.FromRow.FromRow Database.Seakale.PostgreSQL.PSQL Database.Seakale.Types.One GHC.Base.String instance Database.Seakale.FromRow.FromRow Database.Seakale.PostgreSQL.PSQL Database.Seakale.Types.One a => Database.Seakale.FromRow.FromRow Database.Seakale.PostgreSQL.PSQL Database.Seakale.Types.One [a] module Database.Seakale.PostgreSQL.ToRow instance Database.Seakale.ToRow.ToRow Database.Seakale.PostgreSQL.PSQL Database.Seakale.Types.One GHC.Types.Bool instance Database.Seakale.ToRow.ToRow Database.Seakale.PostgreSQL.PSQL Database.Seakale.Types.One Data.Time.Clock.UTC.UTCTime instance Database.Seakale.ToRow.ToRow Database.Seakale.PostgreSQL.PSQL Database.Seakale.Types.One GHC.Base.String instance Database.Seakale.ToRow.ToRow Database.Seakale.PostgreSQL.PSQL Database.Seakale.Types.One a => Database.Seakale.ToRow.ToRow Database.Seakale.PostgreSQL.PSQL Database.Seakale.Types.One [a]