たろマーク (はてなブックマーク)
■ 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`)







コメント
# AzureStone
(2005年06月21日 01:24)
> さて、作者さんに patch を送りつけてやりたいけど、
> 英語が不安だ('A`)
今なら、まかせろw
と逝ってみたりw
# AzureStone
(2005年06月21日 01:35)
I am 海賊たろ.
CGI::Session::MySQL で、使用するテーブルを変更する。
The table used is changed with CGI::Session::MySQL.
CGI::Application::Plugin::Session 経由で変更できない。
It is not revokable by way of CGI::Application::Plugin::Session.
cgiapp_init() で実行しても setup() で実行してもデフォルトに上書きする。
I overwrite a default even if I carry it out in setup() even if I carry it out in cgiapp_init().
Plugin の仕組みを追えば分かるが、私は、別な方法を模索した。
I understood it if I chased a mechanism of Plugin, but I groped for another method.
それが以下である。
It is equal to or less than it.
$session = new CGI::Session("driver:PostgreSQL", undef,
{Handle=>$dbh, TableName=>'my_sessions'});
CGI::Session::MySQL でも使用したいと思う。
I want to use even CGI::Session::MySQL.
そこで私は、パッチを作った。
Therefore I made a patch.
それが以下になる。
It becomes equal to or less than it.
*** 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(
# 海賊たろ
(2005年06月21日 01:44)
うわー、ありがとうございます!ヽ( ´∀`)ノ
しかし、もう送ってしまったのよね
送った時点で書けばよかったぁぁ orz
お手数かけて申し訳ない(´・ω・`)
# AzureStone
(2005年06月21日 01:47)
> うわー、ありがとうございます!ヽ( ´∀`)ノ
(;^_^A アセアセ…
よけいなお世話すまそ。。。
> しかし、もう送ってしまったのよね
アベーシw
> 送った時点で書けばよかったぁぁ orz
書かなかった方が、よかったかもw
間違えだらけの英文w
> お手数かけて申し訳ない(´・ω・`)
問題ナスw