From 504d16ccdfcd689eac31c1646957b06cc0ce55d1 Mon Sep 17 00:00:00 2001 From: Alex Pooley Date: Mon, 16 Feb 2009 11:44:48 +0900 Subject: [PATCH] Add microsecond support for sqlite adapter [#1982 state:resolved] Signed-off-by: Pratik Naik --- .../connection_adapters/sqlite_adapter.rb | 10 ++++++++++ activerecord/test/cases/base_test.rb | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) 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