[Sybase Adaptor] find_by_xxx does not work correctly.

Hi

Please advice me about the following problem.

* Problem find_by_xxx method does not work correctly the following caes with sybase adaptor.

* How to reproducible

model :users    t.column :code, :string <-- :string column    t.column :last_name, :string    t.column :first_name,:string

User.find(1)

=> #<User:0x2abe232a68e8 @attributes={"code"=>"1", "id"=>"1", "first_name"=>"hiroyuki", "last_name"=>"sato"}>

code data only include number

User.find_by_code("1")

ActiveRecord::StatementInvalid: RuntimeError: SQL Command Failed for User Load: SELECT * FROM users WHERE (users.[code] = 1)

This SQL should be quote like this SELECT * FROM users WHERE (users.[code] = "1")

* probelm source

sybase_adapter.rb

    279 def quote(value, column = nil)     280 return value.quoted_id if value.respond_to? (:quoted_id)     281     282 case value     283 when String     284 if column && column.type == :binary && column.class.respond_to?(:string_to_binary)     285 "#{quote_string(column.class.string_to_binary(value))}"     286 elsif @numconvert && force_numeric?(column) && value =~ /^[+-]?[0-9]+$/o <-- here     287 value     288 else     289 "'#{quote_string(value)}'"     290 end

sybase_adapter.rb

    302 def force_numeric?(column)     303 (column.nil? || [:integer, :float, :decimal].include? (column.type))     304 end

I think force_numeric? method should be return false

Any idea?

* environment ActiveRecord 1.15.3

Thank you for your advice.

-- hiroyuki sato