On Mon, Apr 26, 2021 at 7:35 PM Andrey V. Lepikhov <a.lepik...@postgrespro.ru> wrote: > Small mistake i found. If no tuple was received from a foreign > partition, explain shows that we never executed node. For example, > if we have 0 tuples in f1 and 100 tuples in f2: > > Query: > EXPLAIN (ANALYZE, VERBOSE, TIMING OFF, COSTS OFF) > SELECT * FROM (SELECT * FROM f1 UNION ALL SELECT * FROM f2) AS q1 > LIMIT 101; > > Explain: > Limit (actual rows=100 loops=1) > Output: f1.a > -> Append (actual rows=100 loops=1) > -> Async Foreign Scan on public.f1 (never executed) > Output: f1.a > Remote SQL: SELECT a FROM public.l1 > -> Async Foreign Scan on public.f2 (actual rows=100 loops=1) > Output: f2.a > Remote SQL: SELECT a FROM public.l2 > > The patch in the attachment fixes this.
Thanks for the report and patch! Will look into this. Best regards, Etsuro Fujita