All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Data Structures | Macros | Enumerations
Client Policies

Description

Policies define the behavior of database operations.

Policies fall into two groups: policy values and operation policies. A policy value is a single value which defines how the client behaves. An operation policy is a group of policy values which affect an operation.

Policy Values

The following are the policy values. For details, please see the documentation for each policy value

Operation Policies

The following are the operation policies. Operation policies are groups of policy values for a type of operation.

Data Structures

struct  as_policy_admin
 
struct  as_policy_apply
 
struct  as_policy_batch
 
struct  as_policy_info
 
struct  as_policy_operate
 
struct  as_policy_query
 
struct  as_policy_read
 
struct  as_policy_remove
 
struct  as_policy_scan
 
struct  as_policy_write
 

Macros

#define AS_POLICY_EXISTS_DEFAULT   AS_POLICY_EXISTS_IGNORE
 
#define AS_POLICY_GEN_DEFAULT   AS_POLICY_GEN_IGNORE
 
#define AS_POLICY_KEY_DEFAULT   AS_POLICY_KEY_DIGEST
 
#define AS_POLICY_RETRY_DEFAULT   AS_POLICY_RETRY_NONE
 
#define AS_POLICY_TIMEOUT_DEFAULT   1000
 

Enumerations

enum  as_policy_bool { AS_POLICY_BOOL_UNDEF = -1, AS_POLICY_BOOL_FALSE = false, AS_POLICY_BOOL_TRUE = true }
 
enum  as_policy_exists {
  AS_POLICY_EXISTS_UNDEF, AS_POLICY_EXISTS_IGNORE, AS_POLICY_EXISTS_CREATE, AS_POLICY_EXISTS_UPDATE,
  AS_POLICY_EXISTS_REPLACE, AS_POLICY_EXISTS_CREATE_OR_REPLACE
}
 
enum  as_policy_gen {
  AS_POLICY_GEN_UNDEF, AS_POLICY_GEN_IGNORE, AS_POLICY_GEN_EQ, AS_POLICY_GEN_GT,
  AS_POLICY_GEN_DUP
}
 
enum  as_policy_key { AS_POLICY_KEY_UNDEF, AS_POLICY_KEY_DIGEST, AS_POLICY_KEY_SEND }
 
enum  as_policy_retry { AS_POLICY_RETRY_UNDEF, AS_POLICY_RETRY_NONE, AS_POLICY_RETRY_ONCE }
 

Macro Definition Documentation

#define AS_POLICY_EXISTS_DEFAULT   AS_POLICY_EXISTS_IGNORE

Default as_policy_exists value

Definition at line 94 of file as_policy.h.

#define AS_POLICY_GEN_DEFAULT   AS_POLICY_GEN_IGNORE

Default as_policy_gen value

Definition at line 80 of file as_policy.h.

#define AS_POLICY_KEY_DEFAULT   AS_POLICY_KEY_DIGEST

Default as_policy_key value

Definition at line 87 of file as_policy.h.

#define AS_POLICY_RETRY_DEFAULT   AS_POLICY_RETRY_NONE

Default as_policy_retry value

Definition at line 73 of file as_policy.h.

#define AS_POLICY_TIMEOUT_DEFAULT   1000

Default timeout value

Definition at line 66 of file as_policy.h.

Enumeration Type Documentation

Boolean Policy.

This enum provides boolean values (true,false) and an undefined value for the boolean.

Enumerator
AS_POLICY_BOOL_UNDEF 

If the value is neither true or false, then it is undefined. This is used for cases where we initialize a variable, but do not want it to have a value.

AS_POLICY_BOOL_FALSE 

This value is interchangable with false.

AS_POLICY_BOOL_TRUE 

This value is interchangable with true.

Definition at line 272 of file as_policy.h.

Existence Policy.

Specifies the behavior for writing the record depending whether or not it exists.

Enumerator
AS_POLICY_EXISTS_UNDEF 

The policy is undefined.

If set, then the value will default to either as_config.policies.exists or AS_POLICY_EXISTS_DEFAULT.

AS_POLICY_EXISTS_IGNORE 

Write the record, regardless of existence. (i.e. create or update.)

AS_POLICY_EXISTS_CREATE 

Create a record, ONLY if it doesn't exist.

AS_POLICY_EXISTS_UPDATE 

Update a record, ONLY if it exists.

AS_POLICY_EXISTS_REPLACE 

Completely replace a record, ONLY if it exists.

AS_POLICY_EXISTS_CREATE_OR_REPLACE 

Completely replace a record if it exists, otherwise create it.

Definition at line 226 of file as_policy.h.

Generation Policy

Specifies the behavior of record modifications with regard to the generation value.

Enumerator
AS_POLICY_GEN_UNDEF 

The policy is undefined.

If set, then the value will default to either as_config.policies.gen or AS_POLICY_GEN_DEFAULT.

AS_POLICY_GEN_IGNORE 

Write a record, regardless of generation.

AS_POLICY_GEN_EQ 

Write a record, ONLY if generations are equal

AS_POLICY_GEN_GT 

Write a record, ONLY if local generation is greater-than remote generation

AS_POLICY_GEN_DUP 

Write a record creating a duplicate, ONLY if the generation collides (?)

Definition at line 139 of file as_policy.h.

Key Policy

Specifies the behavior for whether keys or digests should be sent to the cluster.

Enumerator
AS_POLICY_KEY_UNDEF 

The policy is undefined.

If set, then the value will default to either as_config.policies.key or AS_POLICY_KEY_DEFAULT.

AS_POLICY_KEY_DIGEST 

Send the digest value of the key.

This is the recommended mode of operation. This calculates the digest and send the digest to the server. The digest is only calculated on the client, and not on the server.

AS_POLICY_KEY_SEND 

Send the key, in addition to the digest value.

If you want keys to be returned when scanning or querying, the keys must be stored on the server. This policy causes a write operation to store the key. Once a key is stored, the server will keep it - there is no need to use this policy on subsequent updates of the record.

If this policy is used on read or delete operations, or on subsequent updates of a record with a stored key, the key sent will be compared with the key stored on the server. A mismatch will cause AEROSPIKE_ERR_RECORD_KEY_MISMATCH to be returned.

Definition at line 182 of file as_policy.h.

Retry Policy

Specifies the behavior of failed operations.

Enumerator
AS_POLICY_RETRY_UNDEF 

The policy is undefined.

If set, then the value will default to either as_config.policies.retry or AS_POLICY_RETRY_DEFAULT.

AS_POLICY_RETRY_NONE 

Only attempt an operation once.

AS_POLICY_RETRY_ONCE 

If an operation fails, attempt the operation one more time.

Definition at line 107 of file as_policy.h.