|
8 | 8 | *
|
9 | 9 | *
|
10 | 10 | * IDENTIFICATION
|
11 |
| - * $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.136 2005/07/21 04:41:43 momjian Exp $ |
| 11 | + * $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.137 2005/07/21 05:18:26 momjian Exp $ |
12 | 12 | *
|
13 | 13 | *-------------------------------------------------------------------------
|
14 | 14 | */
|
@@ -1208,8 +1208,8 @@ tm2interval(struct pg_tm *tm, fsec_t fsec, Interval *span)
|
1208 | 1208 | span->month = tm->tm_year * MONTHS_PER_YEAR + tm->tm_mon;
|
1209 | 1209 | span->day = tm->tm_mday;
|
1210 | 1210 | #ifdef HAVE_INT64_TIMESTAMP
|
1211 |
| - span->time = (((((tm->tm_hour * INT64CONST(SECS_PER_MINUTE)) + |
1212 |
| - tm->tm_min) * INT64CONST(SECS_PER_MINUTE)) + |
| 1211 | + span->time = (((((tm->tm_hour * INT64CONST(60)) + |
| 1212 | + tm->tm_min) * INT64CONST(60)) + |
1213 | 1213 | tm->tm_sec) * USECS_PER_SEC) + fsec;
|
1214 | 1214 | #else
|
1215 | 1215 | span->time = (((tm->tm_hour * (double)SECS_PER_MINUTE) +
|
@@ -1608,10 +1608,10 @@ interval_cmp_internal(Interval *interval1, Interval *interval2)
|
1608 | 1608 | span2 = interval2->time;
|
1609 | 1609 |
|
1610 | 1610 | #ifdef HAVE_INT64_TIMESTAMP
|
1611 |
| - span1 += interval1->month * INT64CONST(DAYS_PER_MONTH) * USECS_PER_DAY; |
1612 |
| - span1 += interval1->day * INT64CONST(HOURS_PER_DAY) * USECS_PER_HOUR; |
1613 |
| - span2 += interval2->month * INT64CONST(DAYS_PER_MONTH) * USECS_PER_DAY; |
1614 |
| - span2 += interval2->day * INT64CONST(HOURS_PER_DAY) * USECS_PER_HOUR; |
| 1611 | + span1 += interval1->month * INT64CONST(30) * USECS_PER_DAY; |
| 1612 | + span1 += interval1->day * INT64CONST(24) * USECS_PER_HOUR; |
| 1613 | + span2 += interval2->month * INT64CONST(30) * USECS_PER_DAY; |
| 1614 | + span2 += interval2->day * INT64CONST(24) * USECS_PER_HOUR; |
1615 | 1615 | #else
|
1616 | 1616 | span1 += interval1->month * ((double)DAYS_PER_MONTH * SECS_PER_DAY);
|
1617 | 1617 | span1 += interval1->day * ((double)HOURS_PER_DAY * SECS_PER_HOUR);
|
@@ -2264,8 +2264,8 @@ interval_mul(PG_FUNCTION_ARGS)
|
2264 | 2264 | result->month = months;
|
2265 | 2265 | result->day = days;
|
2266 | 2266 | result->time = span1->time * factor;
|
2267 |
| - result->time += (months - result->month) * INT64CONST(DAYS_PER_MONTH) * USECS_PER_DAY; |
2268 |
| - result->time += (days - result->day) * INT64CONST(HOURS_PER_DAY) * USECS_PER_HOUR; |
| 2267 | + result->time += (months - result->month) * INT64CONST(30) * USECS_PER_DAY; |
| 2268 | + result->time += (days - result->day) * INT64CONST(24) * USECS_PER_HOUR; |
2269 | 2269 | #else
|
2270 | 2270 | result->month = (int)months;
|
2271 | 2271 | result->day = (int)days;
|
|
0 commit comments