Re: oh dear ...
От | Bruce Momjian |
---|---|
Тема | Re: oh dear ... |
Дата | |
Msg-id | 200311150217.hAF2H8Q05264@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: oh dear ... (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: oh dear ...
|
Список | pgsql-hackers |
Tom Lane wrote: > I said: > > This worked in 7.3: > > regression=# select '1999-jan-08'::date; > > ERROR: date/time field value out of range: "1999-jan-08" > > HINT: Perhaps you need a different "datestyle" setting. > > > Setting DateStyle to YMD doesn't help, and in any case I'd think that > > this ought to be considered an unambiguous input format. > > This appears to be an oversight in the portions of the datetime code > that we recently changed to enforce DateStyle more tightly. > Specifically, DecodeNumber was rewritten without realizing that it was > invoked in a special way when a textual month name appears in the input. > DecodeDate actually makes two passes over the input, noting the textual > month name in the first pass, and then calling DecodeNumber on only the > numeric fields in the second pass. This means that when DecodeNumber is > called for the first time, the MONTH flag may already be set. The > rewrite mistakenly assumed that in this case we must be at the second > field of an MM-DD-YY-order input. > > I propose the attached patch to fix the problem. It doesn't break any > regression tests, and it appears to fix the cases noted in its comment. > > Opinions on whether to apply this to 7.4? I guess the question is whether we would fix this in a minor release, and I think the answer it yes, so we can fix it now. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
В списке pgsql-hackers по дате отправления: