[kansaipm] Re: Apache::Sessionで新規のセッションIDを指定できますか?

KAWAI,Takanori GCD00051 at nifty.ne.jp
Tue May 21 04:52:54 CDT 2002


川合孝典です。

----- Original Message -----
From: "Tatsuhiko Miyagawa" <miyagawa at edge.co.jp>
To: <kansai-pm-list at pm.org>
Sent: Tuesday, May 21, 2002 5:02 PM
Subject: Re: [kansaipm] Re: Apache::Sessionで新規のセッションIDを指定できま
すか?


> 宮川です。
(中略)
> Pgsql だとバイナリデータを入れる代わりに base64 en/decode していますよ
> ね。これって本来は bind_param で型のタイプを指定すればバイナリでも問題
> なく通るんじゃないかとおもうんですが。
データをtextで持ってますから、ちょっと難しいかも。BYTEAじゃないと
ヌル文字がダメだったような記憶があります。
もっともバイナリデータはラージオブジェクトを使うのがPostgreSQLらしいかも。

> ちょっと話それちゃいますが、実はおなじ問題は Class::DBI にもあるんです。
>
>   $sth = $dbh->prepare('INSERT INTO table VALUES (?, ?)');
>   $sth->execute($text, $binary);
>
> としたときに $binary の方で ヌル文字がはいってるとかってこけちゃう、例
> のヤツで、上記のとおり bind_param で型を指定すれば問題なくいきます。
>
> DBD::mysql だと型指定しなくても平気なんですが、これって DBD 側でなんと
> かするものでもないんですかね? Class::DBI の自動生成するSQL も
> placeholder つくって execute() するだけなので、バイナリが入れられない
> ので、変えようとおもってるんですが。どうなんでしょう。
DBDのほうで、ここにはバイナリが入るから、そうやってエスケープしよう
ってことでしょうか?そのほうが親切だと思いますが、SQLの内容を
解析しないと出てこないでしょうし、難しいのではないでしょうか?
やっぱり人間が「ここはバイナリだよ」って教えてあげる方が間違いが
なくって(間違っててもよくわかるし)よいじゃないでしょうか?

===================================================
川合 孝典 (Hippo2000)
   DBI日本語メーリングリスト管理人、Kansai.pm所属
   kwitknr at cpan.org GCD00051 at nifty.ne.jp
   http://member.nifty.ne.jp/hippo2000、http://www.hippo2000.info/
「Perlドキュメント日本語訳」メーリングリストがはじまりました
http://www.freeml.com/ctrl/html/MLInfoForm/perldocjp@freeml.com
===================================================




More information about the Kansai-pm mailing list