sqel-0.0.1.0: lib/Sqel/Data/QuerySchema.hs
module Sqel.Data.QuerySchema where
import Sqel.Data.Codec (Encoder)
import Sqel.Data.SelectExpr (SelectFragment)
import Sqel.Data.Sql (ToSql (toSql))
import Sqel.Data.SqlFragment (SelectQuery (SelectQuery))
data QuerySchema q a =
QuerySchema {
frags :: [SelectFragment],
encoder :: Encoder q
}
deriving stock (Generic)
emptyQuerySchema :: QuerySchema () a
emptyQuerySchema =
QuerySchema mempty mempty
instance ToSql (SelectQuery (QuerySchema q a)) where
toSql (SelectQuery (QuerySchema frags _)) =
toSql frags