ストア操作データ型
この項では、高レベルでストアまたはAPIに基づくデータ型、またはAPIのすべての領域で一般的に使用されるデータ型を定義します。
kv_api_type_enum
typedef enum {
KV_JNI
} kv_api_type_enum;
API実装タイプを説明するために使用する構造。現在使用できるオプションはKV_JNI
の1つのみです。
kv_error_t
typedef enum {
KV_SUCCESS = 0,
KV_NO_MEMORY = -1,
KV_NOT_IMPLEMENTED = -2,
KV_ERROR_JVM = -3,
KV_KEY_NOT_FOUND = -4,
KV_KEY_EXISTS = -5,
KV_NO_SUCH_VERSION = -6,
KV_NO_SUCH_OBJECT = -7,
KV_INVALID_OPERATION = -8,
KV_INVALID_ARGUMENT = -9,
KV_TIMEOUT = -10,
KV_CONSISTENCY = -11,
KV_DURABILITY = -12,
KV_FAULT = -13,
KV_AUTH_FAILURE = -15,
KV_AUTH_REQUIRED = -16,
KV_ACCESS_DENIED = -17,
KV_ERROR_JAVA_UNKNOWN = -99,
KV_ERROR_UNKNOWN = -100
} kv_error_t
#define KV_FALSE 0
#define KV_TRUE 1
すべての非void APIメソッドは、kv_error_t
を返します。ほとんど例外なく、KV_SUCCESSの戻り値(または0)はエラーがないことを意味し、負の値はエラーを意味します。
例外は、整数値を返すメソッドです。このような場合、負の戻り値がエラーを意味し、負以外の戻り値が正しい値になります。
kv_store_iterator_config_t
typedef struct {
kv_int_t max_conc_req;
kv_int_t max_res_batches;
} kv_store_iterator_config_t;
ストアのパラレル・スキャンを構成する場合に使用します。
max_conc_reqは、パラレル・スキャンが行う同時要求の最大数を示します。つまり、このスキャンを実行するために使用されるクライアント側スレッドの最大数です。この値を1に設定すると、現在のスレッドのみを使用してストアの反復が実行されます。これを0に設定すると、KVクライアントはトポロジ情報に基づいてスレッド数を決定します(使用可能なプロセッサの最大数まで)。0より小さい値は、将来の使用のために予約されており、エラーが返されます。
max_res_batchesは、レプリケーション・ノードでの処理が一時停止する前にOracle NoSQL Databaseクライアント・プロセスに保持できる結果バッチの最大数を指定します。これにより、クライアントがレプリケーション・ノードによって生成される速度と同じように高速で結果を使用できない場合に、クライアント側のメモリーを超過しないことが保証されます。デフォルト値は、max_conc_reqに指定されている値です。