postgresql/src/include
Andres Freund 699bf7d05c 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:47 -08:00
..
access Perform a lot more sanity checks when freezing tuples. 2017-12-14 18:20:47 -08:00
bootstrap Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
catalog SQL procedures 2017-11-30 11:03:20 -05:00
commands Mark assorted variables PGDLLIMPORT. 2017-12-05 09:23:57 -05:00
common Fix a number of copy & paste comment errors in common/int.h. 2017-12-14 12:33:48 -08:00
datatype Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
executor Allow executor nodes to change their ExecProcNode function. 2017-12-13 15:47:01 -08:00
fe_utils Update typedefs.list and re-run pgindent 2017-11-29 09:24:24 -05:00
foreign Basic partition-wise join functionality. 2017-10-06 11:11:10 -04:00
lib Update typedefs.list and re-run pgindent 2017-11-29 09:24:24 -05:00
libpq Fix warnings from cpluspluscheck 2017-12-04 19:55:52 -05:00
mb Add more efficient functions to pqformat API. 2017-10-11 16:01:52 -07:00
nodes Rethink MemoryContext creation to improve performance. 2017-12-13 13:55:16 -05:00
optimizer Support Parallel Append plan nodes. 2017-12-05 17:28:39 -05:00
parser SQL procedures 2017-11-30 11:03:20 -05:00
port Clean up warnings in MinGW builds. 2017-11-16 17:57:38 -05:00
portability Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
postmaster Mark assorted variables PGDLLIMPORT. 2017-12-05 09:23:57 -05:00
regex Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
replication Generational memory allocator 2017-11-23 05:45:07 +11:00
rewrite Fix creation of resjunk tlist entries for inherited mixed UPDATE/DELETE. 2017-11-27 17:54:07 -05:00
snowball Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
statistics Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
storage Support Parallel Append plan nodes. 2017-12-05 17:28:39 -05:00
tcop Mark assorted variables PGDLLIMPORT. 2017-12-05 09:23:57 -05:00
tsearch Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
utils Rethink MemoryContext creation to improve performance. 2017-12-13 13:55:16 -05:00
.gitignore Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
Makefile Add statistics subdirectory to Makefile. 2017-06-08 11:29:50 -04:00
c.h Add pg_attribute_always_inline. 2017-12-13 15:46:02 -08:00
fmgr.h Allow the built-in ordered-set aggregates to share transition state. 2017-10-16 15:51:23 -04:00
funcapi.h Support domains over composite types. 2017-10-26 13:47:45 -04:00
getaddrinfo.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
getopt_long.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
miscadmin.h Mark assorted variables PGDLLIMPORT. 2017-12-05 09:23:57 -05:00
pg_config.h.in Provide overflow safe integer math inline functions. 2017-12-12 16:55:37 -08:00
pg_config.h.win32 Provide overflow safe integer math inline functions. 2017-12-12 16:55:37 -08:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_ext.h.win32 Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_manual.h Restrict lo_import()/lo_export() via SQL permissions not hard-wired checks. 2017-11-09 12:36:58 -05:00
pg_getopt.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_trace.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pgstat.h Avoid use of non-portable strnlen() in pgstat_clip_activity(). 2017-09-19 14:25:47 -07:00
pgtar.h Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
pgtime.h Mark assorted variables PGDLLIMPORT. 2017-12-05 09:23:57 -05:00
port.h Further refactoring of c.h and nearby files. 2017-11-16 10:36:21 -05:00
postgres.h Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
postgres_ext.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
postgres_fe.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
rusagestub.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
windowapi.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00