In message <1191-Mon11Mar2002121708+0900-eban / os.rim.or.jp>
	on Mon, 11 Mar 2002 12:17:12 +0900,
	WATANABE Hirofumi <eban / os.rim.or.jp> 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 仕事場