public inbox for [email protected]  
help / color / mirror / Atom feed
From: Peter Eisentraut <[email protected]>
To: Tom Lane <[email protected]>
To: Daniel Gustafsson <[email protected]>
Cc: Michael Paquier <[email protected]>
Cc: Ayush Tiwari <[email protected]>
Cc: [email protected]
Subject: Re: to_date()/to_timestamp() silently accept month=0 and day=0
Date: Fri, 24 Apr 2026 17:41:50 +0200
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <CAJTYsWWNfF+hMpbsTDF8NMr+AuqoDfNxR=oHUZm7xqGP+dJ9rA@mail.gmail.com>
	<[email protected]>
	<[email protected]>
	<[email protected]>

On 23.04.26 17:40, Tom Lane wrote:
> Daniel Gustafsson <[email protected]> writes:
>>> On 23 Apr 2026, at 09:57, Michael Paquier <[email protected]> wrote:
>>> Perhaps we could consider strengthening such inputs on HEAD once v20
>>> opens for business?  It would be really a scary thing to backpatch,
>>> still a major release is a different thing.
> 
>> This could definitely not be backpatched IMO, a quick check in v14 shows the
>> same behaviour.  The gregorian calendar goes from BC1 to AD1 and does not
>> define a year 0, to_date('0000','YYYY') correctly returns year 0001, handling
>> months/days in the same way at least makes it consistent (though I didn't scour
>> the archives to see if it was intentionally done like that).
> 
> Looking at the code, I think it intentionally interprets zero as
> "missing data".  See for example the stanza at formatting.c:4650ff
> where tm_mon and tm_mday can be backfilled from a DDD field.
> 
> I'm disinclined to change the behavior around this; you're far
> more likely to get complaints than kudos.

Complaints from whom?  Oracle rejects these, and PostgreSQL generally 
also rejects these dates/times in other contexts.  I think this should 
be rejected.







reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: to_date()/to_timestamp() silently accept month=0 and day=0
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox