Re: inherit support for foreign tables - Mailing list pgsql-hackers

From Ashutosh Bapat
Subject Re: inherit support for foreign tables
Date
Msg-id CAFjFpRdkF4_Lxui5mnTKDySU3kfWY58BToa8ZVa91-7OssYK1w@mail.gmail.com
Whole thread Raw
In response to Re: inherit support for foreign tables  (Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>)
Responses Re: inherit support for foreign tables
List pgsql-hackers



On Tue, Jul 1, 2014 at 7:39 AM, Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp> wrote:
(2014/06/30 20:17), Ashutosh Bapat wrote:
On Mon, Jun 30, 2014 at 4:17 PM, Etsuro Fujita
<fujita.etsuro@lab.ntt.co.jp <mailto:fujita.etsuro@lab.ntt.co.jp>> wrote:

    (2014/06/30 17:47), Ashutosh Bapat wrote:

        BTW, why aren't you using the tlist passed to this function? I guess
        create_scan_plan() passes tlist after processing it, so that
        should be
        used rather than rel->reltargetlist.

    I think that that would be maybe OK, but I think that it would not
    be efficient to use the list to compute attrs_used, because the
    tlist would have more information than rel->reltargetlist in cases
    where the tlist is build through build_physical_tlist().

In that case, we can call build_relation_tlist() for foreign tables.

Do you mean build_physical_tlist()?


Sorry, I meant build_path_tlist() or disuse_physical_tlist() whichever is appropriate.

We may want to modify use_physical_tlist(), to return false, in case of foreign tables. BTW, it does return false for inheritance trees.

 486     /*
 487      * Can't do it with inheritance cases either (mainly because Append
 488      * doesn't project).
 489      */
 490     if (rel->reloptkind != RELOPT_BASEREL)
 491         return false;

Yeah, we can call build_physical_tlist() (and do that in some cases), but if we call the function, it would generate a tlist that contains all Vars in the relation, not only those Vars actually needed by the query (ie, Vars in reltargetlist), and thus it would take more cycles to compute attr_used from the tlist than from reltargetlist.  That' what I wanted to say.


Thanks,

Best regards,
Etsuro Fujita



--
Best Wishes,
Ashutosh Bapat
EnterpriseDB Corporation
The Postgres Database Company

pgsql-hackers by date:

Previous
From: Ashutosh Bapat
Date:
Subject: Re: inherit support for foreign tables
Next
From: Rajeev rastogi
Date:
Subject: Re: Autonomous Transaction (WIP)