pgsql: Fix commit_ts for FrozenXid and BootstrapXid

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix commit_ts for FrozenXid and BootstrapXid
Date: 2016-11-24 18:42:30
Message-ID: E1c9yyc-0000fy-DU@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix commit_ts for FrozenXid and BootstrapXid

Previously, requesting commit timestamp for transactions
FrozenTransactionId and BootstrapTransactionId resulted in an error.
But since those values can validly appear in committed tuples' Xmin,
this behavior is unhelpful and error prone: each caller would have to
special-case those values before requesting timestamp data for an Xid.
We already have a perfectly good interface for returning "the Xid you
requested is too old for us to have commit TS data for it", so let's use
that instead.

Backpatch to 9.5, where commit timestamps appeared.

Author: Craig Ringer
Discussion: https://www.postgresql.org/message-id/CAMsr+YFM5Q=+ry3mKvWEqRTxrB0iU3qUSRnS28nz6FJYtBwhJg@mail.gmail.com

Branch
------
REL9_6_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/9b66342901f2a3845fe2b44c647bb1316220975c

Modified Files
--------------
src/backend/access/transam/commit_ts.c | 11 +++++++++--
src/test/modules/commit_ts/expected/commit_timestamp.out | 12 ++++++++++--
src/test/modules/commit_ts/expected/commit_timestamp_1.out | 12 ++++++++++--
src/test/modules/commit_ts/t/004_restart.pl | 14 ++++----------
4 files changed, 33 insertions(+), 16 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2016-11-24 19:13:47 pgsql: Check that default_tablespace affects ALTER TABLE ADD UNIQUE/PRI
Previous Message Tom Lane 2016-11-23 21:26:47 pgsql: Avoid masking a function parameter name with a local variable na