mirror of
https://github.com/postgres/postgres.git
synced 2025-11-09 06:21:09 +03:00
Change the timestamps recorded in transaction commit/abort xlog records
from time_t to TimestampTz representation. This provides full gettimeofday() resolution of the timestamps, which might be useful when attempting to do point-in-time recovery --- previously it was not possible to specify the stop point with sub-second resolution. But mostly this is to get rid of TimestampTz-to-time_t conversion overhead during commit. Per my proposal of a day or two back.
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/access/transam/twophase.c,v 1.29 2007/04/03 16:34:35 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/access/transam/twophase.c,v 1.30 2007/04/30 21:01:52 tgl Exp $
|
||||
*
|
||||
* NOTES
|
||||
* Each global transaction is associated with a global transaction
|
||||
@@ -1675,7 +1675,7 @@ RecordTransactionCommitPrepared(TransactionId xid,
|
||||
|
||||
/* Emit the XLOG commit record */
|
||||
xlrec.xid = xid;
|
||||
xlrec.crec.xtime = time(NULL);
|
||||
xlrec.crec.xact_time = GetCurrentTimestamp();
|
||||
xlrec.crec.nrels = nrels;
|
||||
xlrec.crec.nsubxacts = nchildren;
|
||||
rdata[0].data = (char *) (&xlrec);
|
||||
@@ -1753,7 +1753,7 @@ RecordTransactionAbortPrepared(TransactionId xid,
|
||||
|
||||
/* Emit the XLOG abort record */
|
||||
xlrec.xid = xid;
|
||||
xlrec.arec.xtime = time(NULL);
|
||||
xlrec.arec.xact_time = GetCurrentTimestamp();
|
||||
xlrec.arec.nrels = nrels;
|
||||
xlrec.arec.nsubxacts = nchildren;
|
||||
rdata[0].data = (char *) (&xlrec);
|
||||
|
||||
Reference in New Issue
Block a user