From: Takahiro Kambe Date: 2002-03-11T12:29:10+09:00 Subject: [ruby-dev:16309] Re: ライブラリ拡大計画 In message <1191-Mon11Mar2002121708+0900-eban@os.rim.or.jp> on Mon, 11 Mar 2002 12:17:12 +0900, WATANABE Hirofumi wrote: > 個人的にはdbmがところに依って、ndbmだったりgdbmだったり > BerkeleyDBだったりするのがちょと使い辛いです。 このあたりは、これらに共通なインターフェイスが存在して、明示的にどれを 使用するか選べるようにすべきではないかと思います。 > OSを上げたら、いつのまにかndbm互換ライブラリが、 > gdbmからBerkeleyDBに変更されてたりするので。 これはconfigureの仕方にも依存しそうですね。perlでも、gdbmを含ませた途 端、dbmopen()がOS標準のBerkeley DBからgdbmの互換インターフェイスになっ て面食らったことがあります。(いきなり、foo.dbがfoo.{dir.pag}になった。) > というわけでdbmはsdbmを使うというのはどうでしょう? 古い(rubyでは恐らく使っていない)dbmやndbmにはキーとデータの合計が1024 バイトを越えられないという制約があったと思います。sdbmは、このあたりは どうなっていますか? また、性能面ではどうでしょう。 > gdbmやBerkeleyDBが使いたいなら別にありますし、 BerkeleyDBって、新しいものしか対応してない...と思ったら、1.86とか対応 のもありますね。気になるところは、その「でき」でしょうか。 > OSに付属のndbmを使いたいという人はあまりいないと思うし。 OSに標準のデータベース・ライブラリが何かで変わってくるでしょう。いまど きの*BSDについては、 - Berkely DB 1.X + 独自の修正 となっているものが多くて、ndbmもこの互換しか存在していません。まぁ、そ ういう意味では使っていないんですが... 以上、思い付くまま書いてみました。 -- 神戸 隆博(かんべ たかひろ) at 仕事場