@@ -524,7 +524,8 @@ convertError fs vs n = Left . SomeException $ ConversionFailed
524524-- for more information.
525525
526526data IsolationLevel
527− = ReadCommitted
527+ = DefaultIsolationLevel
528+ | ReadCommitted
528529 | RepeatableRead
529530 | Serializable
530531 deriving (Show, Eq, Ord, Enum, Bounded)
@@ -540,7 +541,7 @@ data TransactionMode = TransactionMode {
540541 } deriving (Show, Eq)
541542
542543defaultTransactionMode :: TransactionMode
543−defaultTransactionMode = TransactionMode ReadCommitted ReadWrite
544+defaultTransactionMode = TransactionMode DefaultIsolationLevel ReadWrite
544545
545546defaultIsolationLevel :: IsolationLevel
546547defaultIsolationLevel = ReadCommitted
@@ -594,10 +595,14 @@ beginLevel lvl = beginMode defaultTransactionMode { isolationLevel = lvl }
594595beginMode :: TransactionMode -> Connection -> IO ()
595596beginMode mode conn = do
596597 execute_ conn $! case mode of
597− TransactionMode ReadCommitted ReadWrite ->
598+ TransactionMode DefaultIsolationLevel ReadWrite ->
598599 "BEGIN"
599− TransactionMode ReadCommitted ReadOnly ->
600+ TransactionMode DefaultIsolationLevel ReadOnly ->
600601 "BEGIN READ ONLY"
602+ TransactionMode ReadCommitted ReadWrite ->
603+ "BEGIN ISOLATION LEVEL READ COMMITTED"
604+ TransactionMode ReadCommitted ReadOnly ->
605+ "BEGIN ISOLATION LEVEL READ COMMITTED READ ONLY"
601606 TransactionMode RepeatableRead ReadWrite ->
602607 "BEGIN ISOLATION LEVEL REPEATABLE READ"
603608 TransactionMode RepeatableRead ReadOnly ->