All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules 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_COMMIT_LEVEL_DEFAULT   AS_POLICY_COMMIT_LEVEL_ALL
 
#define AS_POLICY_CONSISTENCY_LEVEL_DEFAULT   AS_POLICY_CONSISTENCY_LEVEL_ONE
 
#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_REPLICA_DEFAULT   AS_POLICY_REPLICA_MASTER
 
#define AS_POLICY_RETRY_DEFAULT   AS_POLICY_RETRY_ONCE
 
#define AS_POLICY_TIMEOUT_DEFAULT   1000
 

Enumerations

enum  as_policy_commit_level { AS_POLICY_COMMIT_LEVEL_ALL, AS_POLICY_COMMIT_LEVEL_MASTER }
 
enum  as_policy_consistency_level { AS_POLICY_CONSISTENCY_LEVEL_ONE, AS_POLICY_CONSISTENCY_LEVEL_ALL }
 
enum  as_policy_exists {
  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_IGNORE, AS_POLICY_GEN_EQ, AS_POLICY_GEN_GT, AS_POLICY_GEN_DUP }
 
enum  as_policy_key { AS_POLICY_KEY_DIGEST, AS_POLICY_KEY_SEND }
 
enum  as_policy_replica { AS_POLICY_REPLICA_MASTER, AS_POLICY_REPLICA_ANY }
 
enum  as_policy_retry { AS_POLICY_RETRY_NONE, AS_POLICY_RETRY_ONCE }
 

Macro Definition Documentation

#define AS_POLICY_COMMIT_LEVEL_DEFAULT   AS_POLICY_COMMIT_LEVEL_ALL

Default as_policy_commit_level value for write

Definition at line 117 of file as_policy.h.

#define AS_POLICY_CONSISTENCY_LEVEL_DEFAULT   AS_POLICY_CONSISTENCY_LEVEL_ONE

Default as_policy_consistency_level value for read

Definition at line 110 of file as_policy.h.

#define AS_POLICY_EXISTS_DEFAULT   AS_POLICY_EXISTS_IGNORE

Default as_policy_exists value

Definition at line 96 of file as_policy.h.

#define AS_POLICY_GEN_DEFAULT   AS_POLICY_GEN_IGNORE

Default as_policy_gen value

Definition at line 82 of file as_policy.h.

#define AS_POLICY_KEY_DEFAULT   AS_POLICY_KEY_DIGEST

Default as_policy_key value

Definition at line 89 of file as_policy.h.

#define AS_POLICY_REPLICA_DEFAULT   AS_POLICY_REPLICA_MASTER

Default as_policy_replica value

Definition at line 103 of file as_policy.h.

#define AS_POLICY_RETRY_DEFAULT   AS_POLICY_RETRY_ONCE

Default as_policy_retry value

Definition at line 75 of file as_policy.h.

#define AS_POLICY_TIMEOUT_DEFAULT   1000

Default timeout value

Definition at line 68 of file as_policy.h.

Enumeration Type Documentation

Commit Level

Specifies the number of replicas required to be successfully committed before returning success in a write operation to provide the desired consistency guarantee.

Enumerator
AS_POLICY_COMMIT_LEVEL_ALL 

Return succcess only after successfully committing all replicas.

AS_POLICY_COMMIT_LEVEL_MASTER 

Return succcess after successfully committing the master replica.

Definition at line 305 of file as_policy.h.

Consistency Level

Specifies the number of replicas to be consulted in a read operation to provide the desired consistency guarantee.

Enumerator
AS_POLICY_CONSISTENCY_LEVEL_ONE 

Involve a single replica in the operation.

AS_POLICY_CONSISTENCY_LEVEL_ALL 

Involve all replicas in the operation.

Definition at line 282 of file as_policy.h.

Existence Policy

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

Enumerator
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 223 of file as_policy.h.

Generation Policy

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

Enumerator
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 153 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_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 187 of file as_policy.h.

Replica Policy

Specifies which partition replica to read from.

Enumerator
AS_POLICY_REPLICA_MASTER 

Read from the partition master replica node.

AS_POLICY_REPLICA_ANY 

Read from an unspecified replica node.

Definition at line 259 of file as_policy.h.

Retry Policy

Specifies the behavior of failed operations.

Enumerator
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 130 of file as_policy.h.