Hitachi

インメモリデータグリッド Hitachi Elastic Application Data Store ユーザーズガイド


20.1.30 ead_execute_function()(keyまたはグループ指定によるユーザファンクションの実行)

〈この項の構成〉

(1) 機能

指定したkeyまたはグループから実行するEADSサーバを決定して,ユーザファンクションを実行します。

(2) 形式

#include <eads.h>
ead_object ead_execute_function
(
  const EAD_CACHE      *cp,                    /* In */
  const char           *key_or_group_name,     /* In */
  const char           *func_name,             /* In */
  const ead_object     *arg,                   /* In */
  int                  *error_code             /* Out */
);

(3) 引数

cp

ユーザファンクションを実行するキャッシュのハンドル(ポインタ)を指定します。

ead_start_cache()で取得したハンドルを指定してください。

key_or_group_name

keyまたはグループ名を指定します。

指定できるデータについては,「15.2.2(1) keyとして指定できるデータ」,または「15.2.2(2) グループ名として指定できるデータ」を参照してください。

func_name

ユーザファンクション名を指定します。

半角英数字(0〜9,A〜Z,a〜z),アンダースコア(_),ピリオド(.)またはドルマーク($)が指定できます。

文字数に制限はありません。

arg

ユーザファンクションに渡す引数(ead_object構造体)を指定します。

ead_object構造体の形式と説明については,「20.1.52 ead_object構造体(ユーザファンクションで使用するオブジェクト)」を参照してください。

引数を渡さない場合はNULLを指定します。

error_code

エラーコード取得先のポインタを指定します。

エラーコードについては,「20.2 クライアントライブラリのエラーコード(C言語)」を参照してください。

(4) 戻り値

ead_execute_function()が正常に終了した場合は,ユーザファンクションの実行結果(ead_object構造体)が返却されます。

ead_object構造体の形式と説明については,「20.1.52 ead_object構造体(ユーザファンクションで使用するオブジェクト)」を参照してください。

ead_object構造体のobject_sizeメンバは,ユーザファンクションの戻り値に指定したバイト配列のサイズになります。

次の場合は,ead_object構造体のobjectメンバにNULLが設定されます。

(5) 注意事項

戻り値として返却された,ユーザファンクションの実行結果を格納するメモリ領域は,自動的に解放されないため,APで解放してください。詳細については,「19.1.1(10) 戻り値として返却されたメモリ領域を解放する」を参照してください。