pgsql: Add isolation test for INSERT ON CONFLICT speculative insertion
Add isolation test for INSERT ON CONFLICT speculative insertion failure.
This path previously was not reliably covered. There was some
heuristic coverage via insert-conflict-toast.spec, but that test is
not deterministic, and only tested for a somewhat specific bug.
Backpatch, as this is a complicated and otherwise untested code
path. Unfortunately 9.5 cannot handle two waiting sessions, and thus
cannot execute this test.
Triggered by a conversion with Melanie Plageman.
Author: Andres Freund
Discussion: /messages/by-id/CAAKRu_a7hbyrk=wveHYhr4LbcRnRCG=yPUVoQYB9YO1CdUBE9Q@mail.gmail.com
Backpatch: 9.5-
Branch
------
REL_11_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/05cf41973157577aac9706dcc7998054949b0ed4
Modified Files
--------------
.../expected/insert-conflict-specconflict.out | 179 +++++++++++++++++++++
src/test/isolation/isolation_schedule | 1 +
.../specs/insert-conflict-specconflict.spec | 149 +++++++++++++++++
3 files changed, 329 insertions(+)