aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/json.c
diff options
context:
space:
mode:
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>2014-07-29 10:33:15 +0300
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>2014-07-29 11:57:52 +0300
commita2a718b2231a84bc120c4c81d12c9350ad78e3d4 (patch)
treee6b895a5ed2b5a9dbc2c2bcd1a9f01e40b923668 /src/backend/utils/adt/json.c
parent51fc6133488a80a1310972b8a0ad20aca13f5b02 (diff)
downloadpostgresql-a2a718b2231a84bc120c4c81d12c9350ad78e3d4.tar.gz
postgresql-a2a718b2231a84bc120c4c81d12c9350ad78e3d4.zip
Treat 2PC commit/abort the same as regular xacts in recovery.
There were several oversights in recovery code where COMMIT/ABORT PREPARED records were ignored: * pg_last_xact_replay_timestamp() (wasn't updated for 2PC commits) * recovery_min_apply_delay (2PC commits were applied immediately) * recovery_target_xid (recovery would not stop if the XID used 2PC) The first of those was reported by Sergiy Zuban in bug #11032, analyzed by Tom Lane and Andres Freund. The bug was always there, but was masked before commit d19bd29f07aef9e508ff047d128a4046cc8bc1e2, because COMMIT PREPARED always created an extra regular transaction that was WAL-logged. Backpatch to all supported versions (older versions didn't have all the features and therefore didn't have all of the above bugs).
Diffstat (limited to 'src/backend/utils/adt/json.c')
0 files changed, 0 insertions, 0 deletions