Path: katsu From: katsu@sra.co.jp (WATANABE Katsuhiro) Message-ID: Date: 09 Aug 1994 04:14:53 GMT Organization: Software Research Associates, Inc.,Japan In-reply-to: s-fujii@sra.co.jp's message of Mon, 8 Aug 1994 04:47:07 GMT Newsgroups: sra.os.unix Subject: Re: ndbm Distribution: sra References: 記事 で私いはく > こうした、key の hash 値の衝突かもしれない(わからない)現象に >遭遇したので報告します。 > 付録のプログラムは、標準入力から数を読み込んでそれを int(4bytes) に >直したものを key とし、1000 バイトほどの contents をもつデータを >DBM ファイルに書き込むものです。たまたま hashlist というファイルの >中身を key として選んでみると、13 個ほどのデータを書いたところで >それ以上 store できなくなる場合(OS)があります。  状況を最適化して、int で 1252 と 165404 という2つのキーでは、 (中身のデータが充分大きいとき)同時に store できないことがわかりました。 記事 で s-fujii@sra.co.jp (Seigo Fujii) さんいはく > > よくわからないのは、一旦 store_dbm(3) が一旦 1 を返すような > >ことがあると、それ以降どんな key を指定しようとも store_dbm(3) が > >失敗し続けることです。以前成功した(つまり現在 DBM ファイルに > >存在している) key で再びデータを store しようとした時でさえも。 > dbm_clearerr(3) なるものがあります。 dbm_clearerr(db) すればエラ > ーしなくなると思います?(試してみてはいません。ゴメンなさい。)  BINGO! でした。どうもありがとうございます。 -- 渡邊克宏@システム技術グループ(四谷)