Re: BUG #16939: Plural interval for negative singular

Noah Misch <noah@leadboat.com>

From: Noah Misch <noah@leadboat.com>
To: Bruce Momjian <bruce@momjian.us>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, neverov.max@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2021-04-30T03:15:01Z
Lists: pgsql-bugs
On Thu, Apr 29, 2021 at 09:00:04PM -0400, Bruce Momjian wrote:
> On Tue, Apr 27, 2021 at 10:44:15PM -0700, Noah Misch wrote:
> > On Tue, Apr 27, 2021 at 04:10:19PM -0400, Bruce Momjian wrote:
> > > Yes, I found the same like you did.  Are you saying we should remove the
> > > abs() calls here so we are consistent?
> > 
> > No, I advise just reverting 5da9868.  The output funcs should keep doing what
> > they did in v13, inconsistency and all.
> > 
> > I was asking the above question to see which of singular or plural was more
> > common before $SUBJECT's commit.  I count two examples of singular and seven
> > examples of plural (one in EVALUATE_MESSAGE_PLURAL(), six modified in commit
> > 5da9868).  Given that, ...
> > 
> > On Mon, Apr 26, 2021 at 01:06:16PM -0400, Bruce Momjian wrote:
> > > Well, we should then add a comment that this is inconsistent but should
> > > not be changed.
> > 
> > ... adding comments to the two places that use abs() to achieve singular "-1"
> > sounds fine.
> 
> OK, first, I never realized that saying -1 plural was valid.  Second,
> the two places you showed are actually using abs() properly since
> negative values are shown with an "ago" suffix, not a negative sign:
> 
> 	SET intervalstyle = postgres_verbose;
> 
> 	SELECT '2020-01-01 01:03:00'::timestamptz - '2020-01-01 02:02:01'::timestamptz;
> 	      ?column?
> 	---------------------
> 	 @ 59 mins 1 sec ago
> 	(1 row)

Nice.  The legendary consistency of PostgreSQL remains intact.

> Attached is a patch which reverts 9ee7d533da and 5da9868ed9, and adds a
> comment about the "ago" usage.

Looks good.



Commits

  1. In messages, use singular nouns for -1, like we do for +1.