Re: parallel explain analyze support not exercised

Rafia Sabih <rafia.sabih@enterprisedb.com>

From: Rafia Sabih <rafia.sabih@enterprisedb.com>
To: Andres Freund <andres@anarazel.de>
Cc: PostgreSQL Developers <pgsql-hackers@postgresql.org>
Date: 2017-04-03T04:56:27Z
Lists: pgsql-hackers

Attachments

On Sat, Apr 1, 2017 at 12:25 AM, Andres Freund <andres@anarazel.de> wrote:
> Hi,
>
> As visible in [1], the explain analyze codepaths of parallel query isn't
> exercised in the tests.  That used to be not entirely trivial if the
> output was to be displayed (due to timing), but we should be able to do
> that now that we have the SUMMARY option.
>
> E.g.
> SET max_parallel_workers = 0;
> EXPLAIN (analyze, timing off, summary off, costs off) SELECT * FROM blarg2 WHERE generate_series < 0;
> ┌───────────────────────────────────────────────────────────┐
> │                        QUERY PLAN                         │
> ├───────────────────────────────────────────────────────────┤
> │ Gather (actual rows=0 loops=1)                            │
> │   Workers Planned: 10                                     │
> │   Workers Launched: 0                                     │
> │   ->  Parallel Seq Scan on blarg2 (actual rows=0 loops=1) │
> │         Filter: (generate_series < 0)                     │
> │         Rows Removed by Filter: 10000000                  │
> └───────────────────────────────────────────────────────────┘
>
> should be reproducible.  I'd suggest additionally adding one tests that
> throws the EXPLAIN output away, but actually enables paralellism.
>
> Greetings,
>
> Andres Freund
>
> [1] https://coverage.postgresql.org/src/backend/executor/execParallel.c.gcov.html

Please find the attached for the same.

-- 
Regards,
Rafia Sabih
EnterpriseDB: http://www.enterprisedb.com/

Commits

  1. Add minimal test for EXPLAIN ANALYZE of parallel query.