From: Tom Lane <tgl@sss.pgh.pa.us>
To: Vik Fearing <vik@postgresfriends.org>
Cc: zuming.jiang@inf.ethz.ch, pgsql-bugs@lists.postgresql.org, Alexander Korotkov <akorotkov@postgresql.org>
Subject: Re: BUG #18170: Unexpected error: no relation entry for relid 3
Date: Thu, 26 Oct 2023 13:12:11 -0400
Message-ID: <1189851.1698340331@sss.pgh.pa.us> (raw)
In-Reply-To: <4ecab120-6be3-4cf6-a2a0-249c73ae91d4@postgresfriends.org>
References: <18170-f1d17bf9a0d58b24@postgresql.org>
<4ecab120-6be3-4cf6-a2a0-249c73ae91d4@postgresfriends.org>
Vik Fearing <vik@postgresfriends.org> writes:
> On 10/26/23 16:01, PG Bug reporting form wrote:
>> My fuzzer finds a bug in Postgres, which triggers an unexpected error.
> This bisects to d3d55ce571369dad6e1d582f1655e5a3fbd8594a, Remove useless
> self-joins.
I wonder if that new code thinks it can remove ref_2 from the query,
even though ref_2 is used in the targetlist. I'm not seeing
control reach remove_leftjoinrel_from_query, though.
Also, while nosing around in this, I tried to pprint(root) at the
point of the error, and got
2023-10-26 12:48:37.852 EDT [1186007] WARNING: could not dump unrecognized node type: 37413808
This happens because the patch changed RelOptInfo.unique_for_rels from
a list of Bitmapsets into a list of UniqueRelInfo, even though it did
not bother to make UniqueRelInfo be a Node type (much less document
the change in globally-visible data structures: pathnodes.h still says
it's a list of Relid sets). This is not acceptable.
I'm getting the distinct impression that this patch wasn't
ready for prime time.
regards, tom lane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: tgl@sss.pgh.pa.us, vik@postgresfriends.org, akorotkov@postgresql.org
Subject: Re: BUG #18170: Unexpected error: no relation entry for relid 3
In-Reply-To: <1189851.1698340331@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox