aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorAlex Pooley <alex@brownbeagle.com.au>2009-02-16 11:44:48 +0900
committerPratik Naik <pratiknaik@gmail.com>2009-04-21 18:05:07 +0100
commit504d16ccdfcd689eac31c1646957b06cc0ce55d1 (patch)
tree54dbc2d8103757b653ac3fafc3eaa6773b58acc2 /activerecord
parent7a99dc0ac2f36694b1cc11418129b8c39bb9044d (diff)
downloadrails-504d16ccdfcd689eac31c1646957b06cc0ce55d1.tar.gz
rails-504d16ccdfcd689eac31c1646957b06cc0ce55d1.tar.bz2
rails-504d16ccdfcd689eac31c1646957b06cc0ce55d1.zip
Add microsecond support for sqlite adapter [#1982 state:resolved]
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb10
-rwxr-xr-xactiverecord/test/cases/base_test.rb2
2 files changed, 11 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb b/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb
index afd6472db8..05334a830a 100644
--- a/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb
@@ -150,6 +150,16 @@ module ActiveRecord
%Q("#{name}")
end
+ # Quote date/time values for use in SQL input. Includes microseconds
+ # if the value is a Time responding to usec.
+ def quoted_date(value) #:nodoc:
+ if value.acts_like?(:time) && value.respond_to?(:usec)
+ "#{super}.#{sprintf("%06d", value.usec)}"
+ else
+ super
+ end
+ end
+
# DATABASE STATEMENTS ======================================
diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb
index 43cda45d71..d97cd17d75 100755
--- a/activerecord/test/cases/base_test.rb
+++ b/activerecord/test/cases/base_test.rb
@@ -456,7 +456,7 @@ class BasicsTest < ActiveRecord::TestCase
)
# For adapters which support microsecond resolution.
- if current_adapter?(:PostgreSQLAdapter)
+ if current_adapter?(:PostgreSQLAdapter) || current_adapter?(:SQLiteAdapter)
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