postgresql/contrib
Tom Lane 94f565dcf1 Fix erroneous range-union logic for varlena types in contrib/btree_gist.
gbt_var_bin_union() failed to do the right thing when the existing range
needed to be widened at both ends rather than just one end.  This could
result in an invalid index in which keys that are present would not be
found by searches, because the searches would not think they need to
descend to the relevant leaf pages.  This error affected all the varlena
datatypes supported by btree_gist (text, bytea, bit, numeric).

Per investigation of a trouble report from Tomas Vondra.  (There is also
an issue in gbt_var_penalty(), but that should only result in inefficiency
not wrong answers.  I'm committing this separately so that we have a git
state in which it can be tested that bad penalty results don't produce
invalid indexes.)  Back-patch to all supported branches.
2013-02-07 18:22:19 -05:00
..
adminpack Update copyrights for 2013 2013-01-01 17:15:01 -05:00
auth_delay
auto_explain Update copyrights for 2013 2013-01-01 17:15:01 -05:00
btree_gin
btree_gist Fix erroneous range-union logic for varlena types in contrib/btree_gist. 2013-02-07 18:22:19 -05:00
chkpass
citext
cube Improve handling of ereport(ERROR) and elog(ERROR). 2013-01-13 18:40:09 -05:00
dblink Update copyrights for 2013 2013-01-01 17:15:01 -05:00
dict_int Update copyrights for 2013 2013-01-01 17:15:01 -05:00
dict_xsyn Update copyrights for 2013 2013-01-01 17:15:01 -05:00
dummy_seclabel Update copyrights for 2013 2013-01-01 17:15:01 -05:00
earthdistance
file_fdw Improve error message wording 2013-02-06 00:19:53 -03:00
fuzzystrmatch Update copyrights for 2013 2013-01-01 17:15:01 -05:00
hstore
intagg
intarray
isn Update copyrights for 2013 2013-01-01 17:15:01 -05:00
lo
ltree
oid2name
pageinspect Improve concurrency of foreign key locking 2013-01-23 12:04:59 -03:00
passwordcheck Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pg_archivecleanup
pg_buffercache
pg_freespacemap
pg_standby
pg_stat_statements Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pg_test_fsync
pg_test_timing
pg_trgm
pg_upgrade pg_upgrade: detect stale postmaster.pid lock files 2013-01-24 15:20:40 -05:00
pg_upgrade_support Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pgbench Add --aggregate-interval option. 2013-01-31 15:53:58 +09:00
pgcrypto
pgrowlocks pgrowlocks: fix bogus lock strength output 2013-01-31 19:15:35 -03:00
pgstattuple Add pgstatginindex() function to get the size of the GIN pending list. 2012-12-05 09:58:03 +02:00
seg Improve handling of ereport(ERROR) and elog(ERROR). 2013-01-13 18:40:09 -05:00
sepgsql Update copyrights for 2013 2013-01-01 17:15:01 -05:00
spi
sslinfo
start-scripts
tablefunc Update copyrights for 2013 2013-01-01 17:15:01 -05:00
tcn Update copyrights for 2013 2013-01-01 17:15:01 -05:00
test_parser Update copyrights for 2013 2013-01-01 17:15:01 -05:00
tsearch2 Update copyrights for 2013 2013-01-01 17:15:01 -05:00
unaccent Update copyrights for 2013 2013-01-01 17:15:01 -05:00
uuid-ossp Update copyrights for 2013 2013-01-01 17:15:01 -05:00
vacuumlo Update copyrights for 2013 2013-01-01 17:15:01 -05:00
worker_spi Background worker processes 2012-12-06 17:47:30 -03:00
xml2
contrib-global.mk
Makefile Background worker processes 2012-12-06 17:47:30 -03: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 "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.