507 lines
13 KiB
Plaintext
507 lines
13 KiB
Plaintext
Parsed test spec with 2 sessions
|
|
|
|
starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s1describe s1alter
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1c: COMMIT;
|
|
step s1describe: SELECT 'd3_listp' AS root, * FROM pg_partition_tree('d3_listp')
|
|
UNION ALL SELECT 'd3_listp1', * FROM pg_partition_tree('d3_listp1');
|
|
root |relid |parentrelid|isleaf|level
|
|
---------+---------+-----------+------+-----
|
|
d3_listp |d3_listp | |f | 0
|
|
d3_listp |d3_listp2|d3_listp |t | 1
|
|
d3_listp1|d3_listp1| |t | 0
|
|
(3 rows)
|
|
|
|
step s1alter: ALTER TABLE d3_listp1 ALTER a DROP NOT NULL;
|
|
ERROR: cannot alter partition "d3_listp1" with an incomplete detach
|
|
|
|
starting permutation: s2snitch s1b s1s s2detach s1cancel s1insert s1c
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1insert: INSERT INTO d3_listp VALUES (1);
|
|
ERROR: no partition of relation "d3_listp" found for row
|
|
step s1c: COMMIT;
|
|
|
|
starting permutation: s2snitch s1brr s1s s2detach s1cancel s1insert s1c s1spart
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1insert: INSERT INTO d3_listp VALUES (1);
|
|
step s1c: COMMIT;
|
|
step s1spart: SELECT * FROM d3_listp1;
|
|
a
|
|
-
|
|
1
|
|
1
|
|
(2 rows)
|
|
|
|
|
|
starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s1insertpart
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1c: COMMIT;
|
|
step s1insertpart: INSERT INTO d3_listp1 VALUES (1);
|
|
|
|
starting permutation: s2snitch s1b s1s s2detach2 s1cancel s1c s1brr s1insert s1s s1insert s1c
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach2: ALTER TABLE d3_listp DETACH PARTITION d3_listp2 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach2: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1c: COMMIT;
|
|
step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
|
|
step s1insert: INSERT INTO d3_listp VALUES (1);
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
1
|
|
(2 rows)
|
|
|
|
step s1insert: INSERT INTO d3_listp VALUES (1);
|
|
step s1c: COMMIT;
|
|
|
|
starting permutation: s2snitch s1b s1s s2detach2 s1cancel s1c s1brr s1s s1insert s1s s1c
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach2: ALTER TABLE d3_listp DETACH PARTITION d3_listp2 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach2: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1c: COMMIT;
|
|
step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s1insert: INSERT INTO d3_listp VALUES (1);
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
1
|
|
(2 rows)
|
|
|
|
step s1c: COMMIT;
|
|
|
|
starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s1drop s1list
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1c: COMMIT;
|
|
step s1drop: DROP TABLE d3_listp;
|
|
step s1list: SELECT relname FROM pg_catalog.pg_class
|
|
WHERE relname LIKE 'd3_listp%' ORDER BY 1;
|
|
relname
|
|
-------
|
|
(0 rows)
|
|
|
|
|
|
starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s1trunc s1spart
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1c: COMMIT;
|
|
step s1trunc: TRUNCATE TABLE d3_listp;
|
|
step s1spart: SELECT * FROM d3_listp1;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
|
|
starting permutation: s2snitch s1b s1s s2detach s1cancel s1noop s2detach2 s1c
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1noop:
|
|
step s2detach2: ALTER TABLE d3_listp DETACH PARTITION d3_listp2 CONCURRENTLY;
|
|
ERROR: partition "d3_listp1" already pending detach in partitioned table "public.d3_listp"
|
|
step s1c: COMMIT;
|
|
|
|
starting permutation: s2snitch s1b s1s s2detach s1cancel s1noop s2detachfinal s1c s2detach2
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1noop:
|
|
step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE; <waiting ...>
|
|
step s1c: COMMIT;
|
|
step s2detachfinal: <... completed>
|
|
step s2detach2: ALTER TABLE d3_listp DETACH PARTITION d3_listp2 CONCURRENTLY;
|
|
|
|
starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s1droppart s2detach2
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1c: COMMIT;
|
|
step s1droppart: DROP TABLE d3_listp1;
|
|
step s2detach2: ALTER TABLE d3_listp DETACH PARTITION d3_listp2 CONCURRENTLY;
|
|
|
|
starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s2begin s2drop s1s s2commit
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1c: COMMIT;
|
|
step s2begin: BEGIN;
|
|
step s2drop: DROP TABLE d3_listp1;
|
|
step s1s: SELECT * FROM d3_listp; <waiting ...>
|
|
step s2commit: COMMIT;
|
|
step s1s: <... completed>
|
|
a
|
|
-
|
|
(0 rows)
|
|
|
|
|
|
starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s1b s1spart s2detachfinal s1c
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1c: COMMIT;
|
|
step s1b: BEGIN;
|
|
step s1spart: SELECT * FROM d3_listp1;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE; <waiting ...>
|
|
step s1c: COMMIT;
|
|
step s2detachfinal: <... completed>
|
|
|
|
starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s1b s1s s2detachfinal s1c
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1c: COMMIT;
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
(0 rows)
|
|
|
|
step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE;
|
|
step s1c: COMMIT;
|
|
|
|
starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s1b s1spart s2detachfinal s1c
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1c: COMMIT;
|
|
step s1b: BEGIN;
|
|
step s1spart: SELECT * FROM d3_listp1;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE; <waiting ...>
|
|
step s1c: COMMIT;
|
|
step s2detachfinal: <... completed>
|
|
|
|
starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s2begin s2detachfinal s2commit
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1c: COMMIT;
|
|
step s2begin: BEGIN;
|
|
step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE;
|
|
step s2commit: COMMIT;
|
|
|
|
starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s2begin s2detachfinal s1spart s2commit
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1c: COMMIT;
|
|
step s2begin: BEGIN;
|
|
step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE;
|
|
step s1spart: SELECT * FROM d3_listp1; <waiting ...>
|
|
step s2commit: COMMIT;
|
|
step s1spart: <... completed>
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
|
|
starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s2begin s2detachfinal s1insertpart s2commit
|
|
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
|
|
step s1b: BEGIN;
|
|
step s1s: SELECT * FROM d3_listp;
|
|
a
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
|
|
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; <waiting ...>
|
|
step s2detach: <... completed>
|
|
ERROR: canceling statement due to user request
|
|
step s1cancel: <... completed>
|
|
pg_cancel_backend
|
|
-----------------
|
|
t
|
|
(1 row)
|
|
|
|
step s1c: COMMIT;
|
|
step s2begin: BEGIN;
|
|
step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE;
|
|
step s1insertpart: INSERT INTO d3_listp1 VALUES (1); <waiting ...>
|
|
step s2commit: COMMIT;
|
|
step s1insertpart: <... completed>
|