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_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(+)