mysql-pr¶ ↑
Description¶ ↑
Pure Ruby MySQL connector.
Features/Problems¶ ↑
-
Ruby だけで書かれているのでコンパイル不要です。
-
Ruby 1.9.x の M17N に対応しています。
-
MySQL/Ruby 2.8.x とほぼ互換があります。
Synopsis¶ ↑
使用例:
my = MysqlPR.connect('hostname', 'username', 'password', 'dbname') my.query("select col1, col2 from tblname").each do |col1, col2| p col1, col2 end stmt = my.prepare('insert into tblname (col1,col2) values (?,?)') stmt.execute 123, 'abc'
Incompatible with MySQL/Ruby 2.8.x¶ ↑
-
Ruby 1.8.x ではシフトJISのような安全でないマルチバイト文字セットに対して
MysqlPR#escape_string
を使用すると例外が発生します。 -
いくつかのメソッドがありません: MysqlPR#debug, MysqlPR#change_user, MysqlPR#create_db, MysqlPR#drop_db, MysqlPR#dump_debug_info, MysqlPR#ssl_set, MysqlPR#reconnect
-
MysqlPR#options
でサポートしているオプションは次のものだけです: MysqlPR::INIT_COMMAND, MysqlPR::OPT_CONNECT_TIMEOUT, MysqlPR::OPT_LOCAL_INFILE, MysqlPR::OPT_READ_TIMEOUT, MysqlPR::OPT_WRITE_TIMEOUT, MysqlPR::SET_CHARSET_NAME. これら以外を指定すると “option not implementted” という warning が標準エラー出力に出力されます。 -
MysqlPR#use_result
はMysqlPR#store_result
と同じです。つまりサーバーから一気に結果セットを読み込みます。
Improvement from MySQL/Ruby 2.8.x¶ ↑
-
Ruby 1.9.x の M17N に対応しています。 mysqld へのクエリ文字列やプリペアドステートメントで与える値は mysqld との接続の文字コードに自動的に変換されます。 mysqld からの結果文字列は接続文字コードとして取り出されます。
-
MysqlPR::Result
,MysqlPR::Stmt
が Enumerable を include しています。 -
ブロックなしの
MysqlPR::Result#each
, each_hashMysqlPR::Stmt#each
, each_hash が Enumerator を返します。 -
MysqlPR#charset=
で接続 charset を指定できます。 -
MysqlPR::Error
だけでなく、エラー種別ごとにエラークラスが用意されてます。たとえば、構文エラーの場合は MysqlPR::ServerError::ParseError など。これらのエラーはMysqlPR::Error
の継承クラスです。
Copyright¶ ↑
- Authors
-
TOMITA Masahiro <tommy@tmtm.org>, Alex Jokela <alex@camulus.com>
- Copyright
-
Copyright © 2009-2012 TOMITA Masahiro, Copyright © 2012 Alex Jokela
- License
-
Ruby’s