Li Japin <japi...@hotmail.com> writes: > Thanks for your confirm. Is there anything I can do?
No, I've got it. In adding the test coverage I spoke of, I thought we should allow the date_part tests to check all the entries in timestamp[tz]_tbl not just those around current time, and I found an independent problem: timestamp | isoyear | week | isodow | dow | doy -----------------------------+-----------+------+--------+-----+----- ... Tue Feb 16 17:32:01 0097 BC | -96 | 7 | 2 | 2 | 47 Sat Feb 16 17:32:01 0097 | 97 | 7 | 6 | 6 | 47 that is, the ISOYEAR case is failing to correct for BC years. We could imagine fixing this in date2isoyear() but I think it's safer to leave that function alone and do the corrections in timestamp[tz]_part. Note for example that formatting.c already applies a BC correction to the result; and I think the usage in date2isoyearday() requires sticking to the year-zero-exists convention, too. regards, tom lane