[s2container-php5:82] Re: timestampによる排他制御とinsert文の自動生成について
Yusuke Hata
[E-MAIL ADDRESS DELETED]
2007年 3月 7日 (水) 01:25:59 JST
ハタです。
すいません、遅くなってしまいました。
この件を含む、[DAOPHP-8]と[DAOPHP-9]について、修正を行いました。
この修正を行ったS2Dao.PHP5-1.1.2のリリースは後ほど行う予定です。
また、最新版はSVN(https://www.seasar.org/svn/s2dao.php5/branches/S2Dao.PHP5-1.1.2/)に展開済みです。
もしお手すきであれば試してみてください。
https://www.seasar.org/issues/browse/DAOPHP-8
https://www.seasar.org/issues/browse/DAOPHP-9
以上です。
Yusuke Hata <[E-MAIL ADDRESS DELETED]> wrote:
> ハタです。
>
> 下記、確認しました。
> 以前、一部のDBMSでtimestampカラムに対してタイムスタンプ(integer/long)
> を入れなければエラーが発生したかと思いましたが
> 指摘された内容でテストケースが通った(Oracle/MySQL/PostgreSQL/SQLite)の
> で、指摘内容のまま次のバージョンに適用したいと思います。
> # Firebirdではテスト機がなかったので、試せなかったですが、問題ないで
> # しょう
>
> 次のバージョン(1.1.1の後)となるS2Dao.PHP5-1.1.2には以前のもの
> [DAOPHP-8]を含め 3月上旬のリリースに向けて作業をしています。
>
> 以上です、よろしくお願いします。
>
> Eishi Kuroda <[E-MAIL ADDRESS DELETED]> wrote:
>
> > こんにちは、黒田です。
> >
> > 自動生成insert文でのtimestampフィールドの設定に不具合と思われる点を
> > 発見しましたので報告させて頂きます。
> >
> > S2Dao.PHP5 1.1.1にて、
> > daoクラスに、下記の様なentityを引数としたinsert文の自動生成用メソッ
> > ドを作ります。
> >
> > public function insert(Department $department);
> >
> > entityにはtimestampプロパティを定義しておきます。
> > このinsertを呼び出すと、
> > 自動生成されるSQL内にてtimestampフィールドに対しunixtimeが設定される
> > ようになっており、この為、挿入後の該当列のtimestampフィールドが
> > 0000-00-00 00:00:00となります。
> >
> > s2dao.core.classes.phpの、
> > setupInsertBindVariablesメソッドにて、
> >
> > if (strcasecmp($propName, $timestampPropertyName) == 0) {
> > $this->setTimestamp(time());
> >
> > となっているのが問題では無いかと思われましたので、
> > 下記の様に修正してみたところ、
> > 自動生成insert文で正しくtimestampが設定されるようになりました。
> >
> > $this->setTimestamp(date('Y-m-d H:i:s', time()));
> >
> > これで問題なければ、修正をお願いしたいと思います。
> > では、よろしくお願いいたします。
> >
> > 黒田映史
> >
>
> --
> Yusuke Hata <[E-MAIL ADDRESS DELETED]>
> blog: http://blog.xole.net/
> _______________________________________________
> S2Container-PHP5 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/s2container-php5
--
Yusuke Hata <[E-MAIL ADDRESS DELETED]>
blog: http://blog.xole.net/
S2Container-PHP5 メーリングリストの案内