blob: b1c3b59b9e271a35316a0d3764a6429fde799a8f [file] [log] [blame]
DROP TABLE IF EXISTS t108;
CREATE TABLE t108 (id int, val int);
INSERT INTO t108 (id, val) SELECT i, i FROM generate_series(1, 100) i;
-- gang creation order is important, reset any guc to force the creation
10: RESET optimizer;
20: RESET optimizer;
30: RESET optimizer;
10: BEGIN;
20: BEGIN;
30: BEGIN;
10: INSERT INTO t108 VALUES(segid(1,1),segid(1,1));
20: INSERT INTO t108 VALUES(segid(1,1),segid(1,1));
30: INSERT INTO t108 VALUES(segid(1,1),segid(1,1));
-- ANALYZE holds ShareUpdateExclusiveLock, they conflict with each other.
-- But they are not conflict with INSERT, So GDD graph on seg1 should be
-- 20 -> 10 and 30 -> 10 and no cycle in this case.
10: ANALYZE t108;
20&: ANALYZE t108;
30&: ANALYZE t108;
SELECT pg_sleep(20);
-- con10/20/30 should finish normally.
10q:
20<:
20q:
30<:
30q: