module Hasql.CursorTransaction.Private.Transactions where import Hasql.CursorTransaction.Private.Prelude import qualified Hasql.CursorTransaction.Private.Statements as A import qualified Hasql.CursorTransaction.Private.Specs as B import qualified Hasql.Transaction as C import qualified Hasql.Decoders as E import qualified Hasql.Encoders as F declareCursor :: ByteString -> ByteString -> F.Params params -> params -> C.Transaction () declareCursor cursorName template paramsEncoder params = C.statement params (A.declareCursor cursorName template paramsEncoder) closeCursor :: ByteString -> C.Transaction () closeCursor cursorName = C.statement () (A.closeCursor cursorName) fetchFromCursor :: ByteString -> B.BatchSize -> E.Result result -> C.Transaction result fetchFromCursor cursorName batchSize decoder = C.statement () (A.fetchFromCursor cursorName batchSize decoder)