{-# language FlexibleContexts #-}
{-# language MonoLocalBinds #-}

module Rel8.Query.SQL
  ( showQuery
  )
where

-- base
import Prelude

-- rel8
import Rel8.Expr ( Expr )
import Rel8.Query ( Query )
import Rel8.Statement.Select ( ppSelect )
import Rel8.Table ( Table )


-- | Convert a 'Query' to a 'String' containing a @SELECT@ statement.
showQuery :: Table Expr a => Query a -> String
showQuery :: forall a. Table Expr a => Query a -> String
showQuery = forall a. Show a => a -> String
show forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Table Expr a => Query a -> Doc
ppSelect