pgsql: logical decoding: fix decoding of a commit's commit time.

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: logical decoding: fix decoding of a commit's commit time.
Date: 2016-03-03 07:46:10
Message-ID: E1abNxa-0002Vm-DS@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

logical decoding: fix decoding of a commit's commit time.

When adding replication origins in 5aa235042, I somehow managed to set
the timestamp of decoded transactions to InvalidXLogRecptr when decoding
one made without a replication origin. Fix that, and the wrong type of
the new commit_time variable.

This didn't trigger a regression test failure because we explicitly
don't show commit timestamps in the regression tests, as they obviously
are variable. Add a test that checks that a decoded commit's timestamp
is within minutes of NOW() from before the commit.

Reported-By: Weiping Qu
Diagnosed-By: Artur Zakirov
Discussion: 56D4197E(dot)9050706(at)informatik(dot)uni-kl(dot)de,
56D42918(dot)1010108(at)postgrespro(dot)ru
Backpatch: 9.5, where 5aa235042 originates.

Branch
------
REL9_5_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/f8a75881f90f88f4dc54f3692e4e1691cf2c0a91

Modified Files
--------------
contrib/test_decoding/Makefile | 2 +-
contrib/test_decoding/expected/time.out | 40 ++++++++++++++++++++++++++++++++
contrib/test_decoding/sql/time.sql | 22 ++++++++++++++++++
src/backend/replication/logical/decode.c | 2 +-
4 files changed, 64 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Magnus Hagander 2016-03-03 09:49:51 pgsql: Add prefix to pl/pgsql global variables and functions
Previous Message Andres Freund 2016-03-03 07:46:09 pgsql: logical decoding: fix decoding of a commit's commit time.