kv_multi_delete()

#include <kvstore.h>

kv_int_t 
kv_multi_delete(kv_store_t *store, const kv_key_t *parent_key,
                const kv_key_range_t *key_range,kv_depth_enum depth, kv_durability_t durability,
                kv_timeout_t timeout_ms) 

parent_keyに関連付けられたすべての子孫key/valueペアを削除します。削除されたキーの合計数を返します。エラーの場合、ゼロより小さい整数値を返します。

この操作の結果として実行される削除はすべて、単一のトランザクションのコンテキスト内で実行されます。つまり、一致するすべてのkey/valueペアが削除されるか、いずれも削除されないことを意味します。

パラメータ

  • store

    storeパラメータは、削除操作を実行するストアへのハンドルです。

  • parent_key

    parent_keyパラメータは、子レコードを削除する親キーです。NULLにはできません。メジャー・キー・パスは完全である必要があります。マイナー・キー・パスは省略しても部分パスでもかまいません。

    kv_create_key()を使用してキーを構成します。

  • key_range

    key_rangeパラメータは、parent_keyの下位の範囲を、このキー範囲のマイナー・パス・コンポーネントにまで、さらに制限します。NULLである可能性があります。

    キー範囲は、kv_init_key_range()を使用して構築します。

  • depth

    depthパラメータは、削除が可能な深さを指定します。子のみ、親とすべての子、すべての子孫などの削除を許可できます。すべての深さオプションについては、kv_depth_enumを参照してください。

  • durability

    durabilityパラメータは、この書込み操作で使用する永続性を識別します。永続性保証は、kv_create_durability()を使用して作成します。

  • timeout_ms

    timeout_msパラメータは、操作を処理するための時間間隔の上限を指定します。指定された限度を超えないよう最善が尽くされます。ゼロの場合は、デフォルトの要求タイムアウトが使用されます。デフォルトの要求タイムアウトは、kv_config_set_timeouts()を使用して設定されます。