Re: Assert failure of the cross-check for nullingrels
Richard Guo <guofenglinux@gmail.com>
From: Richard Guo <guofenglinux@gmail.com>
To: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2023-03-17T03:05:03Z
Lists: pgsql-hackers
Attachments
- v2-0001-Check-group_clause_relids-to-see-if-a-clause-is-computable.patch (application/octet-stream) patch v2-0001
On Mon, Mar 13, 2023 at 5:44 PM Richard Guo <guofenglinux@gmail.com> wrote: > On Mon, Mar 13, 2023 at 5:03 PM Richard Guo <guofenglinux@gmail.com> > wrote: > >> Back to the original issue, if a join has more than one quals, actually >> we treat them as a whole when we check if identity 3 applies as well as >> when we adjust them to be suitable for commutation according to identity >> 3. So when we check if a qual is computable at a given level, I think >> we should also consider the join's quals as a whole. I'm thinking that >> we use a 'group' notion for RestrictInfos and then use the clause_relids >> of the 'group' in clause_is_computable_at. Does this make sense? >> > > I'm imagining something like attached (no comments and test cases yet). > Here is an updated patch with comments and test case. I also change the code to store 'group_clause_relids' directly in RestrictInfo. Thanks Richard
Commits
-
In clause_is_computable_at(), test required_relids for clone clauses.
- b9c755a2f625 16.0 landed
-
Tweak API of new function clause_is_computable_at().
- 8a2523ff3540 16.0 landed