[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