From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Improve updatability checking for views and foreign tables. |
Date: | 2013-06-12 21:53:53 |
Message-ID: | E1UmszJ-0005qs-10@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Improve updatability checking for views and foreign tables.
Extend the FDW API (which we already changed for 9.3) so that an FDW can
report whether specific foreign tables are insertable/updatable/deletable.
The default assumption continues to be that they're updatable if the
relevant executor callback function is supplied by the FDW, but finer
granularity is now possible. As a test case, add an "updatable" option to
contrib/postgres_fdw.
This patch also fixes the information_schema views, which previously did
not think that foreign tables were ever updatable, and fixes
view_is_auto_updatable() so that a view on a foreign table can be
auto-updatable.
initdb forced due to changes in information_schema views and the functions
they rely on. This is a bit unfortunate to do post-beta1, but if we don't
change this now then we'll have another API break for FDWs when we do
change it.
Dean Rasheed, somewhat editorialized on by Tom Lane
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/dc3eb5638349e74a6628130a5101ce866455f4a3
Modified Files
--------------
contrib/postgres_fdw/expected/postgres_fdw.out | 1 +
contrib/postgres_fdw/option.c | 8 +-
contrib/postgres_fdw/postgres_fdw.c | 47 +++++++++++
contrib/postgres_fdw/sql/postgres_fdw.sql | 1 +
doc/src/sgml/fdwhandler.sgml | 27 +++++++
doc/src/sgml/postgres-fdw.sgml | 37 +++++++++
src/backend/catalog/information_schema.sql | 15 +++-
src/backend/executor/execMain.c | 18 +++++
src/backend/rewrite/rewriteHandler.c | 102 ++++++++++++++++++------
src/backend/utils/adt/misc.c | 51 ++++++++----
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_proc.h | 8 +-
src/include/foreign/fdwapi.h | 3 +
src/include/rewrite/rewriteHandler.h | 2 +-
src/include/utils/builtins.h | 4 +-
15 files changed, 272 insertions(+), 54 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Noah Misch | 2013-06-12 23:57:16 | pgsql: Avoid reading past datum end when parsing JSON. |
Previous Message | Andrew Dunstan | 2013-06-12 17:44:06 | pgsql: Fix unescaping of JSON Unicode escapes, especially for non-UTF8. |