From eec501c4f773add9f30789efc28f8ce3bf2e5de9 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 8 Nov 2008 20:51:49 +0000 Subject: [PATCH] Fix recently added code for SQL years-months interval syntax so that it behaves correctly for a leading minus sign, zero year value, and nonzero month value. Per discussion with Ron Mayer. --- src/backend/utils/adt/datetime.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c index 0ec29c7cb8..8efe2b22f2 100644 --- a/src/backend/utils/adt/datetime.c +++ b/src/backend/utils/adt/datetime.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.195 2008/10/02 13:47:38 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.196 2008/11/08 20:51:49 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -2863,7 +2863,7 @@ DecodeInterval(char **field, int *ftype, int nf, int range, if (*cp != '\0') return DTERR_BAD_FORMAT; type = DTK_MONTH; - if (val < 0) + if (*field[i] == '-') val2 = -val2; val = val * MONTHS_PER_YEAR + val2; fval = 0; -- 2.40.0