きっかけはこの記事。DBIのプレースホルダーで起こった謎な挙動 - $shibayu36->blog; 「うーん、どう見てもバグっぽいな」と思い、また、自分がメンテしてるDBD::mysqlPPで悩みつつ LIMIT のプレースホルダーを実装したことがあったので、「参考になるかなー」と思って、本家の方のソース読んでみた。 本家だから、かっちょいいパーサとか組んで SQL ステートメント読んでるものとばかり思っていたのだけど、根性でパースしてる感じのソースで、「これは大変だなー」って思った。で、問題っぽいのがこれ。 dbdimp.c 602行目あたり。 /* it would be good to be able to handle any number of cases and orders */ if ((*statement_ptr == 'l' || *statement_ptr =
DBD::mysqlの4.020が昨日リリースされました。 このリリースにはmysql_server_prepare=1を使っている場合のバグの修正が5件ほど含まれています。(ChangeLog) DBD::mysql で mysql_server_prepare=1 のとき TEXT 型の欄が自動 utf8::decode されなくなる こちらのブログで指摘されていた件を直してパッチを送ろうと思っておもむろにmysql_server_prepare=1の状態でDBD::mysqlのテストを実行したら失敗しまくったため、もう駄目かもしれないと思ったのですが、何故かmysql_server_prepareと心中する腹をくくり一応すべてのテストを通すようにパッチを送りまくってみたところ取り込まれたという感じになりました。(リリース後に2つほどさらにpull reqしていますが…。) TEXT型
もしこの記事を読んだ方が下記のようなエラーメッセージでインストールできないでいるのであれば、きっと後述の解決策でうまくいくでしょうt/80procs.t ................. 1/29 DBD::mysql::db do failed: alter routine command denied to user ''@'localhost' for routine 'test.testproc' at t/80procs.t line 41.DBD::mysql::db do failed: alter routine command denied to user ''@'localhost' for routine 'test.testproc' at t/80procs.t line 41.このメッセージは、テストスクリプトがDBに接続しにいく際のユーザ名が設定されてい
DBD:a:mysqlをinstallする際、単純に実行すると、エラーで怒られてしまいます。 例えば、perl Makefile.PLでは... $ cd DBD-mysql-4.010 $ /usr/local/bin/perl Makefile.PL Can't exec "mysql_config": No such file or directory at Makefile.PL line 76. <略>例えば、make testでは... $ make test <略> t/76multi_statement.........ok t/80procs...................ok 1/29DBD::mysql::db do failed: execute command denied to user ''@'localhost' for routine 'test.t
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く