Martin A. Brooks wrote:
> 
> The following bug has been logged online:
> 
> Bug reference:      6028
> Logged by:          Martin A. Brooks
> Email address:      mar...@antibodymx.net
> PostgreSQL version: 9.0.4
> Operating system:   Debian/GNU Linux 6
> Description:        age() function output contracts "months", but not any
> other units.
> Details: 
> 
> Hi
> 
> postgres=# select age(now(),'1973-12-20'::timestamp);
>                    age                   
> -----------------------------------------
>  37 years 4 mons 28 days 15:33:49.041831
> (1 row)
> 
> 
> Note "mons" and not "months".  And if "mons", why not "yrs" and "dys"?

I was hoping someone else knew a good answer to this question, but now
that no one replied --- I have no idea on it was done this way.  I think
this code came from Berkeley.  My guess is that the spelling was based
on the libc struct tm field names:

           int tm_mday;    /* day of month (1 - 31) */
           int tm_mon;     /* month of year (0 - 11) */
           int tm_year;    /* year - 1900 */

The only clear answer I can think of is that "month" has five letters,
and "year" and "day" have less then five letters.  :-|

Does anyone feel this is worth changing?  I am concerned such a change
would break many user applications.

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to