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