/
githubmirror
/
postgres
Обзор
Документация
Войти
/
githubmirror
/
postgres
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/test/isolation/specs/tuplelock-partition.spec
32 строки
1 KB
Tom Lane
Allow non-quoted identifiers as isolation test session/step names.
24 июн 2021, 01:41
24 июн 2021, 01:41
a443c1b
Код
Авторство
О чём код?
# Test tuple locking on INSERT ON CONFLICT UPDATE on a partitioned table. setup { DROP TABLE IF EXISTS parttab; CREATE TABLE parttab (col1 text, key INTEGER PRIMARY KEY, col2 text) PARTITION BY LIST (key); CREATE TABLE parttab1 (key INTEGER PRIMARY KEY, col1 text, col2 text); CREATE TABLE parttab2 (key INTEGER PRIMARY KEY, col1 text, col2 text); ALTER TABLE parttab ATTACH PARTITION parttab1 FOR VALUES IN (1); ALTER TABLE parttab ATTACH PARTITION parttab2 FOR VALUES IN (2); INSERT INTO parttab (key, col1, col2) VALUES (1, 'a', 'b'); } teardown { DROP TABLE parttab; } session s1 step s1b { BEGIN; } step s1update_nokey { INSERT INTO parttab (key, col1, col2) VALUES (1, 'a', 'b') ON CONFLICT (key) DO UPDATE SET col1 = 'x', col2 = 'y'; } step s1update_key { INSERT INTO parttab (key, col1, col2) VALUES (1, 'a', 'b') ON CONFLICT (key) DO UPDATE SET key=1; } step s1c { COMMIT; } session s2 step s2locktuple { SELECT * FROM parttab FOR KEY SHARE; } # INSERT ON CONFLICT UPDATE, performs an UPDATE on non-key columns permutation s1b s1update_nokey s2locktuple s1c # INSERT ON CONFLICT UPDATE, performs an UPDATE on key column permutation s1b s1update_key s2locktuple s1c