On Sun, Apr 25, 2021 at 04:57:26AM -0700, Noah Misch wrote:
> On Tue, Mar 23, 2021 at 12:03:36PM -0400, Bruce Momjian wrote:
> > On Tue, Mar 23, 2021 at 05:21:30AM +0000, PG Bug reporting form wrote:
> > > postgres=# set intervalstyle='postgres';
> > > SET
> > > postgres=# select interval '-1 year -1 day';
> > > interval
> > > ------------------
> > > -1 years -1 days
> > > (1 row)
> > >
> > > Expected output:
> > > -1 year -1 day
> > >
> > > The code
> > > (https://github.com/postgres/postgres/blob/master/src/backend/utils/adt/datetime.c#L4193)
> > > pluralizes a time unit if the value is not 1, should check both -1 and 1.
>
> >From the first several links at
> https://www.google.com/search?q=negative+one+singular+plural the choice is a
> matter of dispute among English grammar commentators. Singular "-1" is
> popular, and plural "-1" is also popular.
>
> > Wow, interesting. Seems there were a few places in the code that
> > handled this properly, and several that didn't. The attached patch
> > fixes these and updates the regression tests. I will apply this for PG
> > 14 in the next few days. This is too likely to break something to
> > backpatch. Thanks for the report.
>
> Let's not change from one popular spelling to another when doing so creates a
> compatibility hazard. That is to say, I think PostgreSQL would be better with
> this patch reverted.
>
> If we did want to standardize on singular for -1, EVALUATE_MESSAGE_PLURAL()
> would be a key bit of code to change.
Oh, good point. I think we should just pick one and be consistent --- I
don't care which we choose.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
If only the physical world exists, free will is an illusion.