On Fri, May 24, 2024 at 9:09 AM jian he <jian.universal...@gmail.com> wrote:
> On Fri, May 24, 2024 at 11:14 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > > > > jian he <jian.universal...@gmail.com> writes: > > > imho, the above comment is not very helpful. > > > we should say more about what kind of information relid says about a > base rel? > > > > "Relid" is defined at the very top of the file: > > > > /* > > * Relids > > * Set of relation identifiers (indexes into the > rangetable). > > */ > > typedef Bitmapset *Relids; > > > > Repeating that everyplace the term "relid" appears would not be > > tremendously helpful. > > > > `Index relid;` > is a relation identifier, a base rel's rangetable index. > > Does the above description make sense? > > > BTW, I found several occurrences of "base+OJ", but I cannot find the > explanation of "OJ" or the "OJ" Acronyms. > > > OJ is an outer join, AFAIU. OJ's have their own relids. If you are wondering why not all joins - I think inner joins need not be tracked as separated relations in parse tree, but OJ's need to be. -- Best Wishes, Ashutosh Bapat