@@ -44,6 +44,7 @@ import Database.PostgreSQL.Simple.Types (Query(..))
44import Database.PostgreSQL.Simple.TypeInfo.Types(TypeInfo)
44import Database.PostgreSQL.Simple.TypeInfo.Types(TypeInfo)
45import Control.Monad.Trans.State.Strict
45import Control.Monad.Trans.State.Strict
46import Control.Monad.Trans.Reader
46import Control.Monad.Trans.Reader
47+import Control.Monad.Trans.Class
47import GHC.IO.Exception
48import GHC.IO.Exception
49-- | A Field represents metadata about a particular field
50-- | A Field represents metadata about a particular field
@@ -297,7 +298,7 @@ newtype RowParser a = RP { unRP :: ReaderT Row (StateT PQ.Column Conversion) a }
297 deriving ( Functor, Applicative, Alternative, Monad )
298 deriving ( Functor, Applicative, Alternative, Monad )
299liftRowParser :: IO a -> RowParser a
300liftRowParser :: IO a -> RowParser a
300−liftRowParser = lift . lift
301+liftRowParser = RP . lift . lift . liftConversion
302newtype Conversion a = Conversion { runConversion :: Connection -> IO (Ok a) }
303newtype Conversion a = Conversion { runConversion :: Connection -> IO (Ok a) }