Re: BUG #7722: extract(epoch from age(...)) appears to be broken

From: "Francisco Olarte (M)" <folarte(at)peoplecall(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, aanisimov(at)inbox(dot)ru, pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #7722: extract(epoch from age(...)) appears to be broken
Date: 2012-12-04 19:18:31
Message-ID: CA+bJJbzvxnv2_mP4e6nH8Tx3mRuv_u0z7X3NQk+Sm+gLhUTZZA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-docs

> Wow, that is a weird case. In the first test, we count the number of
> days because it is less than a full month. In the second case, we call
> it a full month, but then forget how long it is. Not sure how we could
> improve this.

I do not think this needs to be improved, the problem is given two
dates you can substract them in three different ways,

1.- (year months)+(days)+(hours minutes seconds), which is what age
does and is documented as such.

folarte=# select age('2013-11-24 16:41:31','2012-10-23 15:56:10');
age
-----------------------------
1 year 1 mon 1 day 00:45:21
(1 row)

Which is apropiate for things like 'I'm xxx old'

2.- (days)+(hours-minutes-seconds), which is what substractint dates
do ( or seems to do for me, as I've done:

select timestamp '2013-11-23 16:41:31' - '2012-10-23 15:56:10';
?column?
-------------------
396 days 00:45:21

Which I can not find a use for, but there sure are and I'm doomed to
find one soon.

3.- Exact duration ( I do this a lot at work as I need to calculate
call durations ):

folarte=# select extract(epoch from timestamp '2013-11-23 16:41:31') -
extract(epoch from timestamp '2012-10-23 15:56:10');
?column?
----------
34217121
(1 row)

folarte=# select (extract(epoch from timestamp '2013-11-23 16:41:31')
- extract(epoch from timestamp '2012-10-23 15:56:10')) * interval '1
second';
?column?
------------
9504:45:21
(1 row)

The problem I see is intervals are really complicated and difficult to
undestand, so it is at most a documentation problem ( people usually
understimate the difficulty of working with them, I see this a lot at
work ).

Francisco Olarte.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Jeff Janes 2012-12-04 22:48:37 Re: PITR potentially broken in 9.2
Previous Message marco_aapj 2012-12-04 14:21:48 BUG #7728: Trouble installing postgresql for the first time

Browse pgsql-docs by date

  From Date Subject
Next Message 劉維毅 2012-12-14 04:05:21 Excuse me! Could i to ask a question?
Previous Message Артем Анисимов 2012-12-04 05:16:14 Re: BUG #7722: extract(epoch from age(...)) appears to be broken