Re: v16 regression - wrong query results with LEFT JOINs + join removal

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: v16 regression - wrong query results with LEFT JOINs + join removal
Дата
Msg-id 1085792.1683823563@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: v16 regression - wrong query results with LEFT JOINs + join removal  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: v16 regression - wrong query results with LEFT JOINs + join removal  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> On Thu, May 11, 2023 at 10:14 AM Robert Haas <robertmhaas@gmail.com> wrote:
>> Ouch, so we've had a known queries-returning-wrong-answers bug for
>> more than two months. That's not great. I'll try to find time today to
>> check whether the patches on that thread resolve this issue.

> I tried out the v3 patches from that thread and they don't seem to
> make any difference for me in this test case. So either (1) it's a
> different issue or (2) those patches don't fully fix it or (3) I'm bad
> at testing things.

Yeah, I've just traced the problem to remove_rel_from_query() deciding
that it can drop the qual of interest :-(.  I'd done this:

-       if (RINFO_IS_PUSHED_DOWN(rinfo, joinrelids))
+       if (bms_is_member(ojrelid, rinfo->required_relids))

as part of an unfinished effort at getting rid of RestrictInfos'
is_pushed_down flags, and this example shows that the replacement
condition is faulty.

What I'm inclined to do about it is just revert this particular
change.  But I'd better run around and see where else I did that,
because the idea is evidently not ready for prime time.

            regards, tom lane



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: base backup vs. concurrent truncation
Следующее
От: Tom Lane
Дата:
Сообщение: Re: v16 regression - wrong query results with LEFT JOINs + join removal