@@ -75,20 +75,33 @@ class AtkeyPQ pq where
75 -> pq db0 db2 m y
75 -> pq db0 db2 m y
76 pqThen pq2 pq1 = pq1 & pqBind (\ _ -> pq2)
76 pqThen pq2 pq1 = pq1 & pqBind (\ _ -> pq2)
78−class AtkeyPQ pq => MonadPQ pq where
81 :: MonadBase IO io
79 :: MonadBase IO io
82 => Statement '[] '[] db0 db1
80 => Statement '[] '[] db0 db1
83 -> pq db0 db1 io (Maybe (Result '[]))
81 -> pq db0 db1 io (Maybe (Result '[]))
85− pqPrepare
83+ pqThenExec
85+ => Statement '[] '[] db1 db2
87+ -> pq db0 db2 io (Maybe (Result '[]))
88+ pqThenExec = pqThen . pqExec
86− :: (MonadBase IO io, ToOids ps)
91+ -- :: (MonadBase IO io, ToOids ps)
87− => ByteString
92+ -- => ByteString
88− -> Statement ps xs db0 db1
93+ -- -> Statement ps xs db0 db1
89− -> pq db0 db1 io (Maybe (Result '[]), PreparedStatement ps xs db0 db1)
94+ -- -> pq db0 db1 io (Maybe (Result '[]), PreparedStatement ps xs db0 db1)
97+ -- :: MonadBase IO io
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
91−class MonadQuery db m | m -> db where
104+class MonadPQ db m | m -> db where
93 pqExecParams
106 pqExecParams
94 :: (ToOids ps, AllZip HasEncoding ps xs)
107 :: (ToOids ps, AllZip HasEncoding ps xs)
@@ -118,22 +131,20 @@ instance AtkeyPQ PQ where
118 (x', conn') <- x conn
131 (x', conn') <- x conn
119 runPQ (f x') conn'
132 runPQ (f x') conn'
121−instance MonadPQ PQ where
123 pqExec (UnsafeStatement q) = PQ $ \ (Connection conn) -> do
134 pqExec (UnsafeStatement q) = PQ $ \ (Connection conn) -> do
124 result <- liftBase $ LibPQ.exec conn q
135 result <- liftBase $ LibPQ.exec conn q
125 return (Result <$> result, Connection conn)
136 return (Result <$> result, Connection conn)
127− pqPrepare statementName (UnsafeStatement q :: Statement ps ys db0 db1) =
138+ -- pqPrepare statementName (UnsafeStatement q :: Statement ps ys db0 db1) =
128− PQ $ \ (Connection conn) -> do
139+ -- PQ $ \ (Connection conn) -> do
129− result <- liftBase $
140+ -- result <- liftBase $
130− LibPQ.prepare conn statementName q (Just (toOids (proxy# :: Proxy# ps)))
141+ -- LibPQ.prepare conn statementName q (Just (toOids (proxy# :: Proxy# ps)))
131− return
142+ -- return
132− ( ( Result <$> result
143+ -- ( ( Result <$> result
133− , UnsafePreparedStatement statementName
144+ -- , UnsafePreparedStatement statementName
134− ) , Connection conn )
145+ -- ) , Connection conn )
136−instance MonadBase IO io => MonadQuery db (PQ db db io) where
147+instance MonadBase IO io => MonadPQ db (PQ db db io) where
138 pqExecParams (UnsafeStatement q :: Statement ps ys db0 db1) params =
149 pqExecParams (UnsafeStatement q :: Statement ps ys db0 db1) params =
139 PQ $ \ (Connection conn) -> do
150 PQ $ \ (Connection conn) -> do