2011年8月 9日

[ruby-list:48295] Re: require 'dbi' の警告について

畠山です。

以前メーリングリストでも指摘させてもらったんですが、dbi-0.4.5にはHashに関しての知命的なバグがありました。
(Hash#each_keyのブロックの中で自身のHashに値を代入しているところがあります)
(Ruby1.8.xではエラーが出ないで動いてしまうのですがRuby 1.9.3だとそこが実行された時に止まります)
each_key を keys.each に置き換えることでとりあえず動きます。

diff --git a/lib/dbi/columninfo.rb b/lib/dbi/columninfo.rb

index bf01fef..a09db71 100644
--- a/lib/dbi/columninfo.rb
+++ b/lib/dbi/columninfo.rb
@@ -39,7 +39,8 @@ module DBI
@hash ||= Hash.new

# coerce all strings to symbols
- @hash.each_key do |x|
+ @hash.keys.each do |x|
if x.kind_of? String
sym = x.to_sym
if @hash.has_key? sym


畠山


投稿者 xml-rpc : 2011年8月 9日 14:43
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/105567
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。