From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Should we throw error when converting a nonexistent/ambiguous timestamp? |
Date: | 2010-03-16 01:22:32 |
Message-ID: | 603c8f071003151822p79e7127ap848a448b013a0c@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Mar 15, 2010 at 9:12 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>> On Mon, Mar 15, 2010 at 7:50 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>> I'm starting to think that maybe we should throw error in these cases
>>> instead of silently doing something that's got a 50-50 chance of being
>>> wrong. I'm not sure if the "assume standard time" rule is standardized,
>>> but I think it might be better if we dropped it. Thoughts?
>
>> That seems overly picky and fairly pointless to me. Generally I'm a
>> big fan of the idea that obvious breakage is better than silent
>> breakage, but in this case it seems highly likely that you'll still
>> have silent breakage until such time as a time change rolls around.
>
> Yes, that's true, the failure will only be apparent when a DST
> transition is sufficiently close by. However, the problem with the
> current behavior is that the failure isn't obvious even then ---
> you might not notice the data inconsistency until much later when
> it's not possible to sort things out.
I disagree. Even if the application DOES record a wrong time-stamp,
it's likely to be wrong by exactly an hour, or say two hours, and it
may well be possible to reconstruct what should have happened later;
an application crash may be result in no data being recorded at all,
and may therefore be harder to recover from. Alternatively the
timestamp may be used for something non-critical, like logging a
last-changed time, and now you've turned a minor inaccuracy into an
application crash. The scenario you describe is possible too, but
it's not clear-cut. If we were starting from scratch I think either
behavior would be defensible, but changing it now doesn't seem good to
me.
> The current code behavior seems to me to be on par with, for example,
> trying to intuit MM-DD versus DD-MM field orders. We used to try to
> do that, too, and gave it up as a bad idea.
I suppose it's topologically equivalent, but to me that is an order of
magnitude crazier than this case.
Of course I may be in the minority... but you did ask...
...Robert
From | Date | Subject | |
---|---|---|---|
Next Message | Fujii Masao | 2010-03-16 01:35:26 | Re: walreceiver is uninterruptible on win32 |
Previous Message | Tom Lane | 2010-03-16 01:12:53 | Re: Should we throw error when converting a nonexistent/ambiguous timestamp? |