postgresql/contrib
Robert Haas 5fc4c26db5 Allow FDWs to push down quals without breaking EvalPlanQual rechecks.
This fixes a long-standing bug which was discovered while investigating
the interaction between the new join pushdown code and the EvalPlanQual
machinery: if a ForeignScan appears on the inner side of a paramaterized
nestloop, an EPQ recheck would re-return the original tuple even if
it no longer satisfied the pushed-down quals due to changed parameter
values.

This fix adds a new member to ForeignScan and ForeignScanState and a
new argument to make_foreignscan, and requires changes to FDWs which
push down quals to populate that new argument with a list of quals they
have chosen to push down.  Therefore, I'm only back-patching to 9.5,
even though the bug is not new in 9.5.

Etsuro Fujita, reviewed by me and by Kyotaro Horiguchi.
2015-10-15 13:00:40 -04:00
..
adminpack
auth_delay
auto_explain
btree_gin
btree_gist Fix misc typos. 2015-09-05 11:35:49 +03:00
chkpass
citext
cube Fix misc typos. 2015-09-05 11:35:49 +03:00
dblink Rearrange the handling of error context reports. 2015-09-05 11:58:33 -04:00
dict_int
dict_xsyn
earthdistance Add missed CREATE EXTENSION ... CASCADE regression test adjustment. 2015-10-03 21:31:51 +02:00
file_fdw Allow FDWs to push down quals without breaking EvalPlanQual rechecks. 2015-10-15 13:00:40 -04:00
fuzzystrmatch
hstore
hstore_plperl Add CASCADE support for CREATE EXTENSION. 2015-10-03 18:23:40 +02:00
hstore_plpython Add CASCADE support for CREATE EXTENSION. 2015-10-03 18:23:40 +02:00
intagg
intarray Prevent stack overflow in query-type functions. 2015-10-05 10:06:30 -04:00
isn contrib/isn now needs a .gitignore file. 2015-08-02 23:57:32 -04:00
lo
ltree Prevent stack overflow in query-type functions. 2015-10-05 10:06:30 -04:00
ltree_plpython Add CASCADE support for CREATE EXTENSION. 2015-10-03 18:23:40 +02:00
oid2name
pageinspect Use materialize SRF mode in brin_page_items 2015-08-13 13:02:10 -03:00
passwordcheck
pg_buffercache
pg_freespacemap
pg_prewarm
pg_standby Don't use function definitions looking like old-style ones. 2015-08-15 17:25:00 +02:00
pg_stat_statements Improve contrib/pg_stat_statements' handling of garbage collection failure. 2015-10-04 17:58:42 -04:00
pg_trgm This supports the triconsistent function for pg_trgm GIN opclass 2015-07-20 18:18:48 +03:00
pgcrypto Avoid scan-build warning about uninitialized htonl() arguments. 2015-10-11 20:42:26 -04:00
pgrowlocks
pgstattuple Prevent pgstattuple() from reporting BRIN as unknown index. 2015-07-14 22:36:51 +09:00
postgres_fdw Allow FDWs to push down quals without breaking EvalPlanQual rechecks. 2015-10-15 13:00:40 -04:00
seg
sepgsql Adjust sepgsql regression output for recent error context change 2015-09-06 11:25:36 -07:00
spi
sslinfo Fix error message wording in previous sslinfo commit 2015-09-08 11:10:20 -03:00
start-scripts
tablefunc Fix a number of places that produced XX000 errors in the regression tests. 2015-08-02 23:49:19 -04:00
tcn
test_decoding Improve errhint() about replication slot naming restrictions. 2015-10-03 15:29:08 +02:00
tsearch2 Add an optional missing_ok argument to SQL function current_setting(). 2015-07-02 16:41:07 -04:00
tsm_system_rows Redesign tablesample method API, and do extensive code review. 2015-07-25 14:39:00 -04:00
tsm_system_time Some platforms now need contrib/tsm_system_time to be linked with libm. 2015-07-25 16:37:12 -04:00
unaccent Make unaccent handle all diacritics known to Unicode, and expand ligatures correctly 2015-09-04 12:51:53 +03:00
uuid-ossp
vacuumlo
xml2
contrib-global.mk
Makefile
README

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.