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: https://postgr.es/m/CAAKRu_a7hbyrk=wveHYhr4LbcRnRCG=yPUVoQYB9YO1CdUBE9Q@mail.gmail.com
Backpatch: 9.5-
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/08e2edc0767ab6e619970f165cb34d4673105f23
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(+)