on dev help sign in
pqEmbed
f482258Eitan Chatav
squeal-postgresql/src/Squeal/PostgreSQL/PQ.hs+9
@@ -39,6 +39,7 @@ module Squeal.PostgreSQL.PQ
39 -- * PQ
39 -- * PQ
40 , PQ (PQ, runPQ)
40 , PQ (PQ, runPQ)
41 , execPQ
41 , execPQ
42+ , pqEmbed
42 , pqAp
43 , pqAp
43 , pqBind
44 , pqBind
44 , pqJoin
45 , pqJoin
@@ -170,6 +171,14 @@ execPQ
170 -> m (K LibPQ.Connection schema1)
171 -> m (K LibPQ.Connection schema1)
171execPQ (PQ pq) conn = fmap (mapKK (\ _ -> unK conn)) $ pq conn
172execPQ (PQ pq) conn = fmap (mapKK (\ _ -> unK conn)) $ pq conn
172
173
174+pqEmbed
175+ :: Monad m
176+ => PQ schema0 schema1 m x
177+ -> PQ (table ': schema0) (table : schema1) m x
178+pqEmbed (PQ pq) = PQ $ \ (K conn) -> do
179+ K x <- pq (K conn)
180+ return $ K x
181+
173-- | indexed analog of `<*>`
182-- | indexed analog of `<*>`
174pqAp
183pqAp
175 :: Monad m
184 :: Monad m