postgresql/contrib
Tom Lane d3f4e8a8a7 Avoid formally-undefined use of memcpy() in hstoreUniquePairs().
hstoreUniquePairs() often called memcpy with equal source and destination
pointers.  Although this is almost surely harmless in practice, it's
undefined according to the letter of the C standard.  Some versions of
valgrind will complain about it, and some versions of libc as well
(cf. commit ad520ec4a).  Tweak the code to avoid doing that.

Noted by Tomas Vondra.  Back-patch to all supported versions because
of the hazard of libc assertions.

Discussion: https://postgr.es/m/bf84d940-90d4-de91-19dd-612e011007f4@fuzzy.cz
2017-11-25 14:42:10 -05:00
..
adminpack
amcheck Minor code-cleanliness improvements for btree. 2017-09-18 16:36:28 -04:00
auth_delay
auto_explain
bloom Tighten test in contrib/bloom/t/001_wal.pl. 2017-11-10 12:30:01 -05:00
btree_gin
btree_gist Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
citext Disable multi-byte citext tests 2017-09-19 15:31:37 -04:00
cube Support index-only scans in contrib/cube and contrib/seg GiST indexes. 2017-11-20 20:25:18 -05:00
dblink Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
dict_int
dict_xsyn Add some const decorations to prototypes 2017-11-10 13:38:57 -05:00
earthdistance
file_fdw Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
fuzzystrmatch Add some const decorations to prototypes 2017-11-10 13:38:57 -05:00
hstore Avoid formally-undefined use of memcpy() in hstoreUniquePairs(). 2017-11-25 14:42:10 -05:00
hstore_plperl
hstore_plpython Consistently catch errors from Python _New() functions 2017-11-18 13:39:53 -05:00
intagg
intarray Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
isn
lo
ltree Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
ltree_plpython Consistently catch errors from Python _New() functions 2017-11-18 13:39:53 -05:00
oid2name
pageinspect
passwordcheck Simplify new test suite handling of passwordcheck 2017-11-02 12:57:04 -04:00
pg_buffercache
pg_freespacemap
pg_prewarm Add background worker type 2017-09-29 11:08:24 -04:00
pg_standby Fix assorted infelicities in new SetWALSegSize() function. 2017-09-24 12:05:06 -04:00
pg_stat_statements pg_stat_statements: Add a comment about the dangers of padding bytes. 2017-10-20 09:44:03 -04:00
pg_trgm Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
pg_visibility
pgcrypto Add some const decorations to prototypes 2017-11-10 13:38:57 -05:00
pgrowlocks
pgstattuple Minor code-cleanliness improvements for btree. 2017-09-18 16:36:28 -04:00
postgres_fdw Basic partition-wise join functionality. 2017-10-06 11:11:10 -04:00
seg Support index-only scans in contrib/cube and contrib/seg GiST indexes. 2017-11-20 20:25:18 -05:00
sepgsql
spi Document and use SPI_result_code_string() 2017-10-04 22:14:21 -04:00
sslinfo
start-scripts Remove contrib/start-scripts/osx/. 2017-11-17 12:53:20 -05:00
tablefunc
tcn
test_decoding Fix crash when logical decoding is invoked from a PL function. 2017-10-06 19:18:58 -04:00
tsm_system_rows
tsm_system_time
unaccent Add some const decorations to prototypes 2017-11-10 13:38:57 -05:00
uuid-ossp Add some const decorations to prototypes 2017-11-10 13:38:57 -05:00
vacuumlo
xml2
contrib-global.mk
Makefile Remove contrib/chkpass 2017-09-22 11:49:48 -04:00
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.