mirror of
https://github.com/postgres/postgres.git
synced 2025-08-19 23:22:23 +03:00
Add datetime macros for constants, for clarity:
#define SECS_PER_DAY 86400 #define USECS_PER_DAY INT64CONST(86400000000) #define USECS_PER_HOUR INT64CONST(3600000000) #define USECS_PER_MINUTE INT64CONST(60000000) #define USECS_PER_SEC INT64CONST(1000000)
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/nabstime.c,v 1.128 2005/04/19 03:13:59 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/nabstime.c,v 1.129 2005/05/23 18:56:55 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -130,7 +130,7 @@ AbsoluteTimeUsecToTimestampTz(AbsoluteTime sec, int usec)
|
||||
|
||||
#ifdef HAVE_INT64_TIMESTAMP
|
||||
result = ((sec - ((POSTGRES_EPOCH_JDATE - UNIX_EPOCH_JDATE) * 86400))
|
||||
* INT64CONST(1000000)) + usec;
|
||||
* USECS_PER_SEC) + usec;
|
||||
#else
|
||||
result = sec - ((POSTGRES_EPOCH_JDATE - UNIX_EPOCH_JDATE) * 86400)
|
||||
+ (usec / 1000000.0);
|
||||
@@ -948,7 +948,7 @@ interval_reltime(PG_FUNCTION_ARGS)
|
||||
#ifdef HAVE_INT64_TIMESTAMP
|
||||
span = ((((INT64CONST(365250000) * year) + (INT64CONST(30000000) * month))
|
||||
* INT64CONST(86400)) + interval->time);
|
||||
span /= INT64CONST(1000000);
|
||||
span /= USECS_PER_SEC;
|
||||
#else
|
||||
span = (((((double) 365.25 * year) + ((double) 30 * month)) * 86400) + interval->time);
|
||||
#endif
|
||||
@@ -989,7 +989,7 @@ reltime_interval(PG_FUNCTION_ARGS)
|
||||
month = (reltime / (30 * 86400));
|
||||
reltime -= (month * (30 * 86400));
|
||||
|
||||
result->time = (reltime * INT64CONST(1000000));
|
||||
result->time = (reltime * USECS_PER_SEC);
|
||||
#else
|
||||
TMODULO(reltime, year, (36525 * 864));
|
||||
TMODULO(reltime, month, (30 * 86400));
|
||||
|
Reference in New Issue
Block a user