diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2006-07-08 20:35:56 +0000 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2006-07-08 20:35:56 +0000 |
commit | 2a12b56841bd6fd3998050e7677a1b2c08257479 (patch) | |
tree | 4fcd51578ac322228b2f6a44ce2344ab309992aa /activerecord/lib/active_record/connection_adapters/frontbase_adapter.rb | |
parent | 71234daef1517cf190adfc5978e56882d2a57ea6 (diff) | |
download | rails-2a12b56841bd6fd3998050e7677a1b2c08257479.tar.gz rails-2a12b56841bd6fd3998050e7677a1b2c08257479.tar.bz2 rails-2a12b56841bd6fd3998050e7677a1b2c08257479.zip |
r4704@asus: jeremy | 2006-06-27 12:00:19 -0700
decimal
r4705@asus: jeremy | 2006-06-27 12:20:47 -0700
current_adapter? checks whether any of its arguments is the name of the current adapter class
r4834@asus: jeremy | 2006-07-08 13:08:24 -0700
Room to float.
r4835@asus: jeremy | 2006-07-08 13:09:18 -0700
Give lock test a few chances.
r4836@asus: jeremy | 2006-07-08 13:12:05 -0700
Numeric and decimal columns map to BigDecimal instead of Float. Those with scale 0 map to Integer. Closes #5454.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4596 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/frontbase_adapter.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/frontbase_adapter.rb | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/frontbase_adapter.rb b/activerecord/lib/active_record/connection_adapters/frontbase_adapter.rb index e25198fa0d..db9d2ccf3d 100644 --- a/activerecord/lib/active_record/connection_adapters/frontbase_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/frontbase_adapter.rb @@ -160,7 +160,7 @@ module ActiveRecord @default = default @null = nullable == "YES" @text = [:string, :text].include? @type - @number = [:float, :integer].include? @type + @number = [:float, :integer, :decimal].include? @type @fb_autogen = false if @default @@ -278,6 +278,7 @@ module ActiveRecord :text => { :name => "CLOB" }, :integer => { :name => "INTEGER" }, :float => { :name => "FLOAT" }, + :decimal => { :name => "DECIMAL" }, :datetime => { :name => "TIMESTAMP" }, :timestamp => { :name => "TIMESTAMP" }, :time => { :name => "TIME" }, @@ -319,6 +320,8 @@ module ActiveRecord end when :float value.to_f.to_s + when :decimal + value.to_d.to_s("F") when :datetime, :timestamp "TIMESTAMP '#{value.strftime("%Y-%m-%d %H:%M:%S")}'" when :time @@ -359,7 +362,7 @@ module ActiveRecord if column && column.type == :binary s = value.unpack("H*").first "X'#{s}'" - elsif column && [:integer, :float].include?(column.type) + elsif column && [:integer, :float, :decimal].include?(column.type) value.to_s else "'#{quote_string(value)}'" # ' (for ruby-mode) @@ -370,7 +373,7 @@ module ActiveRecord (column && column.type == :integer ? '1' : quoted_true) when FalseClass (column && column.type == :integer ? '0' : quoted_false) - when Float, Fixnum, Bignum + when Float, Fixnum, Bignum, BigDecimal value.to_s when Time, Date, DateTime if column |