rel8-1.7.0.0: src/Rel8/Statement/Rows.hs
{-# language DataKinds #-}
{-# language GADTs #-}
{-# language StandaloneKindSignatures #-}
module Rel8.Statement.Rows
( Rows (..)
)
where
-- base
import Data.Int (Int64)
import Data.Kind (Type)
import Prelude
-- rel8
import Rel8.Query (Query)
import Rel8.Table.Serialize (Serializable)
-- vector
import Data.Vector (Vector)
type Rows :: Type -> Type -> Type
data Rows returning result where
Void :: Rows returning ()
RowsAffected :: Rows () Int64
Single :: Serializable exprs a => Rows (Query exprs) a
Maybe :: Serializable exprs a => Rows (Query exprs) (Maybe a)
List :: Serializable exprs a => Rows (Query exprs) [a]
Vector :: Serializable exprs a => Rows (Query exprs) (Vector a)