pgsql: Fix EXPLAIN to handle SEARCH BREADTH FIRST queries. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Fix EXPLAIN to handle SEARCH BREADTH FIRST queries.
Date
Msg-id E1mQse5-00049h-Vc@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix EXPLAIN to handle SEARCH BREADTH FIRST queries.

The rewriter transformation for SEARCH BREADTH FIRST produces a
FieldSelect on a Var of type RECORD, where the Var references the
recursive union's worktable output.  EXPLAIN VERBOSE failed to handle
this case, because it only expected such Vars to appear in CteScans
not WorkTableScans.  Fix that, and add some test cases exercising
EXPLAIN on SEARCH and CYCLE queries.

In principle this oversight is an old bug, but it seems that the
case is unreachable without SEARCH BREADTH FIRST, because the
parser fails when attempting to create such a reference manually.
So for today I'll just patch HEAD/v14.  Someday we might find that
the code portion of this patch needs to be back-patched further.

Per report from Atsushi Torikoshi.

Discussion: https://postgr.es/m/5bafa66ad529e11860339565c9e7c166@oss.nttdata.com

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/388726753b638fb9938883bdd057b2ffe6f950f5

Modified Files
--------------
src/backend/utils/adt/ruleutils.c  | 40 +++++++++++++++++++--
src/test/regress/expected/with.out | 74 +++++++++++++++++++++++++++++++++++++-
src/test/regress/sql/with.sql      | 24 ++++++++++++-
3 files changed, 133 insertions(+), 5 deletions(-)


pgsql-committers by date:

Previous
From: Peter Eisentraut
Date:
Subject: pgsql: Message style improvements
Next
From: Tom Lane
Date:
Subject: Re: pgsql: Support "postgres -C" with runtime-computed GUCs