BUG #17644: EXPLAIN VERBOSE fails on query with SEARCH BREADTH FIRST

Started by PG Bug reporting formover 3 years ago2 messagesbugs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following bug has been logged on the website:

Bug reference: 17644
Logged by: Matthijs van der Vleuten
Email address: postgresql@zr40.nl
PostgreSQL version: 14.5
Operating system: Debian 11.5
Description:

The following query causes EXPLAIN VERBOSE to raise an error.

EXPLAIN VERBOSE
WITH RECURSIVE test AS (
SELECT 1 AS x
UNION ALL
SELECT x+1
FROM test
) SEARCH BREADTH FIRST BY x SET y
SELECT * FROM test LIMIT 10;

ERROR: record type has not been registered

EXPLAIN without VERBOSE, and the query itself, do not raise an error. Also,
the error does not appear when using SEARCH DEPTH FIRST.

Reproduced on 14.5 and 15.0.

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: PG Bug reporting form (#1)
Re: BUG #17644: EXPLAIN VERBOSE fails on query with SEARCH BREADTH FIRST

PG Bug reporting form <noreply@postgresql.org> writes:

The following query causes EXPLAIN VERBOSE to raise an error.

EXPLAIN VERBOSE
WITH RECURSIVE test AS (
SELECT 1 AS x
UNION ALL
SELECT x+1
FROM test
) SEARCH BREADTH FIRST BY x SET y
SELECT * FROM test LIMIT 10;

ERROR: record type has not been registered

Thanks for the report! We'd fixed some closely-related cases during
v14 beta, but nobody stumbled on this one. The key point seems to
be using all constants in the non-recursive term's SELECT list.

regards, tom lane