Re: How do I get the name of the relation on which FDW has been called? - Mailing list pgsql-hackers

From Shigeru HANADA
Subject Re: How do I get the name of the relation on which FDW has been called?
Date
Msg-id 4FC60857.4040808@gmail.com
Whole thread Raw
In response to How do I get the name of the relation on which FDW has been called?  (Atri Sharma <atri.jiit@gmail.com>)
Responses Re: How do I get the name of the relation on which FDW has been called?
List pgsql-hackers
Hi Atri,

(2012/05/30 19:49), Atri Sharma wrote:
> SELECT * FROM table1;
> 
> If,for above command,fdw1 is invoked,how do I get the name/Oid of the
> table(i.e. table1) in fdw1?

For 9.1 and 9.0, you can get foreign table's oid as the first parameter
of PlanForeignScan function.  For 9.2, you can get it as the third
parameter of GetForeignRelSize, GetForeignPaths, and GetForeignPlan
functions.  In other functions, calling
RelationGetRelid(ForeignScanState->ss.ss_currentRelation) returns the
oid of the foreign table.

Once you obtained oid of a foreign table, you can get the name of the
foreign table by calling get_rel_name function with the oid, as same as
ordinary tables.

Regards,
-- 
Shigeru HANADA


pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: slow dropping of tables, DropRelFileNodeBuffers, tas
Next
From: Atri Sharma
Date:
Subject: Re: How do I get the name of the relation on which FDW has been called?