kv_lob_get_for_write()
#include <kvstore.h>
kv_error_t
kv_lob_get_for_write(kv_store_t *store,
const kv_key_t *key,
kv_lob_handle_t **handle,
kv_presence_enum if_presence,
kv_durability_t durability,
kv_timeout_t timeout_ms);
ストアにラージ・オブジェクトを書き込むためのLOBハンドルを割り当てて構成します。ハンドルが正常に作成されると、KV_SUCCESS
が返されます。それ以外の場合は、KV_NO_MEMORY
が返されます。
このハンドルをオープンするとき、kv_lob_put_from_file()を使用して実際の書込み操作を実行します。現在、メモリーからラージ・オブジェクトを直接書き込むメソッドはありません。
この関数によって割り当てられたLOBハンドルは、kv_lob_release_handle()を使用して解放する必要があります。
パラメータ
-
store
storeパラメータは、ラージ・オブジェクトを書き込むストアへのハンドルです。
-
key
keyパラメータは、LOBレコードのキーです。ここで使用する最終パス・コンポーネントは、ストアに対して構成したLOB接尾辞を指定する必要があり、指定しない場合、書込み操作は失敗します。LOB接尾辞は、kv_config_set_lob_suffix()を使用してストア用に構成します。
-
handle
handleパラメータは、割り当てられたLOBハンドル(構造)へのポインタのコピー先であるメモリーを参照します。
-
if_presence
if_presenceパラメータは、ストア内のレコードの有無に基づいてレコードをストアに書き込むことができる条件を示します。たとえば、
KV_IF_PRESENT
は、レコードのバージョンがそこにすでに存在する場合のみ、レコードをストアに書き込むことができることを意味します。使用可能なすべてのプレゼンス・オプションのリストについては、kv_presence_enumを参照してください。
-
durability
durabilityパラメータは、この書込み操作で使用する永続性を保証します。永続性保証は、kv_create_durability()を使用して作成します。
-
timeout_ms
timeout_msパラメータは、LOBの各チャンクを書き込むための時間間隔の上限を指定します。(ラージ・オブジェクトは複数のチャンクでストアに書き込まれます。)指定された限度を超えないよう最善が尽くされます。ゼロの場合は、ストアに定義されているデフォルトのLOBタイムアウト値が使用されます。この値は、kv_config_set_lob_timeout()を使用して設定します。
関連項目