Re: Arguments to foreign tables? - Mailing list pgsql-hackers

From Simon Riggs
Subject Re: Arguments to foreign tables?
Date
Msg-id CA+U5nMLb-kE_4WPr3NWqJDF4A2P=NEhPi8nZ7O2CXEKEAfFNnQ@mail.gmail.com
Whole thread Raw
In response to Re: Arguments to foreign tables?  (Jeff Davis <pgsql@j-davis.com>)
Responses Re: Arguments to foreign tables?  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Arguments to foreign tables?  (Jeff Davis <pgsql@j-davis.com>)
List pgsql-hackers
On 6 November 2012 06:09, Jeff Davis <pgsql@j-davis.com> wrote:
> On Sun, 2012-11-04 at 15:13 -0500, Tom Lane wrote:
>> Jeff Davis <pgsql@j-davis.com> writes:
>> > Is there any fundamental or philosophical reason why a foreign table
>> > can't accept arguments?
>>
>> That isn't a table; it's some sort of function.  Now that we have
>> LATERAL, there is no good reason to contort SQL's syntax and semantics
>> in the direction you suggest.
>
> Maybe I should rephrase this as a problem with SRFs: you don't get to
> define the init/exec/end executor functions, and you don't get access to
> the optimizer information.
>
> It seems like foreign tables are a better mechanism (except for the
> simple cases where you don't care about the details), and the only thing
> an SRF can do that a foreign table can't is accept arguments. So, I
> thought maybe it would make more sense to combine the mechanisms
> somehow.
>
> Take something as simple as generate_series: right now, it materializes
> the entire thing if it's in the FROM clause, but it wouldn't need to if
> it could use the foreign table mechanism.

This seems a useful thought to me.

Tom is complaining about conflating the two features, which does seem
unnecessary. But we can still merge code.

Providing run-time parameters or table-level options to Foreign Scans
seems sensible. I can see why you'd want to pass through parameters
like "work_mem" to the foreign scan and yet not have those as
permanent table options.

(On another thought: why do Foreign Scans get to avoid the
materialization we hate with SRFs?)

-- Simon Riggs                   http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services



pgsql-hackers by date:

Previous
From: Dimitri Fontaine
Date:
Subject: Re: Arguments to foreign tables?
Next
From: "Albe Laurenz"
Date:
Subject: Re: RFC: Timing Events