diff options
author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2014-07-29 10:33:15 +0300 |
---|---|---|
committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2014-07-29 11:58:09 +0300 |
commit | de88ec6bf45477cd02905a8802e79868cb2ffdc3 (patch) | |
tree | f163d3863e047ad1133975c9d40688be4530cb03 /src/backend/access/gist/gist.c | |
parent | 8d49bf1995bcbf79a43e49465a5187d1356c5c8f (diff) | |
download | postgresql-de88ec6bf45477cd02905a8802e79868cb2ffdc3.tar.gz postgresql-de88ec6bf45477cd02905a8802e79868cb2ffdc3.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/access/gist/gist.c')
0 files changed, 0 insertions, 0 deletions