1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-05 09:19:17 +03:00
Peter Eisentraut 86e640a694 postgres_fdw: Fix join push down with extensions
Objects in an extension are shippable to a foreign server if the
extension is part of the foreign server definition's shippable
extensions list.  But this was not properly considered in some cases
when checking whether a join condition can be pushed to a foreign server
and the join condition uses an object from a shippable extension.  So
the join would never be pushed down in those cases.

So, the list of extensions needs to be made available in fpinfo of the
relation being considered to be pushed down before any expressions are
assessed for being shippable.  Fix foreign_join_ok() to do that for a
join relation.

David Rowley and Ashutosh Bapat, per report from David Rowley

reduced version of patch 332bec1e6096679b04ec9717beb44a858495260f for
backpatch to 9.6, first release with join push down
2017-04-26 09:14:21 -04:00
..
2016-01-02 14:19:48 -05:00
2016-06-09 18:02:36 -04:00
2017-02-06 11:34:15 +02:00
2017-02-06 11:34:15 +02:00
2016-01-02 13:33:40 -05:00
2016-01-02 13:33:40 -05:00
2017-02-06 11:34:15 +02:00
2017-02-06 11:34:15 +02:00
2017-03-14 13:45:54 -04:00
2016-01-02 13:33:40 -05:00
2017-02-06 11:34:15 +02:00
2017-02-06 11:34:15 +02:00
2017-02-06 11:34:15 +02:00
2017-02-06 11:34:15 +02:00
2017-02-06 11:34:15 +02:00
2016-09-15 12:55:38 +03:00
2017-02-06 11:34:15 +02:00
2016-04-08 21:52:13 +03:00
2017-02-06 11:34:15 +02:00
2016-01-02 13:33:40 -05:00
2016-01-02 13:33:40 -05:00
2016-01-02 13:33:40 -05:00
2017-02-06 11:34:15 +02:00
2016-04-01 16:42:24 +03:00

The PostgreSQL contrib tree
---------------------------

This subtree contains porting tools, analysis utilities, and plug-in
features that are not part of the core PostgreSQL system, mainly
because they address a limited audience or are too experimental to be
part of the main source tree.  This does not preclude their
usefulness.

User documentation for each module appears in the main SGML
documentation.

When building from the source distribution, these modules are not
built automatically, unless you build the "world" target.  You can
also build and install them all by running "make all" and "make
install" in this directory; or to build and install just one selected
module, do the same in that module's subdirectory.

Some directories supply new user-defined functions, operators, or
types.  To make use of one of these modules, after you have installed
the code you need to register the new SQL objects in the database
system by executing a CREATE EXTENSION command.  In a fresh database,
you can simply do

    CREATE EXTENSION module_name;

See the PostgreSQL documentation for more information about this
procedure.