postgrespro.git / summary / log / commit / refs

commit    86896be60ef7ace74b7b6858588ec7fae030fefd
Author:   Andres Freund <andres@anarazel.de>
Date:     Thu Oct 11 18:30:59 2018 +0000

    Move timeofday() implementation out of nabstime.c.
    
    nabstime.c is about to be removed, but timeofday() isn't related to
    the rest of the functionality therein, and some find it useful. Move
    to timestamp.c.
    
    Discussion:
        https://postgr.es/m/20181009192237.34wjp3nmw7oynmmr@alap3.anarazel.de
        https://postgr.es/m/20180928223240.kgwc4czzzekrpsid%40alap3.anarazel.de


src/backend/utils/adt/nabstime.c | 29 ----------------------------- src/backend/utils/adt/timestamp.c | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+), 29 deletions(-) diff --git a/src/backend/utils/adt/nabstime.c b/src/backend/utils/adt/nabstime.c index 6ecb41b98f..2c8e7ad055 100644 --- a/src/backend/utils/adt/nabstime.c +++ b/src/backend/utils/adt/nabstime.c @@ -1539,32 +1539,3 @@ bogus: "tinterval", i_string))); *i_start = *i_end = INVALID_ABSTIME; /* keep compiler quiet */ } - - -/***************************************************************************** - * - *****************************************************************************/ - -/* - * timeofday - - * returns the current time as a text. similar to timenow() but returns - * seconds with more precision (up to microsecs). (I need this to compare - * the Wisconsin benchmark with Illustra whose TimeNow() shows current - * time with precision up to microsecs.) - ay 3/95 - */ -Datum -timeofday(PG_FUNCTION_ARGS) -{ - struct timeval tp; - char templ[128]; - char buf[128]; - pg_time_t tt; - - gettimeofday(&tp, NULL); - tt = (pg_time_t) tp.tv_sec; - pg_strftime(templ, sizeof(templ), "%a %b %d %H:%M:%S.%%06d %Y %Z", - pg_localtime(&tt, session_timezone)); - snprintf(buf, sizeof(buf), templ, tp.tv_usec); - - PG_RETURN_TEXT_P(cstring_to_text(buf)); -} diff --git a/src/backend/utils/adt/timestamp.c b/src/backend/utils/adt/timestamp.c index 284e14dd73..ba15a29ddb 100644 --- a/src/backend/utils/adt/timestamp.c +++ b/src/backend/utils/adt/timestamp.c @@ -1609,6 +1609,26 @@ GetSQLLocalTimestamp(int32 typmod) return ts; } +/* + * timeofday(*) -- returns the current time as a text. + */ +Datum +timeofday(PG_FUNCTION_ARGS) +{ + struct timeval tp; + char templ[128]; + char buf[128]; + pg_time_t tt; + + gettimeofday(&tp, NULL); + tt = (pg_time_t) tp.tv_sec; + pg_strftime(templ, sizeof(templ), "%a %b %d %H:%M:%S.%%06d %Y %Z", + pg_localtime(&tt, session_timezone)); + snprintf(buf, sizeof(buf), templ, tp.tv_usec); + + PG_RETURN_TEXT_P(cstring_to_text(buf)); +} + /* * TimestampDifference -- convert the difference between two timestamps * into integer seconds and microseconds [parent: e9edc1ba0be2]