I understand that I should also use varno to check which table is referenced by varattno. In case of Join, aggregation, etc. Sometimes I get a number or INNER_VAR or OUTER_VAR.
I am lost on how i could resolve this.
I understand that OUTER_VAR/INNER_VAR are related to joins sub plans. Is outer related to left plan and inner to right plan ? In this case varattno is index of target list of subplan ?
When varno is an index how to retrieve table info ?
Mathieu PUJOL wrote: > I'am writing a foreign data wrapper. To avoid returning data for a column that is not used, I parse 'targetlist' and 'qual' of the Plan. > I'am able to find Var nodes but I can't figure out how i could now if this node is related to a column my foreign table.
For a Var v, v->varattno contains the attribute number of the column. That is the same as the attnum column in pg_attribute.
If v->varattno == 0, it is a whole-row reference, like in