module Hasql.Transaction.Builders where import Hasql.Transaction.Prelude import Hasql.Transaction.Types import ByteString.StrictBuilder beginTransaction :: Mode -> Level -> Builder beginTransaction mode_ level_ = "begin " <> level level_ <> " " <> mode mode_ level :: Level -> Builder level = \ case ReadCommitted -> "isolation level read committed" RepeatableRead -> "isolation level repeatable read" Serializable -> "isolation level serializable" mode :: Mode -> Builder mode = \ case Write -> "read write" Read -> "read only"