0001-Throw-error-and-rollback-on-a-failed-transaction-ins.patch
application/octet-stream
Filename: 0001-Throw-error-and-rollback-on-a-failed-transaction-ins.patch
Type: application/octet-stream
Part: 0
Message:
Re: Error on failed COMMIT
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch 0001
Subject: Throw error and rollback on a failed transaction instead of silently rolling back
| File | + | − |
|---|---|---|
| src/backend/tcop/utility.c | 9 | 0 |
| src/backend/utils/error/elog.c | 1 | 0 |
| src/include/utils/elog.h | 5 | 4 |
| src/test/isolation/expected/alter-table-3.out | 48 | 0 |
| src/test/isolation/expected/classroom-scheduling.out | 6 | 0 |
| src/test/isolation/expected/deadlock-hard.out | 1 | 0 |
| src/test/isolation/expected/deadlock-simple.out | 1 | 0 |
| src/test/isolation/expected/eval-plan-qual.out | 3 | 0 |
| src/test/isolation/expected/eval-plan-qual-trigger.out | 3 | 0 |
| src/test/isolation/expected/fk-partitioned-1.out | 14 | 0 |
| src/test/isolation/expected/fk-partitioned-2.out | 6 | 0 |
| src/test/isolation/expected/insert-conflict-do-nothing-2.out | 4 | 0 |
| src/test/isolation/expected/lock-committed-keyupdate.out | 12 | 0 |
| src/test/isolation/expected/multiple-row-versions.out | 1 | 0 |
| src/test/isolation/expected/nowait-2.out | 3 | 0 |
| src/test/isolation/expected/nowait-3.out | 1 | 0 |
| src/test/isolation/expected/nowait-4.out | 1 | 0 |
| src/test/isolation/expected/nowait-5.out | 1 | 0 |
| src/test/isolation/expected/nowait.out | 4 | 0 |
| src/test/isolation/expected/partial-index.out | 6 | 0 |
| src/test/isolation/expected/partition-concurrent-attach.out | 3 | 0 |
| src/test/isolation/expected/partition-key-update-1.out | 7 | 0 |
| src/test/isolation/expected/partition-key-update-3.out | 6 | 0 |
| src/test/isolation/expected/predicate-gin.out | 11 | 0 |
| src/test/isolation/expected/predicate-gist.out | 6 | 0 |
| src/test/isolation/expected/predicate-hash.out | 6 | 0 |
| src/test/isolation/expected/project-manager.out | 6 | 0 |
| src/test/isolation/expected/propagate-lock-delete.out | 8 | 0 |
| src/test/isolation/expected/read-write-unique-2.out | 2 | 0 |
| src/test/isolation/expected/read-write-unique-3.out | 1 | 0 |
| src/test/isolation/expected/read-write-unique-4.out | 3 | 0 |
| src/test/isolation/expected/read-write-unique.out | 2 | 0 |
| src/test/isolation/expected/receipt-report.out | 2 | 0 |
| src/test/isolation/expected/referential-integrity.out | 13 | 0 |
| src/test/isolation/expected/ri-trigger.out | 4 | 0 |
| src/test/isolation/expected/temporal-range-integrity.out | 6 | 0 |
| src/test/isolation/expected/total-cash.out | 6 | 0 |
| src/test/isolation/expected/update-conflict-out.out | 2 | 0 |
| src/test/regress/expected/copy2.out | 2 | 0 |
| src/test/regress/expected/create_index.out | 6 | 0 |
| src/test/regress/expected/foreign_key.out | 7 | 0 |
| src/test/regress/expected/insert_conflict.out | 3 | 0 |
| src/test/regress/expected/portals.out | 1 | 0 |
| src/test/regress/expected/prepared_xacts.out | 1 | 0 |
| src/test/regress/expected/privileges.out | 3 | 0 |
| src/test/regress/expected/subscription.out | 2 | 0 |
| src/test/regress/expected/transactions.out | 9 | 0 |
| src/test/regress/output/constraints.source | 2 | 0 |
From c4510d202abcec524cbc6f779f8c9a19d8e0ff35 Mon Sep 17 00:00:00 2001
From: Dave Cramer <davecramer@gmail.com>
Date: Mon, 25 Jan 2021 16:14:08 +0000
Subject: [PATCH] Throw error and rollback on a failed transaction instead of
silently rolling back
---
src/backend/tcop/utility.c | 9 ++++
src/backend/utils/error/elog.c | 1 +
src/include/utils/elog.h | 9 ++--
src/test/isolation/expected/alter-table-3.out | 48 +++++++++++++++++++
.../expected/classroom-scheduling.out | 6 +++
src/test/isolation/expected/deadlock-hard.out | 1 +
.../isolation/expected/deadlock-simple.out | 1 +
.../expected/eval-plan-qual-trigger.out | 3 ++
.../isolation/expected/eval-plan-qual.out | 3 ++
.../isolation/expected/fk-partitioned-1.out | 14 ++++++
.../isolation/expected/fk-partitioned-2.out | 6 +++
.../expected/insert-conflict-do-nothing-2.out | 4 ++
.../expected/lock-committed-keyupdate.out | 12 +++++
.../expected/multiple-row-versions.out | 1 +
src/test/isolation/expected/nowait-2.out | 3 ++
src/test/isolation/expected/nowait-3.out | 1 +
src/test/isolation/expected/nowait-4.out | 1 +
src/test/isolation/expected/nowait-5.out | 1 +
src/test/isolation/expected/nowait.out | 4 ++
src/test/isolation/expected/partial-index.out | 6 +++
.../expected/partition-concurrent-attach.out | 3 ++
.../expected/partition-key-update-1.out | 7 +++
.../expected/partition-key-update-3.out | 6 +++
src/test/isolation/expected/predicate-gin.out | 11 +++++
.../isolation/expected/predicate-gist.out | 6 +++
.../isolation/expected/predicate-hash.out | 6 +++
.../isolation/expected/project-manager.out | 6 +++
.../expected/propagate-lock-delete.out | 8 ++++
.../expected/read-write-unique-2.out | 2 +
.../expected/read-write-unique-3.out | 1 +
.../expected/read-write-unique-4.out | 3 ++
.../isolation/expected/read-write-unique.out | 2 +
.../isolation/expected/receipt-report.out | 2 +
.../expected/referential-integrity.out | 13 +++++
src/test/isolation/expected/ri-trigger.out | 4 ++
.../expected/temporal-range-integrity.out | 6 +++
src/test/isolation/expected/total-cash.out | 6 +++
.../expected/update-conflict-out.out | 2 +
src/test/regress/expected/copy2.out | 2 +
src/test/regress/expected/create_index.out | 6 +++
src/test/regress/expected/foreign_key.out | 7 +++
src/test/regress/expected/insert_conflict.out | 3 ++
src/test/regress/expected/portals.out | 1 +
src/test/regress/expected/prepared_xacts.out | 1 +
src/test/regress/expected/privileges.out | 3 ++
src/test/regress/expected/subscription.out | 2 +
src/test/regress/expected/transactions.out | 9 ++++
src/test/regress/output/constraints.source | 2 +
48 files changed, 260 insertions(+), 4 deletions(-)
diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c
index 1d81071c35..487af93de1 100644
--- a/src/backend/tcop/utility.c
+++ b/src/backend/tcop/utility.c
@@ -622,6 +622,11 @@ standard_ProcessUtility(PlannedStmt *pstmt,
/* report unsuccessful commit in qc */
if (qc)
SetQueryCompletion(qc, CMDTAG_ROLLBACK, 0);
+ /* report USER_ERROR so that we don't completely exit the context */
+ ereport(USER_ERROR,
+ (errcode(ERRCODE_TRANSACTION_ROLLBACK),
+ errmsg("current transaction failed, "
+ "rolling back")));
}
break;
@@ -631,6 +636,10 @@ standard_ProcessUtility(PlannedStmt *pstmt,
/* report unsuccessful commit in qc */
if (qc)
SetQueryCompletion(qc, CMDTAG_ROLLBACK, 0);
+ ereport(ERROR,
+ (errcode(ERRCODE_TRANSACTION_ROLLBACK),
+ errmsg("current transaction failed, "
+ "rolling back")));
}
break;
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80c2672461..0526166465 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3502,6 +3502,7 @@ error_severity(int elevel)
case WARNING_CLIENT_ONLY:
prefix = gettext_noop("WARNING");
break;
+ case USER_ERROR:
case ERROR:
prefix = gettext_noop("ERROR");
break;
diff --git a/src/include/utils/elog.h b/src/include/utils/elog.h
index 3c0e57621f..b04f01e656 100644
--- a/src/include/utils/elog.h
+++ b/src/include/utils/elog.h
@@ -42,17 +42,18 @@
* WARNING is for unexpected messages. */
#define WARNING_CLIENT_ONLY 20 /* Warnings to be sent to client as usual, but
* never to the server log. */
-#define ERROR 21 /* user error - abort transaction; return to
+#define USER_ERROR 21
+#define ERROR 22 /* user error - abort transaction; return to
* known state */
/* Save ERROR value in PGERROR so it can be restored when Win32 includes
* modify it. We have to use a constant rather than ERROR because macros
* are expanded only when referenced outside macros.
*/
#ifdef WIN32
-#define PGERROR 21
+#define PGERROR 22
#endif
-#define FATAL 22 /* fatal error - abort process */
-#define PANIC 23 /* take down the other backends with me */
+#define FATAL 23 /* fatal error - abort process */
+#define PANIC 24 /* take down the other backends with me */
/* macros for representing SQLSTATE strings compactly */
diff --git a/src/test/isolation/expected/alter-table-3.out b/src/test/isolation/expected/alter-table-3.out
index b4f3b5a86d..cc237aff0d 100644
--- a/src/test/isolation/expected/alter-table-3.out
+++ b/src/test/isolation/expected/alter-table-3.out
@@ -12,6 +12,7 @@ i
1
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s1b s1c s2a s1d s2b s2c s2d
@@ -26,6 +27,7 @@ i
1
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s1b s1c s2a s2b s1d s2c s2d
@@ -40,6 +42,7 @@ i
step s1d: COMMIT;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s1b s1c s2a s2b s2c s1d s2d
@@ -55,6 +58,7 @@ step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1d: COMMIT;
step s2c: <... completed>
error in steps s1d s2c: ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s1b s2a s1c s1d s2b s2c s2d
@@ -69,6 +73,7 @@ i
1
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s1b s2a s1c s2b s1d s2c s2d
@@ -83,6 +88,7 @@ i
step s1d: COMMIT;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s1b s2a s1c s2b s2c s1d s2d
@@ -98,6 +104,7 @@ step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1d: COMMIT;
step s2c: <... completed>
error in steps s1d s2c: ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s1b s2a s2b s1c s1d s2c s2d
@@ -112,6 +119,7 @@ step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s1b s2a s2b s1c s2c s1d s2d
@@ -127,6 +135,7 @@ step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1d: COMMIT;
step s2c: <... completed>
error in steps s1d s2c: ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s1b s2a s2b s2c s1c s1d s2d
@@ -142,6 +151,7 @@ step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2c: <... completed>
error in steps s1d s2c: ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s2a s1b s1c s1d s2b s2c s2d
@@ -156,6 +166,7 @@ i
1
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s2a s1b s1c s2b s1d s2c s2d
@@ -170,6 +181,7 @@ i
step s1d: COMMIT;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s2a s1b s1c s2b s2c s1d s2d
@@ -185,6 +197,7 @@ step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1d: COMMIT;
step s2c: <... completed>
error in steps s1d s2c: ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s2a s1b s2b s1c s1d s2c s2d
@@ -199,6 +212,7 @@ step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s2a s1b s2b s1c s2c s1d s2d
@@ -214,6 +228,7 @@ step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1d: COMMIT;
step s2c: <... completed>
error in steps s1d s2c: ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s2a s1b s2b s2c s1c s1d s2d
@@ -229,6 +244,7 @@ step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2c: <... completed>
error in steps s1d s2c: ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s2a s2b s1b s1c s1d s2c s2d
@@ -243,6 +259,7 @@ step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s2a s2b s1b s1c s2c s1d s2d
@@ -258,6 +275,7 @@ step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1d: COMMIT;
step s2c: <... completed>
error in steps s1d s2c: ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s2a s2b s1b s2c s1c s1d s2d
@@ -273,6 +291,7 @@ step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2c: <... completed>
error in steps s1d s2c: ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s2a s2b s2c s1b s1c s1d s2d
@@ -287,6 +306,7 @@ ERROR: duplicate key value violates unique constraint "a_pkey"
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s1a s2a s2b s2c s1b s1c s2d s1d
@@ -300,6 +320,7 @@ step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
step s1d: COMMIT;
@@ -313,6 +334,7 @@ i
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s1b: ALTER TABLE a DISABLE TRIGGER t;
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
@@ -326,6 +348,7 @@ i
1
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
@@ -343,6 +366,7 @@ i
1
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s2a s1a s1b s1c s2b s1d s2c s2d
@@ -357,6 +381,7 @@ i
step s1d: COMMIT;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s2a s1a s1b s1c s2b s2c s1d s2d
@@ -372,6 +397,7 @@ step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1d: COMMIT;
step s2c: <... completed>
error in steps s1d s2c: ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s2a s1a s1b s2b s1c s1d s2c s2d
@@ -386,6 +412,7 @@ step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s2a s1a s1b s2b s1c s2c s1d s2d
@@ -401,6 +428,7 @@ step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1d: COMMIT;
step s2c: <... completed>
error in steps s1d s2c: ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s2a s1a s1b s2b s2c s1c s1d s2d
@@ -416,6 +444,7 @@ step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2c: <... completed>
error in steps s1d s2c: ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s2a s1a s2b s1b s1c s1d s2c s2d
@@ -430,6 +459,7 @@ step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s2a s1a s2b s1b s1c s2c s1d s2d
@@ -445,6 +475,7 @@ step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1d: COMMIT;
step s2c: <... completed>
error in steps s1d s2c: ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s2a s1a s2b s1b s2c s1c s1d s2d
@@ -460,6 +491,7 @@ step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2c: <... completed>
error in steps s1d s2c: ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s2a s1a s2b s2c s1b s1c s1d s2d
@@ -474,6 +506,7 @@ ERROR: duplicate key value violates unique constraint "a_pkey"
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s2a s1a s2b s2c s1b s1c s2d s1d
@@ -487,6 +520,7 @@ step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
step s1d: COMMIT;
@@ -500,6 +534,7 @@ i
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s1b: ALTER TABLE a DISABLE TRIGGER t;
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
@@ -513,6 +548,7 @@ i
1
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
@@ -530,6 +566,7 @@ step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s2a s2b s1a s1b s1c s2c s1d s2d
@@ -545,6 +582,7 @@ step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1d: COMMIT;
step s2c: <... completed>
error in steps s1d s2c: ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s2a s2b s1a s1b s2c s1c s1d s2d
@@ -560,6 +598,7 @@ step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2c: <... completed>
error in steps s1d s2c: ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s2a s2b s1a s2c s1b s1c s1d s2d
@@ -574,6 +613,7 @@ ERROR: duplicate key value violates unique constraint "a_pkey"
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s2a s2b s1a s2c s1b s1c s2d s1d
@@ -587,6 +627,7 @@ step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
step s1d: COMMIT;
@@ -600,6 +641,7 @@ step s1a: BEGIN;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s1b: ALTER TABLE a DISABLE TRIGGER t;
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
@@ -613,6 +655,7 @@ i
step s1a: BEGIN;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
@@ -630,6 +673,7 @@ step s1a: BEGIN;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
starting permutation: s2a s2b s2c s1a s1b s1c s2d s1d
@@ -643,6 +687,7 @@ ERROR: duplicate key value violates unique constraint "a_pkey"
step s1a: BEGIN;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
step s1d: COMMIT;
@@ -656,6 +701,7 @@ step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s1a: BEGIN;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
@@ -669,6 +715,7 @@ i
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s1a: BEGIN;
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
@@ -682,6 +729,7 @@ i
1
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2d: COMMIT;
step s1a: BEGIN;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
diff --git a/src/test/isolation/expected/classroom-scheduling.out b/src/test/isolation/expected/classroom-scheduling.out
index f02638c0b5..185bee5a93 100644
--- a/src/test/isolation/expected/classroom-scheduling.out
+++ b/src/test/isolation/expected/classroom-scheduling.out
@@ -27,6 +27,7 @@ count
step c1: COMMIT;
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: rx1 wy1 ry2 wx2 c1 c2
@@ -72,6 +73,7 @@ step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '
step c1: COMMIT;
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: rx1 ry2 wy1 wx2 c1 c2
@@ -147,6 +149,7 @@ step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '201
step c2: COMMIT;
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: ry2 rx1 wy1 c1 wx2 c2
@@ -162,6 +165,7 @@ step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '
step c1: COMMIT;
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: ry2 rx1 wy1 wx2 c1 c2
@@ -237,6 +241,7 @@ step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '201
step c2: COMMIT;
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: ry2 wx2 rx1 wy1 c1 c2
@@ -282,6 +287,7 @@ count
step c2: COMMIT;
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: ry2 wx2 c2 rx1 wy1 c1
diff --git a/src/test/isolation/expected/deadlock-hard.out b/src/test/isolation/expected/deadlock-hard.out
index b4ce01962d..bebd2ef1f7 100644
--- a/src/test/isolation/expected/deadlock-hard.out
+++ b/src/test/isolation/expected/deadlock-hard.out
@@ -20,6 +20,7 @@ step s8a1: LOCK TABLE a1; <waiting ...>
step s8a1: <... completed>
step s7a8: <... completed>
error in steps s8a1 s7a8: ERROR: deadlock detected
+s8: ERROR: current transaction failed, rolling back
step s8c: COMMIT;
step s7c: COMMIT;
step s6a7: <... completed>
diff --git a/src/test/isolation/expected/deadlock-simple.out b/src/test/isolation/expected/deadlock-simple.out
index e0d2c4ef12..06104fee30 100644
--- a/src/test/isolation/expected/deadlock-simple.out
+++ b/src/test/isolation/expected/deadlock-simple.out
@@ -8,4 +8,5 @@ step s2ae: LOCK TABLE a1 IN ACCESS EXCLUSIVE MODE;
step s1ae: <... completed>
error in steps s2ae s1ae: ERROR: deadlock detected
step s1c: COMMIT;
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
diff --git a/src/test/isolation/expected/eval-plan-qual-trigger.out b/src/test/isolation/expected/eval-plan-qual-trigger.out
index f0d975ce0c..f9f30cce85 100644
--- a/src/test/isolation/expected/eval-plan-qual-trigger.out
+++ b/src/test/isolation/expected/eval-plan-qual-trigger.out
@@ -610,6 +610,7 @@ step s2_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s2') RETURNING *; <w
step s1_c: COMMIT;
step s2_ins_a: <... completed>
error in steps s1_c s2_ins_a: ERROR: duplicate key value violates unique constraint "trigtest_pkey"
+s2: ERROR: current transaction failed, rolling back
step s2_c: COMMIT;
step s0_rep: SELECT * FROM trigtest ORDER BY key, data
key data
@@ -2024,6 +2025,7 @@ step s2_upd_a_data:
step s1_c: COMMIT;
step s2_upd_a_data: <... completed>
error in steps s1_c s2_upd_a_data: ERROR: could not serialize access due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2_c: COMMIT;
step s0_rep: SELECT * FROM trigtest ORDER BY key, data
key data
@@ -2137,6 +2139,7 @@ step s2_upd_a_data:
step s1_c: COMMIT;
step s2_upd_a_data: <... completed>
error in steps s1_c s2_upd_a_data: ERROR: could not serialize access due to concurrent delete
+s2: ERROR: current transaction failed, rolling back
step s2_c: COMMIT;
step s0_rep: SELECT * FROM trigtest ORDER BY key, data
key data
diff --git a/src/test/isolation/expected/eval-plan-qual.out b/src/test/isolation/expected/eval-plan-qual.out
index 3e55a55c63..5aa752d0c2 100644
--- a/src/test/isolation/expected/eval-plan-qual.out
+++ b/src/test/isolation/expected/eval-plan-qual.out
@@ -552,6 +552,7 @@ step updwctefail: WITH doup AS (UPDATE accounts SET balance = balance + 1100 WHE
step c1: COMMIT;
step updwctefail: <... completed>
error in steps c1 updwctefail: ERROR: tuple to be updated was already modified by an operation triggered by the current command
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
step read: SELECT * FROM accounts ORDER BY accountid;
accountid balance
@@ -585,6 +586,7 @@ step delwctefail: WITH doup AS (UPDATE accounts SET balance = balance + 1100 WHE
step c1: COMMIT;
step delwctefail: <... completed>
error in steps c1 delwctefail: ERROR: tuple to be deleted was already modified by an operation triggered by the current command
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
step read: SELECT * FROM accounts ORDER BY accountid;
accountid balance
@@ -932,6 +934,7 @@ step complexpartupdate_route_err1:
step c1: COMMIT;
step complexpartupdate_route_err1: <... completed>
error in steps c1 complexpartupdate_route_err1: ERROR: tuple to be locked was already moved to another partition due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: simplepartupdate_noroute complexpartupdate_route c1 c2
diff --git a/src/test/isolation/expected/fk-partitioned-1.out b/src/test/isolation/expected/fk-partitioned-1.out
index aea2b6d56b..f984f794d6 100644
--- a/src/test/isolation/expected/fk-partitioned-1.out
+++ b/src/test/isolation/expected/fk-partitioned-1.out
@@ -7,6 +7,7 @@ step s1c: commit;
step s2b: begin;
step s2a: alter table pfk attach partition pfk1 for values in (1);
ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey"
+s2: ERROR: current transaction failed, rolling back
step s2c: commit;
starting permutation: s1b s1d s2b s1c s2a s2c
@@ -16,6 +17,7 @@ step s2b: begin;
step s1c: commit;
step s2a: alter table pfk attach partition pfk1 for values in (1);
ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey"
+s2: ERROR: current transaction failed, rolling back
step s2c: commit;
starting permutation: s1b s1d s2b s2a s1c s2c
@@ -26,6 +28,7 @@ step s2a: alter table pfk attach partition pfk1 for values in (1); <waiting ...>
step s1c: commit;
step s2a: <... completed>
error in steps s1c s2a: ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey"
+s2: ERROR: current transaction failed, rolling back
step s2c: commit;
starting permutation: s1b s2b s1d s1c s2a s2c
@@ -35,6 +38,7 @@ step s1d: delete from ppk1 where a = 1;
step s1c: commit;
step s2a: alter table pfk attach partition pfk1 for values in (1);
ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey"
+s2: ERROR: current transaction failed, rolling back
step s2c: commit;
starting permutation: s1b s2b s1d s2a s1c s2c
@@ -45,6 +49,7 @@ step s2a: alter table pfk attach partition pfk1 for values in (1); <waiting ...>
step s1c: commit;
step s2a: <... completed>
error in steps s1c s2a: ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey"
+s2: ERROR: current transaction failed, rolling back
step s2c: commit;
starting permutation: s1b s2b s2a s1d s2c s1c
@@ -55,6 +60,7 @@ step s1d: delete from ppk1 where a = 1; <waiting ...>
step s2c: commit;
step s1d: <... completed>
error in steps s2c s1d: ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk"
+s1: ERROR: current transaction failed, rolling back
step s1c: commit;
starting permutation: s1b s2b s2a s2c s1d s1c
@@ -64,6 +70,7 @@ step s2a: alter table pfk attach partition pfk1 for values in (1);
step s2c: commit;
step s1d: delete from ppk1 where a = 1;
ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk"
+s1: ERROR: current transaction failed, rolling back
step s1c: commit;
starting permutation: s2b s1b s1d s1c s2a s2c
@@ -73,6 +80,7 @@ step s1d: delete from ppk1 where a = 1;
step s1c: commit;
step s2a: alter table pfk attach partition pfk1 for values in (1);
ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey"
+s2: ERROR: current transaction failed, rolling back
step s2c: commit;
starting permutation: s2b s1b s1d s2a s1c s2c
@@ -83,6 +91,7 @@ step s2a: alter table pfk attach partition pfk1 for values in (1); <waiting ...>
step s1c: commit;
step s2a: <... completed>
error in steps s1c s2a: ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey"
+s2: ERROR: current transaction failed, rolling back
step s2c: commit;
starting permutation: s2b s1b s2a s1d s2c s1c
@@ -93,6 +102,7 @@ step s1d: delete from ppk1 where a = 1; <waiting ...>
step s2c: commit;
step s1d: <... completed>
error in steps s2c s1d: ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk"
+s1: ERROR: current transaction failed, rolling back
step s1c: commit;
starting permutation: s2b s1b s2a s2c s1d s1c
@@ -102,6 +112,7 @@ step s2a: alter table pfk attach partition pfk1 for values in (1);
step s2c: commit;
step s1d: delete from ppk1 where a = 1;
ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk"
+s1: ERROR: current transaction failed, rolling back
step s1c: commit;
starting permutation: s2b s2a s1b s1d s2c s1c
@@ -112,6 +123,7 @@ step s1d: delete from ppk1 where a = 1; <waiting ...>
step s2c: commit;
step s1d: <... completed>
error in steps s2c s1d: ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk"
+s1: ERROR: current transaction failed, rolling back
step s1c: commit;
starting permutation: s2b s2a s1b s2c s1d s1c
@@ -121,6 +133,7 @@ step s1b: begin;
step s2c: commit;
step s1d: delete from ppk1 where a = 1;
ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk"
+s1: ERROR: current transaction failed, rolling back
step s1c: commit;
starting permutation: s2b s2a s2c s1b s1d s1c
@@ -130,4 +143,5 @@ step s2c: commit;
step s1b: begin;
step s1d: delete from ppk1 where a = 1;
ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk"
+s1: ERROR: current transaction failed, rolling back
step s1c: commit;
diff --git a/src/test/isolation/expected/fk-partitioned-2.out b/src/test/isolation/expected/fk-partitioned-2.out
index 722b615c6e..75d778dd23 100644
--- a/src/test/isolation/expected/fk-partitioned-2.out
+++ b/src/test/isolation/expected/fk-partitioned-2.out
@@ -8,6 +8,7 @@ step s2i: insert into pfk values (1); <waiting ...>
step s1c: commit;
step s2i: <... completed>
error in steps s1c s2i: ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey"
+s2: ERROR: current transaction failed, rolling back
step s2c: commit;
starting permutation: s1b s1d s2bs s2i s1c s2c
@@ -21,6 +22,7 @@ step s2i: insert into pfk values (1); <waiting ...>
step s1c: commit;
step s2i: <... completed>
error in steps s1c s2i: ERROR: could not serialize access due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: commit;
starting permutation: s1b s2b s1d s2i s1c s2c
@@ -31,6 +33,7 @@ step s2i: insert into pfk values (1); <waiting ...>
step s1c: commit;
step s2i: <... completed>
error in steps s1c s2i: ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey"
+s2: ERROR: current transaction failed, rolling back
step s2c: commit;
starting permutation: s1b s2bs s1d s2i s1c s2c
@@ -44,6 +47,7 @@ step s2i: insert into pfk values (1); <waiting ...>
step s1c: commit;
step s2i: <... completed>
error in steps s1c s2i: ERROR: could not serialize access due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: commit;
starting permutation: s1b s2b s2i s1d s2c s1c
@@ -54,6 +58,7 @@ step s1d: delete from ppk where a = 1; <waiting ...>
step s2c: commit;
step s1d: <... completed>
error in steps s2c s1d: ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk"
+s1: ERROR: current transaction failed, rolling back
step s1c: commit;
starting permutation: s1b s2bs s2i s1d s2c s1c
@@ -67,4 +72,5 @@ step s1d: delete from ppk where a = 1; <waiting ...>
step s2c: commit;
step s1d: <... completed>
error in steps s2c s1d: ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk"
+s1: ERROR: current transaction failed, rolling back
step s1c: commit;
diff --git a/src/test/isolation/expected/insert-conflict-do-nothing-2.out b/src/test/isolation/expected/insert-conflict-do-nothing-2.out
index 2332f96978..977bba8a38 100644
--- a/src/test/isolation/expected/insert-conflict-do-nothing-2.out
+++ b/src/test/isolation/expected/insert-conflict-do-nothing-2.out
@@ -32,6 +32,7 @@ step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donoth
step c1: COMMIT;
step donothing2: <... completed>
error in steps c1 donothing2: ERROR: could not serialize access due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
step show: SELECT * FROM ints;
key val
@@ -46,6 +47,7 @@ step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT
step c2: COMMIT;
step donothing1: <... completed>
error in steps c2 donothing1: ERROR: could not serialize access due to concurrent update
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
step show: SELECT * FROM ints;
key val
@@ -84,6 +86,7 @@ step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donoth
step c1: COMMIT;
step donothing2: <... completed>
error in steps c1 donothing2: ERROR: could not serialize access due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
step show: SELECT * FROM ints;
key val
@@ -98,6 +101,7 @@ step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT
step c2: COMMIT;
step donothing1: <... completed>
error in steps c2 donothing1: ERROR: could not serialize access due to concurrent update
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
step show: SELECT * FROM ints;
key val
diff --git a/src/test/isolation/expected/lock-committed-keyupdate.out b/src/test/isolation/expected/lock-committed-keyupdate.out
index 69cdbfba0a..134c2e6fd4 100644
--- a/src/test/isolation/expected/lock-committed-keyupdate.out
+++ b/src/test/isolation/expected/lock-committed-keyupdate.out
@@ -193,6 +193,7 @@ pg_advisory_unlock
t
step s2l: <... completed>
error in steps s1ul s2l: ERROR: could not serialize access due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
pg_advisory_unlock_all
@@ -217,6 +218,7 @@ pg_advisory_unlock
t
step s2l: <... completed>
error in steps s1ul s2l: ERROR: could not serialize access due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
pg_advisory_unlock_all
@@ -241,6 +243,7 @@ step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL
step s1c: COMMIT;
step s2l: <... completed>
error in steps s1c s2l: ERROR: could not serialize access due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
pg_advisory_unlock_all
@@ -270,6 +273,7 @@ pg_advisory_unlock
t
step s2l: <... completed>
error in steps s1ul s2l: ERROR: could not serialize access due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
pg_advisory_unlock_all
@@ -299,6 +303,7 @@ pg_advisory_unlock
t
step s2l: <... completed>
error in steps s1ul s2l: ERROR: could not serialize access due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
pg_advisory_unlock_all
@@ -328,6 +333,7 @@ id value
1 one
2 two
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
pg_advisory_unlock_all
@@ -352,6 +358,7 @@ pg_advisory_unlock
t
step s2l: <... completed>
error in steps s1ul s2l: ERROR: could not serialize access due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
pg_advisory_unlock_all
@@ -376,6 +383,7 @@ pg_advisory_unlock
t
step s2l: <... completed>
error in steps s1ul s2l: ERROR: could not serialize access due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
pg_advisory_unlock_all
@@ -400,6 +408,7 @@ step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL
step s1c: COMMIT;
step s2l: <... completed>
error in steps s1c s2l: ERROR: could not serialize access due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
pg_advisory_unlock_all
@@ -429,6 +438,7 @@ pg_advisory_unlock
t
step s2l: <... completed>
error in steps s1ul s2l: ERROR: could not serialize access due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
pg_advisory_unlock_all
@@ -458,6 +468,7 @@ pg_advisory_unlock
t
step s2l: <... completed>
error in steps s1ul s2l: ERROR: could not serialize access due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
pg_advisory_unlock_all
@@ -487,6 +498,7 @@ id value
1 one
2 two
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
pg_advisory_unlock_all
diff --git a/src/test/isolation/expected/multiple-row-versions.out b/src/test/isolation/expected/multiple-row-versions.out
index d6a0c427fc..dc7ab89113 100644
--- a/src/test/isolation/expected/multiple-row-versions.out
+++ b/src/test/isolation/expected/multiple-row-versions.out
@@ -21,4 +21,5 @@ step c4: COMMIT;
step c3: COMMIT;
step wz1: UPDATE t SET txt = 'a' WHERE id = 1;
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
diff --git a/src/test/isolation/expected/nowait-2.out b/src/test/isolation/expected/nowait-2.out
index 6e24bbbf26..ee8ceca6b7 100644
--- a/src/test/isolation/expected/nowait-2.out
+++ b/src/test/isolation/expected/nowait-2.out
@@ -12,6 +12,7 @@ id data
step s2b: SELECT * FROM foo FOR UPDATE NOWAIT;
ERROR: could not obtain lock on row in relation "foo"
step s1b: COMMIT;
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
starting permutation: s2a s1a s2b s1b s2c
@@ -26,6 +27,7 @@ id data
step s2b: SELECT * FROM foo FOR UPDATE NOWAIT;
ERROR: could not obtain lock on row in relation "foo"
step s1b: COMMIT;
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
starting permutation: s2a s2b s1a s1b s2c
@@ -39,5 +41,6 @@ id data
1 x
step s1a: SELECT * FROM foo FOR SHARE NOWAIT;
ERROR: could not obtain lock on row in relation "foo"
+s1: ERROR: current transaction failed, rolling back
step s1b: COMMIT;
step s2c: COMMIT;
diff --git a/src/test/isolation/expected/nowait-3.out b/src/test/isolation/expected/nowait-3.out
index 844464654a..6fb4b86d66 100644
--- a/src/test/isolation/expected/nowait-3.out
+++ b/src/test/isolation/expected/nowait-3.out
@@ -14,4 +14,5 @@ id data
1 x
step s2b: COMMIT;
+s3: ERROR: current transaction failed, rolling back
step s3b: COMMIT;
diff --git a/src/test/isolation/expected/nowait-4.out b/src/test/isolation/expected/nowait-4.out
index 26f59bef94..de588c4b91 100644
--- a/src/test/isolation/expected/nowait-4.out
+++ b/src/test/isolation/expected/nowait-4.out
@@ -15,5 +15,6 @@ pg_advisory_unlock
t
step s1a: <... completed>
error in steps s2e s1a: ERROR: could not obtain lock on row in relation "foo"
+s1: ERROR: current transaction failed, rolling back
step s1b: COMMIT;
step s2f: COMMIT;
diff --git a/src/test/isolation/expected/nowait-5.out b/src/test/isolation/expected/nowait-5.out
index c88aae5ef6..99f81f1a0c 100644
--- a/src/test/isolation/expected/nowait-5.out
+++ b/src/test/isolation/expected/nowait-5.out
@@ -35,3 +35,4 @@ pg_advisory_unlock
t
step sl1_exec: <... completed>
error in steps upd_releaselock sl1_exec: ERROR: could not obtain lock on row in relation "test_nowait"
+sl1: ERROR: current transaction failed, rolling back
diff --git a/src/test/isolation/expected/nowait.out b/src/test/isolation/expected/nowait.out
index a6343b4afa..a1516b7ba3 100644
--- a/src/test/isolation/expected/nowait.out
+++ b/src/test/isolation/expected/nowait.out
@@ -20,6 +20,7 @@ id data
step s2a: SELECT * FROM foo FOR UPDATE NOWAIT;
ERROR: could not obtain lock on row in relation "foo"
step s1b: COMMIT;
+s2: ERROR: current transaction failed, rolling back
step s2b: COMMIT;
starting permutation: s1a s2a s2b s1b
@@ -29,6 +30,7 @@ id data
1 x
step s2a: SELECT * FROM foo FOR UPDATE NOWAIT;
ERROR: could not obtain lock on row in relation "foo"
+s2: ERROR: current transaction failed, rolling back
step s2b: COMMIT;
step s1b: COMMIT;
@@ -39,6 +41,7 @@ id data
1 x
step s1a: SELECT * FROM foo FOR UPDATE NOWAIT;
ERROR: could not obtain lock on row in relation "foo"
+s1: ERROR: current transaction failed, rolling back
step s1b: COMMIT;
step s2b: COMMIT;
@@ -50,6 +53,7 @@ id data
step s1a: SELECT * FROM foo FOR UPDATE NOWAIT;
ERROR: could not obtain lock on row in relation "foo"
step s2b: COMMIT;
+s1: ERROR: current transaction failed, rolling back
step s1b: COMMIT;
starting permutation: s2a s2b s1a s1b
diff --git a/src/test/isolation/expected/partial-index.out b/src/test/isolation/expected/partial-index.out
index d1f00c9b3c..8caacb9871 100644
--- a/src/test/isolation/expected/partial-index.out
+++ b/src/test/isolation/expected/partial-index.out
@@ -52,6 +52,7 @@ step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
step c1: COMMIT;
step rxy2: select * from test_t where val2 = 1;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: rxy1 wx1 wy2 rxy2 c1 c2
@@ -142,6 +143,7 @@ step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
step c1: COMMIT;
step rxy2: select * from test_t where val2 = 1;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: rxy1 wy2 wx1 rxy2 c1 c2
@@ -312,6 +314,7 @@ id val1 val2
step c2: COMMIT;
step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: wy2 rxy1 wx1 c1 rxy2 c2
@@ -334,6 +337,7 @@ step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
step c1: COMMIT;
step rxy2: select * from test_t where val2 = 1;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: wy2 rxy1 wx1 rxy2 c1 c2
@@ -504,6 +508,7 @@ id val1 val2
step c2: COMMIT;
step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: wy2 rxy2 rxy1 wx1 c1 c2
@@ -606,6 +611,7 @@ id val1 val2
step c2: COMMIT;
step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: wy2 rxy2 c2 rxy1 wx1 c1
diff --git a/src/test/isolation/expected/partition-concurrent-attach.out b/src/test/isolation/expected/partition-concurrent-attach.out
index 17fac39989..dae7c7c75e 100644
--- a/src/test/isolation/expected/partition-concurrent-attach.out
+++ b/src/test/isolation/expected/partition-concurrent-attach.out
@@ -8,6 +8,7 @@ step s2i: insert into tpart values (110,'xxx'), (120, 'yyy'), (150, 'zzz'); <wai
step s1c: commit;
step s2i: <... completed>
error in steps s1c s2i: ERROR: new row for relation "tpart_default" violates partition constraint
+s2: ERROR: current transaction failed, rolling back
step s2c: commit;
step s2s: select tableoid::regclass, * from tpart;
tableoid i j
@@ -24,6 +25,7 @@ step s2i2: insert into tpart_default (i, j) values (110, 'xxx'), (120, 'yyy'), (
step s1c: commit;
step s2i2: <... completed>
error in steps s1c s2i2: ERROR: new row for relation "tpart_default" violates partition constraint
+s2: ERROR: current transaction failed, rolling back
step s2c: commit;
step s2s: select tableoid::regclass, * from tpart;
tableoid i j
@@ -40,6 +42,7 @@ step s1a: alter table tpart attach partition tpart_2 for values from (100) to (2
step s2c: commit;
step s1a: <... completed>
error in steps s2c s1a: ERROR: updated partition constraint for default partition "tpart_default_default" would be violated by some row
+s1: ERROR: current transaction failed, rolling back
step s1c: commit;
step s2s: select tableoid::regclass, * from tpart;
tableoid i j
diff --git a/src/test/isolation/expected/partition-key-update-1.out b/src/test/isolation/expected/partition-key-update-1.out
index c1a9c56ae4..a047aafa67 100644
--- a/src/test/isolation/expected/partition-key-update-1.out
+++ b/src/test/isolation/expected/partition-key-update-1.out
@@ -16,6 +16,7 @@ step s2d: DELETE FROM foo WHERE a=1; <waiting ...>
step s1c: COMMIT;
step s2d: <... completed>
error in steps s1c s2d: ERROR: tuple to be locked was already moved to another partition due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
starting permutation: s1b s2b s1u s2u s1c s2c
@@ -26,6 +27,7 @@ step s2u: UPDATE foo SET b='EFG' WHERE a=1; <waiting ...>
step s1c: COMMIT;
step s2u: <... completed>
error in steps s1c s2u: ERROR: tuple to be locked was already moved to another partition due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
starting permutation: s1b s2b s2d s1u s2c s1c
@@ -53,6 +55,7 @@ step s2u2: UPDATE footrg SET b='XYZ' WHERE a=1; <waiting ...>
step s1c: COMMIT;
step s2u2: <... completed>
error in steps s1c s2u2: ERROR: tuple to be locked was already moved to another partition due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
starting permutation: s1b s2b s2u2 s1u2 s2c s1c
@@ -63,6 +66,7 @@ step s1u2: UPDATE footrg SET b='EFG' WHERE a=1; <waiting ...>
step s2c: COMMIT;
step s1u2: <... completed>
error in steps s2c s1u2: ERROR: tuple to be locked was already moved to another partition due to concurrent update
+s1: ERROR: current transaction failed, rolling back
step s1c: COMMIT;
starting permutation: s1b s2b s1u3pc s2i s1c s2c
@@ -73,6 +77,7 @@ step s2i: INSERT INTO bar VALUES(7); <waiting ...>
step s1c: COMMIT;
step s2i: <... completed>
error in steps s1c s2i: ERROR: tuple to be locked was already moved to another partition due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
starting permutation: s1b s2b s1u3pc s2i s1r s2c
@@ -93,6 +98,7 @@ step s2i: INSERT INTO bar VALUES(7); <waiting ...>
step s1c: COMMIT;
step s2i: <... completed>
error in steps s1c s2i: ERROR: tuple to be locked was already moved to another partition due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
starting permutation: s1b s2b s1u3npc s1u3pc s2i s1r s2c
@@ -115,6 +121,7 @@ step s2i: INSERT INTO bar VALUES(7); <waiting ...>
step s1c: COMMIT;
step s2i: <... completed>
error in steps s1c s2i: ERROR: tuple to be locked was already moved to another partition due to concurrent update
+s2: ERROR: current transaction failed, rolling back
step s2c: COMMIT;
starting permutation: s1b s2b s1u3npc s1u3pc s1u3pc s2i s1r s2c
diff --git a/src/test/isolation/expected/partition-key-update-3.out b/src/test/isolation/expected/partition-key-update-3.out
index 42dfe64ad3..681d013a46 100644
--- a/src/test/isolation/expected/partition-key-update-3.out
+++ b/src/test/isolation/expected/partition-key-update-3.out
@@ -24,6 +24,7 @@ step s3donothing: INSERT INTO foo VALUES(2, 'session-3 donothing'), (2, 'session
step s1c: COMMIT;
step s3donothing: <... completed>
error in steps s1c s3donothing: ERROR: could not serialize access due to concurrent update
+s3: ERROR: current transaction failed, rolling back
step s3c: COMMIT;
step s2donothing: INSERT INTO foo VALUES(1, 'session-2 donothing') ON CONFLICT DO NOTHING;
step s2c: COMMIT;
@@ -44,6 +45,7 @@ step s2donothing: <... completed>
step s3donothing: <... completed>
error in steps s1c s2donothing s3donothing: ERROR: could not serialize access due to concurrent update
step s2c: COMMIT;
+s3: ERROR: current transaction failed, rolling back
step s3c: COMMIT;
step s2select: SELECT * FROM foo ORDER BY a;
a b
@@ -61,6 +63,7 @@ step s1c: COMMIT;
step s3donothing: <... completed>
step s2donothing: <... completed>
error in steps s1c s3donothing s2donothing: ERROR: could not serialize access due to concurrent update
+s3: ERROR: current transaction failed, rolling back
step s3c: COMMIT;
step s2c: COMMIT;
step s2select: SELECT * FROM foo ORDER BY a;
@@ -93,6 +96,7 @@ step s3donothing: INSERT INTO foo VALUES(2, 'session-3 donothing'), (2, 'session
step s1c: COMMIT;
step s3donothing: <... completed>
error in steps s1c s3donothing: ERROR: could not serialize access due to concurrent update
+s3: ERROR: current transaction failed, rolling back
step s3c: COMMIT;
step s2donothing: INSERT INTO foo VALUES(1, 'session-2 donothing') ON CONFLICT DO NOTHING;
step s2c: COMMIT;
@@ -113,6 +117,7 @@ step s2donothing: <... completed>
step s3donothing: <... completed>
error in steps s1c s2donothing s3donothing: ERROR: could not serialize access due to concurrent update
step s2c: COMMIT;
+s3: ERROR: current transaction failed, rolling back
step s3c: COMMIT;
step s2select: SELECT * FROM foo ORDER BY a;
a b
@@ -130,6 +135,7 @@ step s1c: COMMIT;
step s3donothing: <... completed>
step s2donothing: <... completed>
error in steps s1c s3donothing s2donothing: ERROR: could not serialize access due to concurrent update
+s3: ERROR: current transaction failed, rolling back
step s3c: COMMIT;
step s2c: COMMIT;
step s2select: SELECT * FROM foo ORDER BY a;
diff --git a/src/test/isolation/expected/predicate-gin.out b/src/test/isolation/expected/predicate-gin.out
index 77eb5aaff7..c18305caf2 100644
--- a/src/test/isolation/expected/predicate-gin.out
+++ b/src/test/isolation/expected/predicate-gin.out
@@ -13,6 +13,7 @@ step wo1: insert into other_tbl values (1);
step c1: commit;
step wa2: insert into gin_tbl values (array[1]);
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: commit;
starting permutation: ro2 ra1 wo1 c1 wa2 c2
@@ -28,6 +29,7 @@ step wo1: insert into other_tbl values (1);
step c1: commit;
step wa2: insert into gin_tbl values (array[1]);
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: commit;
starting permutation: ro2 ra1 wo1 wa2 c1 c2
@@ -73,6 +75,7 @@ step wo1: insert into other_tbl values (1);
step c1: commit;
step wb2: insert into gin_tbl values (array[2]);
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: commit;
starting permutation: ro2 rb1 wo1 c1 wb2 c2
@@ -88,6 +91,7 @@ step wo1: insert into other_tbl values (1);
step c1: commit;
step wb2: insert into gin_tbl values (array[2]);
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: commit;
starting permutation: ro2 rb1 wo1 wb2 c1 c2
@@ -133,6 +137,7 @@ step wo1: insert into other_tbl values (1);
step c1: commit;
step wc2: insert into gin_tbl values (array[800]);
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: commit;
starting permutation: ro2 rc1 wo1 c1 wc2 c2
@@ -148,6 +153,7 @@ step wo1: insert into other_tbl values (1);
step c1: commit;
step wc2: insert into gin_tbl values (array[800]);
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: commit;
starting permutation: ro2 rc1 wo1 wc2 c1 c2
@@ -362,6 +368,7 @@ step wo1: insert into other_tbl values (1);
step c1: commit;
step wa2: insert into gin_tbl values (array[1]);
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: commit;
starting permutation: fu ra1 ro2 wo1 c1 wb2 c2
@@ -378,6 +385,7 @@ step wo1: insert into other_tbl values (1);
step c1: commit;
step wb2: insert into gin_tbl values (array[2]);
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: commit;
starting permutation: ra1 ro2 wo1 c1 fu wa2 c2
@@ -394,6 +402,7 @@ step c1: commit;
step fu: alter index ginidx set (fastupdate = on);
step wa2: insert into gin_tbl values (array[1]);
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: commit;
starting permutation: rd1 ro2 wo1 c1 wd2 c2
@@ -409,6 +418,7 @@ step wo1: insert into other_tbl values (1);
step c1: commit;
step wd2: insert into gin_tbl values (array[2000]);
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: commit;
starting permutation: ro2 rd1 wo1 c1 wd2 c2
@@ -424,6 +434,7 @@ step wo1: insert into other_tbl values (1);
step c1: commit;
step wd2: insert into gin_tbl values (array[2000]);
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: commit;
starting permutation: ro2 rd1 wo1 wd2 c1 c2
diff --git a/src/test/isolation/expected/predicate-gist.out b/src/test/isolation/expected/predicate-gist.out
index 77a27958af..c980a06198 100644
--- a/src/test/isolation/expected/predicate-gist.out
+++ b/src/test/isolation/expected/predicate-gist.out
@@ -79,6 +79,7 @@ step c1: commit;
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*500, g*500) from generate_series(1, 5) g;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: commit;
starting permutation: rxy1 wx1 rxy2 wy2 c1 c2
@@ -130,6 +131,7 @@ step c1: commit;
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*500, g*500) from generate_series(1, 5) g;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: commit;
starting permutation: rxy1 rxy2 wx1 wy2 c1 c2
@@ -215,6 +217,7 @@ step c2: commit;
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*500, g*500) from generate_series(15, 20) g;
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: commit;
starting permutation: rxy2 rxy1 wx1 c1 wy2 c2
@@ -232,6 +235,7 @@ step c1: commit;
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*500, g*500) from generate_series(1, 5) g;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: commit;
starting permutation: rxy2 rxy1 wx1 wy2 c1 c2
@@ -317,6 +321,7 @@ step c2: commit;
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*500, g*500) from generate_series(15, 20) g;
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: commit;
starting permutation: rxy2 wy2 rxy1 wx1 c1 c2
@@ -368,6 +373,7 @@ step c2: commit;
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*500, g*500) from generate_series(15, 20) g;
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: commit;
starting permutation: rxy3 wx3 rxy4 c1 wy4 c2
diff --git a/src/test/isolation/expected/predicate-hash.out b/src/test/isolation/expected/predicate-hash.out
index 53e500fd26..e4d488797a 100644
--- a/src/test/isolation/expected/predicate-hash.out
+++ b/src/test/isolation/expected/predicate-hash.out
@@ -79,6 +79,7 @@ step c1: commit;
step wy2: insert into hash_tbl (id, p)
select g, 20 from generate_series(51, 60) g;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: commit;
starting permutation: rxy1 wx1 rxy2 wy2 c1 c2
@@ -130,6 +131,7 @@ step c1: commit;
step wy2: insert into hash_tbl (id, p)
select g, 20 from generate_series(51, 60) g;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: commit;
starting permutation: rxy1 rxy2 wx1 wy2 c1 c2
@@ -215,6 +217,7 @@ step c2: commit;
step wx1: insert into hash_tbl (id, p)
select g, 30 from generate_series(41, 50) g;
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: commit;
starting permutation: rxy2 rxy1 wx1 c1 wy2 c2
@@ -232,6 +235,7 @@ step c1: commit;
step wy2: insert into hash_tbl (id, p)
select g, 20 from generate_series(51, 60) g;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: commit;
starting permutation: rxy2 rxy1 wx1 wy2 c1 c2
@@ -317,6 +321,7 @@ step c2: commit;
step wx1: insert into hash_tbl (id, p)
select g, 30 from generate_series(41, 50) g;
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: commit;
starting permutation: rxy2 wy2 rxy1 wx1 c1 c2
@@ -368,6 +373,7 @@ step c2: commit;
step wx1: insert into hash_tbl (id, p)
select g, 30 from generate_series(41, 50) g;
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: commit;
starting permutation: rxy3 wx3 rxy4 c1 wy4 c2
diff --git a/src/test/isolation/expected/project-manager.out b/src/test/isolation/expected/project-manager.out
index f85f5136ec..88edcbcd91 100644
--- a/src/test/isolation/expected/project-manager.out
+++ b/src/test/isolation/expected/project-manager.out
@@ -27,6 +27,7 @@ count
step c1: COMMIT;
step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: rx1 wy1 ry2 wx2 c1 c2
@@ -72,6 +73,7 @@ step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
step c1: COMMIT;
step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: rx1 ry2 wy1 wx2 c1 c2
@@ -147,6 +149,7 @@ step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
step c2: COMMIT;
step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: ry2 rx1 wy1 c1 wx2 c2
@@ -162,6 +165,7 @@ step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
step c1: COMMIT;
step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: ry2 rx1 wy1 wx2 c1 c2
@@ -237,6 +241,7 @@ step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
step c2: COMMIT;
step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: ry2 wx2 rx1 wy1 c1 c2
@@ -282,6 +287,7 @@ count
step c2: COMMIT;
step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: ry2 wx2 c2 rx1 wy1 c1
diff --git a/src/test/isolation/expected/propagate-lock-delete.out b/src/test/isolation/expected/propagate-lock-delete.out
index b668b895f1..1adfc2dca8 100644
--- a/src/test/isolation/expected/propagate-lock-delete.out
+++ b/src/test/isolation/expected/propagate-lock-delete.out
@@ -12,6 +12,7 @@ step s1c: COMMIT;
step s2c: COMMIT;
step s3d: <... completed>
error in steps s2c s3d: ERROR: update or delete on table "parent" violates foreign key constraint "child_i_fkey" on table "child"
+s3: ERROR: current transaction failed, rolling back
step s3c: COMMIT;
starting permutation: s1b s1l s2b s2l s3b s3u s3svu s3d s1c s2c s3c
@@ -27,6 +28,7 @@ step s1c: COMMIT;
step s2c: COMMIT;
step s3d: <... completed>
error in steps s2c s3d: ERROR: update or delete on table "parent" violates foreign key constraint "child_i_fkey" on table "child"
+s3: ERROR: current transaction failed, rolling back
step s3c: COMMIT;
starting permutation: s1b s1l s2b s2l s3b s3u2 s3d s1c s2c s3c
@@ -41,6 +43,7 @@ step s1c: COMMIT;
step s2c: COMMIT;
step s3d: <... completed>
error in steps s2c s3d: ERROR: update or delete on table "parent" violates foreign key constraint "child_i_fkey" on table "child"
+s3: ERROR: current transaction failed, rolling back
step s3c: COMMIT;
starting permutation: s1b s1l s2b s2l s3b s3u2 s3svu s3d s1c s2c s3c
@@ -56,6 +59,7 @@ step s1c: COMMIT;
step s2c: COMMIT;
step s3d: <... completed>
error in steps s2c s3d: ERROR: update or delete on table "parent" violates foreign key constraint "child_i_fkey" on table "child"
+s3: ERROR: current transaction failed, rolling back
step s3c: COMMIT;
starting permutation: s1b s1l s3b s3u s3d s1c s3c
@@ -67,6 +71,7 @@ step s3d: DELETE FROM parent; <waiting ...>
step s1c: COMMIT;
step s3d: <... completed>
error in steps s1c s3d: ERROR: update or delete on table "parent" violates foreign key constraint "child_i_fkey" on table "child"
+s3: ERROR: current transaction failed, rolling back
step s3c: COMMIT;
starting permutation: s1b s1l s3b s3u s3svu s3d s1c s3c
@@ -79,6 +84,7 @@ step s3d: DELETE FROM parent; <waiting ...>
step s1c: COMMIT;
step s3d: <... completed>
error in steps s1c s3d: ERROR: update or delete on table "parent" violates foreign key constraint "child_i_fkey" on table "child"
+s3: ERROR: current transaction failed, rolling back
step s3c: COMMIT;
starting permutation: s1b s1l s3b s3u2 s3d s1c s3c
@@ -90,6 +96,7 @@ step s3d: DELETE FROM parent; <waiting ...>
step s1c: COMMIT;
step s3d: <... completed>
error in steps s1c s3d: ERROR: update or delete on table "parent" violates foreign key constraint "child_i_fkey" on table "child"
+s3: ERROR: current transaction failed, rolling back
step s3c: COMMIT;
starting permutation: s1b s1l s3b s3u2 s3svu s3d s1c s3c
@@ -102,4 +109,5 @@ step s3d: DELETE FROM parent; <waiting ...>
step s1c: COMMIT;
step s3d: <... completed>
error in steps s1c s3d: ERROR: update or delete on table "parent" violates foreign key constraint "child_i_fkey" on table "child"
+s3: ERROR: current transaction failed, rolling back
step s3c: COMMIT;
diff --git a/src/test/isolation/expected/read-write-unique-2.out b/src/test/isolation/expected/read-write-unique-2.out
index 5e27f0adfd..d6e10ac0a2 100644
--- a/src/test/isolation/expected/read-write-unique-2.out
+++ b/src/test/isolation/expected/read-write-unique-2.out
@@ -12,6 +12,7 @@ step w2: INSERT INTO test VALUES (42); <waiting ...>
step c1: COMMIT;
step w2: <... completed>
error in steps c1 w2: ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: r1 w1 c1 r2 w2 c2
@@ -26,4 +27,5 @@ i
42
step w2: INSERT INTO test VALUES (42);
ERROR: duplicate key value violates unique constraint "test_pkey"
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
diff --git a/src/test/isolation/expected/read-write-unique-3.out b/src/test/isolation/expected/read-write-unique-3.out
index edd3558930..5a94209d29 100644
--- a/src/test/isolation/expected/read-write-unique-3.out
+++ b/src/test/isolation/expected/read-write-unique-3.out
@@ -9,4 +9,5 @@ step rw2: SELECT insert_unique(1, '2'); <waiting ...>
step c1: COMMIT;
step rw2: <... completed>
error in steps c1 rw2: ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
diff --git a/src/test/isolation/expected/read-write-unique-4.out b/src/test/isolation/expected/read-write-unique-4.out
index 64ff157513..bafa1e3cd1 100644
--- a/src/test/isolation/expected/read-write-unique-4.out
+++ b/src/test/isolation/expected/read-write-unique-4.out
@@ -14,6 +14,7 @@ step w2: INSERT INTO invoice VALUES (2016, 3); <waiting ...>
step c1: COMMIT;
step w2: <... completed>
error in steps c1 w2: ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: r1 w1 w2 c1 c2
@@ -26,6 +27,7 @@ step w2: INSERT INTO invoice VALUES (2016, 3); <waiting ...>
step c1: COMMIT;
step w2: <... completed>
error in steps c1 w2: ERROR: duplicate key value violates unique constraint "invoice_pkey"
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: r2 w1 w2 c1 c2
@@ -38,4 +40,5 @@ step w2: INSERT INTO invoice VALUES (2016, 3); <waiting ...>
step c1: COMMIT;
step w2: <... completed>
error in steps c1 w2: ERROR: duplicate key value violates unique constraint "invoice_pkey"
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
diff --git a/src/test/isolation/expected/read-write-unique.out b/src/test/isolation/expected/read-write-unique.out
index fb32ec3261..5e81c67809 100644
--- a/src/test/isolation/expected/read-write-unique.out
+++ b/src/test/isolation/expected/read-write-unique.out
@@ -12,6 +12,7 @@ step w2: INSERT INTO test VALUES (42); <waiting ...>
step c1: COMMIT;
step w2: <... completed>
error in steps c1 w2: ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: r1 w1 c1 r2 w2 c2
@@ -26,4 +27,5 @@ i
42
step w2: INSERT INTO test VALUES (42);
ERROR: duplicate key value violates unique constraint "test_pkey"
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
diff --git a/src/test/isolation/expected/receipt-report.out b/src/test/isolation/expected/receipt-report.out
index bc68d676a0..e9374b6243 100644
--- a/src/test/isolation/expected/receipt-report.out
+++ b/src/test/isolation/expected/receipt-report.out
@@ -266,6 +266,7 @@ receipt 12-23-2008
step c1: COMMIT;
step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
ERROR: could not serialize access due to read/write dependencies among transactions
+s3: ERROR: current transaction failed, rolling back
step c3: COMMIT;
starting permutation: rxwy1 wx2 c2 rx3 ry3 c1 c3
@@ -1070,6 +1071,7 @@ receipt 12-23-2008
step c1: COMMIT;
step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
ERROR: could not serialize access due to read/write dependencies among transactions
+s3: ERROR: current transaction failed, rolling back
step c3: COMMIT;
starting permutation: wx2 rxwy1 c2 rx3 ry3 c1 c3
diff --git a/src/test/isolation/expected/referential-integrity.out b/src/test/isolation/expected/referential-integrity.out
index ba42efa39b..cae02ef852 100644
--- a/src/test/isolation/expected/referential-integrity.out
+++ b/src/test/isolation/expected/referential-integrity.out
@@ -34,6 +34,7 @@ a_id
step wx2: DELETE FROM a WHERE i = 1;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: rx1 wy1 rx2 ry2 c1 wx2 c2
@@ -52,6 +53,7 @@ a_id
step c1: COMMIT;
step wx2: DELETE FROM a WHERE i = 1;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: rx1 wy1 rx2 ry2 wx2 c1 c2
@@ -106,6 +108,7 @@ a_id
step wx2: DELETE FROM a WHERE i = 1;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: rx1 rx2 wy1 ry2 c1 wx2 c2
@@ -124,6 +127,7 @@ a_id
step c1: COMMIT;
step wx2: DELETE FROM a WHERE i = 1;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: rx1 rx2 wy1 ry2 wx2 c1 c2
@@ -178,6 +182,7 @@ step wy1: INSERT INTO b VALUES (1);
step c1: COMMIT;
step wx2: DELETE FROM a WHERE i = 1;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: rx1 rx2 ry2 wy1 wx2 c1 c2
@@ -268,6 +273,7 @@ step wx2: DELETE FROM a WHERE i = 1;
step c2: COMMIT;
step wy1: INSERT INTO b VALUES (1);
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: rx2 rx1 wy1 c1 ry2 wx2 c2
@@ -286,6 +292,7 @@ a_id
step wx2: DELETE FROM a WHERE i = 1;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: rx2 rx1 wy1 ry2 c1 wx2 c2
@@ -304,6 +311,7 @@ a_id
step c1: COMMIT;
step wx2: DELETE FROM a WHERE i = 1;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: rx2 rx1 wy1 ry2 wx2 c1 c2
@@ -358,6 +366,7 @@ step wy1: INSERT INTO b VALUES (1);
step c1: COMMIT;
step wx2: DELETE FROM a WHERE i = 1;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: rx2 rx1 ry2 wy1 wx2 c1 c2
@@ -448,6 +457,7 @@ step wx2: DELETE FROM a WHERE i = 1;
step c2: COMMIT;
step wy1: INSERT INTO b VALUES (1);
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: rx2 ry2 rx1 wy1 c1 wx2 c2
@@ -466,6 +476,7 @@ step wy1: INSERT INTO b VALUES (1);
step c1: COMMIT;
step wx2: DELETE FROM a WHERE i = 1;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: rx2 ry2 rx1 wy1 wx2 c1 c2
@@ -556,6 +567,7 @@ step wx2: DELETE FROM a WHERE i = 1;
step c2: COMMIT;
step wy1: INSERT INTO b VALUES (1);
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: rx2 ry2 wx2 rx1 wy1 c1 c2
@@ -610,6 +622,7 @@ i
step c2: COMMIT;
step wy1: INSERT INTO b VALUES (1);
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: rx2 ry2 wx2 c2 rx1 wy1 c1
diff --git a/src/test/isolation/expected/ri-trigger.out b/src/test/isolation/expected/ri-trigger.out
index 88943287aa..79edbd976b 100644
--- a/src/test/isolation/expected/ri-trigger.out
+++ b/src/test/isolation/expected/ri-trigger.out
@@ -9,6 +9,7 @@ bool
t
step wyrx2: DELETE FROM parent WHERE parent_id = 0;
ERROR: child row exists
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: wxry1 r2 c1 wyrx2 c2
@@ -20,6 +21,7 @@ t
step c1: COMMIT;
step wyrx2: DELETE FROM parent WHERE parent_id = 0;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: wxry1 r2 wyrx2 c1 c2
@@ -53,6 +55,7 @@ step wxry1: INSERT INTO child (parent_id) VALUES (0);
step c1: COMMIT;
step wyrx2: DELETE FROM parent WHERE parent_id = 0;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: r2 wxry1 wyrx2 c1 c2
@@ -108,4 +111,5 @@ step wyrx2: DELETE FROM parent WHERE parent_id = 0;
step c2: COMMIT;
step wxry1: INSERT INTO child (parent_id) VALUES (0);
ERROR: parent row missing
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
diff --git a/src/test/isolation/expected/temporal-range-integrity.out b/src/test/isolation/expected/temporal-range-integrity.out
index f1b24023a2..2f558138e4 100644
--- a/src/test/isolation/expected/temporal-range-integrity.out
+++ b/src/test/isolation/expected/temporal-range-integrity.out
@@ -27,6 +27,7 @@ count
step c1: COMMIT;
step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: rx1 wy1 ry2 wx2 c1 c2
@@ -72,6 +73,7 @@ step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
step c1: COMMIT;
step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: rx1 ry2 wy1 wx2 c1 c2
@@ -147,6 +149,7 @@ step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = D
step c2: COMMIT;
step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: ry2 rx1 wy1 c1 wx2 c2
@@ -162,6 +165,7 @@ step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
step c1: COMMIT;
step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: ry2 rx1 wy1 wx2 c1 c2
@@ -237,6 +241,7 @@ step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = D
step c2: COMMIT;
step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: ry2 wx2 rx1 wy1 c1 c2
@@ -282,6 +287,7 @@ count
step c2: COMMIT;
step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: ry2 wx2 c2 rx1 wy1 c1
diff --git a/src/test/isolation/expected/total-cash.out b/src/test/isolation/expected/total-cash.out
index 5121edc710..1b770c2aeb 100644
--- a/src/test/isolation/expected/total-cash.out
+++ b/src/test/isolation/expected/total-cash.out
@@ -24,6 +24,7 @@ step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings
step c1: COMMIT;
step rxy2: SELECT SUM(balance) FROM accounts;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: wx1 rxy1 wy2 rxy2 c1 c2
@@ -66,6 +67,7 @@ sum
step c1: COMMIT;
step rxy2: SELECT SUM(balance) FROM accounts;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: wx1 wy2 rxy1 rxy2 c1 c2
@@ -138,6 +140,7 @@ sum
step c2: COMMIT;
step rxy1: SELECT SUM(balance) FROM accounts;
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: wy2 wx1 rxy1 c1 rxy2 c2
@@ -150,6 +153,7 @@ sum
step c1: COMMIT;
step rxy2: SELECT SUM(balance) FROM accounts;
ERROR: could not serialize access due to read/write dependencies among transactions
+s2: ERROR: current transaction failed, rolling back
step c2: COMMIT;
starting permutation: wy2 wx1 rxy1 rxy2 c1 c2
@@ -222,6 +226,7 @@ sum
step c2: COMMIT;
step rxy1: SELECT SUM(balance) FROM accounts;
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: wy2 rxy2 wx1 rxy1 c1 c2
@@ -264,6 +269,7 @@ step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checkin
step c2: COMMIT;
step rxy1: SELECT SUM(balance) FROM accounts;
ERROR: could not serialize access due to read/write dependencies among transactions
+s1: ERROR: current transaction failed, rolling back
step c1: COMMIT;
starting permutation: wy2 rxy2 c2 wx1 rxy1 c1
diff --git a/src/test/isolation/expected/update-conflict-out.out b/src/test/isolation/expected/update-conflict-out.out
index 32be3269b3..307d0f4053 100644
--- a/src/test/isolation/expected/update-conflict-out.out
+++ b/src/test/isolation/expected/update-conflict-out.out
@@ -10,6 +10,7 @@ step foo_commit: COMMIT;
step trouble_update: UPDATE txn1 SET val = 'add physical version for "bar_select"' WHERE id = 7;
step bar_select: SELECT * FROM txn1 WHERE id = 7;
ERROR: could not serialize access due to read/write dependencies among transactions
+bar: ERROR: current transaction failed, rolling back
step bar_commit: COMMIT;
step trouble_abort: ABORT;
@@ -23,5 +24,6 @@ step foo_commit: COMMIT;
step trouble_delete: DELETE FROM txn1 WHERE id = 7;
step bar_select: SELECT * FROM txn1 WHERE id = 7;
ERROR: could not serialize access due to read/write dependencies among transactions
+bar: ERROR: current transaction failed, rolling back
step bar_commit: COMMIT;
step trouble_abort: ABORT;
diff --git a/src/test/regress/expected/copy2.out b/src/test/regress/expected/copy2.out
index c64f0719e7..244e7403fe 100644
--- a/src/test/regress/expected/copy2.out
+++ b/src/test/regress/expected/copy2.out
@@ -414,6 +414,7 @@ SAVEPOINT s1;
COPY vistest FROM stdin CSV FREEZE;
ERROR: cannot perform COPY FREEZE because the table was not created or truncated in the current subtransaction
COMMIT;
+ERROR: current transaction failed, rolling back
BEGIN;
INSERT INTO vistest VALUES ('z');
SAVEPOINT s1;
@@ -422,6 +423,7 @@ ROLLBACK TO SAVEPOINT s1;
COPY vistest FROM stdin CSV FREEZE;
ERROR: cannot perform COPY FREEZE because the table was not created or truncated in the current subtransaction
COMMIT;
+ERROR: current transaction failed, rolling back
CREATE FUNCTION truncate_in_subxact() RETURNS VOID AS
$$
BEGIN
diff --git a/src/test/regress/expected/create_index.out b/src/test/regress/expected/create_index.out
index fc6afab58a..8a4f863812 100644
--- a/src/test/regress/expected/create_index.out
+++ b/src/test/regress/expected/create_index.out
@@ -1397,6 +1397,7 @@ BEGIN;
CREATE INDEX CONCURRENTLY concur_index7 ON concur_heap(f1);
ERROR: CREATE INDEX CONCURRENTLY cannot run inside a transaction block
COMMIT;
+ERROR: current transaction failed, rolling back
-- But you can do a regular index build in a transaction
BEGIN;
CREATE INDEX std_index on concur_heap(f2);
@@ -1457,6 +1458,7 @@ INSERT INTO concur_temp VALUES (1, 'foo'), (2, 'bar');
CREATE INDEX CONCURRENTLY concur_temp_ind ON concur_temp(f1);
ERROR: CREATE INDEX CONCURRENTLY cannot run inside a transaction block
COMMIT;
+ERROR: current transaction failed, rolling back
-- ON COMMIT DELETE ROWS
CREATE TEMP TABLE concur_temp (f1 int, f2 text)
ON COMMIT DELETE ROWS;
@@ -2467,6 +2469,7 @@ BEGIN;
REINDEX TABLE CONCURRENTLY concur_reindex_tab;
ERROR: REINDEX CONCURRENTLY cannot run inside a transaction block
COMMIT;
+ERROR: current transaction failed, rolling back
REINDEX TABLE CONCURRENTLY pg_class; -- no catalog relation
ERROR: cannot reindex system catalogs concurrently
REINDEX INDEX CONCURRENTLY pg_class_oid_index; -- no catalog index
@@ -2652,6 +2655,7 @@ BEGIN;
REINDEX INDEX CONCURRENTLY concur_temp_ind_1;
ERROR: REINDEX CONCURRENTLY cannot run inside a transaction block
COMMIT;
+ERROR: current transaction failed, rolling back
-- ON COMMIT DELETE ROWS
CREATE TEMP TABLE concur_temp_tab_2 (c1 int, c2 text)
ON COMMIT DELETE ROWS;
@@ -2668,6 +2672,7 @@ CREATE INDEX concur_temp_ind_3 ON concur_temp_tab_3(c2);
REINDEX INDEX CONCURRENTLY concur_temp_ind_3;
ERROR: REINDEX CONCURRENTLY cannot run inside a transaction block
COMMIT;
+ERROR: current transaction failed, rolling back
-- REINDEX SCHEMA processes all temporary relations
CREATE TABLE reindex_temp_before AS
SELECT oid, relname, relfilenode, relkind, reltoastrelid
@@ -2747,6 +2752,7 @@ BEGIN;
REINDEX SCHEMA schema_to_reindex; -- failure, cannot run in a transaction
ERROR: REINDEX SCHEMA cannot run inside a transaction block
END;
+ERROR: current transaction failed, rolling back
-- concurrently
REINDEX SCHEMA CONCURRENTLY schema_to_reindex;
-- Failure for unauthorized user
diff --git a/src/test/regress/expected/foreign_key.out b/src/test/regress/expected/foreign_key.out
index 07bd5b6434..e6ef96670c 100644
--- a/src/test/regress/expected/foreign_key.out
+++ b/src/test/regress/expected/foreign_key.out
@@ -1052,6 +1052,7 @@ INSERT INTO fktable VALUES (500, 1000);
ERROR: insert or update on table "fktable" violates foreign key constraint "fktable_fk_fkey"
DETAIL: Key (fk)=(1000) is not present in table "pktable".
COMMIT;
+ERROR: current transaction failed, rolling back
DROP TABLE fktable, pktable;
-- tricky behavior: according to SQL99, if a deferred constraint is set
-- to 'immediate' mode, it should be checked for validity *immediately*,
@@ -1076,6 +1077,7 @@ DETAIL: Key (fk)=(2000) is not present in table "pktable".
INSERT INTO pktable VALUES (2000, 3); -- too late
ERROR: current transaction is aborted, commands ignored until end of transaction block
COMMIT;
+ERROR: current transaction failed, rolling back
DROP TABLE fktable, pktable;
-- deferrable, initially deferred
CREATE TABLE pktable (
@@ -1231,12 +1233,14 @@ UPDATE pktable SET id = 10 WHERE id = 5;
ERROR: update or delete on table "pktable" violates foreign key constraint "fktable_fk_fkey" on table "fktable"
DETAIL: Key (id)=(5) is still referenced from table "fktable".
COMMIT;
+ERROR: current transaction failed, rolling back
BEGIN;
-- doesn't match PK, should throw error now
INSERT INTO fktable VALUES (0, 20);
ERROR: insert or update on table "fktable" violates foreign key constraint "fktable_fk_fkey"
DETAIL: Key (fk)=(20) is not present in table "pktable".
COMMIT;
+ERROR: current transaction failed, rolling back
-- try additional syntax
ALTER TABLE fktable ALTER CONSTRAINT fktable_fk_fkey NOT DEFERRABLE;
-- illegal option
@@ -1489,11 +1493,13 @@ insert into fktable2 values(2);
alter table fktable2 drop constraint fktable2_f1_fkey;
ERROR: cannot ALTER TABLE "fktable2" because it has pending trigger events
commit;
+ERROR: current transaction failed, rolling back
begin;
delete from pktable2 where f1 = 1;
alter table fktable2 drop constraint fktable2_f1_fkey;
ERROR: cannot ALTER TABLE "pktable2" because it has pending trigger events
commit;
+ERROR: current transaction failed, rolling back
drop table pktable2, fktable2;
--
-- Test keys that "look" different but compare as equal
@@ -2440,6 +2446,7 @@ INSERT INTO fkpart8.tbl2 VALUES(1);
ALTER TABLE fkpart8.tbl2 DROP CONSTRAINT tbl2_f1_fkey;
ERROR: cannot ALTER TABLE "tbl2_p1" because it has pending trigger events
COMMIT;
+ERROR: current transaction failed, rolling back
DROP SCHEMA fkpart8 CASCADE;
NOTICE: drop cascades to 2 other objects
DETAIL: drop cascades to table fkpart8.tbl1
diff --git a/src/test/regress/expected/insert_conflict.out b/src/test/regress/expected/insert_conflict.out
index ff157ceb1c..2aee235534 100644
--- a/src/test/regress/expected/insert_conflict.out
+++ b/src/test/regress/expected/insert_conflict.out
@@ -702,16 +702,19 @@ insert into selfconflict values (4,1), (4,2) on conflict(f1) do update set f2 =
ERROR: ON CONFLICT DO UPDATE command cannot affect row a second time
HINT: Ensure that no rows proposed for insertion within the same command have duplicate constrained values.
commit;
+ERROR: current transaction failed, rolling back
begin transaction isolation level repeatable read;
insert into selfconflict values (5,1), (5,2) on conflict(f1) do update set f2 = 0;
ERROR: ON CONFLICT DO UPDATE command cannot affect row a second time
HINT: Ensure that no rows proposed for insertion within the same command have duplicate constrained values.
commit;
+ERROR: current transaction failed, rolling back
begin transaction isolation level serializable;
insert into selfconflict values (6,1), (6,2) on conflict(f1) do update set f2 = 0;
ERROR: ON CONFLICT DO UPDATE command cannot affect row a second time
HINT: Ensure that no rows proposed for insertion within the same command have duplicate constrained values.
commit;
+ERROR: current transaction failed, rolling back
select * from selfconflict;
f1 | f2
----+----
diff --git a/src/test/regress/expected/portals.out b/src/test/regress/expected/portals.out
index dc0d2ef7dd..6092d6acf7 100644
--- a/src/test/regress/expected/portals.out
+++ b/src/test/regress/expected/portals.out
@@ -715,6 +715,7 @@ FETCH BACKWARD 1 FROM foo24; -- should fail
ERROR: cursor can only scan forward
HINT: Declare it with SCROLL option to enable backward scan.
END;
+ERROR: current transaction failed, rolling back
--
-- Cursors outside transaction blocks
--
diff --git a/src/test/regress/expected/prepared_xacts.out b/src/test/regress/expected/prepared_xacts.out
index eb77c18788..41e6bfd9b3 100644
--- a/src/test/regress/expected/prepared_xacts.out
+++ b/src/test/regress/expected/prepared_xacts.out
@@ -137,6 +137,7 @@ ERROR: could not serialize access due to read/write dependencies among transact
DETAIL: Reason code: Canceled on identification as a pivot, during write.
HINT: The transaction might succeed if retried.
PREPARE TRANSACTION 'foo5';
+ERROR: current transaction failed, rolling back
SELECT gid FROM pg_prepared_xacts;
gid
------
diff --git a/src/test/regress/expected/privileges.out b/src/test/regress/expected/privileges.out
index 8f2fc89851..e0abf5d9eb 100644
--- a/src/test/regress/expected/privileges.out
+++ b/src/test/regress/expected/privileges.out
@@ -114,6 +114,7 @@ BEGIN;
LOCK atest2 IN ACCESS EXCLUSIVE MODE; -- fail
ERROR: permission denied for table atest2
COMMIT;
+ERROR: current transaction failed, rolling back
COPY atest2 FROM stdin; -- fail
ERROR: permission denied for table atest2
GRANT ALL ON atest1 TO PUBLIC; -- fail
@@ -734,6 +735,7 @@ BEGIN;
LOCK atestc;
ERROR: permission denied for table atestc
END;
+ERROR: current transaction failed, rolling back
-- privileges on functions, languages
-- switch to superuser
\c -
@@ -1366,6 +1368,7 @@ CONTEXT: SQL function "unwanted_grant" statement 1
SQL statement "SELECT unwanted_grant()"
PL/pgSQL function sro_trojan() line 1 at PERFORM
SQL function "mv_action" statement 1
+ERROR: current transaction failed, rolling back
DROP OWNED BY regress_sro_user;
DROP ROLE regress_sro_user;
-- Admin options
diff --git a/src/test/regress/expected/subscription.out b/src/test/regress/expected/subscription.out
index 2fa9bce66a..cc5ac964b9 100644
--- a/src/test/regress/expected/subscription.out
+++ b/src/test/regress/expected/subscription.out
@@ -20,6 +20,7 @@ BEGIN;
CREATE SUBSCRIPTION regress_testsub CONNECTION 'testconn' PUBLICATION testpub WITH (create_slot);
ERROR: CREATE SUBSCRIPTION ... WITH (create_slot = true) cannot run inside a transaction block
COMMIT;
+ERROR: current transaction failed, rolling back
-- fail - invalid connection string
CREATE SUBSCRIPTION regress_testsub CONNECTION 'testconn' PUBLICATION testpub;
ERROR: invalid connection string syntax: missing "=" after "testconn" in connection info string
@@ -146,6 +147,7 @@ BEGIN;
DROP SUBSCRIPTION regress_testsub;
ERROR: DROP SUBSCRIPTION cannot run inside a transaction block
COMMIT;
+ERROR: current transaction failed, rolling back
ALTER SUBSCRIPTION regress_testsub SET (slot_name = NONE);
-- now it works
BEGIN;
diff --git a/src/test/regress/expected/transactions.out b/src/test/regress/expected/transactions.out
index 1b03310029..89ca57709b 100644
--- a/src/test/regress/expected/transactions.out
+++ b/src/test/regress/expected/transactions.out
@@ -53,6 +53,7 @@ SELECT * FROM writetest; -- ok
SET TRANSACTION READ WRITE; --fail
ERROR: transaction read-write mode must be set before any query
COMMIT;
+ERROR: current transaction failed, rolling back
BEGIN;
SET TRANSACTION READ ONLY; -- ok
SET TRANSACTION READ WRITE; -- ok
@@ -73,6 +74,7 @@ SET TRANSACTION READ ONLY; -- ok
SET TRANSACTION READ WRITE; --fail
ERROR: cannot set transaction read-write mode inside a read-only transaction
COMMIT;
+ERROR: current transaction failed, rolling back
BEGIN;
SET TRANSACTION READ WRITE; -- ok
SAVEPOINT x;
@@ -87,6 +89,7 @@ SET TRANSACTION READ ONLY; -- ok
SET TRANSACTION READ WRITE; --fail
ERROR: cannot set transaction read-write mode inside a read-only transaction
COMMIT;
+ERROR: current transaction failed, rolling back
BEGIN;
SET TRANSACTION READ WRITE; -- ok
SAVEPOINT x;
@@ -271,6 +274,7 @@ ERROR: column "trans_foo" does not exist
LINE 1: SELECT trans_foo;
^
COMMIT;
+ERROR: current transaction failed, rolling back
SELECT * FROM savepoints;
a
---
@@ -456,6 +460,7 @@ ERROR: portal "c" cannot be run
FETCH 10 FROM c;
ERROR: portal "c" cannot be run
COMMIT;
+ERROR: current transaction failed, rolling back
--
-- Check that "stable" functions are really stable. They should not be
-- able to see the partial results of the calling query. (Ideally we would
@@ -586,6 +591,7 @@ rollback to x;
fetch from foo;
ERROR: cursor "foo" does not exist
commit;
+ERROR: current transaction failed, rolling back
begin;
create table abc (a int);
insert into abc values (5);
@@ -657,6 +663,7 @@ FETCH ok; -- should work
FETCH ctt; -- must be rejected
ERROR: portal "ctt" cannot be run
COMMIT;
+ERROR: current transaction failed, rolling back
DROP FUNCTION create_temp_tab();
DROP FUNCTION invert(x float8);
-- Tests for AND CHAIN
@@ -710,6 +717,7 @@ LINE 1: INSERT INTO abc VALUES ('error');
INSERT INTO abc VALUES (3); -- check it's really aborted
ERROR: current transaction is aborted, commands ignored until end of transaction block
COMMIT AND CHAIN; -- TBLOCK_ABORT_END
+ERROR: current transaction failed, rolling back
SHOW transaction_isolation;
transaction_isolation
-----------------------
@@ -755,6 +763,7 @@ ERROR: invalid input syntax for type integer: "error"
LINE 1: INSERT INTO abc VALUES ('error');
^
COMMIT AND CHAIN; -- TBLOCK_ABORT_PENDING
+ERROR: current transaction failed, rolling back
SHOW transaction_isolation;
transaction_isolation
-----------------------
diff --git a/src/test/regress/output/constraints.source b/src/test/regress/output/constraints.source
index eff793cc3d..294cebfdbd 100644
--- a/src/test/regress/output/constraints.source
+++ b/src/test/regress/output/constraints.source
@@ -541,6 +541,7 @@ INSERT INTO unique_tbl VALUES (3, 'Three'); -- should fail
ERROR: duplicate key value violates unique constraint "unique_tbl_i_key"
DETAIL: Key (i)=(3) already exists.
COMMIT;
+ERROR: current transaction failed, rolling back
-- forced check when SET CONSTRAINTS is called
BEGIN;
SET CONSTRAINTS ALL DEFERRED;
@@ -549,6 +550,7 @@ SET CONSTRAINTS ALL IMMEDIATE; -- should fail
ERROR: duplicate key value violates unique constraint "unique_tbl_i_key"
DETAIL: Key (i)=(3) already exists.
COMMIT;
+ERROR: current transaction failed, rolling back
-- test deferrable UNIQUE with a partitioned table
CREATE TABLE parted_uniq_tbl (i int UNIQUE DEFERRABLE) partition by range (i);
CREATE TABLE parted_uniq_tbl_1 PARTITION OF parted_uniq_tbl FOR VALUES FROM (0) TO (10);
--
2.17.1