Re: Analyze plan of foreign data wrapper - Mailing list pgsql-general

From Mathieu PUJOL
Subject Re: Analyze plan of foreign data wrapper
Date
Msg-id CAH_OVQGUi3-0Ke85hcHzWLR6asjGTms5p3PuF+N0nk7pZzV+6g@mail.gmail.com
Whole thread Raw
In response to Re: Analyze plan of foreign data wrapper  (Laurenz Albe <laurenz.albe@cybertec.at>)
Responses Re: Analyze plan of foreign data wrapper  (Laurenz Albe <laurenz.albe@cybertec.at>)
List pgsql-general
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@cybertec.at> 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

pgsql-general by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: Code of Conduct committee: call for volunteers
Next
From: Tracy Babiasz
Date:
Subject: CSV export bug?