Ruby/MySQL 3.0.2 alpha

Ruby/MySQL 3.0.2 です。相変わらずアルファ版です。

インストール方法:

# sudo gem install tmtm-ruby-mysql --source http://gems.github.com

3.0.1 からの変更点。

Ruby 1.9 対応

これまでのでもちゃんと動くんじゃないかなぁ…と漠然と思っていたのですが、全然動いていないことが判明したので、修正しました。
テストコードを RSpec で書いてしまったので Ruby 1.9 でテストしてなかったのですが、Ruby会議2009 の IRC で、最近の RSpecRuby 1.9 でも動くということを教えてもらったので、テストしてみたら全然動いていなかったことが判明したという…。

Mysql#list_fields 追加

「SHOW COLUMNS」や「SHOW CREATE TABLE」でも同様の情報は取れるのですが、ビミョーに違うのであった方が良いかと思って追加しました。
ただし MySQL/Ruby 2.x との互換はありません。MySQL/Ruby 2.x では C API に合わせて、Mysql#list_fields はフィールド情報だけを持ち、レコードが空の Mysql::Result を返していたのですが、Ruby/MySQL 3.0 では単純に Mysql::Field の配列を返すようにしたためです。

今後

これで Ruby 1.9 でも普通に使えるようになったと思いますので、Ruby 1.9 が好きな人は使ってみてください。まあ Ruby/MySQL をベタに使う人はあまりいないと思うので、巷の O/R マッパーが対応しないとあまり関係ないのでしょうけど。
今後は、速度的にボトルネックになっている部分を高速化したりするかもしれません(C で書く?)。