On Wed, Oct 9, 2024 at 7:45 AM Richard Guo <guofengli...@gmail.com> wrote: > > On Tue, Oct 8, 2024 at 9:02 PM Ashutosh Bapat > <ashutosh.bapat....@gmail.com> wrote: > > But I don't see any relation specific information being > > considered while deciding whether the clause is constant false. > > Isn't rel->notnullattnums relation specific information? We need this > information to decide if a Var cannot be NULL.
I am talking about restriction_is_always_false() being called from add_base_clause_to_rel(). The later doesn't pass the given relid or the corresponding rel to the first. So restriction_is_always_false() is independent of relid passed to add_base_clause_to_rel() and thus restriction_is_always_false() being called from outside (say caller of add_base_clause_to_rel()) will have same result for the same RestrictInfo. > > > So may > > be we should do this processing elsewhere and replace the original > > clause itself? > > I’m not sure about this. Different versions of the same qual clause > can lead to different conclusions about whether it can be reduced to > constant-FALSE. Can you please provide an example? > I don't think it is possible to replace the original > clause; we need to do this processing on a version-by-version basis. > Either way, each version will be represented by only one RestrictInfo. Why can't we replace that version instead of creating a new RestrictInfo? -- Best Wishes, Ashutosh Bapat