handle early dates (< 100AD) - #425
Conversation
|
Cool, I'll keep this as a reference. Definitely gonna need some tests to merge this. Do you have a code snippet of producing a BC date in postgres? |
|
"Valid input for the time stamp types consists of a concatenation of a date and a time, followed by an optional time zone, followed by an optional AD or BC. (Alternatively, AD/BC can appear before the time zone, but this is not the preferred ordering.) " I've been using things like //43 BC I'm not in front of a computer with postgres at the moment, but will update it when I do (if I'm wrong). |
|
I've never taken the time to figure out how to add commits to someone elses pull request, so instead I created a local branch, added some failing tests, then applied your pull request as a patch that branch. The tests passed! So, I just opened a pull request with these changes right here: |
This fixes both dates early in the AD and BC dates.
AD dates do not work because Date.UTC thinks a year < 100 must be in the 1900s.
BC dates do not work because postgres handles BC not as negatives, but by suffixing BC and this isn't being checked.
You probably want to add some tests to this, but it doesn't look there are any around this bit of the code to begin with...
For what it's worth, it seems to work for me!