How do I get the name of the relation on which FDW has been called?
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?
Atri
--
Regards,
Atri
l'apprenant
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
On Wed, May 30, 2012 at 5:15 PM, Shigeru HANADA
<shigeru.hanada@gmail.com> wrote:
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
Thanks a ton Shigeru!!!
It is really helpful...
--
Regards,
Atri
l'apprenant