Re: BUG #18348: Inconsistency with EXTRACT([field] from INTERVAL);
Bruce Momjian <bruce@momjian.us>
From: Bruce Momjian <bruce@momjian.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: jian he <jian.universality@gmail.com>, Francisco Olarte <folarte@peoplecall.com>, Michael Bondarenko <work.michael.2956@gmail.com>, pgsql-bugs@lists.postgresql.org, dgrowleyml@gmail.com, Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Date: 2024-08-16T15:52:38Z
Lists: pgsql-bugs, pgsql-hackers
On Fri, Aug 16, 2024 at 11:37:55AM -0400, Tom Lane wrote: > Bruce Momjian <bruce@momjian.us> writes: > > On Thu, Aug 15, 2024 at 10:45:58PM -0400, Bruce Momjian wrote: > >> I tested master, patch version 2 and patch version 3 with some sample > >> extract() queries, attached. I like patch version 2. > > I'm still pretty dissatisfied with both versions :-( > > > I think there are two more issues. In patch version 3, when months is > > zero and you check days, you should also check seconds if days is zero. > > Eh? v3 does that: > > + else if (interval->day > 0 || > + (interval->day == 0 && interval->time >= 0)) Oh, sorry, I missed that detail. > But I'm starting to despair of reaching a solution that's actually > self-consistent. Maybe we should leave the DTK_QUARTER behavior > alone, and content ourselves with adding DTK_WEEK. Well, I liked that -4 months actually was in -2 quarter. I see your point that if 0-2 is Q1, why is only -1 to -2 in minus Q1, but I think I can live with that on the assumption that negative months can be handled differently. -- Bruce Momjian <bruce@momjian.us> https://momjian.us EDB https://enterprisedb.com Only you can decide what is important to you.
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix extraction of week and quarter fields from intervals.
- 6be39d77a70d 18.0 landed
-
Doc: improve explanation of type interval, especially extract().
- fcd210d496da 17.0 landed
- ebf52e9b7532 14.12 landed
- eb1d008a7a18 13.15 landed
- 6d03e8109250 15.7 landed
- 3ad319b8cad4 16.3 landed