@@ -75,20 +75,33 @@ class AtkeyPQ pq where
7575 -> pq db0 db2 m y
7676 pqThen pq2 pq1 = pq1 & pqBind (\ _ -> pq2)
7777
78−class AtkeyPQ pq => MonadPQ pq where
79−
8078 pqExec
8179 :: MonadBase IO io
8280 => Statement '[] '[] db0 db1
8381 -> pq db0 db1 io (Maybe (Result '[]))
8482
85− pqPrepare
86− :: (MonadBase IO io, ToOids ps)
87− => ByteString
88− -> Statement ps xs db0 db1
89− -> pq db0 db1 io (Maybe (Result '[]), PreparedStatement ps xs db0 db1)
90−
91−class MonadQuery db m | m -> db where
83+ pqThenExec
84+ :: MonadBase IO io
85+ => Statement '[] '[] db1 db2
86+ -> pq db0 db1 io x
87+ -> pq db0 db2 io (Maybe (Result '[]))
88+ pqThenExec = pqThen . pqExec
89+
90+ -- pqPrepare
91+ -- :: (MonadBase IO io, ToOids ps)
92+ -- => ByteString
93+ -- -> Statement ps xs db0 db1
94+ -- -> pq db0 db1 io (Maybe (Result '[]), PreparedStatement ps xs db0 db1)
95+
96+ -- pqThenPrepare
97+ -- :: MonadBase IO io
98+ -- => ByteString
99+ -- -> Statement ps xs schema0 schema1
100+ -- -> pq db0 db1 io x
101+ -- -> pq db1 db1 io (Maybe (Result '[]), PreparedStatement ps xs schema0 schema1)
102+ -- pqThenPrepare name st pq = pqThen (pqPrepare name st) pq
103+
104+class MonadPQ db m | m -> db where
92105
93106 pqExecParams
94107 :: (ToOids ps, AllZip HasEncoding ps xs)
@@ -118,22 +131,20 @@ instance AtkeyPQ PQ where
118131 (x', conn') <- x conn
119132 runPQ (f x') conn'
120133
121−instance MonadPQ PQ where
122−
123134 pqExec (UnsafeStatement q) = PQ $ \ (Connection conn) -> do
124135 result <- liftBase $ LibPQ.exec conn q
125136 return (Result <$> result, Connection conn)
126137
127− pqPrepare statementName (UnsafeStatement q :: Statement ps ys db0 db1) =
128− PQ $ \ (Connection conn) -> do
129− result <- liftBase $
130− LibPQ.prepare conn statementName q (Just (toOids (proxy# :: Proxy# ps)))
131− return
132− ( ( Result <$> result
133− , UnsafePreparedStatement statementName
134− ) , Connection conn )
138+ -- pqPrepare statementName (UnsafeStatement q :: Statement ps ys db0 db1) =
139+ -- PQ $ \ (Connection conn) -> do
140+ -- result <- liftBase $
141+ -- LibPQ.prepare conn statementName q (Just (toOids (proxy# :: Proxy# ps)))
142+ -- return
143+ -- ( ( Result <$> result
144+ -- , UnsafePreparedStatement statementName
145+ -- ) , Connection conn )
135146
136−instance MonadBase IO io => MonadQuery db (PQ db db io) where
147+instance MonadBase IO io => MonadPQ db (PQ db db io) where
137148
138149 pqExecParams (UnsafeStatement q :: Statement ps ys db0 db1) params =
139150 PQ $ \ (Connection conn) -> do