postgresql/src/backend
Andres Freund a4d357bfbd Make HEAP_LOCK/HEAP2_LOCK_UPDATED replay reset HEAP_XMAX_INVALID.
0ac5ad5 started to compress infomask bits in WAL records. Unfortunately
the replay routines for XLOG_HEAP_LOCK/XLOG_HEAP2_LOCK_UPDATED forgot to
reset the HEAP_XMAX_INVALID (and some other) hint bits.

Luckily that's not problematic in the majority of cases, because after a
crash/on a standby row locks aren't meaningful. Unfortunately that does
not hold true in the presence of prepared transactions. This means that
after a crash, or after promotion, row level locks held by a prepared,
but not yet committed, prepared transaction might not be enforced.

Discussion: 20160715192319.ubfuzim4zv3rqnxv@alap3.anarazel.de
Backpatch: 9.3, the oldest branch on which 0ac5ad5 is present.
2016-07-15 14:45:37 -07:00
..
access Make HEAP_LOCK/HEAP2_LOCK_UPDATED replay reset HEAP_XMAX_INVALID. 2016-07-15 14:45:37 -07:00
bootstrap Revert CREATE INDEX ... INCLUDING ... 2016-04-08 21:52:13 +03:00
catalog Rename pg_stat_wal_receiver.conn_info to conninfo. 2016-07-07 12:59:39 +09:00
commands Print a given subplan only once in EXPLAIN. 2016-07-11 18:14:29 -04:00
executor Avoid invalidating all foreign-join cached plans when user mappings change. 2016-07-15 17:23:02 -04:00
foreign Avoid invalidating all foreign-join cached plans when user mappings change. 2016-07-15 17:23:02 -04:00
lib Remove mergeHyperLogLog. 2016-04-27 10:55:32 -04:00
libpq Fix several mistakes around parallel workers and client_encoding. 2016-06-30 18:35:32 -04:00
main Repair a bit of pgindent damage. 2016-06-09 18:09:17 -04:00
nodes Avoid invalidating all foreign-join cached plans when user mappings change. 2016-07-15 17:23:02 -04:00
optimizer Avoid invalidating all foreign-join cached plans when user mappings change. 2016-07-15 17:23:02 -04:00
parser Rethink node-level representation of partial-aggregation modes. 2016-06-26 14:33:38 -04:00
po Translation updates 2016-06-20 09:48:08 -04:00
port pgindent run for 9.6 2016-06-09 18:02:36 -04:00
postmaster Make "postgres -C guc" print "" not "(null)" for null-valued GUCs. 2016-06-22 11:55:18 -04:00
regex Suppress compiler warnings about useless comparison of unsigned to zero. 2016-02-15 17:12:16 -05:00
replication walreceiver: tweak pg_stat_wal_receiver behavior 2016-07-01 13:53:46 -04:00
rewrite pgindent run for 9.6 2016-06-09 18:02:36 -04:00
snowball Update copyright for 2016 2016-01-02 13:33:40 -05:00
storage Adjust spellings of forms of "cancel" 2016-07-14 22:48:26 -04:00
tcop Revert "Add some temporary code to record stack usage at server process exit." 2016-07-10 12:44:20 -04:00
tsearch Add serial comma and quoting to message 2016-07-12 18:37:34 -04:00
utils Avoid invalidating all foreign-join cached plans when user mappings change. 2016-07-15 17:23:02 -04:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
Makefile Provide and use a makefile target to build all generated headers. 2016-07-01 15:09:02 -04:00
common.mk Remove maintainer-check target, fold into normal build 2013-10-10 20:11:56 -04:00
nls.mk Remove trailing slashes from directories in find command 2015-09-18 22:06:54 -04:00