Reset pg_stat_activity.xact_start during PREPARE TRANSACTION.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: d19bd29f07aef9e508ff047d128a4046cc8bc1e2
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2014-04-24T17:29:48Z
Releases: 9.4.0
Reset pg_stat_activity.xact_start during PREPARE TRANSACTION.

Once we've completed a PREPARE, our session is not running a transaction,
so its entry in pg_stat_activity should show xact_start as null, rather
than leaving the value as the start time of the now-prepared transaction.

I think possibly this oversight was triggered by faulty extrapolation
from the adjacent comment that says PrepareTransaction should not call
AtEOXact_PgStat, so tweak the wording of that comment.

Noted by Andres Freund while considering bug #10123 from Maxim Boguk,
although this error doesn't seem to explain that report.

Back-patch to all active branches.

Files

PathChange+/−
src/backend/access/transam/xact.c modified +2 −1