From b5f7cff84f57a189ed5c9dd59efe8d2568649d0d Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 29 Jun 2005 22:51:57 +0000 Subject: Clean up the rather historically encumbered interface to now() and current time: provide a GetCurrentTimestamp() function that returns current time in the form of a TimestampTz, instead of separate time_t and microseconds fields. This is what all the callers really want anyway, and it eliminates low-level dependencies on AbsoluteTime, which is a deprecated datatype that will have to disappear eventually. --- src/backend/access/transam/xact.c | 35 +++++++++-------------------------- 1 file changed, 9 insertions(+), 26 deletions(-) (limited to 'src/backend/access/transam/xact.c') diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index a5d53d3e14..1df9cfa7ba 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/access/transam/xact.c,v 1.208 2005/06/28 05:08:51 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/access/transam/xact.c,v 1.209 2005/06/29 22:51:53 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -168,12 +168,11 @@ static SubTransactionId currentSubTransactionId; static CommandId currentCommandId; /* - * These vars hold the value of now(), ie, the transaction start time. + * This is the value of now(), ie, the transaction start time. * This does not change as we enter and exit subtransactions, so we don't * keep it inside the TransactionState stack. */ -static AbsoluteTime xactStartTime; /* integer part */ -static int xactStartTimeUsec; /* microsecond part */ +static TimestampTz xactStartTimestamp; /* * GID to be used for preparing the current transaction. This is also @@ -420,28 +419,15 @@ GetCurrentCommandId(void) return currentCommandId; } - -/* - * GetCurrentTransactionStartTime - */ -AbsoluteTime -GetCurrentTransactionStartTime(void) -{ - return xactStartTime; -} - - /* - * GetCurrentTransactionStartTimeUsec + * GetCurrentTransactionStartTimestamp */ -AbsoluteTime -GetCurrentTransactionStartTimeUsec(int *msec) +TimestampTz +GetCurrentTransactionStartTimestamp(void) { - *msec = xactStartTimeUsec; - return xactStartTime; + return xactStartTimestamp; } - /* * GetCurrentTransactionNestLevel * @@ -1391,7 +1377,7 @@ StartTransaction(void) /* * set now() */ - xactStartTime = GetCurrentAbsoluteTimeUsec(&(xactStartTimeUsec)); + xactStartTimestamp = GetCurrentTimestamp(); /* * initialize current transaction state fields @@ -1633,8 +1619,6 @@ PrepareTransaction(void) TransactionId xid = GetCurrentTransactionId(); GlobalTransaction gxact; TimestampTz prepared_at; - AbsoluteTime PreparedSec; /* integer part */ - int PreparedUSec; /* microsecond part */ ShowTransactionState("PrepareTransaction"); @@ -1697,8 +1681,7 @@ PrepareTransaction(void) */ s->state = TRANS_PREPARE; - PreparedSec = GetCurrentAbsoluteTimeUsec(&PreparedUSec); - prepared_at = AbsoluteTimeUsecToTimestampTz(PreparedSec, PreparedUSec); + prepared_at = GetCurrentTimestamp(); /* Tell bufmgr and smgr to prepare for commit */ BufmgrCommit(); -- cgit v1.2.1