Re: BUG #14632: Plus and minus operators inconsistency with leap years and year intervals.

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Pietro Pugni <pietro(dot)pugni(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #14632: Plus and minus operators inconsistency with leap years and year intervals.
Date: 2017-04-26 23:05:27
Message-ID: CAKFQuwZCG0H_uXBQ1wK+_srF_cgm9jALE6PvkmAPWs1TtZgeOA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Wed, Apr 26, 2017 at 3:44 PM, Pietro Pugni <pietro(dot)pugni(at)gmail(dot)com>
wrote:

> This is inconsistent (and wrong) against the result provided by this query:
> select age('1922-02-28'::date, '1912-02-29'::date)
> age
> -------------------------
> 9 years 11 mons 28 days
>
> I expect it to return ’10 years’ instead.
>

I don't know if you intended to supersize your response but it ended up
that way in my mail client.

I'll agree that the age function has enough data available to it to return
10 years in this case.

28 days, target month is February in a non-leap-year (1922), convert to 1
month. 11 months + 1 month = 12 months = 1 year. 9 years + 1 year = 10
years.

But the provided answer is correct as well...

David J.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Marko Tiikkaja 2017-04-26 23:08:32 Re: BUG #14632: Plus and minus operators inconsistency with leap years and year intervals.
Previous Message Pietro Pugni 2017-04-26 23:01:22 Re: BUG #14632: Plus and minus operators inconsistency with leap years and year intervals.