/
githubmirror
/
postgres
Обзор
Документация
Войти
/
githubmirror
/
postgres
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/test/isolation/expected/fk-snapshot-3.out
213 строк
8 KB
Amit Langote
Use "concurrent delete" in serialization error for TM_Deleted cases
01 май 2026, 04:00
01 май 2026, 04:00
410013d
Код
Авторство
О чём код?
Parsed test spec with 2 sessions starting permutation: s1rr s2rr s2ins s1del s2c s1c step s1rr: BEGIN ISOLATION LEVEL REPEATABLE READ; step s2rr: BEGIN ISOLATION LEVEL REPEATABLE READ; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); step s1del: DELETE FROM parent WHERE id = '[1,2)'; <waiting ...> step s2c: COMMIT; step s1del: <... completed> ERROR: update or delete on table "parent" violates foreign key constraint "child_parent_id_valid_at_fkey" on table "child" step s1c: COMMIT; starting permutation: s1rr s2rr s1del s2ins s1c s2c step s1rr: BEGIN ISOLATION LEVEL REPEATABLE READ; step s2rr: BEGIN ISOLATION LEVEL REPEATABLE READ; step s1del: DELETE FROM parent WHERE id = '[1,2)'; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); <waiting ...> step s1c: COMMIT; step s2ins: <... completed> ERROR: could not serialize access due to concurrent delete step s2c: COMMIT; starting permutation: s1rc s2rc s2ins s1del s2c s1c step s1rc: BEGIN ISOLATION LEVEL READ COMMITTED; step s2rc: BEGIN ISOLATION LEVEL READ COMMITTED; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); step s1del: DELETE FROM parent WHERE id = '[1,2)'; <waiting ...> step s2c: COMMIT; step s1del: <... completed> ERROR: update or delete on table "parent" violates foreign key constraint "child_parent_id_valid_at_fkey" on table "child" step s1c: COMMIT; starting permutation: s1rc s2rc s1del s2ins s1c s2c step s1rc: BEGIN ISOLATION LEVEL READ COMMITTED; step s2rc: BEGIN ISOLATION LEVEL READ COMMITTED; step s1del: DELETE FROM parent WHERE id = '[1,2)'; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); <waiting ...> step s1c: COMMIT; step s2ins: <... completed> ERROR: insert or update on table "child" violates foreign key constraint "child_parent_id_valid_at_fkey" step s2c: COMMIT; starting permutation: s1ser s2ser s2ins s1del s2c s1c step s1ser: BEGIN ISOLATION LEVEL SERIALIZABLE; step s2ser: BEGIN ISOLATION LEVEL SERIALIZABLE; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); step s1del: DELETE FROM parent WHERE id = '[1,2)'; <waiting ...> step s2c: COMMIT; step s1del: <... completed> ERROR: update or delete on table "parent" violates foreign key constraint "child_parent_id_valid_at_fkey" on table "child" step s1c: COMMIT; starting permutation: s1ser s2ser s1del s2ins s1c s2c step s1ser: BEGIN ISOLATION LEVEL SERIALIZABLE; step s2ser: BEGIN ISOLATION LEVEL SERIALIZABLE; step s1del: DELETE FROM parent WHERE id = '[1,2)'; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); <waiting ...> step s1c: COMMIT; step s2ins: <... completed> ERROR: could not serialize access due to concurrent delete step s2c: COMMIT; starting permutation: s1rc s2rc s2ins s1upok s2c s1c step s1rc: BEGIN ISOLATION LEVEL READ COMMITTED; step s2rc: BEGIN ISOLATION LEVEL READ COMMITTED; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); step s1upok: UPDATE parent SET valid_at = '[2020-01-01,2026-01-01)' WHERE id = '[1,2)'; <waiting ...> step s2c: COMMIT; step s1upok: <... completed> step s1c: COMMIT; starting permutation: s1rc s2rc s1upok s2ins s1c s2c step s1rc: BEGIN ISOLATION LEVEL READ COMMITTED; step s2rc: BEGIN ISOLATION LEVEL READ COMMITTED; step s1upok: UPDATE parent SET valid_at = '[2020-01-01,2026-01-01)' WHERE id = '[1,2)'; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); <waiting ...> step s1c: COMMIT; step s2ins: <... completed> step s2c: COMMIT; starting permutation: s1rr s2rr s2ins s1upok s2c s1c step s1rr: BEGIN ISOLATION LEVEL REPEATABLE READ; step s2rr: BEGIN ISOLATION LEVEL REPEATABLE READ; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); step s1upok: UPDATE parent SET valid_at = '[2020-01-01,2026-01-01)' WHERE id = '[1,2)'; <waiting ...> step s2c: COMMIT; step s1upok: <... completed> step s1c: COMMIT; starting permutation: s1rr s2rr s1upok s2ins s1c s2c step s1rr: BEGIN ISOLATION LEVEL REPEATABLE READ; step s2rr: BEGIN ISOLATION LEVEL REPEATABLE READ; step s1upok: UPDATE parent SET valid_at = '[2020-01-01,2026-01-01)' WHERE id = '[1,2)'; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); <waiting ...> step s1c: COMMIT; step s2ins: <... completed> ERROR: could not serialize access due to concurrent update step s2c: COMMIT; starting permutation: s1ser s2ser s2ins s1upok s2c s1c step s1ser: BEGIN ISOLATION LEVEL SERIALIZABLE; step s2ser: BEGIN ISOLATION LEVEL SERIALIZABLE; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); step s1upok: UPDATE parent SET valid_at = '[2020-01-01,2026-01-01)' WHERE id = '[1,2)'; <waiting ...> step s2c: COMMIT; step s1upok: <... completed> step s1c: COMMIT; starting permutation: s1ser s2ser s1upok s2ins s1c s2c step s1ser: BEGIN ISOLATION LEVEL SERIALIZABLE; step s2ser: BEGIN ISOLATION LEVEL SERIALIZABLE; step s1upok: UPDATE parent SET valid_at = '[2020-01-01,2026-01-01)' WHERE id = '[1,2)'; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); <waiting ...> step s1c: COMMIT; step s2ins: <... completed> ERROR: could not serialize access due to concurrent update step s2c: COMMIT; starting permutation: s1rc s2rc s2ins s1upbad s2c s1c step s1rc: BEGIN ISOLATION LEVEL READ COMMITTED; step s2rc: BEGIN ISOLATION LEVEL READ COMMITTED; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); step s1upbad: UPDATE parent SET valid_at = '[2020-01-01,2024-01-01)' WHERE id = '[1,2)'; <waiting ...> step s2c: COMMIT; step s1upbad: <... completed> ERROR: update or delete on table "parent" violates foreign key constraint "child_parent_id_valid_at_fkey" on table "child" step s1c: COMMIT; starting permutation: s1rc s2rc s1upbad s2ins s1c s2c step s1rc: BEGIN ISOLATION LEVEL READ COMMITTED; step s2rc: BEGIN ISOLATION LEVEL READ COMMITTED; step s1upbad: UPDATE parent SET valid_at = '[2020-01-01,2024-01-01)' WHERE id = '[1,2)'; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); <waiting ...> step s1c: COMMIT; step s2ins: <... completed> ERROR: insert or update on table "child" violates foreign key constraint "child_parent_id_valid_at_fkey" step s2c: COMMIT; starting permutation: s1rr s2rr s2ins s1upbad s2c s1c step s1rr: BEGIN ISOLATION LEVEL REPEATABLE READ; step s2rr: BEGIN ISOLATION LEVEL REPEATABLE READ; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); step s1upbad: UPDATE parent SET valid_at = '[2020-01-01,2024-01-01)' WHERE id = '[1,2)'; <waiting ...> step s2c: COMMIT; step s1upbad: <... completed> ERROR: update or delete on table "parent" violates foreign key constraint "child_parent_id_valid_at_fkey" on table "child" step s1c: COMMIT; starting permutation: s1rr s2rr s1upbad s2ins s1c s2c step s1rr: BEGIN ISOLATION LEVEL REPEATABLE READ; step s2rr: BEGIN ISOLATION LEVEL REPEATABLE READ; step s1upbad: UPDATE parent SET valid_at = '[2020-01-01,2024-01-01)' WHERE id = '[1,2)'; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); <waiting ...> step s1c: COMMIT; step s2ins: <... completed> ERROR: could not serialize access due to concurrent update step s2c: COMMIT; starting permutation: s1ser s2ser s2ins s1upbad s2c s1c step s1ser: BEGIN ISOLATION LEVEL SERIALIZABLE; step s2ser: BEGIN ISOLATION LEVEL SERIALIZABLE; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); step s1upbad: UPDATE parent SET valid_at = '[2020-01-01,2024-01-01)' WHERE id = '[1,2)'; <waiting ...> step s2c: COMMIT; step s1upbad: <... completed> ERROR: update or delete on table "parent" violates foreign key constraint "child_parent_id_valid_at_fkey" on table "child" step s1c: COMMIT; starting permutation: s1ser s2ser s1upbad s2ins s1c s2c step s1ser: BEGIN ISOLATION LEVEL SERIALIZABLE; step s2ser: BEGIN ISOLATION LEVEL SERIALIZABLE; step s1upbad: UPDATE parent SET valid_at = '[2020-01-01,2024-01-01)' WHERE id = '[1,2)'; step s2ins: INSERT INTO child VALUES ('[1,2)', '[2020-01-01,2025-01-01)', '[1,2)'); <waiting ...> step s1c: COMMIT; step s2ins: <... completed> ERROR: could not serialize access due to concurrent update step s2c: COMMIT;