postgres/contrib/btree_gist
Heikki Linnakangas 0d8d0d0277 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:21 +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:21 +03:00
btree_bytea.c Add postgres.h to *.c files for pg_upgrade, ltree, and btree_gist, and 2011-08-26 21:16:24 -04:00
btree_cash.c Remove many -Wcast-qual warnings 2011-09-11 21:54:32 +03:00
btree_date.c Remove many -Wcast-qual warnings 2011-09-11 21:54:32 +03:00
btree_float4.c Remove many -Wcast-qual warnings 2011-09-11 21:54:32 +03:00
btree_float8.c Remove many -Wcast-qual warnings 2011-09-11 21:54:32 +03: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:03 -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:03 -04:00
btree_gist.c Add postgres.h to *.c files for pg_upgrade, ltree, and btree_gist, and 2011-08-26 21:16:24 -04:00
btree_gist.control Convert contrib modules to use the extension facility. 2011-02-13 22:54:49 -05:00
btree_gist.h Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
btree_inet.c Remove many -Wcast-qual warnings 2011-09-11 21:54:32 +03:00
btree_int2.c Remove many -Wcast-qual warnings 2011-09-11 21:54:32 +03:00
btree_int4.c Remove many -Wcast-qual warnings 2011-09-11 21:54:32 +03:00
btree_int8.c Remove many -Wcast-qual warnings 2011-09-11 21:54:32 +03:00
btree_interval.c Remove tabs after spaces in C comments 2014-05-06 11:26:27 -04:00
btree_macaddr.c Remove many -Wcast-qual warnings 2011-09-11 21:54:32 +03:00
btree_numeric.c Add postgres.h to *.c files for pg_upgrade, ltree, and btree_gist, and 2011-08-26 21:16:24 -04:00
btree_oid.c Remove many -Wcast-qual warnings 2011-09-11 21:54:32 +03:00
btree_text.c Add postgres.h to *.c files for pg_upgrade, ltree, and btree_gist, and 2011-08-26 21:16:24 -04:00
btree_time.c Remove many -Wcast-qual warnings 2011-09-11 21:54:32 +03:00
btree_ts.c Remove many -Wcast-qual warnings 2011-09-11 21:54:32 +03:00
btree_utils_num.c Move Timestamp/Interval typedefs and basic macros into datatype/timestamp.h. 2011-09-09 13:23:41 -04:00
btree_utils_num.h Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
btree_utils_var.c Make contrib/btree_gist's GiST penalty function a bit saner. 2013-02-07 19:14:08 -05:00
btree_utils_var.h Remove unnecessary #include references, per pgrminclude script. 2011-09-01 10:04:27 -04:00
Makefile Add -lm to SHLIB_LINK for contrib/btree_gist. 2011-03-03 01:43:38 -05:00