diff options
author | Ari Pollak <ajp@aripollak.com> | 2012-08-14 16:33:06 -0400 |
---|---|---|
committer | Ari Pollak <ajp@aripollak.com> | 2012-08-15 13:21:57 -0400 |
commit | 53ca22f2e11cd3050d75385bc31b6bb5055a2738 (patch) | |
tree | fd60e0bb75247880fb2cb734d68b404644f80c93 /activerecord/test | |
parent | ebb4a3d5becd535074502a4bf1b61a5b18e30917 (diff) | |
download | rails-53ca22f2e11cd3050d75385bc31b6bb5055a2738.tar.gz rails-53ca22f2e11cd3050d75385bc31b6bb5055a2738.tar.bz2 rails-53ca22f2e11cd3050d75385bc31b6bb5055a2738.zip |
Fix occasional microsecond conversion inaccuracy
ActiveRecord::ConnectionAdapters::Column#microseconds did an unnecessary
conversion to from Rational to float when calculating the integer number
of microseconds. Some terminating decimal numbers in base10 are
repeating decimal numbers in base2 (the format of float), and
occasionally this causes a rounding error.
Patch & explanation originally from Logan Bowers.
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/base_test.rb | 1 | ||||
-rw-r--r-- | activerecord/test/fixtures/topics.yml | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index 062f196a12..04b1d75e3e 100644 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -231,6 +231,7 @@ class BasicsTest < ActiveRecord::TestCase assert_equal 11, Topic.find(1).written_on.sec assert_equal 223300, Topic.find(1).written_on.usec assert_equal 9900, Topic.find(2).written_on.usec + assert_equal 129346, Topic.find(3).written_on.usec end end diff --git a/activerecord/test/fixtures/topics.yml b/activerecord/test/fixtures/topics.yml index 93f48aedc4..2b042bd135 100644 --- a/activerecord/test/fixtures/topics.yml +++ b/activerecord/test/fixtures/topics.yml @@ -25,7 +25,7 @@ third: id: 3 title: The Third Topic of the day author_name: Carl - written_on: 2005-07-15t15:28:00.0099+01:00 + written_on: 2012-08-12t20:24:22.129346+00:00 content: I'm a troll approved: true replies_count: 1 |