Re: [PG19] Stale state after the join removal restart gives wrong results

From: shihao zhong <zhong950419(at)gmail(dot)com>
To: tgl(at)sss(dot)pgh(dot)pa(dot)us
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org, guofenglinux(at)gmail(dot)com
Subject: Re: [PG19] Stale state after the join removal restart gives wrong results
Date: 2026-10-14 04:07:15
Message-ID: CAGRkXqSJ+vWNXn-Y+Jr28y8q_+ZhpZBaQCbM3xx9uVyv+53upQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Tom,

Thanks for committing 6b3f8857aa8. Both Asserts I mentioned still
fire on master, so here is v2.

0001 is my old 0002. It clears tablesample of a rel removed by outer
join removal. If you would rather forbid lateral refs in TABLESAMPLE,
I am happy to write that.
0001 would still be needed for the back branches.

0002 clears securityQuals of a rel removed by self join elimination.
The kept rel has the same quals because SJE requires the same
checkAsUser and the same row mark type, so RLS still filters.

0003 adds both cases to join.sql.

The tablesample Assert also fires on the REL_16_STABLE and
REL_17_STABLE heads, since 2ebf25e7d70 went back to 16.

Thanks,
Shihao

Attachment Content-Type Size
v2-0001-Clear-tablesample-of-a-removed-rel-in-join-remova.patch application/octet-stream 1.0 KB
v2-0003-Add-tests-for-planner-restart-after-join-removal.patch application/octet-stream 3.1 KB
v2-0002-Clear-securityQuals-of-a-rel-removed-by-self-join.patch application/octet-stream 1.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2026-10-14 04:11:33 Re: [PG19] psql backslash commands fail with translated messages and a non UTF-8 client encoding
Previous Message shihao zhong 2026-10-14 04:02:30 Re: [PG19] jsonb_object_agg as a window function returns stale values