@@ -88,6 +88,9 @@ module Database.PostgreSQL.Simple
88 , TransactionMode(..)
88 , TransactionMode(..)
89 , IsolationLevel(..)
89 , IsolationLevel(..)
90 , ReadWriteMode(..)
90 , ReadWriteMode(..)
91+ , defaultTransactionMode
92+ , defaultIsolationLevel
93+ , defaultReadWriteMode
91 , withTransactionMode
94 , withTransactionMode
92-- , Base.autocommit
95-- , Base.autocommit
@@ -338,7 +341,7 @@ data FoldOptions
338 transactionMode :: !TransactionMode
341 transactionMode :: !TransactionMode
341−defaultFoldOptions = FoldOptions {
344+defaultFoldOptions = FoldOptions {
342 fetchQuantity = Automatic,
345 fetchQuantity = Automatic,
343 transactionMode = TransactionMode ReadCommitted ReadOnly
346 transactionMode = TransactionMode ReadCommitted ReadOnly
@@ -493,14 +496,20 @@ data ReadWriteMode
493 | ReadOnly
496 | ReadOnly
494 deriving (Show, Eq, Ord, Enum, Bounded)
497 deriving (Show, Eq, Ord, Enum, Bounded)
496−data TransactionMode = TransactionMode {
499+data TransactionMode = TransactionMode {
497− isolationLevel :: !IsolationLevel,
500+ isolationLevel :: !IsolationLevel,
498 readWriteMode :: !ReadWriteMode
501 readWriteMode :: !ReadWriteMode
499− } deriving (Show, Eq, Ord)
502+ } deriving (Show, Eq)
501defaultTransactionMode :: TransactionMode
504defaultTransactionMode :: TransactionMode
502defaultTransactionMode = TransactionMode ReadCommitted ReadWrite
505defaultTransactionMode = TransactionMode ReadCommitted ReadWrite
507+defaultIsolationLevel :: IsolationLevel
508+defaultIsolationLevel = ReadCommitted
510+defaultReadWriteMode :: ReadWriteMode
511+defaultReadWriteMode = ReadWrite
504-- | Execute an action inside a SQL transaction.
513-- | Execute an action inside a SQL transaction.
506-- This function initiates a transaction with a \"@begin
515-- This function initiates a transaction with a \"@begin
@@ -538,14 +547,14 @@ begin = beginMode defaultTransactionMode
538beginMode :: TransactionMode -> Connection -> IO ()
547beginMode :: TransactionMode -> Connection -> IO ()
539beginMode mode conn = do
548beginMode mode conn = do
540 execute_ conn $! case mode of
549 execute_ conn $! case mode of
541− TransactionMode ReadCommitted ReadWrite ->
550+ TransactionMode ReadCommitted ReadWrite ->
543− TransactionMode ReadCommitted ReadOnly ->
552+ TransactionMode ReadCommitted ReadOnly ->
544 "BEGIN READ ONLY"
553 "BEGIN READ ONLY"
545− TransactionMode RepeatableRead ReadWrite ->
554+ TransactionMode RepeatableRead ReadWrite ->
546 "BEGIN ISOLATION LEVEL REPEATABLE READ"
555 "BEGIN ISOLATION LEVEL REPEATABLE READ"
547− TransactionMode RepeatableRead ReadOnly ->
556+ TransactionMode RepeatableRead ReadOnly ->
548− "BEGIN ISOLATION LEVEL REPEATABLE READ READ ONLY"
557+ "BEGIN ISOLATION LEVEL REPEATABLE READ READ ONLY"
549 TransactionMode Serializable ReadWrite ->
558 TransactionMode Serializable ReadWrite ->
550 "BEGIN ISOLATION LEVEL SERIALIZABLE"
559 "BEGIN ISOLATION LEVEL SERIALIZABLE"
551 TransactionMode Serializable ReadOnly ->
560 TransactionMode Serializable ReadOnly ->