Hi, the query below triggers a parallel worker assertion for me when run on the regression database of master as of 0832f2d. The plan sports a couple of InitPlan nodes below Gather.
regards, Andreas Gather (cost=1.64..84.29 rows=128 width=4) Workers Planned: 1 Single Copy: true -> Limit (cost=1.64..84.29 rows=128 width=4) -> Subquery Scan on subq_0 (cost=1.64..451.06 rows=696 width=4) Filter: (subq_0.c6 IS NOT NULL) -> Nested Loop Left Join (cost=1.64..444.07 rows=699 width=145) Join Filter: (sample_0.aa = sample_1.pageno) InitPlan 4 (returns $3) -> Result (cost=1.21..5.36 rows=15 width=0) One-Time Filter: ($0 AND ($1 = $2)) InitPlan 1 (returns $0) -> Result (cost=0.00..0.00 rows=0 width=0) One-Time Filter: false InitPlan 2 (returns $1) -> Limit (cost=0.35..0.52 rows=1 width=4) -> Gather (cost=0.00..1.04 rows=6 width=4) Workers Planned: 1 -> Parallel Seq Scan on reltime_tbl (cost=0.00..1.04 rows=4 width=4) InitPlan 3 (returns $2) -> Limit (cost=0.52..0.69 rows=1 width=4) -> Gather (cost=0.00..1.04 rows=6 width=4) Workers Planned: 1 -> Parallel Seq Scan on reltime_tbl reltime_tbl_1 (cost=0.00..1.04 rows=4 width=4) -> Sample Scan on pg_foreign_data_wrapper sample_2 (cost=1.21..5.36 rows=15 width=0) Sampling: system ('3.1'::real) -> Nested Loop (cost=0.15..382.85 rows=699 width=4) -> Sample Scan on pg_largeobject sample_1 (cost=0.00..209.03 rows=699 width=8) Sampling: bernoulli ('2.9'::real) Filter: (pageno IS NOT NULL) -> Index Only Scan using pg_foreign_table_relid_index on pg_foreign_table ref_0 (cost=0.15..0.24 rows=1 width=4) Index Cond: (ftrelid = sample_1.loid) -> Materialize (cost=0.00..16.06 rows=4 width=4) -> Append (cost=0.00..16.04 rows=4 width=4) -> Sample Scan on a sample_0 (cost=0.00..4.01 rows=1 width=4) Sampling: system ('5'::real) -> Sample Scan on b sample_0_1 (cost=0.00..4.01 rows=1 width=4) Sampling: system ('5'::real) -> Sample Scan on c sample_0_2 (cost=0.00..4.01 rows=1 width=4) Sampling: system ('5'::real) -> Sample Scan on d sample_0_3 (cost=0.00..4.01 rows=1 width=4) Sampling: system ('5'::real) --8<---------------cut here---------------start------------->8--- set force_parallel_mode to on; set max_parallel_workers_per_gather to 2; select 91 as c0 from (select (select pfname from public.pslot limit 1 offset 3) as c0, ref_1.grandtot as c1, (select pg_catalog.min(procost) from pg_catalog.pg_proc) as c2, ref_0.ftoptions as c3, ref_1.grandtot as c4, sample_1.loid as c5, pg_catalog.pg_rotate_logfile() as c6, (select random from public.hash_i4_heap limit 1 offset 5) as c7, sample_1.loid as c8 from public.a as sample_0 tablesample system (5) right join pg_catalog.pg_largeobject as sample_1 tablesample bernoulli (2.9) inner join pg_catalog.pg_foreign_table as ref_0 on (sample_1.loid = ref_0.ftrelid ) on (sample_0.aa = sample_1.pageno ) left join public.mvtest_tvv as ref_1 on (EXISTS ( select sample_2.fdwoptions as c0, sample_2.fdwhandler as c1, (select during from public.test_range_excl limit 1 offset 89) as c2 from pg_catalog.pg_foreign_data_wrapper as sample_2 tablesample system (3.1) where (EXISTS ( select sample_3.b as c0, (select grantee from information_schema.udt_privileges limit 1 offset 4) as c1, sample_3.b as c2, sample_3.rf_a as c3, sample_3.b as c4, sample_3.rf_a as c5, sample_3.rf_a as c6 from public.clstr_tst_s as sample_3 tablesample system (8.1) where sample_3.rf_a >= cast(null as int8) limit 141)) and ((select f1 from public.reltime_tbl limit 1 offset 2) = (select f1 from public.reltime_tbl limit 1 offset 3) ) limit 49)) where sample_1.pageno is not NULL) as subq_0 where subq_0.c6 is not NULL limit 128; --8<---------------cut here---------------end--------------->8--- -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers