/
githubmirror
/
postgres
Обзор
Документация
Войти
/
githubmirror
/
postgres
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/test/isolation/specs/project-manager.spec
30 строк
1018 B
Tom Lane
Allow non-quoted identifiers as isolation test session/step names.
24 июн 2021, 01:41
24 июн 2021, 01:41
a443c1b
Код
Авторство
О чём код?
# Project Manager test # # Ensure that the person who is on the project as a manager # is flagged as a project manager in the person table. # # Any overlap between the transactions must cause a serialization failure. setup { CREATE TABLE person (person_id int NOT NULL PRIMARY KEY, name text NOT NULL, is_project_manager bool NOT NULL); INSERT INTO person VALUES (1, 'Robert Haas', true); CREATE TABLE project (project_no int NOT NULL PRIMARY KEY, description text NOT NULL, project_manager int NOT NULL); } teardown { DROP TABLE person, project; } session s1 setup { BEGIN ISOLATION LEVEL SERIALIZABLE; } step rx1 { SELECT count(*) FROM person WHERE person_id = 1 AND is_project_manager; } step wy1 { INSERT INTO project VALUES (101, 'Build Great Wall', 1); } step c1 { COMMIT; } session s2 setup { BEGIN ISOLATION LEVEL SERIALIZABLE; } step ry2 { SELECT count(*) FROM project WHERE project_manager = 1; } step wx2 { UPDATE person SET is_project_manager = false WHERE person_id = 1; } step c2 { COMMIT; }