トップ «前の日記(2007-05-11) 最新 次の日記(2007-05-23)» 編集

3 日坊主日記


2007-05-22 [長年日記]

_ [BDB] secondary key

secondary database の作成は SQL での create index に対応する。

secondary database を用意したとき secondary key を作る callback と Cursor#c_get の両方で DBT<->object 変換する必要があるのが気に食わない。

getting started のサンプルを見ると、 C 言語では DBT 構造体をアプリケーションデータの構造体にキャストすることで効率良く secondary key を得ているのだが、Ruby だと DBT<->string<->object の変換が必要になってうまくない。

Java API を確認すると SecondaryKeyCreator TupleBinding てことで、やっぱり変換しているように見える。 entryToObject が何回呼ばれているか sample で確認してみたい。

結果: 1 itemにつき Loadで1回 Readで1回。 そうか。 Load (update) と Read (select) は別の時点で行うからこれでいいのか。

[]