Hi,
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 ?
Regards
Mathieu
Le jeu. 28 juin 2018 à 23:17, Laurenz Albe <laurenz.albe@xxxxxxxxxxx> a écrit :
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
SELECT mytab FROM mytab;
Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com