Thread: [COMMITTERS] pgsql: Back-patch fcff8a575198478023ada8a48e13b50f70054766 as a bugfix
[COMMITTERS] pgsql: Back-patch fcff8a575198478023ada8a48e13b50f70054766 as a bugfix
From
Kevin Grittner
Date:
Back-patch fcff8a575198478023ada8a48e13b50f70054766 as a bug fix. When there is both a serialization failure and a unique violation, throw the former rather than the latter. When initially pushed, this was viewed as a feature to assist application framework developers, so that they could more accurately determine when to retry a failed transaction, but a test case presented by Ian Jackson has shown that this patch can prevent serialization anomalies in some cases where a unique violation is caught within a subtransaction, the work of that subtransaction is discarded, and no error is thrown. That makes this a bug fix, so it is being back-patched to all supported branches where it is not already present (i.e., 9.2 to 9.5). Discussion: https://postgr.es/m/1481307991-16971-1-git-send-email-ian.jackson@eu.citrix.com Discussion: https://postgr.es/m/22607.56276.807567.924144@mariner.uk.xensource.com Branch ------ REL9_3_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/5d80171adace192c6d4308ae4b22074d6b0809f3 Modified Files -------------- doc/src/sgml/mvcc.sgml | 35 ++++++++++++---- src/backend/access/nbtree/nbtinsert.c | 8 ++++ .../isolation/expected/read-write-unique-2.out | 29 +++++++++++++ .../isolation/expected/read-write-unique-3.out | 12 ++++++ .../isolation/expected/read-write-unique-4.out | 41 ++++++++++++++++++ src/test/isolation/expected/read-write-unique.out | 29 +++++++++++++ src/test/isolation/isolation_schedule | 4 ++ src/test/isolation/specs/read-write-unique-2.spec | 36 ++++++++++++++++ src/test/isolation/specs/read-write-unique-3.spec | 33 +++++++++++++++ src/test/isolation/specs/read-write-unique-4.spec | 48 ++++++++++++++++++++++ src/test/isolation/specs/read-write-unique.spec | 39 ++++++++++++++++++ 11 files changed, 307 insertions(+), 7 deletions(-)