module Database.MySQL.Simple.TypedQuery
( genJsonQuery
, genTypedQuery
, TQ.genUncurry
, TQ.TypedQuery(..)
, S.Query
)
where
import qualified Database.MySQL.Base as S (Connection)
import qualified Database.MySQL.Simple.Types as S (fromQuery)
import qualified Database.MySQL.Simple as S (query, query_, execute, execute_, Only(..), In(..), connect, Query)
import Database.MySQL.Simple.DBmore()
import qualified Database.TypedQuery.Types as TQ
import Language.Haskell.TH.Syntax (Q, Exp, Lift(..))
import Data.ByteString.UTF8 (toString)
import Prelude ( (.))
instance Lift S.Query where
lift = lift . toString . S.fromQuery
instance TQ.RunDB S.Query where
rdquery _ = 'S.query
rdquery_ _ = 'S.query_
rdexecute_ _ = 'S.execute_
rdexecute _ = 'S.execute
rdin _ = 'S.In
rdonly _ = 'S.Only
rdconn _ = ''S.Connection
genJsonQuery :: TQ.TypedQuery S.Query -> Q Exp
genJsonQuery = TQ.genJsonQuery
genTypedQuery :: TQ.TypedQuery S.Query -> Q Exp
genTypedQuery = TQ.genTypedQuery