/
githubmirror
/
postgres
Обзор
Документация
Войти
/
githubmirror
/
postgres
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/test/isolation/specs/tuplelock-conflict.spec
63 строки
3 KB
Tom Lane
Allow non-quoted identifiers as isolation test session/step names.
24 июн 2021, 01:41
24 июн 2021, 01:41
a443c1b
Код
Авторство
О чём код?
# Here we verify that tuple lock levels conform to their documented # conflict tables. setup { DROP TABLE IF EXISTS multixact_conflict; CREATE TABLE multixact_conflict (a int primary key); INSERT INTO multixact_conflict VALUES (1); } teardown { DROP TABLE multixact_conflict; } session s1 step s1_begin { BEGIN; } step s1_lcksvpt { SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo; } step s1_tuplock1 { SELECT * FROM multixact_conflict FOR KEY SHARE; } step s1_tuplock2 { SELECT * FROM multixact_conflict FOR SHARE; } step s1_tuplock3 { SELECT * FROM multixact_conflict FOR NO KEY UPDATE; } step s1_tuplock4 { SELECT * FROM multixact_conflict FOR UPDATE; } step s1_commit { COMMIT; } session s2 step s2_tuplock1 { SELECT * FROM multixact_conflict FOR KEY SHARE; } step s2_tuplock2 { SELECT * FROM multixact_conflict FOR SHARE; } step s2_tuplock3 { SELECT * FROM multixact_conflict FOR NO KEY UPDATE; } step s2_tuplock4 { SELECT * FROM multixact_conflict FOR UPDATE; } # The version with savepoints test the multixact cases permutation s1_begin s1_lcksvpt s1_tuplock1 s2_tuplock1 s1_commit permutation s1_begin s1_lcksvpt s1_tuplock1 s2_tuplock2 s1_commit permutation s1_begin s1_lcksvpt s1_tuplock1 s2_tuplock3 s1_commit permutation s1_begin s1_lcksvpt s1_tuplock1 s2_tuplock4 s1_commit permutation s1_begin s1_lcksvpt s1_tuplock2 s2_tuplock1 s1_commit permutation s1_begin s1_lcksvpt s1_tuplock2 s2_tuplock2 s1_commit permutation s1_begin s1_lcksvpt s1_tuplock2 s2_tuplock3 s1_commit permutation s1_begin s1_lcksvpt s1_tuplock2 s2_tuplock4 s1_commit permutation s1_begin s1_lcksvpt s1_tuplock3 s2_tuplock1 s1_commit permutation s1_begin s1_lcksvpt s1_tuplock3 s2_tuplock2 s1_commit permutation s1_begin s1_lcksvpt s1_tuplock3 s2_tuplock3 s1_commit permutation s1_begin s1_lcksvpt s1_tuplock3 s2_tuplock4 s1_commit permutation s1_begin s1_lcksvpt s1_tuplock4 s2_tuplock1 s1_commit permutation s1_begin s1_lcksvpt s1_tuplock4 s2_tuplock2 s1_commit permutation s1_begin s1_lcksvpt s1_tuplock4 s2_tuplock3 s1_commit permutation s1_begin s1_lcksvpt s1_tuplock4 s2_tuplock4 s1_commit # no multixacts here permutation s1_begin s1_tuplock1 s2_tuplock1 s1_commit permutation s1_begin s1_tuplock1 s2_tuplock2 s1_commit permutation s1_begin s1_tuplock1 s2_tuplock3 s1_commit permutation s1_begin s1_tuplock1 s2_tuplock4 s1_commit permutation s1_begin s1_tuplock2 s2_tuplock1 s1_commit permutation s1_begin s1_tuplock2 s2_tuplock2 s1_commit permutation s1_begin s1_tuplock2 s2_tuplock3 s1_commit permutation s1_begin s1_tuplock2 s2_tuplock4 s1_commit permutation s1_begin s1_tuplock3 s2_tuplock1 s1_commit permutation s1_begin s1_tuplock3 s2_tuplock2 s1_commit permutation s1_begin s1_tuplock3 s2_tuplock3 s1_commit permutation s1_begin s1_tuplock3 s2_tuplock4 s1_commit permutation s1_begin s1_tuplock4 s2_tuplock1 s1_commit permutation s1_begin s1_tuplock4 s2_tuplock2 s1_commit permutation s1_begin s1_tuplock4 s2_tuplock3 s1_commit permutation s1_begin s1_tuplock4 s2_tuplock4 s1_commit