- Support GHC 8.10
- (Revision 1, 2022-11-30) Support GHC 9.0
- (Revision 2, 2023-02-03) Support GHC 9.2
- Support GHC 8.8
- Inline the exception handling code. In
streaming-0.1
this was provided byexceptions
instances, but instreaming-0.2
these instances were removed. Rather than rely on the instances, I've just added the implementations privately.
- Increase upper-bound of
streaming
to allow for 0.2
Increase upper bound of base
.
The previous implementation would perform the necessary finalisation only if the
stream was drained. Some handling was in-place such that exceptions wouldn't
cause the stream to end prematurely, but this isn't enough. We now use
MonadResource
to register an action to drain the stream.
Users should now wrap calls using query
with runResourceT
:
>>> runResourceT (S.mapM_ print (query c "SELECT * FROM t"))
stream
requires a transaction in order to function. If there isn't a
transaction open, stream
would create one, but if you manually called commit
or rollback
from within the stream, the internal state would become
inconsistent. This would lead to confusing error messages.
We now watch the transaction state as we pull items out from the stream, and inform the user if the internal state is not what we expected. Further more, cleanup actions (commit/rolling back the transaction) now only happen if there is still a transaction open.
- First version. Released on an unsuspecting world. Mwahaha.