Received: from localhost (maia-2.hub.org [200.46.204.187]) by postgresql.org (Postfix) with ESMTP id F0B539FB6DA; Mon, 2 Apr 2007 19:46:28 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.187]) (amavisd-maia, port 10024) with ESMTP id 22125-05; Mon, 2 Apr 2007 19:46:21 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.4 X-Greylist: from auto-whitelisted by SQLgrey-1.7.4 Received: from momjian.us (momjian.us [70.90.9.53]) by postgresql.org (Postfix) with ESMTP id F153A9FB65D; Mon, 2 Apr 2007 19:46:24 -0300 (ADT) Received: (from bruce@localhost) by momjian.us (8.11.6/8.11.6) id l32MkFI13247; Mon, 2 Apr 2007 18:46:15 -0400 (EDT) From: Bruce Momjian Message-Id: <200704022246.l32MkFI13247@momjian.us> Subject: Re: [HACKERS] timestamp subtraction (was Re: formatting intervals with to_char) In-Reply-To: <20070223162426.GI19527@nasby.net> To: "Jim C. Nasby" Date: Mon, 2 Apr 2007 18:46:15 -0400 (EDT) CC: Jim Nasby , Tom Lane , gdavis@refractions.net, pgsql-sql@postgresql.org, pgsql-hackers@postgresql.org X-Mailer: ELM [version 2.4ME+ PL123] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="US-ASCII" X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200704/13 X-Sequence-Number: 28013 Added to TODO: o Have timestamp subtraction not call justify_hours()? http://archives.postgresql.org/pgsql-sql/2006-10/msg00059.php --------------------------------------------------------------------------- Jim C. Nasby wrote: > Yes, but if it was '2004-01-02 01:00:00'-'2004-01-01 00:00:00' it should > return 25:00:00, not 1 day 1:00. > > I agree with Tom that this should be changed; I'm just arguing that we > might well need a backwards-compatibility solution for a while. At the > very least we'd need to make this change very clear to users. > > On Tue, Feb 20, 2007 at 08:07:11PM -0500, Bruce Momjian wrote: > > > > One problem with removing justify_hours() is that this is going to > > return '24:00:00', rather than '1 day: > > > > test=> select '2004-01-02 00:00:00'::timestamptz - '2004-01-01 > > 00:00:00'::timestamptz; > > ?column? > > ---------- > > 24:00:00 > > (1 row) > > > > --------------------------------------------------------------------------- > > > > Jim Nasby wrote: > > > On Oct 5, 2006, at 11:50 AM, Tom Lane wrote: > > > > regression=# select ('2006-09-15 23:59:00'::timestamp - '2006-09-01 > > > > 09:30:41'::timestamp); > > > > ?column? > > > > ------------------ > > > > 14 days 14:28:19 > > > > (1 row) > > > > > > > > should be reporting '350:28:19' instead. > > > > > > > > This is a hack that was done to minimize the changes in the regression > > > > test expected outputs when we changed type interval from months/ > > > > seconds > > > > to months/days/seconds. But I wonder whether it wasn't a dumb idea. > > > > It is certainly inconsistent, as noted in the code comments. > > > > > > > > I'm tempted to propose that we remove the justify_hours call, and tell > > > > anyone who really wants the old results to apply justify_hours() to > > > > the > > > > subtraction result for themselves. Not sure what the fallout would > > > > be, > > > > though. > > > > > > I suspect there's applications out there that are relying on that > > > being nicely formated for display purposes. > > > > > > I agree it should be removed, but we might need a form of backwards > > > compatibility for a version or two... > > > -- > > > Jim Nasby jimn@enterprisedb.com > > > EnterpriseDB http://enterprisedb.com 512.569.9461 (cell) > > > > > > > > > > > > ---------------------------(end of broadcast)--------------------------- > > > TIP 3: Have you checked our extensive FAQ? > > > > > > http://www.postgresql.org/docs/faq > > > > -- > > Bruce Momjian http://momjian.us > > EnterpriseDB http://www.enterprisedb.com > > > > + If your life is a hard drive, Christ can be your backup. + > > > > ---------------------------(end of broadcast)--------------------------- > > TIP 2: Don't 'kill -9' the postmaster > > -- > Jim Nasby jim@nasby.net > EnterpriseDB http://enterprisedb.com 512.569.9461 (cell) > > ---------------------------(end of broadcast)--------------------------- > TIP 1: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly -- Bruce Momjian http://momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +