Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/utils/adt/date.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/src/backend/utils/adt/date.c b/src/backend/utils/adt/date.c
index 56c7746c11f..544e1d32bfc 100644
--- a/src/backend/utils/adt/date.c
+++ b/src/backend/utils/adt/date.c
@@ -2012,19 +2012,10 @@ interval_time(PG_FUNCTION_ARGS)
{
Interval *span = PG_GETARG_INTERVAL_P(0);
TimeADT result;
- int64 days;
- result = span->time;
- if (result >= USECS_PER_DAY)
- {
- days = result / USECS_PER_DAY;
- result -= days * USECS_PER_DAY;
- }
- else if (result < 0)
- {
- days = (-result + USECS_PER_DAY - 1) / USECS_PER_DAY;
- result += days * USECS_PER_DAY;
- }
+ result = span->time % USECS_PER_DAY;
+ if (result < 0)
+ result += USECS_PER_DAY;
PG_RETURN_TIMEADT(result);
}