pgsql: Add isolation test for INSERT ON CONFLICT speculative insertion

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

pgsql: Add isolation test for INSERT ON CONFLICT speculative insertion

Andres Freund
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@...
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(+)