From: Bruce Momjian Date: Thu, 21 Jul 2005 05:18:26 +0000 (+0000) Subject: Fix integer timestamp build for macro changes. X-Git-Tag: REL8_1_0BETA1~272 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b4bdab8105b4057032891e5d5f4d080d9d9ce38c;p=postgresql Fix integer timestamp build for macro changes. --- diff --git a/src/backend/utils/adt/timestamp.c b/src/backend/utils/adt/timestamp.c index 0ae8314480..0ef505ed90 100644 --- a/src/backend/utils/adt/timestamp.c +++ b/src/backend/utils/adt/timestamp.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.136 2005/07/21 04:41:43 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.137 2005/07/21 05:18:26 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -1208,8 +1208,8 @@ tm2interval(struct pg_tm *tm, fsec_t fsec, Interval *span) span->month = tm->tm_year * MONTHS_PER_YEAR + tm->tm_mon; span->day = tm->tm_mday; #ifdef HAVE_INT64_TIMESTAMP - span->time = (((((tm->tm_hour * INT64CONST(SECS_PER_MINUTE)) + - tm->tm_min) * INT64CONST(SECS_PER_MINUTE)) + + span->time = (((((tm->tm_hour * INT64CONST(60)) + + tm->tm_min) * INT64CONST(60)) + tm->tm_sec) * USECS_PER_SEC) + fsec; #else span->time = (((tm->tm_hour * (double)SECS_PER_MINUTE) + @@ -1608,10 +1608,10 @@ interval_cmp_internal(Interval *interval1, Interval *interval2) span2 = interval2->time; #ifdef HAVE_INT64_TIMESTAMP - span1 += interval1->month * INT64CONST(DAYS_PER_MONTH) * USECS_PER_DAY; - span1 += interval1->day * INT64CONST(HOURS_PER_DAY) * USECS_PER_HOUR; - span2 += interval2->month * INT64CONST(DAYS_PER_MONTH) * USECS_PER_DAY; - span2 += interval2->day * INT64CONST(HOURS_PER_DAY) * USECS_PER_HOUR; + span1 += interval1->month * INT64CONST(30) * USECS_PER_DAY; + span1 += interval1->day * INT64CONST(24) * USECS_PER_HOUR; + span2 += interval2->month * INT64CONST(30) * USECS_PER_DAY; + span2 += interval2->day * INT64CONST(24) * USECS_PER_HOUR; #else span1 += interval1->month * ((double)DAYS_PER_MONTH * SECS_PER_DAY); span1 += interval1->day * ((double)HOURS_PER_DAY * SECS_PER_HOUR); @@ -2264,8 +2264,8 @@ interval_mul(PG_FUNCTION_ARGS) result->month = months; result->day = days; result->time = span1->time * factor; - result->time += (months - result->month) * INT64CONST(DAYS_PER_MONTH) * USECS_PER_DAY; - result->time += (days - result->day) * INT64CONST(HOURS_PER_DAY) * USECS_PER_HOUR; + result->time += (months - result->month) * INT64CONST(30) * USECS_PER_DAY; + result->time += (days - result->day) * INT64CONST(24) * USECS_PER_HOUR; #else result->month = (int)months; result->day = (int)days; diff --git a/src/interfaces/ecpg/pgtypeslib/interval.c b/src/interfaces/ecpg/pgtypeslib/interval.c index 4d7ede931c..3fa176be84 100644 --- a/src/interfaces/ecpg/pgtypeslib/interval.c +++ b/src/interfaces/ecpg/pgtypeslib/interval.c @@ -717,9 +717,9 @@ tm2interval(struct tm *tm, fsec_t fsec, interval *span) { span->month = tm->tm_year * MONTHS_PER_YEAR + tm->tm_mon; #ifdef HAVE_INT64_TIMESTAMP - span->time = (((((((tm->tm_mday * INT64CONST(HOURS_PER_DAY)) + - tm->tm_hour) * INT64CONST(SECS_PER_MINUTE)) + - tm->tm_min) * INT64CONST(SECS_PER_MINUTE)) + + span->time = (((((((tm->tm_mday * INT64CONST(24)) + + tm->tm_hour) * INT64CONST(60)) + + tm->tm_min) * INT64CONST(60)) + tm->tm_sec) * USECS_PER_SEC) + fsec; #else span->time = (((((tm->tm_mday * (double)HOURS_PER_DAY) +