From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu, 31 Dec 2015 22:59:10 +0000 (-0500)
Subject: Add a comment noting that FDWs don't have to implement EXCEPT or LIMIT TO.
X-Git-Tag: REL9_6_BETA1~930
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5f36096b77fe47015cbac130d1a20d089f202a1e;p=postgresql

Add a comment noting that FDWs don't have to implement EXCEPT or LIMIT TO.

postgresImportForeignSchema pays attention to IMPORT's EXCEPT and LIMIT TO
options, but only as an efficiency hack, not for correctness' sake.  The
FDW documentation does explain that, but someone using postgres_fdw.c
as a coding guide might not remember it, so let's add a comment here.
Per question from Regina Obe.
---

diff --git a/contrib/postgres_fdw/postgres_fdw.c b/contrib/postgres_fdw/postgres_fdw.c
index f501c6c5be..129357fa8b 100644
--- a/contrib/postgres_fdw/postgres_fdw.c
+++ b/contrib/postgres_fdw/postgres_fdw.c
@@ -2892,7 +2892,11 @@ postgresImportForeignSchema(ImportForeignSchemaStmt *stmt, Oid serverOid)
 
 		/*
 		 * Fetch all table data from this schema, possibly restricted by
-		 * EXCEPT or LIMIT TO.
+		 * EXCEPT or LIMIT TO.  (We don't actually need to pay any attention
+		 * to EXCEPT/LIMIT TO here, because the core code will filter the
+		 * statements we return according to those lists anyway.  But it
+		 * should save a few cycles to not process excluded tables in the
+		 * first place.)
 		 *
 		 * Note: because we run the connection with search_path restricted to
 		 * pg_catalog, the format_type() and pg_get_expr() outputs will always