All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
as_exp.h File Reference
#include <aerospike/as_bit_operations.h>
#include <aerospike/as_hll_operations.h>
#include <aerospike/as_list_operations.h>
#include <aerospike/as_map_operations.h>
#include <aerospike/as_msgpack_ext.h>
#include <aerospike/as_nil.h>
#include <aerospike/as_std.h>
+ Include dependency graph for as_exp.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  as_exp
 
struct  as_exp_entry
 

Macros

#define as_exp_abs(__value)   {.op=_AS_EXP_CODE_ABS, .count=2}, __value
 
#define as_exp_add(...)
 
#define as_exp_and(...)
 
#define as_exp_bin_blob(__bin_name)
 
#define as_exp_bin_bool(__bin_name)
 
#define as_exp_bin_exists(__bin_name)   as_exp_cmp_ne(as_exp_bin_type(__bin_name), as_exp_int(AS_BYTES_UNDEF))
 
#define as_exp_bin_float(__bin_name)
 
#define as_exp_bin_geo(__bin_name)
 
#define as_exp_bin_hll(__bin_name)
 
#define as_exp_bin_int(__bin_name)
 
#define as_exp_bin_list(__bin_name)
 
#define as_exp_bin_map(__bin_name)
 
#define as_exp_bin_str(__bin_name)
 
#define as_exp_bin_type(__bin_name)
 
#define as_exp_bit_add(__policy, __bit_offset, __bit_size, __value, __action, __bin)
 
#define as_exp_bit_and(__policy, __bit_offset, __bit_size, __value, __bin)
 
#define as_exp_bit_count(__bit_offset, __bit_size, __bin)
 
#define as_exp_bit_get(__bit_offset, __bit_size, __bin)
 
#define as_exp_bit_get_int(__bit_offset, __bit_size, __sign, __bin)
 
#define as_exp_bit_insert(__policy, __byte_offset, __value, __bin)
 
#define as_exp_bit_lscan(__bit_offset, __bit_size, __value, __bin)
 
#define as_exp_bit_lshift(__policy, __bit_offset, __bit_size, __shift, __bin)
 
#define as_exp_bit_not(__policy, __bit_offset, __bit_size, __bin)
 
#define as_exp_bit_or(__policy, __bit_offset, __bit_size, __value, __bin)
 
#define as_exp_bit_remove(__policy, __byte_offset, __byte_size, __bin)
 
#define as_exp_bit_resize(__policy, __byte_size, __flags, __bin)
 
#define as_exp_bit_rscan(__bit_offset, __bit_size, __value, __bin)
 
#define as_exp_bit_rshift(__policy, __bit_offset, __bit_size, __shift, __bin)
 
#define as_exp_bit_set(__policy, __bit_offset, __bit_size, __value, __bin)
 
#define as_exp_bit_set_int(__policy, __bit_offset, __bit_size, __value, __bin)
 
#define as_exp_bit_subtract(__policy, __bit_offset, __bit_size, __value, __action, __bin)
 
#define as_exp_bit_xor(__policy, __bit_offset, __bit_size, __value, __bin)
 
#define as_exp_bool(__val)   {.op=_AS_EXP_CODE_VAL_BOOL, .v.bool_val=__val}
 
#define as_exp_build(__name,...)
 
#define as_exp_build_b64(__name,...)
 
#define as_exp_bytes(__val, __size)   {.op=_AS_EXP_CODE_VAL_BYTES, .sz=__size, .v.bytes_val=__val}
 
#define as_exp_ceil(__num)   {.op=_AS_EXP_CODE_CEIL, .count=2}, __num
 
#define as_exp_cmp_eq(__left, __right)   {.op=_AS_EXP_CODE_CMP_EQ, .count=3}, __left, __right
 
#define as_exp_cmp_ge(__left, __right)   {.op=_AS_EXP_CODE_CMP_GE, .count=3}, __left, __right
 
#define as_exp_cmp_geo(__left, __right)   {.op=_AS_EXP_CODE_CMP_GEO, .count=3}, __left, __right
 
#define as_exp_cmp_gt(__left, __right)   {.op=_AS_EXP_CODE_CMP_GT, .count=3}, __left, __right
 
#define as_exp_cmp_le(__left, __right)   {.op=_AS_EXP_CODE_CMP_LE, .count=3}, __left, __right
 
#define as_exp_cmp_lt(__left, __right)   {.op=_AS_EXP_CODE_CMP_LT, .count=3}, __left, __right
 
#define as_exp_cmp_ne(__left, __right)   {.op=_AS_EXP_CODE_CMP_NE, .count=3}, __left, __right
 
#define as_exp_cmp_regex(__options, __regex_str, __cmp_str)
 
#define as_exp_cond(...)
 
#define as_exp_def(__var_name, __expr)   _AS_EXP_VAL_RAWSTR(__var_name), __expr
 
#define as_exp_device_size()   {.op=_AS_EXP_CODE_DEVICE_SIZE, .count=1}
 
#define as_exp_digest_modulo(__mod)
 
#define as_exp_div(...)
 
#define as_exp_exclusive(...)
 
#define as_exp_expr(__e)   {.op=_AS_EXP_CODE_MERGE, .v.expr=__e}
 
#define as_exp_float(__val)   {.op=_AS_EXP_CODE_VAL_FLOAT, .v.float_val=__val}
 
#define as_exp_floor(__num)   {.op=_AS_EXP_CODE_FLOOR, .count=2}, __num
 
#define as_exp_geo(__val)   {.op=_AS_EXP_CODE_VAL_GEO, .v.val=(as_val*)as_geojson_new(__val, false)}
 
#define as_exp_hll_add(__policy, __list, __index_bit_count, __bin)
 
#define as_exp_hll_add_mh(__policy, __list, __index_bit_count, __mh_bit_count, __bin)
 
#define as_exp_hll_describe(__bin)
 
#define as_exp_hll_get_count(__bin)
 
#define as_exp_hll_get_intersect_count(__list, __bin)
 
#define as_exp_hll_get_similarity(__list, __bin)
 
#define as_exp_hll_get_union(__list, __bin)
 
#define as_exp_hll_get_union_count(__list, __bin)
 
#define as_exp_hll_init(__policy, __index_bit_count, __bin)
 
#define as_exp_hll_init_mh(__policy, __index_bit_count, __mh_bit_count, __bin)
 
#define as_exp_hll_may_contain(__list, __bin)
 
#define as_exp_hll_update(__policy, __list, __bin)
 
#define as_exp_inf()   as_exp_val(&as_cmp_inf)
 
#define as_exp_int(__val)   {.op=_AS_EXP_CODE_VAL_INT, .v.int_val=__val}
 
#define as_exp_int_and(...)
 
#define as_exp_int_arshift(__value, __shift)   {.op=_AS_EXP_CODE_INT_ARSHIFT, .count=3}, __value, __shift
 
#define as_exp_int_count(__expr)   {.op=_AS_EXP_CODE_INT_COUNT, .count=2}, __expr
 
#define as_exp_int_lscan(__value, __search)   {.op=_AS_EXP_CODE_INT_LSCAN, .count=3}, __value, __search
 
#define as_exp_int_lshift(__value, __shift)   {.op=_AS_EXP_CODE_INT_LSHIFT, .count=3}, __value, __shift
 
#define as_exp_int_not(__expr)
 
#define as_exp_int_or(...)
 
#define as_exp_int_rscan(__value, __search)   {.op=_AS_EXP_CODE_INT_RSCAN, .count=3}, __value, __search
 
#define as_exp_int_rshift(__value, __shift)   {.op=_AS_EXP_CODE_INT_RSHIFT, .count=3}, __value, __shift
 
#define as_exp_int_xor(...)
 
#define as_exp_is_tombstone()   {.op=_AS_EXP_CODE_IS_TOMBSTONE, .count=1}
 
#define as_exp_key_blob()
 
#define as_exp_key_exist()   {.op=_AS_EXP_CODE_KEY_EXIST, .count=1}
 
#define as_exp_key_int()
 
#define as_exp_key_str()
 
#define as_exp_last_update()   {.op=_AS_EXP_CODE_LAST_UPDATE, .count=1}
 
#define as_exp_let(...)
 
#define as_exp_list_append(__ctx, __pol, __val, __bin)
 
#define as_exp_list_append_items(__ctx, __pol, __val, __bin)
 
#define as_exp_list_clear(__ctx, __bin)
 
#define as_exp_list_get_by_index(__ctx, __rtype, __vtype, __idx, __bin)
 
#define as_exp_list_get_by_index_range(__ctx, __rtype, __idx, __count, __bin)
 
#define as_exp_list_get_by_index_range_to_end(__ctx, __rtype, __idx, __bin)
 
#define as_exp_list_get_by_rank(__ctx, __rtype, __vtype, __rank, __bin)
 
#define as_exp_list_get_by_rank_range(__ctx, __rtype, __rank, __count, __bin)
 
#define as_exp_list_get_by_rank_range_to_end(__ctx, __rtype, __rank, __bin)
 
#define as_exp_list_get_by_rel_rank_range(__ctx, __rtype, __val, __rank, __count, __bin)
 
#define as_exp_list_get_by_rel_rank_range_to_end(__ctx, __rtype, __val, __rank, __bin)
 
#define as_exp_list_get_by_value(__ctx, __rtype, __val, __bin)
 
#define as_exp_list_get_by_value_list(__ctx, __rtype, __val, __bin)
 
#define as_exp_list_get_by_value_range(__ctx, __rtype, __begin, __end, __bin)
 
#define as_exp_list_increment(__ctx, __pol, __idx, __val, __bin)
 
#define as_exp_list_insert(__ctx, __pol, __idx, __val, __bin)
 
#define as_exp_list_insert_items(__ctx, __pol, __idx, __val, __bin)
 
#define as_exp_list_remove_by_index(__ctx, __idx, __bin)
 
#define as_exp_list_remove_by_index_range(__ctx, __rtype, __idx, __count, __bin)
 
#define as_exp_list_remove_by_index_range_to_end(__ctx, __rtype, __idx, __bin)
 
#define as_exp_list_remove_by_rank(__ctx, __rank, __bin)
 
#define as_exp_list_remove_by_rank_range(__ctx, __rtype, __rank, __count, __bin)
 
#define as_exp_list_remove_by_rank_range_to_end(__ctx, __rtype, __rank, __bin)
 
#define as_exp_list_remove_by_rel_rank_range(__ctx, __rtype, __val, __rank, __count, __bin)
 
#define as_exp_list_remove_by_rel_rank_range_to_end(__ctx, __rtype, __val, __rank, __bin)
 
#define as_exp_list_remove_by_value(__ctx, __rtype, __val, __bin)
 
#define as_exp_list_remove_by_value_list(__ctx, __rtype, __values, __bin)
 
#define as_exp_list_remove_by_value_range(__ctx, __rtype, __begin, __end, __bin)
 
#define as_exp_list_set(__ctx, __pol, __idx, __val, __bin)
 
#define as_exp_list_size(__ctx, __bin)
 
#define as_exp_list_sort(__ctx, __order, __bin)
 
#define as_exp_log(__num, __base)   {.op=_AS_EXP_CODE_LOG, .count=3}, __num, __base
 
#define as_exp_map_clear(__ctx, __bin)
 
#define as_exp_map_get_by_index(__ctx, __rtype, __vtype, __idx, __bin)
 
#define as_exp_map_get_by_index_range(__ctx, __rtype, __idx, __count, __bin)
 
#define as_exp_map_get_by_index_range_to_end(__ctx, __rtype, __idx, __bin)
 
#define as_exp_map_get_by_key(__ctx, __rtype, __vtype, __key, __bin)
 
#define as_exp_map_get_by_key_list(__ctx, __rtype, __keys, __bin)
 
#define as_exp_map_get_by_key_range(__ctx, __rtype, __begin, __end, __bin)
 
#define as_exp_map_get_by_key_rel_index_range(__ctx, __rtype, __key, __idx, __count, __bin)
 
#define as_exp_map_get_by_key_rel_index_range_to_end(__ctx, __rtype, __key, __idx, __bin)
 
#define as_exp_map_get_by_rank(__ctx, __rtype, __vtype, __rank, __bin)
 
#define as_exp_map_get_by_rank_range(__ctx, __rtype, __rank, __count, __bin)
 
#define as_exp_map_get_by_rank_range_to_end(__ctx, __rtype, __rank, __bin)
 
#define as_exp_map_get_by_value(__ctx, __rtype, __val, __bin)
 
#define as_exp_map_get_by_value_list(__ctx, __rtype, __values, __bin)
 
#define as_exp_map_get_by_value_range(__ctx, __rtype, __begin, __end, __bin)
 
#define as_exp_map_get_by_value_rel_rank_range(__ctx, __rtype, __val, __rank, __count, __bin)
 
#define as_exp_map_get_by_value_rel_rank_range_to_end(__ctx, __rtype, __val, __rank, __bin)
 
#define as_exp_map_increment(__ctx, __pol, __key, __val, __bin)
 
#define as_exp_map_put(__ctx, __pol, __key, __val, __bin)
 
#define as_exp_map_put_items(__ctx, __pol, __map, __bin)
 
#define as_exp_map_remove_by_index(__ctx, __idx, __bin)
 
#define as_exp_map_remove_by_index_range(__ctx, __rtype, __idx, __count, __bin)
 
#define as_exp_map_remove_by_index_range_to_end(__ctx, __rtype, __idx, __bin)
 
#define as_exp_map_remove_by_key(__ctx, __key, __bin)
 
#define as_exp_map_remove_by_key_list(__ctx, __rtype, __keys, __bin)
 
#define as_exp_map_remove_by_key_range(__ctx, __rtype, __begin, __end, __bin)
 
#define as_exp_map_remove_by_key_rel_index_range(__ctx, __rtype, __key, __idx, __count, __bin)
 
#define as_exp_map_remove_by_key_rel_index_range_to_end(__ctx, __rtype, __key, __idx, __bin)
 
#define as_exp_map_remove_by_rank(__ctx, __rank, __bin)
 
#define as_exp_map_remove_by_rank_range(__ctx, __rtype, __rank, __count, __bin)
 
#define as_exp_map_remove_by_rank_range_to_end(__ctx, __rtype, __rank, __bin)
 
#define as_exp_map_remove_by_value(__ctx, __rtype, __val, __bin)
 
#define as_exp_map_remove_by_value_list(__ctx, __rtype, __values, __bin)
 
#define as_exp_map_remove_by_value_range(__ctx, __rtype, __begin, __end, __bin)
 
#define as_exp_map_remove_by_value_rel_rank_range(__ctx, __rtype, __val, __rank, __count, __bin)
 
#define as_exp_map_remove_by_value_rel_rank_range_to_end(__ctx, __rtype, __val, __rank, __bin)
 
#define as_exp_map_size(__ctx, __bin)
 
#define as_exp_max(...)
 
#define as_exp_memory_size()   {.op=_AS_EXP_CODE_MEMORY_SIZE, .count=1}
 
#define as_exp_min(...)
 
#define as_exp_mod(__numerator, __denominator)   {.op=_AS_EXP_CODE_MOD, .count=3}, __numerator, __denominator
 
#define as_exp_mul(...)
 
#define as_exp_nil()   as_exp_val(&as_nil)
 
#define as_exp_not(__expr)   {.op=_AS_EXP_CODE_NOT, .count=2}, __expr
 
#define as_exp_or(...)
 
#define as_exp_pow(__base, __exponent)   {.op=_AS_EXP_CODE_POW, .count=3}, __base, __exponent
 
#define as_exp_record_size()   {.op=_AS_EXP_CODE_RECORD_SIZE, .count=1}
 
#define as_exp_set_name()   {.op=_AS_EXP_CODE_SET_NAME, .count=1}
 
#define as_exp_since_update()   {.op=_AS_EXP_CODE_SINCE_UPDATE, .count=1}
 
#define as_exp_str(__val)   {.op=_AS_EXP_CODE_VAL_STR, .v.str_val=__val}
 
#define as_exp_sub(...)
 
#define as_exp_to_float(__num)   {.op=_AS_EXP_CODE_TO_FLOAT, .count=2}, __num
 
#define as_exp_to_int(__num)   {.op=_AS_EXP_CODE_TO_INT, .count=2}, __num
 
#define as_exp_ttl()   {.op=_AS_EXP_CODE_TTL, .count=1}
 
#define as_exp_uint(__val)   {.op=_AS_EXP_CODE_VAL_UINT, .v.uint_val=__val}
 
#define as_exp_unknown()   {.op=_AS_EXP_CODE_UNKNOWN, .count=1}
 
#define as_exp_val(__val)   {.op=_AS_EXP_CODE_AS_VAL, .v.val=(as_val*)(__val)}
 
#define as_exp_var(__var_name)   {.op=_AS_EXP_CODE_VAR, .count=2}, _AS_EXP_VAL_RAWSTR(__var_name)
 
#define as_exp_void_time()   {.op=_AS_EXP_CODE_VOID_TIME, .count=1}
 
#define as_exp_wildcard()   as_exp_val(&as_cmp_wildcard)
 

Enumerations

enum  as_exp_call_system_type
 
enum  as_exp_ops
 
enum  as_exp_type {
  AS_EXP_TYPE_NIL = 0, AS_EXP_TYPE_BOOL = 1, AS_EXP_TYPE_INT = 2, AS_EXP_TYPE_STR = 3,
  AS_EXP_TYPE_LIST = 4, AS_EXP_TYPE_MAP = 5, AS_EXP_TYPE_BLOB = 6, AS_EXP_TYPE_FLOAT = 7,
  AS_EXP_TYPE_GEOJSON = 8, AS_EXP_TYPE_HLL = 9, AS_EXP_TYPE_AUTO, AS_EXP_TYPE_ERROR
}
 

Functions

AS_EXTERN as_expas_exp_compile (as_exp_entry *table, uint32_t n)
 
AS_EXTERN char * as_exp_compile_b64 (as_exp *exp)
 
AS_EXTERN void as_exp_destroy (as_exp *exp)
 
AS_EXTERN void as_exp_destroy_b64 (char *b64)
 
static void as_exp_destroy_base64 (char *base64)
 
AS_EXTERN as_expas_exp_from_base64 (const char *base64)
 
AS_EXTERN int64_t as_exp_get_ctx_type (const as_cdt_ctx *ctx, as_exp_type default_type)
 
AS_EXTERN int64_t as_exp_get_list_type (as_exp_type default_type, as_list_return_type rtype, bool is_multi)
 
AS_EXTERN int64_t as_exp_get_map_type (as_exp_type type, as_map_return_type rtype, bool is_multi)
 
static char * as_exp_to_base64 (as_exp *exp)
 
AS_EXTERN uint8_t * as_exp_write (as_exp *exp, uint8_t *ptr)
 

Enumeration Type Documentation

Definition at line 158 of file as_exp.h.

enum as_exp_ops

Definition at line 66 of file as_exp.h.

Enumerator
AS_EXP_TYPE_NIL 
AS_EXP_TYPE_BOOL 
AS_EXP_TYPE_INT 
AS_EXP_TYPE_STR 
AS_EXP_TYPE_LIST 
AS_EXP_TYPE_MAP 
AS_EXP_TYPE_BLOB 
AS_EXP_TYPE_FLOAT 
AS_EXP_TYPE_GEOJSON 
AS_EXP_TYPE_HLL 
AS_EXP_TYPE_AUTO 
AS_EXP_TYPE_ERROR 

Definition at line 166 of file as_exp.h.

Function Documentation

AS_EXTERN as_exp* as_exp_compile ( as_exp_entry table,
uint32_t  n 
)
AS_EXTERN char* as_exp_compile_b64 ( as_exp exp)
AS_EXTERN void as_exp_destroy_b64 ( char *  b64)
AS_EXTERN int64_t as_exp_get_ctx_type ( const as_cdt_ctx ctx,
as_exp_type  default_type 
)
AS_EXTERN int64_t as_exp_get_list_type ( as_exp_type  default_type,
as_list_return_type  rtype,
bool  is_multi 
)
AS_EXTERN int64_t as_exp_get_map_type ( as_exp_type  type,
as_map_return_type  rtype,
bool  is_multi 
)
AS_EXTERN uint8_t* as_exp_write ( as_exp exp,
uint8_t *  ptr 
)