On Thu, Feb 11, 2021 at 8:22 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > > Ashutosh Bapat <ashutosh.bapat....@gmail.com> writes: > > Can this information be part of PathTarget structure and hence part of > > RelOptInfo::reltarget, so that it can be extended to join, group and > > other kinds of RelOptInfo in future? > > Why would that be better than keeping it in RelOptInfo? > > regards, tom lane
We have all the expressions relevant to a given relation (simple, join, group whatever) in Pathtarget. We could remember notnullness of attributes of a simple relation in RelOptInfo. But IMO non/nullness of the TLEs of a relation is more useful that attributes and thus associate those in the PathTarget which is used to produce TLEs. That way we could use this infra in more general ways. -- Best Wishes, Ashutosh Bapat