たろマーク (はてなブックマーク)
-
[ moinmoin ]
-
[ upstart ] プロセス監視して死んでも蘇らせてくれるのか。
■ CGI::Session::MySQL で、使用するテーブルを変更する。
普通に、CGI::Session で、MySQL 使ってるときにデフォルトと違うテーブル名を使いたい場合は、
$CGI::Session::MySQL::TABLE_NAME = 'hoge';
とかやればできるけど、CGI::Application::Plugin::Session 経由で変更できないっぽい。cgiapp_init() でやっても setup() でやってもデフォルトに上書きされる。Plugin の仕組みを追えば分かりそうだけど、とりあえず別な方法を模索。
CGI::Session::PostgreSQL だと、
$session = new CGI::Session("driver:PostgreSQL", undef,
{Handle=>$dbh, TableName=>'my_sessions'});
って指定できるので、CGI::Session::MySQLでもやりたい。
ということで、CGI::Session::MySQL の patch。
*** MySQL.pm.org 2005-06-20 22:27:17.000000000 +0900
--- MySQL.pm 2005-06-20 22:30:56.000000000 +0900
***************
*** 126,131 ****
--- 126,135 ----
}
+ if ( defined $args->{TableName} ) {
+ $TABLE_NAME = $args->{TableName};
+ }
+
require DBI;
$self->{MySQL_dbh} = $args->{Handle} || DBI->connect(
さて、作者さんに patch を送りつけてやりたいけど、英語が不安だ('A`)





