postgresql/contrib
Etsuro Fujita 69f75bf825 postgres_fdw: Fix assertion in estimate_path_cost_size().
Commit 08d2d58a2 added this assertion assuming that the retrieved_rows
estimate for a foreign relation is set to at least one row in
estimate_path_cost_size(), but the assumption isn't correct because if
the relation is a foreign table with tuples=0, the estimate would be set
to 0 in there when using local stats, and if the query's WHERE clause
has a NULL condition, the estimate could be set to 0 in there when using
remote estimates.  (Note: even in the latter case the assertion could be
reachable when costing foreign final paths.)  Repair.

Per bug #17713 from Robins Tharakan.  This patch was already applied to
v13 or later; apply it to v12 as well where the aforementioned commit
was added.  Thanks to Richard Guo for investigation.

Discussion: http://postgr.es/m/17713-92cce66de7e81c04%40postgresql.org
Discussion: http://postgr.es/m/CAEP4nAza%2B0fTCLkgkKYux3JDo3tUBTQORehP%2BaCxSNURpSFpHw%40mail.gmail.com
2022-12-15 21:15:00 +09:00
..
adminpack Read until EOF vice stat-reported size in read_binary_file 2020-07-04 06:28:44 -04:00
amcheck Replace RelationOpenSmgr() with RelationGetSmgr(). 2022-11-17 16:54:31 -05:00
auth_delay Update copyright for 2019 2019-01-02 12:44:25 -05:00
auto_explain Fix ancient memory leak in contrib/auto_explain. 2021-02-02 13:49:08 -05:00
bloom Replace RelationOpenSmgr() with RelationGetSmgr(). 2022-11-17 16:54:31 -05:00
btree_gin Fix failure of btree_gin indexscans with "char" type and </<= operators. 2021-08-10 18:10:30 -04:00
btree_gist Fix results of index-only scans on btree_gist char(N) indexes. 2022-01-08 14:54:39 -05:00
citext CREATE INDEX: use the original userid for more ACL checks. 2022-06-25 09:07:45 -07:00
cube Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
dblink postgres_fdw: Fix unexpected reporting of empty message. 2021-12-03 17:37:19 +09:00
dict_int Ensure maxlen is at leat 1 in dict_int 2019-12-03 18:40:48 +01:00
dict_xsyn Update copyright for 2019 2019-01-02 12:44:25 -05:00
earthdistance Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
file_fdw Remove leftover comments, left behind by removal of WITH OIDS. 2020-11-30 10:29:26 +02:00
fuzzystrmatch Update copyright for 2019 2019-01-02 12:44:25 -05:00
hstore Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
hstore_plperl Clean up PL/Perl's handling of the _() macro. 2019-06-02 12:23:39 -04:00
hstore_plpython Fix broken ruleutils support for function TRANSFORM clauses. 2021-01-25 13:03:11 -05:00
intagg Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
intarray Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
isn Update copyright for 2019 2019-01-02 12:44:25 -05:00
jsonb_plperl Fix handling of "undef" in contrib/jsonb_plperl. 2019-08-04 14:05:35 -04:00
jsonb_plpython In jsonb_plpython.c, suppress warning message from gcc 10. 2020-01-30 18:26:13 -05:00
lo Fix bogus CALLED_AS_TRIGGER() defenses. 2020-04-03 11:24:56 -04:00
ltree Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
ltree_plpython Fix out-of-tree build for transform modules. 2018-09-16 18:46:45 +01:00
oid2name Report the true database name on connection errors 2021-01-26 16:42:13 -03:00
pageinspect pageinspect: Fix handling of all-zero pages 2022-04-14 15:09:39 +09:00
passwordcheck Fix handling of previous password hooks in passwordcheck 2019-08-01 09:37:48 +09:00
pg_buffercache Remove WITH OIDS support, change oid catalog column visibility. 2018-11-20 16:00:17 -08:00
pg_freespacemap Replace heapam.h includes with {table, relation}.h where applicable. 2019-01-21 10:51:37 -08:00
pg_prewarm Replace RelationOpenSmgr() with RelationGetSmgr(). 2022-11-17 16:54:31 -05:00
pg_standby Replace @postgresql.org with @lists.postgresql.org for mailinglists 2019-01-19 19:06:35 +01:00
pg_stat_statements pg_stat_statements: fetch stmt location/length before it disappears. 2022-11-01 12:48:01 -04:00
pg_trgm pg_trgm: fix crash in 2-item picksplit 2020-11-12 14:56:58 +00:00
pg_visibility Replace RelationOpenSmgr() with RelationGetSmgr(). 2022-11-17 16:54:31 -05:00
pgcrypto Clean up assorted failures under clang's -fsanitize=undefined checks. 2022-03-03 18:13:24 -05:00
pgrowlocks Avoid holding a directory FD open across assorted SRF calls. 2020-03-16 21:05:53 -04:00
pgstattuple Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
postgres_fdw postgres_fdw: Fix assertion in estimate_path_cost_size(). 2022-12-15 21:15:00 +09:00
seg Stabilize contrib/seg regression test. 2021-06-07 14:53:03 -04:00
sepgsql Fix compilation warnings with libselinux 3.1 in contrib/sepgsql/ 2022-11-09 09:39:55 +09:00
spi Fix more strcmp() calls using boolean-like comparisons for result checks 2019-04-12 10:16:49 +09:00
sslinfo Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
start-scripts Remove contrib/start-scripts/osx/. 2017-11-17 12:53:20 -05:00
tablefunc Disallow null category in crosstab_hash 2019-12-23 13:33:34 -05:00
tcn Update copyright for 2019 2019-01-02 12:44:25 -05:00
test_decoding Fix assertion failures while processing NEW_CID record in logical decoding. 2022-10-20 09:16:28 +05:30
tsm_system_rows Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
tsm_system_time Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
unaccent Add combining characters to unaccent.rules. 2019-02-01 15:23:01 +01:00
uuid-ossp Reject bogus output from uuid_create(3). 2022-09-09 12:41:36 -04:00
vacuumlo Report the true database name on connection errors 2021-01-26 16:42:13 -03:00
xml2 Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
contrib-global.mk Respect TEMP_CONFIG when pg_regress_check and friends are called 2016-02-27 12:28:21 -05:00
Makefile Transforms for jsonb to PL/Perl 2018-04-03 09:47:18 -04:00
README Rename 'gmake' to 'make' in docs and recommended commands 2014-02-12 17:29:19 -05: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.