postgresql/contrib
Tom Lane 09ac603c36 Work around unportable behavior of malloc(0) and realloc(NULL, 0).
On some platforms these functions return NULL, rather than the more common
practice of returning a pointer to a zero-sized block of memory.  Hack our
various wrapper functions to hide the difference by substituting a size
request of 1.  This is probably not so important for the callers, who
should never touch the block anyway if they asked for size 0 --- but it's
important for the wrapper functions themselves, which mistakenly treated
the NULL result as an out-of-memory failure.  This broke at least pg_dump
for the case of no user-defined aggregates, as per report from
Matthew Carrington.

Back-patch to 9.2 to fix the pg_dump issue.  Given the lack of previous
complaints, it seems likely that there is no live bug in previous releases,
even though some of these functions were in place before that.
2012-10-02 17:32:42 -04:00
..
adminpack
auth_delay
auto_explain Fix assorted compilation failures in contrib 2012-08-28 23:50:49 -04:00
btree_gin
btree_gist Reduce messages about implicit indexes and sequences to DEBUG1. 2012-07-04 20:35:29 -04:00
chkpass
citext Reduce messages about implicit indexes and sequences to DEBUG1. 2012-07-04 20:35:29 -04:00
cube Replace int2/int4 in C code with int16/int32 2012-06-25 01:51:46 +03:00
dblink Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
dict_int
dict_xsyn
dummy_seclabel
earthdistance
file_fdw Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
fuzzystrmatch Even more duplicate word removal, in the spirit of the season 2012-05-02 20:56:03 +03:00
hstore Provide some static-assertion functionality on all compilers. 2012-09-30 22:46:29 -04:00
intagg
intarray Remove unreachable code 2012-07-16 22:15:03 +03:00
isn
lo
ltree Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
oid2name Work around unportable behavior of malloc(0) and realloc(NULL, 0). 2012-10-02 17:32:42 -04:00
pageinspect Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
passwordcheck
pg_archivecleanup Make documentation of --help and --version options more consistent 2012-06-18 02:46:59 +03:00
pg_buffercache Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
pg_freespacemap
pg_standby Make documentation of --help and --version options more consistent 2012-06-18 02:46:59 +03:00
pg_stat_statements Remove pg_stat_statements--1.0.sql, too. 2012-08-28 14:33:56 -04:00
pg_test_fsync Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
pg_test_timing Adjust pg_test_timing to show shortest test durations first, place 2012-08-28 12:57:13 -04:00
pg_trgm Fix bugs in contrib/pg_trgm's LIKE pattern analysis code. 2012-08-20 13:25:42 -04:00
pg_upgrade Work around unportable behavior of malloc(0) and realloc(NULL, 0). 2012-10-02 17:32:42 -04:00
pg_upgrade_support
pgbench Work around unportable behavior of malloc(0) and realloc(NULL, 0). 2012-10-02 17:32:42 -04:00
pgcrypto Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
pgrowlocks
pgstattuple Reduce messages about implicit indexes and sequences to DEBUG1. 2012-07-04 20:35:29 -04:00
seg Run newly-configured perltidy script on Perl files. 2012-07-04 21:47:49 -04:00
sepgsql sepgsql cleanups. 2012-09-05 14:01:59 -04:00
spi Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
sslinfo Lots of doc corrections. 2012-04-23 22:43:09 -04:00
start-scripts Support Linux's oom_score_adj API as well as the older oom_adj API. 2012-06-13 15:35:52 -04:00
tablefunc Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
tcn Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
test_parser
tsearch2
unaccent
uuid-ossp
vacuumlo Make oid2name, pgbench, and vacuumlo set fallback_application_name. 2012-07-04 15:39:33 -04:00
xml2 Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
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 "gmake all" and "gmake
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.