postgresql/contrib/pageinspect
Tom Lane 14e9b18fed In pageinspect/hashfuncs.c, avoid crashes on alignment-picky machines.
On machines with MAXALIGN = 8, the payload of a bytea is not maxaligned,
since it will start 4 bytes into a palloc'd value.  On alignment-picky
hardware, this will cause failures in accesses to 8-byte-wide values
within the page.  We already encountered this problem when we introduced
GIN index inspection functions, and fixed it in commit 84ad68d64.  Make
use of the same function for hash indexes.

A small difficulty is that up to now contrib/pageinspect has not shared
any functions at all across files.  To support that, introduce a common
header file "pageinspect.h" for the module.

Also, move get_page_from_raw() out of ginfuncs.c, where it didn't
especially belong, and put it in rawpage.c which seems a more natural home.

Per buildfarm.

Discussion: https://postgr.es/m/17311.1486134714@sss.pgh.pa.us
2017-02-03 11:34:47 -05:00
..
expected pageinspect: Remove platform-dependent values from hash tests. 2017-02-03 11:06:41 -05:00
sql pageinspect: Remove platform-dependent values from hash tests. 2017-02-03 11:06:41 -05:00
.gitignore pageinspect: Add tests 2016-11-01 14:02:16 -04:00
brinfuncs.c In pageinspect/hashfuncs.c, avoid crashes on alignment-picky machines. 2017-02-03 11:34:47 -05:00
btreefuncs.c In pageinspect/hashfuncs.c, avoid crashes on alignment-picky machines. 2017-02-03 11:34:47 -05:00
fsmfuncs.c In pageinspect/hashfuncs.c, avoid crashes on alignment-picky machines. 2017-02-03 11:34:47 -05:00
ginfuncs.c In pageinspect/hashfuncs.c, avoid crashes on alignment-picky machines. 2017-02-03 11:34:47 -05:00
hashfuncs.c In pageinspect/hashfuncs.c, avoid crashes on alignment-picky machines. 2017-02-03 11:34:47 -05:00
heapfuncs.c In pageinspect/hashfuncs.c, avoid crashes on alignment-picky machines. 2017-02-03 11:34:47 -05:00
Makefile pageinspect: Support hash indexes. 2017-02-02 14:19:32 -05:00
pageinspect--1.0--1.1.sql Fix typos in some error messages thrown by extension scripts when fed to psql. 2014-08-25 18:30:37 +02:00
pageinspect--1.1--1.2.sql Fix typos in some error messages thrown by extension scripts when fed to psql. 2014-08-25 18:30:37 +02:00
pageinspect--1.2--1.3.sql pageinspect/BRIN: minor tweaks 2014-12-02 12:20:50 -03:00
pageinspect--1.3--1.4.sql Add forgotten file in commit d6061f83a1 2015-11-25 16:59:07 +03:00
pageinspect--1.4--1.5.sql Update pageinspect extension for parallel query. 2016-06-09 17:18:09 -04:00
pageinspect--1.5--1.6.sql pageinspect: Try to fix some bugs in previous commit. 2017-02-02 22:32:06 -05:00
pageinspect--1.5.sql Update pageinspect extension for parallel query. 2016-06-09 17:18:09 -04:00
pageinspect--unpackaged--1.0.sql Fix typos in some error messages thrown by extension scripts when fed to psql. 2014-08-25 18:30:37 +02:00
pageinspect.control pageinspect: Support hash indexes. 2017-02-02 14:19:32 -05:00
pageinspect.h In pageinspect/hashfuncs.c, avoid crashes on alignment-picky machines. 2017-02-03 11:34:47 -05:00
rawpage.c In pageinspect/hashfuncs.c, avoid crashes on alignment-picky machines. 2017-02-03 11:34:47 -05:00