aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/user.c
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2020-02-11 16:32:11 -0800
committerAndres Freund <andres@anarazel.de>2020-02-11 16:32:11 -0800
commit43e08419708a938236e76cd50de2db512e1c3a0c (patch)
treef48c7063a204edc919979cdbe1ad3a76049b743d /src/backend/commands/user.c
parentbe6221e9be234109aa261ea767c85f5e8cda90e8 (diff)
downloadpostgresql-43e08419708a938236e76cd50de2db512e1c3a0c.tar.gz
postgresql-43e08419708a938236e76cd50de2db512e1c3a0c.zip
Test additional speculative conflict scenarios.
Previously, the speculative insert tests did not cover the case when a tuple t is inserted into a table with a unique index on a column but before it can insert into the index, a concurrent transaction has inserted a conflicting value into the index and the insertion of tuple t must be aborted. The basic permutation is one session successfully inserts into the table and an associated unique index while a concurrent session successfully inserts into the table but discovers a conflict before inserting into the index and must abort the insertion. Several variants on this include: - swap which session is successful - first session insert transaction does not commit, so second session must wait on a transaction lock - first session insert does not "complete", so second session must wait on a speculative insertion lock Also, refactor the existing TOAST table upsert test to be in the same spec and reuse the steps. Author: Melanie Plageman, Ashwin Agrawal, Andres Freund Reviewed-by: Andres Freund, Taylor Vesely Discussion: https://postgr.es/m/CAAKRu_ZRmxy_OEryfY3G8Zp01ouhgw59_-_Cm8n7LzRH5BAvng@mail.gmail.com
Diffstat (limited to 'src/backend/commands/user.c')
0 files changed, 0 insertions, 0 deletions