まつもと ゆきひろです

In message "[ruby-list:5079] Re: RubyでOODB"
    on 97/10/21, Keiju ISHITSUKA <keiju / rational.com> writes:

|けいじゅ@日本ラショナルソフトウェアです.

|>でも,rubyで書くOODBなのでかろうじて
|
|ああ. なるほど, そういう楽しい話しなのですか, そういう話しだとがぜんや
|る気が出てきますね(^^;;;

ええ,さすがに本気でPSEを作る気にはなりません.
# PSEってなんの略だっけ Persistent Storage Engine??

|この場合, persistent strageとmarshalではどのような機能の違いがあるので
|しょう? イメージを話してもらえます?

marshalはいいですよね.特定のオブジェクトを再帰的にファイル
(or 文字列)に書き出す機能です.persistent storageは

        db = PStore.new(filename)
        db.transaction do
          db.set_root("root", obj)
          # .. objに対する操作
        end


 -- 別のプログラム        

        db = PStore.new(filename)
        db.transaction do
          obj = db.get_root("root")
          # .. objに対する操作
        end

とかすると同じ構造のobjを操作できる程度のものを考えています.
transactionの先頭でデータを読み込んで来て,終りで同じファイ
ルに書き出すイメージですね.

|>marshalでは書き出せないオブジェクト(IOとか)にどう対応するかとか言うよ
|>うな問題はありますが.
|
|ソケットとか難しそうですね... 相手もあるしより無理かな...

今のmarshalはData(Cで定義されたデータ構造,IOとかDirとか
Threadとか)を書き出すことが出来ません.クラスもダメです.場
合によってはMLFを使って自分でmarshalを定義する必要があるかも….

                                まつもと ゆきひろ /:|)