postgresql/contrib/btree_gist
Heikki Linnakangas c87c43f087 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:36 +03:00
..
data Fixes from Janko Richter <jankorichter@yahoo.de> 2005-07-01 13:44:56 +00:00
expected Add alternative expected output files for cs_CZ locale for btree_gist and 2009-05-08 14:48:06 +00:00
sql Fix a few contrib regression test scripts that hadn't gotten the word 2007-11-13 06:29:04 +00:00
.gitignore Some more gitignore cleanups: cover contrib and PL regression test outputs. 2010-09-22 17:22:53 -04:00
btree_bit.c Initialize padding bytes in btree_gist varbit support. 2014-05-13 15:27:36 +03:00
btree_bytea.c Ooops, missed that a couple of contrib modules have calls to byteacmp. 2009-08-04 18:49:50 +00:00
btree_cash.c pgindent run for 9.0 2010-02-26 02:01:40 +00:00
btree_date.c pgindent run for 9.0 2010-02-26 02:01:40 +00:00
btree_float4.c pgindent run for 9.0 2010-02-26 02:01:40 +00:00
btree_float8.c pgindent run for 9.0 2010-02-26 02:01:40 +00:00
btree_gist.c 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
btree_gist.h 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
btree_gist.sql.in Mark contrib's GiST and GIN opclass support functions as STRICT, for safety. 2009-06-11 18:30:03 +00:00
btree_inet.c pgindent run for 9.0 2010-02-26 02:01:40 +00:00
btree_int2.c pgindent run for 9.0 2010-02-26 02:01:40 +00:00
btree_int4.c pgindent run for 9.0 2010-02-26 02:01:40 +00:00
btree_int8.c pgindent run for 9.0 2010-02-26 02:01:40 +00:00
btree_interval.c Remove tabs after spaces in C comments 2014-05-06 11:26:25 -04:00
btree_macaddr.c pgindent run for 9.0 2010-02-26 02:01:40 +00:00
btree_numeric.c 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
btree_oid.c pgindent run for 9.0 2010-02-26 02:01:40 +00:00
btree_text.c 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
btree_time.c pgindent run for 9.0 2010-02-26 02:01:40 +00:00
btree_ts.c pgindent run for 9.0 2010-02-26 02:01:40 +00:00
btree_utils_num.c 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
btree_utils_num.h 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
btree_utils_var.c Make contrib/btree_gist's GiST penalty function a bit saner. 2013-02-07 19:14:17 -05:00
btree_utils_var.h 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
Makefile Remove references to READMEs from /contrib Makefiles. 2007-11-10 23:59:52 +00:00
uninstall_btree_gist.sql Push index operator lossiness determination down to GIST/GIN opclass 2008-04-14 17:05:34 +00:00