aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/postgresql/oid/date_time.rb
diff options
context:
space:
mode:
authorMatthew Draper <matthew@trebex.net>2014-06-05 23:35:14 +0930
committerMatthew Draper <matthew@trebex.net>2014-06-05 23:35:14 +0930
commite496a25251dc9c1b455bf9e97baaf58b0e99840b (patch)
tree9000a5c916361a7345b75b558f1f052eb1924b2a /activerecord/lib/active_record/connection_adapters/postgresql/oid/date_time.rb
parent1c39310637599df879c0412672f35d3990b61afb (diff)
parentf4bd67b687ba1a2a6f907939ea44717b41a505e1 (diff)
downloadrails-e496a25251dc9c1b455bf9e97baaf58b0e99840b.tar.gz
rails-e496a25251dc9c1b455bf9e97baaf58b0e99840b.tar.bz2
rails-e496a25251dc9c1b455bf9e97baaf58b0e99840b.zip
Merge pull request #15521 from edogawaconan/fix_bc_postgres_master
Fix BC year handling in postgres
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/postgresql/oid/date_time.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/postgresql/oid/date_time.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql/oid/date_time.rb b/activerecord/lib/active_record/connection_adapters/postgresql/oid/date_time.rb
index 9ccbf71159..34e2276dd1 100644
--- a/activerecord/lib/active_record/connection_adapters/postgresql/oid/date_time.rb
+++ b/activerecord/lib/active_record/connection_adapters/postgresql/oid/date_time.rb
@@ -11,7 +11,8 @@ module ActiveRecord
when 'infinity' then ::Float::INFINITY
when '-infinity' then -::Float::INFINITY
when / BC$/
- super("-" + value.sub(/ BC$/, ""))
+ astronomical_year = format("%04d", -value[/^\d+/].to_i + 1)
+ super(value.sub(/ BC$/, "").sub(/^\d+/, astronomical_year))
else
super
end