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_10_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/04595960a0a7c8844198668186bec2a6115244e0
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(+)