Re: IMPORT FOREIGN SCHEMA statement - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: IMPORT FOREIGN SCHEMA statement
Date
Msg-id CAB7nPqSt8UbU3jzxmKKNBo=M33z0KsaEs4zs_hV+Sp38sD8d8w@mail.gmail.com
Whole thread Raw
In response to Re: IMPORT FOREIGN SCHEMA statement  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers



On Thu, Jul 10, 2014 at 2:30 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Michael Paquier <michael.paquier@gmail.com> writes:
> With that, I am marking this patch as ready for committer.

I've started looking at this patch.  I wonder whether it's really such
a great idea to expect the FDW to return a list of parsetrees for
CREATE FOREIGN TABLE commands; that seems like a recipe for breakage
anytime we change the parsetree representation, say add a field to
ColumnDef.  The alternative I'm thinking about is to have the FDW pass
back a list of strings, which would be textual CREATE FOREIGN TABLE
commands.  This seems like it'd be more robust and in most cases not
any harder for the FDW to generate; moreover, it would greatly improve
the quality of error reporting anytime there was anything wrong with
what the FDW did.

Agreed. Modifying postgres_fdw portion to do so would not take long.

As against that, you could point out that we make FDWs deal with
parsetrees when doing planning.  But the important difference there
is that they're mostly *reading* the parsetrees, not building new
ones from scratch, so there's much less opportunity for errors of
omission.

Comments?
The SQL-MED spec talks only about foreign tables when importing, It would be good to keep the checks on CreateTableForeignStmt after parsing the strings, which is what I imagine server would do after taking back the list of strings from FDW before creating the objects.

Regards,
--
Michael

pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: Minmax indexes
Next
From: Alvaro Herrera
Date:
Subject: Re: Minmax indexes