diff --git a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb index 6f4dca1b7bf1d85b29ec7ae04e289e49802b172c..1a2605752839eca05f2dba186f1ea29ad63aaa26 100755 --- a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb @@ -182,7 +182,8 @@ def klass when :float then Float when :datetime then Time when :date then Date - when :time then Time + when :timestamp then Time + when :time then Time when :text, :string then String when :boolean then Object end @@ -191,14 +192,15 @@ def klass def type_cast(value) if value.nil? then return nil end case type - when :string then value - when :text then value - when :integer then value.to_i - when :float then value.to_f - when :datetime then string_to_time(value) - when :time then string_to_dummy_time(value) - when :date then string_to_date(value) - when :boolean then (value == "t" or value == true ? true : false) + when :string then value + when :text then value + when :integer then value.to_i + when :float then value.to_f + when :datetime then string_to_time(value) + when :timestamp then string_to_time(value) + when :time then string_to_dummy_time(value) + when :date then string_to_date(value) + when :boolean then (value == "t" or value == true ? true : false) else value end end @@ -242,8 +244,10 @@ def simplified_type(field_type) :float when /datetime/i :datetime - when /time/i - :time + when /timestamp/i + :timestamp + when /time/i + :time when /date/i :date when /(c|b)lob/i, /text/i