20.1.17 ead_remove_all()(valueの一括削除)
(1) 機能
指定したkeyの一覧に関連づけられたvalueを一括削除します。
同じkeyを複数指定した場合は,keyの一覧に指定した順にそれぞれ実行されます。
(2) 形式
#include <eads.h> ead_remove_all_results ead_remove_all ( const EAD_CACHE *cp, /* In */ const ead_keys *keys, /* In */ int *error_code /* Out */ );
(3) 引数
- cp
-
削除するvalueが格納されているキャッシュのハンドル(ポインタ)を指定します。
ead_start_cache()で取得したハンドルを指定してください。
- keys
-
削除するkeyの一覧(ead_keys構造体)を指定します。
指定できるデータについては,「15.2.2(1) keyとして指定できるデータ」を参照してください。
ead_keys構造体の形式と説明については,「20.1.45 ead_keys構造体(複数のkey)」を参照してください。
- error_code
-
エラーコード取得先のポインタを指定します。
エラーコードについては,「20.2 クライアントライブラリのエラーコード(C言語)」を参照してください。
(4) 戻り値
指定したkeyの一覧に関連づけられたvalueの一括削除の結果(ead_remove_all_results構造体)が返却されます。
-
一括削除にすべて成功した場合
success_operation_numberメンバが,引数に指定したkeyの数と同じ値になり,failure_infoメンバがNULLになります。
-
一括削除に一部またはすべて失敗した場合
failure_infoメンバに,failure_operation_numberメンバに示す個数分,失敗した操作の情報が返却されます。
-
keyごとの処理以外でエラーが発生した場合(引数の不正やメモリ領域の不足など)
ead_remove_all_results構造体の数値型のメンバは0,ポインタ型のメンバはNULLになります。
ead_remove_all_results構造体の形式と説明については,「20.1.50 ead_remove_all_results構造体(ead_remove_all()の実行結果)」を参照してください。
(5) 注意事項
-
valueの一括削除に失敗した場合,次のエラーコードが返却されます。
-
一括削除にすべて失敗したとき
EAD_ERROR_BATCH_FAILED_ALL
-
一括削除に一部失敗したとき
EAD_ERROR_BATCH_FAILED_PART
-
-
戻り値として返却された,valueの一括削除の結果を格納するメモリ領域は,自動的に解放されないため,APで解放してください。詳細については,「19.1.1(10) 戻り値として返却されたメモリ領域を解放する」を参照してください。
-
削除に失敗した場合,削除対象のデータが残っているおそれがあります。そのため,エラーコードからエラーの要因を調査して,どの操作が失敗したか判別して対処してください。必要に応じて,ead_remove_all()(valueの一括削除)を再度実行してください。
-
キャッシュの操作中に排他処理はされません。そのため,一括操作中に,ほかのキャッシュ操作によって操作対象のvalueが変更されることがあります。
-
大量のデータを一括操作する場合,EADSクライアントおよびEADSサーバでメモリが大量に消費されることがあります。
-
大量のデータを一括操作する場合,操作の完了までに時間が掛かることがあります。そのため,タイムアウト時間を適切に設計してください。