postgresql/src
Andres Freund d3044f8b07 Perform a lot more sanity checks when freezing tuples.
The previous commit has shown that the sanity checks around freezing
aren't strong enough. Strengthening them seems especially important
because the existance of the bug has caused corruption that we don't
want to make even worse during future vacuum cycles.

The errors are emitted with ereport rather than elog, despite being
"should never happen" messages, so a proper error code is emitted. To
avoid superflous translations, mark messages as internal.

Author: Andres Freund and Alvaro Herrera
Reviewed-By: Alvaro Herrera, Michael Paquier
Discussion: https://postgr.es/m/20171102112019.33wb7g5wp4zpjelu@alap3.anarazel.de
Backpatch: 9.3-
2017-12-14 18:20:48 -08:00
..
backend Perform a lot more sanity checks when freezing tuples. 2017-12-14 18:20:48 -08:00
bin Fix bogus logic for checking data dirs' versions within pg_upgrade. 2017-11-16 11:16:53 -05:00
common Update copyright in recently added files 2017-07-26 18:17:18 -04:00
fe_utils Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
include Perform a lot more sanity checks when freezing tuples. 2017-12-14 18:20:48 -08:00
interfaces Add post-2010 ecpg tests to checktcp. 2017-11-11 14:35:36 -08:00
makefiles Always use -fPIC, not -fpic, when building shared libraries with gcc. 2017-06-01 13:32:55 -04:00
pl Support linking with MinGW-built Perl. 2017-11-23 20:22:24 -08:00
port Stamp 10.1. 2017-11-06 17:06:17 -05:00
template Remove "sco" and "unixware" ports. 2016-10-11 11:26:04 -04:00
test Fix pruning of locked and updated tuples. 2017-12-14 18:20:48 -08:00
timezone Replace raw timezone source data with IANA's new compact format. 2017-11-25 15:30:27 -05:00
tools MSVC 2012+: Permit linking to 32-bit, MinGW-built libraries. 2017-12-09 00:58:58 -08:00
tutorial Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Build src/test/isolation during "make" and "make install". 2017-11-22 20:18:52 -08:00
Makefile.global.in Be more thorough about cleaning out gcov litter. 2017-08-11 17:39:27 -04:00
Makefile.shlib Remove support for bcc and msvc standalone libpq builds 2017-04-11 15:22:21 +02:00
nls-global.mk nls-global.mk: search build dir for source files, too 2016-06-07 18:55:18 -04:00