postgresql/contrib/btree_gist
Heikki Linnakangas 1913d0f28d Initialize padding bytes in btree_gist varbit support.
The code expands a varbit gist leaf key to a node key by copying the bit
data twice in a varlen datum, as both the lower and upper key. The lower key
was expanded to INTALIGN size, but the padding bytes were not initialized.
That's a problem because when the lower/upper keys are compared, the padding
bytes are used compared too, when the values are otherwise equal. That could
lead to incorrect query results.

REINDEX is advised for any btree_gist indexes on bit or bit varying data
type, to fix any garbage padding bytes on disk.

Per Valgrind, reported by Andres Freund. Backpatch to all supported
versions.
2014-05-13 15:27:28 +03:00
..
data Add missing newlines at end of files 2010-10-26 20:11:43 +03:00
expected Add KNNGIST support to contrib/btree_gist. 2011-03-02 14:44:33 -05:00
sql Add KNNGIST support to contrib/btree_gist. 2011-03-02 14:44:33 -05:00
.gitignore Support "make check" in contrib 2011-04-25 22:27:11 +03:00
btree_bit.c Initialize padding bytes in btree_gist varbit support. 2014-05-13 15:27:28 +03:00
btree_bytea.c Fix contrib/btree_gist to handle collations properly. 2011-04-22 20:19:58 -04:00
btree_cash.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
btree_date.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
btree_float4.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
btree_float8.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
btree_gist--1.0.sql Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:36 -04:00
btree_gist--unpackaged--1.0.sql Throw a useful error message if an extension script file is fed to psql. 2011-10-12 15:45:36 -04:00
btree_gist.c Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
btree_gist.control Convert contrib modules to use the extension facility. 2011-02-13 22:54:49 -05:00
btree_gist.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
btree_inet.c Add KNNGIST support to contrib/btree_gist. 2011-03-02 14:44:33 -05:00
btree_int2.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
btree_int4.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
btree_int8.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
btree_interval.c Remove tabs after spaces in C comments 2014-05-06 11:26:26 -04:00
btree_macaddr.c Add KNNGIST support to contrib/btree_gist. 2011-03-02 14:44:33 -05:00
btree_numeric.c Fix contrib/btree_gist to handle collations properly. 2011-04-22 20:19:58 -04:00
btree_oid.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
btree_text.c Fix contrib/btree_gist to handle collations properly. 2011-04-22 20:19:58 -04:00
btree_time.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
btree_ts.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
btree_utils_num.c Fix contrib/btree_gist to handle collations properly. 2011-04-22 20:19:58 -04:00
btree_utils_num.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
btree_utils_var.c Make contrib/btree_gist's GiST penalty function a bit saner. 2013-02-07 19:14:13 -05:00
btree_utils_var.h Pgindent run before 9.1 beta2. 2011-06-09 14:32:50 -04:00
Makefile Add -lm to SHLIB_LINK for contrib/btree_gist. 2011-03-03 01:43:38 -05:00