けいじゅ@日本ラショナルソフトウェアです. In [ruby-list :11281 ] the message: "[ruby-list:11281] Re: pstore.rb ", on Dec/11 15:43(JST) Yukihiro Matsumoto writes: >まつもと ゆきひろです >|pstoreに関してですが, transactionをコミットしたあとでも @table の参照 >|が残ったままですよね? marshalした後, @table = nil とした方がよかないで >|すか? 今のままだと, @tableの内容がGCの対象になりません. > >そうですね.これは修正しましょう. おねがいします. >|そんでもって, いいの考えました. キャッシュ機能付きPStoreです. >うーん,ちょっと考えると > > * キャッシュすることによってトランザクションの外で他のプロ > セスがデータベースを操作する可能性を否定することになるが, > それで良いのか. > > * どうせキャッシュするなら不確定なweakrefを使うより,ちゃ > んと残した方が良いのでは? > >という疑問が涌きますです. そうですね... 前者に関しては, オリジナルのpstoreもそれほどちゃんとできていない. つま り, あるプロセスがトランザクション実行中に他のプロセスでトランザクショ ンを開くとこわれますよね. ということで, いいんじゃないかと... それに, PStoreをこっち(PStoreWC)の様ににしたらといっているわけではあり ませんので... PStoreとPStoreWCは使い方に応じて使い分ければいいんじゃな いかな? って感じています. 後者に関しては, 確かにo_dbmでは, 明示的にキャッシュを残せるようになっ ているんですが... OODBMSなんかも, キャッシュの考え方は似たようなもので すしいいんじゃないでしょうか? __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju / rational.com <<---