Re: New EXPLAIN option: ALL - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: New EXPLAIN option: ALL
Date
Msg-id 20190515150531.GA12534@alvherre.pgsql
Whole thread Raw
In response to Re: New EXPLAIN option: ALL  (David Fetter <david@fetter.org>)
Responses Re: New EXPLAIN option: ALL  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
On 2019-May-13, David Fetter wrote:

> I tried changing it to EXEC (EXPLAIN EXECUTE is already a thing), but
> got a giant flock of reduce-reduce conflicts along with a few
> shift-reduce conflicts.

After eyeballing the giant patch set you sent[1], I think EXEC is a
horrible keyword to use -- IMO it should either be the complete word
EXECUTE, or we should pick some other word.  I realize that we do not
want to have different sets of keywords when using the legacy syntax (no
parens) vs.  new-style (with parens), but maybe we should just not
support the EXECUTE keyword in the legacy syntax; there's already a
number of options we don't support in the legacy syntax (BUFFERS,
TIMING), so this isn't much of a stretch.

IOW if we want to change ANALYZE to EXECUTE, I propose we change it in
the new-style syntax only and not the legacy one.  So:

EXPLAIN ANALYZE SELECT ...    -- legacy syntax
EXPLAIN (EXECUTE) SELECT ...    -- new-style
EXPLAIN (ANALYZE) SELECT ...    -- we still support ANALYZE as an alias, for compatibility

this should not cause a conflict with EXPLAIN EXECUTE, so these all
should work:

EXPLAIN ANALYZE EXECUTE ...
EXPLAIN (EXECUTE) EXECUTE ...
EXPLAIN (ANALYZE) EXECUTE ...


[1] I think if you just leave out the GUC print from the changes, it
becomes a reasonable patch series.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: New EXPLAIN option: ALL
Next
From: Tom Lane
Date:
Subject: Re: pgsql: Compute XID horizon for page level index vacuum on primary.