sqlite3-ruby の version が 1.2.x だと、select AS で名前を指定したときに integer 型のカラムのはずが string 型で取れてくる件

sqlite3-ruby : version 1.2.5

$ rails testapp1
$ cd testapp1
$ ruby script/generate model user
$ rake db:migrate
$ ruby script/console
>> User.create
=> #<User id: 1, created_at: "2010-11-25 08:49:43", updated_at: "2010-11-25 08:49:43">
>> User.first.id.class
=> Fixnum
>> User.find(:first, :select => "id AS user_id").user_id.class
=> String  # あらら


sqlite3-ruby : version 1.3.0

$ rails testapp2
$ cd testapp2
$ ruby script/generate model user
$ rake db:migrate
$ ruby script/console
>> User.create
=> #<User id: 1, created_at: "2010-11-25 08:57:44", updated_at: "2010-11-25 08:57:44">
>> User.first.id.class
=> Fixnum
>> User.find(:first, :select => "id AS user_id").user_id.class
=> Fixnum  # OK


まぁ findで:selectを使うことがそうないし、ましてAS使うこととかほぼないですが。


ちなみに rails は 2.3.10