From 229c0a361b8a28e38b0b323f2148375aa2a6e509 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Tue, 4 Aug 2020 12:15:38 -0400 Subject: [PATCH] Throw error and rollback on a failed transaction instead of silently rolling back fix isolation test --- 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 | 2 + src/test/regress/expected/subscription.out | 2 + src/test/regress/expected/transactions.out | 9 ++++ src/test/regress/output/constraints.source | 2 + 48 files changed, 259 insertions(+), 4 deletions(-) diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c index 9a35147b26..123e15edd8 100644 --- a/src/backend/tcop/utility.c +++ b/src/backend/tcop/utility.c @@ -621,6 +621,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; @@ -630,6 +635,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 1ba47c194b..d62736b473 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -3411,6 +3411,7 @@ error_severity(int elevel) case WARNING: 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 1e09ee0541..d3acbeb420 100644 --- a/src/include/utils/elog.h +++ b/src/include/utils/elog.h @@ -40,17 +40,18 @@ #define WARNING 19 /* Warnings. NOTICE is for expected messages * like implicit sequence creation by SERIAL. * WARNING is for unexpected messages. */ -#define ERROR 20 /* user error - abort transaction; return to +#define USER_ERROR 20 +#define ERROR 21 /* 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 20 +#define PGERROR 21 #endif -#define FATAL 21 /* fatal error - abort process */ -#define PANIC 22 /* take down the other backends with me */ +#define FATAL 22 /* fatal error - abort process */ +#define PANIC 23 /* take down the other backends with me */ /* #define DEBUG DEBUG1 */ /* Backward compatibility with pre-7.3 */ 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); 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); 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); 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); 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); 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); 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); 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); 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); 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); 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; 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 *; 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); 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); 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; 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); 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; 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; 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); 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); 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); 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); 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; 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; 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'); 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; 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; 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; 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; 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); 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); 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); 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; 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; 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; 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; 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); 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'); 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); 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); 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); 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); 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 012c1eb067..45482dd15f 100644 --- a/src/test/regress/expected/create_index.out +++ b/src/test/regress/expected/create_index.out @@ -1393,6 +1393,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); @@ -1453,6 +1454,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; @@ -2459,6 +2461,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 @@ -2644,6 +2647,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; @@ -2660,6 +2664,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 @@ -2739,6 +2744,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 3ec22c20ea..fd4ed9d95b 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 @@ -727,6 +728,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 - 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 b727c6150a..d0bcf962a8 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.20.1 (Apple Git-117)