Be more careful to check input string lengths as well as values
Thomas G. Lockhart <lockhart@fourpalms.org>
Be more careful to check input string lengths as well as values when deciding whether a field is a year field. Assume *anything* longer than 2 digits (if it isn't a special-case doy) is a valid year. This should fix the "Y1K" and "Y10K" problems pointed out by Massimo recently. Check usage of BC to require a positive-valued year; before just used it to flip the sign of the year without checking. This led to problems near year zero. Allow a 5 digit "concatenated date" of 2 digit year plus day of year. Do 2->4 digit year correction for 6 and 5 digit "concatenated dates". Somehow forgot this originally. Guess not many folks use it...
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/adt/dt.c | modified | +59 −20 |