diff options
author | Andres Freund <andres@anarazel.de> | 2016-07-15 14:37:06 -0700 |
---|---|---|
committer | Andres Freund <andres@anarazel.de> | 2016-07-15 14:45:38 -0700 |
commit | b33e81cba8ae9c86639d666a24b6221a797ec594 (patch) | |
tree | 932249e386ee7aeab4e7fc8d6e8567f95032ee9f /src/backend/utils/adt/geo_ops.c | |
parent | 649dd1b58b90754c67be86e99bd3af1bc3ab2c99 (diff) | |
download | postgresql-b33e81cba8ae9c86639d666a24b6221a797ec594.tar.gz postgresql-b33e81cba8ae9c86639d666a24b6221a797ec594.zip |
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.
Diffstat (limited to 'src/backend/utils/adt/geo_ops.c')
0 files changed, 0 insertions, 0 deletions