aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb
diff options
context:
space:
mode:
authoredogawaconan <me@myconan.net>2014-06-05 18:31:39 +0900
committeredogawaconan <me@myconan.net>2014-06-05 21:47:05 +0900
commitf4bd67b687ba1a2a6f907939ea44717b41a505e1 (patch)
treee8cb6eb9fdf997d834f9ceda357bd2d7d68dee9e /activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb
parentbb8b2141844872c94141091ffe3b45505fb3b4db (diff)
downloadrails-f4bd67b687ba1a2a6f907939ea44717b41a505e1.tar.gz
rails-f4bd67b687ba1a2a6f907939ea44717b41a505e1.tar.bz2
rails-f4bd67b687ba1a2a6f907939ea44717b41a505e1.zip
Fix behavior of handling BC era dates.
BC era year is (astronomical year + 1) and starts from 1 BC.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb5
1 files changed, 3 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb b/activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb
index 4c719b834f..3cf40e6cd4 100644
--- a/activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb
+++ b/activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb
@@ -149,8 +149,9 @@ module ActiveRecord
result = "#{result}.#{sprintf("%06d", value.usec)}"
end
- if value.year < 0
- result = result.sub(/^-/, "") + " BC"
+ if value.year <= 0
+ bce_year = format("%04d", -value.year + 1)
+ result = result.sub(/^-?\d+/, bce_year) + " BC"
end
result
end