Expression filters are applied on each applicable server record. Expression filters require server version >= 5.2.0.4.
If the filter exists and evaluates to false in a single record transaction, the transaction is ignored and AEROSPIKE_FILTERED_OUT is returned as an error code.
If the filter exists and evaluates to false in a batch record row, AEROSPIKE_FILTERED_OUT is returned as a status for that record row in the batch.
If the filter exists and evaluates to false on a scan/query record, that record is not returned.
Expression filters can now be defined on all transactions through the transaction policy (as_policy_base contained in as_policy_read, as_policy_write, ...).
Example:
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) |
Functions | |
AS_EXTERN void | as_exp_destroy (as_exp *exp) |
static void | as_exp_destroy_base64 (char *base64) |
AS_EXTERN as_exp * | as_exp_from_base64 (const char *base64) |
static char * | as_exp_to_base64 (as_exp *exp) |
#define as_exp_abs | ( | __value | ) | {.op=_AS_EXP_CODE_ABS, .count=2}, __value |
Create operator that returns absolute value of a number. All arguments must resolve to integer or float. Requires server version 5.6.0+.
#define as_exp_add | ( | ... | ) |
Create "add" (+) operator that applies to a variable number of expressions. Return the sum of all arguments. All arguments must be the same type (integer or float). Requires server version 5.6.0+.
... | Variable number of integer or float expressions. |
#define as_exp_and | ( | ... | ) |
Create "and" (&&) operator that applies to a variable number of expressions.
... | Variable number of boolean expressions. |
#define as_exp_bin_blob | ( | __bin_name | ) |
Create expression that returns a bin as a blob. Returns 'unknown' if the bin is not an blob.
__bin_name | Bin name. |
#define as_exp_bin_bool | ( | __bin_name | ) |
Create expression that returns a bin as a boolean value. Returns 'unknown' if the bin is not a boolean.
__bin_name | 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)) |
Create expression that returns if bin of specified name exists.
__bin_name | Bin name. |
#define as_exp_bin_float | ( | __bin_name | ) |
Create expression that returns a bin as a float. Returns 'unknown' if the bin is not an float.
__bin_name | Bin name. |
#define as_exp_bin_geo | ( | __bin_name | ) |
Create expression that returns a bin as a geojson. Returns 'unknown' if the bin is not geojson.
__bin_name | Bin name. |
#define as_exp_bin_hll | ( | __bin_name | ) |
Create expression that returns a bin as a HyperLogLog (hll). Returns 'unknown' if the bin is not a HyperLogLog (hll).
__bin_name | Bin name. |
#define as_exp_bin_int | ( | __bin_name | ) |
Create expression that returns a bin as a signed integer. Returns 'unknown' if the bin is not an integer.
__bin_name | Bin name. |
#define as_exp_bin_list | ( | __bin_name | ) |
Create expression that returns a bin as a list. Returns 'unknown' if the bin is not an list.
__bin_name | Bin name. |
#define as_exp_bin_map | ( | __bin_name | ) |
Create expression that returns a bin as a map. Returns 'unknown' if the bin is not an map.
__bin_name | Bin name. |
#define as_exp_bin_str | ( | __bin_name | ) |
Create expression that returns a bin as a string. Returns 'unknown' if the bin is not an string.
__bin_name | Bin name. |
#define as_exp_bin_type | ( | __bin_name | ) |
Create expression that returns the type of a bin as a integer.
__bin_name | Bin name. |
#define as_exp_bit_add | ( | __policy, | |
__bit_offset, | |||
__bit_size, | |||
__value, | |||
__action, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_add operation. Note: integers are stored big-endian.
__policy | An as_bit_policy value. |
__bit_offset | Bit index of where to start operation. |
__bit_size | Number of bits to be operated on. |
__value | Integer expression for value to add. |
__action | as_bit_overflow_action value. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bit_and | ( | __policy, | |
__bit_offset, | |||
__bit_size, | |||
__value, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_and operation.
__policy | An as_bit_policy value. |
__bit_offset | Bit index of where to start operation. |
__bit_size | Number of bits to be operated on. |
__value | Blob expression containing bytes to write. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bit_count | ( | __bit_offset, | |
__bit_size, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_count operation.
__bit_offset | The bit index of where to start reading from. |
__bit_size | Number of bits to read from the blob bin. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bit_get | ( | __bit_offset, | |
__bit_size, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_get operation.
__bit_offset | The bit index of where to start reading from. |
__bit_size | Number of bits to read from the blob bin. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bit_get_int | ( | __bit_offset, | |
__bit_size, | |||
__sign, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_get_int operation.
__bit_offset | The bit index of where to start reading from. |
__bit_size | Number of bits to read from the blob bin. |
__sign | Boolean value, true for signed, false for unsigned. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bit_insert | ( | __policy, | |
__byte_offset, | |||
__value, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_insert operation.
__policy | An as_bit_policy value. |
__byte_offset | Byte index of where to insert the value. |
__value | Blob expression containing the bytes to insert. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bit_lscan | ( | __bit_offset, | |
__bit_size, | |||
__value, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_lscan operation.
__bit_offset | The bit index of where to start reading from. |
__bit_size | Number of bits to read from the blob bin. |
__value | Boolean expression, true searches for 1, false for 0. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bit_lshift | ( | __policy, | |
__bit_offset, | |||
__bit_size, | |||
__shift, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_lshift operation.
__policy | An as_bit_policy value. |
__bit_offset | Bit index of where to start operation. |
__bit_size | Number of bits to be operated on. |
__shift | Number of bits to shift by. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bit_not | ( | __policy, | |
__bit_offset, | |||
__bit_size, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_not operation.
__policy | An as_bit_policy value. |
__bit_offset | Bit index of where to start operation. |
__bit_size | Number of bits to be operated on. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bit_or | ( | __policy, | |
__bit_offset, | |||
__bit_size, | |||
__value, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_or operation.
__policy | An as_bit_policy value. |
__bit_offset | Bit index of where to start operation. |
__bit_size | Number of bytes to be operated on. |
__value | Blob expression containing bytes to write. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bit_remove | ( | __policy, | |
__byte_offset, | |||
__byte_size, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_remove operation.
__policy | An as_bit_policy value. |
__byte_offset | Byte index of where to remove from. |
__byte_size | Number of bytes to remove. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bit_resize | ( | __policy, | |
__byte_size, | |||
__flags, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_resize operation.
__policy | An as_bit_policy value. |
__byte_size | Number of bytes the resulting blob should occupy. |
__flags | as_bit_resize_flags value. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bit_rscan | ( | __bit_offset, | |
__bit_size, | |||
__value, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_rscan operation.
__bit_offset | The bit index of where to start reading from. |
__bit_size | Number of bits to read from the blob bin. |
__value | Boolean expression, true searches for 1, false for 0. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bit_rshift | ( | __policy, | |
__bit_offset, | |||
__bit_size, | |||
__shift, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_rshift operation.
__policy | An as_bit_policy value. |
__bit_offset | Bit index of where to start operation. |
__bit_size | Number of bits to be operated on. |
__shift | Number of bits to shift by. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bit_set | ( | __policy, | |
__bit_offset, | |||
__bit_size, | |||
__value, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_set operation.
__policy | An as_bit_policy value. |
__bit_offset | Bit index of where to start writing. |
__bit_size | Number of bytes to overwrite. |
__value | Blob expression containing bytes to write. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bit_set_int | ( | __policy, | |
__bit_offset, | |||
__bit_size, | |||
__value, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_add operation. Note: integers are stored big-endian.
__policy | An as_bit_policy value. |
__bit_offset | Bit index of where to start operation. |
__bit_size | Number of bits to be operated on. |
__value | Integer expression for value to set. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bit_subtract | ( | __policy, | |
__bit_offset, | |||
__bit_size, | |||
__value, | |||
__action, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_add operation. Note: integers are stored big-endian.
__policy | An as_bit_policy value. |
__bit_offset | Bit index of where to start operation. |
__bit_size | Number of bits to be operated on. |
__value | Integer expression for value to subtract. |
__action | as_bit_overflow_action value. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bit_xor | ( | __policy, | |
__bit_offset, | |||
__bit_size, | |||
__value, | |||
__bin | |||
) |
Create an expression that performs an as_operations_bit_xor operation.
__policy | An as_bit_policy value. |
__bit_offset | Bit index of where to start operation. |
__bit_size | Number of bits to be operated on. |
__value | Blob expression containing bytes to write. |
__bin | A blob bin expression to apply this function to. |
#define as_exp_bool | ( | __val | ) | {.op=_AS_EXP_CODE_VAL_BOOL, .v.bool_val=__val} |
#define as_exp_build | ( | __name, | |
... | |||
) |
Declare and build an expression variable.
__name | Name of the variable to hold the expression |
#define as_exp_build_b64 | ( | __name, | |
... | |||
) |
Declare and build an base64 packed expression variable.
__name | Name of the variable to hold the expression |
#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 |
Create expression that rounds a floating point number up to the closest integer value. Requires server version 5.6.0+.
__num | Floating point value to round up. |
#define as_exp_cmp_eq | ( | __left, | |
__right | |||
) | {.op=_AS_EXP_CODE_CMP_EQ, .count=3}, __left, __right |
Create equals (==) expression.
__left | left expression in comparison. |
__right | right expression in comparison. |
#define as_exp_cmp_ge | ( | __left, | |
__right | |||
) | {.op=_AS_EXP_CODE_CMP_GE, .count=3}, __left, __right |
Create a greater than or equals (>=) expression.
__left | left expression in comparison. |
__right | right expression in comparison. |
#define as_exp_cmp_geo | ( | __left, | |
__right | |||
) | {.op=_AS_EXP_CODE_CMP_GEO, .count=3}, __left, __right |
Create a point within region or region contains point expression.
__left | left expression in comparison. |
__right | right expression in comparison. |
#define as_exp_cmp_gt | ( | __left, | |
__right | |||
) | {.op=_AS_EXP_CODE_CMP_GT, .count=3}, __left, __right |
Create a greater than (>) expression.
__left | left expression in comparison. |
__right | right expression in comparison. |
#define as_exp_cmp_le | ( | __left, | |
__right | |||
) | {.op=_AS_EXP_CODE_CMP_LE, .count=3}, __left, __right |
Create a less than or equals (<=) expression.
__left | left expression in comparison. |
__right | right expression in comparison. |
#define as_exp_cmp_lt | ( | __left, | |
__right | |||
) | {.op=_AS_EXP_CODE_CMP_LT, .count=3}, __left, __right |
Create a less than (<) expression.
__left | left expression in comparison. |
__right | right expression in comparison. |
#define as_exp_cmp_ne | ( | __left, | |
__right | |||
) | {.op=_AS_EXP_CODE_CMP_NE, .count=3}, __left, __right |
Create not equal (!=) expression.
__left | left expression in comparison. |
__right | right expression in comparison. |
#define as_exp_cmp_regex | ( | __options, | |
__regex_str, | |||
__cmp_str | |||
) |
Create expression that performs a regex match on a string bin or value expression.
__options | POSIX regex flags defined in regex.h. |
__regex_str | POSIX regex string. |
__cmp_str | String expression to compare against. |
#define as_exp_cond | ( | ... | ) |
Conditionally select an expression from a variable number of expression pairs followed by default expression action. Requires server version 5.6.0+.
#define as_exp_def | ( | __var_name, | |
__expr | |||
) | _AS_EXP_VAL_RAWSTR(__var_name), __expr |
Assign variable to an expression that can be accessed later. Requires server version 5.6.0+.
__var_name | Variable name. |
__expr | The variable is set to the result of __expr. |
#define as_exp_device_size | ( | ) | {.op=_AS_EXP_CODE_DEVICE_SIZE, .count=1} |
Create expression that returns record size on disk. If server storage-engine is memory, then zero is returned. This expression usually evaluates quickly because record meta data is cached in memory.
This expression should only be used for server versions less than 7.0. Use as_exp_record_size() for server version 7.0+.
#define as_exp_digest_modulo | ( | __mod | ) |
Create expression that returns record digest modulo as integer.
__mod | Divisor used to divide the digest to get a remainder. |
#define as_exp_div | ( | ... | ) |
Create "divide" (/) operator that applies to a variable number of expressions. If there is only one argument, returns the reciprocal for that argument. Otherwise, return the first argument divided by the product of the rest. All arguments must resolve to the same type (integer or float). Requires server version 5.6.0+.
... | Variable number of integer or float expressions. |
#define as_exp_exclusive | ( | ... | ) |
Create expression that returns true if only one of the expressions are true. Requires server version 5.6.0+.
... | Variable number of boolean expressions. |
#define as_exp_expr | ( | __e | ) | {.op=_AS_EXP_CODE_MERGE, .v.expr=__e} |
Merge precompiled expression into a new expression tree. Useful for storing common precompiled expressions and then reusing these expressions as part of a greater expression.
__e | Pre-compiled expression. |
#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 |
Create expression that rounds a floating point number down to the closest integer value. Requires server version 5.6.0+.
__num | Floating point value to round down. |
#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 | |||
) |
Create an expression that performs an as_operations_hll_add.
__policy | An as_hll_policy value. |
__list | A list expression of elements to add to the HLL. |
__index_bit_count | Number of index bits. Must be between 4 and 16 inclusive. |
__bin | A bin expression to apply this function to. |
#define as_exp_hll_add_mh | ( | __policy, | |
__list, | |||
__index_bit_count, | |||
__mh_bit_count, | |||
__bin | |||
) |
Create an expression that performs an as_operations_hll_add_mh.
__policy | An as_hll_policy value. |
__list | A list expression of elements to add to the HLL. |
__index_bit_count | Number of index bits. Must be between 4 and 16 inclusive. |
__mh_bit_count | Number of min hash bits. Must be between 4 and 51 inclusive. Also, __index_bit_count + __mh_bit_count must be <= 64. |
__bin | A bin expression to apply this function to. |
#define as_exp_hll_describe | ( | __bin | ) |
Create an expression that performs an as_operations_hll_describe.
__bin | A bin expression to apply this function to. |
#define as_exp_hll_get_count | ( | __bin | ) |
Create an expression that performs an as_operations_hll_get_count.
__bin | A bin expression to apply this function to. |
#define as_exp_hll_get_intersect_count | ( | __list, | |
__bin | |||
) |
Create an expression that performs an as_operations_hll_get_inersect_count.
__list | A list expression of HLLs to intersect with. |
__bin | A bin expression to apply this function to. |
#define as_exp_hll_get_similarity | ( | __list, | |
__bin | |||
) |
Create an expression that performs an as_operations_hll_get_similarity.
__list | A list expression of HLLs to calculate similarity with.. |
__bin | A bin expression to apply this function to. |
#define as_exp_hll_get_union | ( | __list, | |
__bin | |||
) |
Create an expression that performs an as_operations_hll_get_union.
__list | A list expression of HLLs to union with. |
__bin | A bin expression to apply this function to. |
#define as_exp_hll_get_union_count | ( | __list, | |
__bin | |||
) |
Create an expression that performs an as_operations_hll_get_union_count.
__list | A list expression of HLLs to union with. |
__bin | A bin expression to apply this function to. |
#define as_exp_hll_init | ( | __policy, | |
__index_bit_count, | |||
__bin | |||
) |
Create expression that creates a new HLL or resets an existing HLL.
__policy | An as_hll_policy value. |
__index_bit_count | Number of index bits. Must be between 4 and 16 inclusive. |
__bin | A bin expression to apply this function to. |
#define as_exp_hll_init_mh | ( | __policy, | |
__index_bit_count, | |||
__mh_bit_count, | |||
__bin | |||
) |
Create expression that creates a new HLL or resets an existing HLL with minhash bits.
__policy | An as_hll_policy value. |
__index_bit_count | Number of index bits. Must be between 4 and 16 inclusive. |
__mh_bit_count | Number of min hash bits. Must be between 4 and 51 inclusive. Also, __index_bit_count + __mh_bit_count must be <= 64. |
__bin | A bin expression to apply this function to. |
#define as_exp_hll_may_contain | ( | __list, | |
__bin | |||
) |
Create an expression that checks if the HLL __bin may contain all keys in __list..
__list | A list expression of keys to check if the HLL may contain them. |
__bin | A bin expression to apply this function to. |
#define as_exp_hll_update | ( | __policy, | |
__list, | |||
__bin | |||
) |
Create an expression that performs an as_operations_hll_update.
__policy | An as_hll_policy value. |
__list | A list expression of elements to add to the HLL. |
__bin | A bin expression to apply this function to. |
#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 | ( | ... | ) |
Create integer "and" (&) operator that is applied to two or more integers. All arguments must resolve to integers. Requires server version 5.6.0+.
... | Variable number of integer expressions. |
#define as_exp_int_arshift | ( | __value, | |
__shift | |||
) | {.op=_AS_EXP_CODE_INT_ARSHIFT, .count=3}, __value, __shift |
Create integer "arithmetic right shift" (>>) operator. Requires server version 5.6.0+.
__value | Integer expression. |
__shift | Number of bits to shift by. |
#define as_exp_int_count | ( | __expr | ) | {.op=_AS_EXP_CODE_INT_COUNT, .count=2}, __expr |
Create expression that returns count of integer bits that are set to 1. Requires server version 5.6.0+.
#define as_exp_int_lscan | ( | __value, | |
__search | |||
) | {.op=_AS_EXP_CODE_INT_LSCAN, .count=3}, __value, __search |
Create expression that scans integer bits from left (most significant bit) to right (least significant bit), looking for a search bit value. When the search value is found, the index of that bit (where the most significant bit is index 0) is returned. If "search" is true, the scan will search for the bit value 1. If "search" is false it will search for bit value 0. Requires server version 5.6.0+.
#define as_exp_int_lshift | ( | __value, | |
__shift | |||
) | {.op=_AS_EXP_CODE_INT_LSHIFT, .count=3}, __value, __shift |
Create integer "left shift" (<<) operator. Requires server version 5.6.0+.
__value | Integer expression. |
__shift | Number of bits to shift by. |
#define as_exp_int_not | ( | __expr | ) |
Create integer "not" (~) operator. Requires server version 5.6.0+.
__expr | Integer expression. |
#define as_exp_int_or | ( | ... | ) |
Create integer "or" (|) operator that is applied to two or more integers. All arguments must resolve to integers. Requires server version 5.6.0+.
... | Variable number of integer expressions. |
#define as_exp_int_rscan | ( | __value, | |
__search | |||
) | {.op=_AS_EXP_CODE_INT_RSCAN, .count=3}, __value, __search |
Create expression that scans integer bits from right (least significant bit) to left (most significant bit), looking for a search bit value. When the search value is found, the index of that bit (where the most significant bit is index 0) is returned. If "search" is true, the scan will search for the bit value 1. If "search" is false it will search for bit value 0. Requires server version 5.6.0+.
#define as_exp_int_rshift | ( | __value, | |
__shift | |||
) | {.op=_AS_EXP_CODE_INT_RSHIFT, .count=3}, __value, __shift |
Create integer "logical right shift" (>>>) operator. Requires server version 5.6.0+.
__value | Integer expression. |
__shift | Number of bits to shift by. |
#define as_exp_int_xor | ( | ... | ) |
Create integer "xor" (^) operator that is applied to two or more integers. All arguments must resolve to integers. Requires server version 5.6.0+.
... | Variable number of integer expressions. |
#define as_exp_is_tombstone | ( | ) | {.op=_AS_EXP_CODE_IS_TOMBSTONE, .count=1} |
Create expression that returns if record has been deleted and is still in tombstone state. This expression usually evaluates quickly because record meta data is cached in memory.
Note - this is only useful for XDR filters.
#define as_exp_key_blob | ( | ) |
Create expression that returns the key as an blob. Returns 'unknown' if the key is not an blob.
#define as_exp_key_exist | ( | ) | {.op=_AS_EXP_CODE_KEY_EXIST, .count=1} |
Create expression that returns if the primary key is stored in the record meta data as a boolean expression. This would occur when "as_policy_write.key" is AS_POLICY_KEY_SEND on record write.
#define as_exp_key_int | ( | ) |
Create expression that returns the key as an integer. Returns 'unknown' if the key is not an integer.
#define as_exp_key_str | ( | ) |
Create expression that returns the key as an string. Returns 'unknown' if the key is not a string.
#define as_exp_last_update | ( | ) | {.op=_AS_EXP_CODE_LAST_UPDATE, .count=1} |
Create expression that returns record last update time expressed as 64 bit integer nanoseconds since 1970-01-01 epoch.
#define as_exp_let | ( | ... | ) |
Define variables and expressions in scope. Requires server version 5.6.0+.
... | Variable number of as_exp_def followed by a scoped expression. |
#define as_exp_list_append | ( | __ctx, | |
__pol, | |||
__val, | |||
__bin | |||
) |
Create expression that appends value to end of list.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__pol | Optional list write policy (as_list_policy). |
__val | Value expression. |
__bin | List bin or list value expression. |
#define as_exp_list_append_items | ( | __ctx, | |
__pol, | |||
__val, | |||
__bin | |||
) |
Create expression that appends list items to end of list.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__pol | Optional list write policy (as_list_policy). |
__val | List items expression. |
__bin | List bin or list value expression. |
#define as_exp_list_clear | ( | __ctx, | |
__bin | |||
) |
Create expression that removes all items in list.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__bin | List bin or list value expression. |
#define as_exp_list_get_by_index | ( | __ctx, | |
__rtype, | |||
__vtype, | |||
__idx, | |||
__bin | |||
) |
Create expression that selects list item identified by index and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_list_return_type). |
__vtype | Value type (as_exp_type). |
__idx | Index integer expression. |
__bin | List bin or list value expression. |
#define as_exp_list_get_by_index_range | ( | __ctx, | |
__rtype, | |||
__idx, | |||
__count, | |||
__bin | |||
) |
Create expression that selects "count" list items starting at specified index and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_list_return_type). |
__idx | Index integer expression. |
__count | Count integer expression. |
__bin | List bin or list value expression. |
#define as_exp_list_get_by_index_range_to_end | ( | __ctx, | |
__rtype, | |||
__idx, | |||
__bin | |||
) |
Create expression that selects list items starting at specified index to the end of list and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_list_return_type). |
__idx | Index integer expression. |
__bin | List bin or list value expression. |
#define as_exp_list_get_by_rank | ( | __ctx, | |
__rtype, | |||
__vtype, | |||
__rank, | |||
__bin | |||
) |
Create expression that selects list item identified by rank and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_list_return_type). |
__vtype | Value type (as_exp_type). |
__rank | Rank integer expression. |
__bin | List bin or list value expression. |
#define as_exp_list_get_by_rank_range | ( | __ctx, | |
__rtype, | |||
__rank, | |||
__count, | |||
__bin | |||
) |
Create expression that selects "count" list items starting at specified rank and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_list_return_type). |
__rank | Rank integer expression. |
__count | Count integer expression. |
__bin | List bin or list value expression. |
#define as_exp_list_get_by_rank_range_to_end | ( | __ctx, | |
__rtype, | |||
__rank, | |||
__bin | |||
) |
Create expression that selects list items starting at specified rank to the last ranked item and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_list_return_type). |
__rank | Rank integer expression. |
__bin | List bin or list value expression. |
#define as_exp_list_get_by_rel_rank_range | ( | __ctx, | |
__rtype, | |||
__val, | |||
__rank, | |||
__count, | |||
__bin | |||
) |
Create expression that selects list items nearest to value and greater by relative rank with a count limit and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_list_return_type). |
__val | Values list expression. |
__rank | Rank integer expression. |
__count | Count integer expression. |
__bin | List bin or list value expression. |
#define as_exp_list_get_by_rel_rank_range_to_end | ( | __ctx, | |
__rtype, | |||
__val, | |||
__rank, | |||
__bin | |||
) |
Create expression that selects list items nearest to value and greater by relative rank and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_list_return_type). |
__val | Values list expression. |
__rank | Rank integer expression. |
__bin | List bin or list value expression. |
#define as_exp_list_get_by_value | ( | __ctx, | |
__rtype, | |||
__val, | |||
__bin | |||
) |
Create expression that selects list items identified by value and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_list_return_type). |
__val | Value expression. |
__bin | List bin or list value expression. |
#define as_exp_list_get_by_value_list | ( | __ctx, | |
__rtype, | |||
__val, | |||
__bin | |||
) |
Create expression that selects list items identified by values and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_list_return_type). |
__val | Values list expression. |
__bin | List bin or list value expression. |
#define as_exp_list_get_by_value_range | ( | __ctx, | |
__rtype, | |||
__begin, | |||
__end, | |||
__bin | |||
) |
Create expression that selects list items identified by value range and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_list_return_type). |
__begin | Begin value expression. |
__end | End value expression. |
__bin | List bin or list value expression. |
#define as_exp_list_increment | ( | __ctx, | |
__pol, | |||
__idx, | |||
__val, | |||
__bin | |||
) |
Create expression that increments list[index] by value.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__pol | Optional list write policy (as_list_policy). |
__idx | Index integer expression. |
__val | Value expression. |
__bin | List bin or list value expression. |
#define as_exp_list_insert | ( | __ctx, | |
__pol, | |||
__idx, | |||
__val, | |||
__bin | |||
) |
Create expression that inserts value to specified index of list.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__pol | Optional list write policy (as_list_policy). |
__idx | Index integer expression. |
__val | Value expression. |
__bin | List bin or list value expression. |
#define as_exp_list_insert_items | ( | __ctx, | |
__pol, | |||
__idx, | |||
__val, | |||
__bin | |||
) |
Create expression that inserts each input list item starting at specified index of list.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__pol | Optional list write policy (as_list_policy). |
__idx | Index integer expression. |
__val | List items expression. |
__bin | List bin or list value expression. |
#define as_exp_list_remove_by_index | ( | __ctx, | |
__idx, | |||
__bin | |||
) |
Create expression that removes list item identified by index.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__idx | Index integer expression. |
__bin | List bin or list value expression. |
#define as_exp_list_remove_by_index_range | ( | __ctx, | |
__rtype, | |||
__idx, | |||
__count, | |||
__bin | |||
) |
Create expression that removes "count" list items starting at specified index.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_LIST_RETURN_NONE or AS_LIST_RETURN_INVERTED. |
__idx | Index integer expression. |
__count | Count integer expression. |
__bin | List bin or list value expression. |
#define as_exp_list_remove_by_index_range_to_end | ( | __ctx, | |
__rtype, | |||
__idx, | |||
__bin | |||
) |
Create expression that removes list items starting at specified index to the end of list.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_LIST_RETURN_NONE or AS_LIST_RETURN_INVERTED. |
__idx | Index integer expression. |
__bin | List bin or list value expression. |
#define as_exp_list_remove_by_rank | ( | __ctx, | |
__rank, | |||
__bin | |||
) |
Create expression that removes list item identified by rank.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rank | Rank integer expression. |
__bin | List bin or list value expression. |
#define as_exp_list_remove_by_rank_range | ( | __ctx, | |
__rtype, | |||
__rank, | |||
__count, | |||
__bin | |||
) |
Create expression that removes "count" list items starting at specified rank.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_LIST_RETURN_NONE or AS_LIST_RETURN_INVERTED. |
__rank | Rank integer expression. |
__count | Count integer expression. |
__bin | List bin or list value expression. |
#define as_exp_list_remove_by_rank_range_to_end | ( | __ctx, | |
__rtype, | |||
__rank, | |||
__bin | |||
) |
Create expression that removes list items starting at specified rank to the last ranked item.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_LIST_RETURN_NONE or AS_LIST_RETURN_INVERTED. |
__rank | Rank integer expression. |
__bin | List bin or list value expression. |
#define as_exp_list_remove_by_rel_rank_range | ( | __ctx, | |
__rtype, | |||
__val, | |||
__rank, | |||
__count, | |||
__bin | |||
) |
Create expression that removes list items nearest to value and greater by relative rank with a count limit.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_LIST_RETURN_NONE or AS_LIST_RETURN_INVERTED. |
__val | Value expression. |
__rank | Rank integer expression. |
__count | Count integer expression. |
__bin | List bin or list value expression. |
#define as_exp_list_remove_by_rel_rank_range_to_end | ( | __ctx, | |
__rtype, | |||
__val, | |||
__rank, | |||
__bin | |||
) |
Create expression that removes list items nearest to value and greater by relative rank.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_LIST_RETURN_NONE or AS_LIST_RETURN_INVERTED. |
__val | Value expression. |
__rank | Rank integer expression. |
__bin | List bin or list value expression. |
#define as_exp_list_remove_by_value | ( | __ctx, | |
__rtype, | |||
__val, | |||
__bin | |||
) |
Create expression that removes list items identified by value.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_LIST_RETURN_NONE or AS_LIST_RETURN_INVERTED. |
__val | Value expression. |
__bin | List bin or list value expression. |
#define as_exp_list_remove_by_value_list | ( | __ctx, | |
__rtype, | |||
__values, | |||
__bin | |||
) |
Create expression that removes list items identified by values.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_LIST_RETURN_NONE or AS_LIST_RETURN_INVERTED. |
__values | Values list expression. |
__bin | List bin or list value expression. |
#define as_exp_list_remove_by_value_range | ( | __ctx, | |
__rtype, | |||
__begin, | |||
__end, | |||
__bin | |||
) |
Create expression that removes list items identified by value range (begin inclusive, end exclusive). If begin is nil, the range is less than end. If end is infinity, the range is greater than equal to begin.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_LIST_RETURN_NONE or AS_LIST_RETURN_INVERTED. |
__begin | Begin value expression. |
__end | End value expression. |
__bin | List bin or list value expression. |
#define as_exp_list_set | ( | __ctx, | |
__pol, | |||
__idx, | |||
__val, | |||
__bin | |||
) |
Create expression that sets item value at specified index in list.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__pol | Optional list write policy (as_list_policy). |
__idx | Index integer expression. |
__val | Value expression. |
__bin | List bin or list value expression. |
#define as_exp_list_size | ( | __ctx, | |
__bin | |||
) |
Create expression that returns list size.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__bin | List bin or list value expression. |
#define as_exp_list_sort | ( | __ctx, | |
__order, | |||
__bin | |||
) |
Create expression that sorts list.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__order | Sort order (as_list_sort_flags). |
__bin | List bin or list value expression. |
#define as_exp_log | ( | __num, | |
__base | |||
) | {.op=_AS_EXP_CODE_LOG, .count=3}, __num, __base |
Create "log" operator for logarithm of "num" with base "base". All arguments must resolve to floats. Requires server version 5.6.0+.
__num | Number. |
__base | Base value. |
#define as_exp_map_clear | ( | __ctx, | |
__bin | |||
) |
Create expression that removes all items in map.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__bin | Map bin or map value expression. |
#define as_exp_map_get_by_index | ( | __ctx, | |
__rtype, | |||
__vtype, | |||
__idx, | |||
__bin | |||
) |
Create expression that selects map item identified by index and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_map_return_type). |
__vtype | Value type (as_exp_type). |
__idx | Index integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_get_by_index_range | ( | __ctx, | |
__rtype, | |||
__idx, | |||
__count, | |||
__bin | |||
) |
Create expression that selects "count" map items starting at specified index and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_map_return_type). |
__idx | Index integer expression. |
__count | Count integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_get_by_index_range_to_end | ( | __ctx, | |
__rtype, | |||
__idx, | |||
__bin | |||
) |
Create expression that selects map items starting at specified index to the end of map and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_map_return_type). |
__idx | Index integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_get_by_key | ( | __ctx, | |
__rtype, | |||
__vtype, | |||
__key, | |||
__bin | |||
) |
Create expression that selects map item identified by key and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_map_return_type). |
__vtype | Value type (as_exp_type). |
__key | Key expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_get_by_key_list | ( | __ctx, | |
__rtype, | |||
__keys, | |||
__bin | |||
) |
Create expression that selects map items identified by keys and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_map_return_type). |
__keys | Keys list expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_get_by_key_range | ( | __ctx, | |
__rtype, | |||
__begin, | |||
__end, | |||
__bin | |||
) |
Create expression that selects map items identified by key range (begin inclusive, end exclusive). If begin is nil, the range is less than end. If end is infinity, the range is greater than equal to begin. Expression returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_map_return_type). |
__begin | Begin key expression. |
__end | End key expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_get_by_key_rel_index_range | ( | __ctx, | |
__rtype, | |||
__key, | |||
__idx, | |||
__count, | |||
__bin | |||
) |
Create expression that selects map items nearest to key and greater by index with a count limit. Expression returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_map_return_type). |
__key | Key expression. |
__idx | Index integer expression. |
__count | Count integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_get_by_key_rel_index_range_to_end | ( | __ctx, | |
__rtype, | |||
__key, | |||
__idx, | |||
__bin | |||
) |
Create expression that selects map items nearest to key and greater by index and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_map_return_type). |
__key | Key expression. |
__idx | Index integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_get_by_rank | ( | __ctx, | |
__rtype, | |||
__vtype, | |||
__rank, | |||
__bin | |||
) |
Create expression that selects map item identified by rank and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_map_return_type). |
__vtype | Value type (as_exp_type). |
__rank | Rank integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_get_by_rank_range | ( | __ctx, | |
__rtype, | |||
__rank, | |||
__count, | |||
__bin | |||
) |
Create expression that selects "count" map items starting at specified rank and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_map_return_type). |
__rank | Rank integer expression. |
__count | Count integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_get_by_rank_range_to_end | ( | __ctx, | |
__rtype, | |||
__rank, | |||
__bin | |||
) |
Create expression that selects map items starting at specified rank to the last ranked item and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_map_return_type). |
__rank | Rank integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_get_by_value | ( | __ctx, | |
__rtype, | |||
__val, | |||
__bin | |||
) |
Create expression that selects map items identified by value and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_map_return_type). |
__val | Value expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_get_by_value_list | ( | __ctx, | |
__rtype, | |||
__values, | |||
__bin | |||
) |
Create expression that selects map items identified by values and returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_map_return_type). |
__values | Values list expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_get_by_value_range | ( | __ctx, | |
__rtype, | |||
__begin, | |||
__end, | |||
__bin | |||
) |
Create expression that selects map items identified by value range (begin inclusive, end exclusive). If begin is nil, the range is less than end. If end is infinity, the range is greater than equal to begin. Expression returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_map_return_type). |
__begin | Begin value expression. |
__end | End value expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_get_by_value_rel_rank_range | ( | __ctx, | |
__rtype, | |||
__val, | |||
__rank, | |||
__count, | |||
__bin | |||
) |
Create expression that selects map items nearest to value and greater by relative rank with a count limit. Expression returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_map_return_type). |
__val | Value expression. |
__rank | Rank integer expression. |
__count | Count integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_get_by_value_rel_rank_range_to_end | ( | __ctx, | |
__rtype, | |||
__val, | |||
__rank, | |||
__bin | |||
) |
Create expression that selects map items nearest to value and greater by relative rank. Expression returns selected data specified by rtype.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type (as_map_return_type). |
__val | Value expression. |
__rank | Rank integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_increment | ( | __ctx, | |
__pol, | |||
__key, | |||
__val, | |||
__bin | |||
) |
Create expression that increments values by incr for all items identified by key. Valid only for numbers.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__pol | Optional map write policy (as_map_policy). |
__key | Key expression. |
__val | Increment value number expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_put | ( | __ctx, | |
__pol, | |||
__key, | |||
__val, | |||
__bin | |||
) |
Create expression that writes key/val item to map bin.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__pol | Optional map write policy (as_map_policy). |
__key | Key expression. |
__val | Value expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_put_items | ( | __ctx, | |
__pol, | |||
__map, | |||
__bin | |||
) |
Create expression that writes each map item to map bin.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__pol | Optional map write policy (as_map_policy). |
__map | Source map expression. |
__bin | Target map bin or map value expression. |
#define as_exp_map_remove_by_index | ( | __ctx, | |
__idx, | |||
__bin | |||
) |
Create expression that removes map item identified by index.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__idx | Index integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_remove_by_index_range | ( | __ctx, | |
__rtype, | |||
__idx, | |||
__count, | |||
__bin | |||
) |
Create expression that removes "count" map items starting at specified index.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_MAP_RETURN_NONE or AS_MAP_RETURN_INVERTED. |
__idx | Index integer expression. |
__count | Count integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_remove_by_index_range_to_end | ( | __ctx, | |
__rtype, | |||
__idx, | |||
__bin | |||
) |
Create expression that removes map items starting at specified index to the end of map.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_MAP_RETURN_NONE or AS_MAP_RETURN_INVERTED. |
__idx | Index integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_remove_by_key | ( | __ctx, | |
__key, | |||
__bin | |||
) |
Create expression that removes map item identified by key.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__key | Key expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_remove_by_key_list | ( | __ctx, | |
__rtype, | |||
__keys, | |||
__bin | |||
) |
Create expression that removes map items identified by keys.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_MAP_RETURN_NONE or AS_MAP_RETURN_INVERTED. |
__keys | List expression of keys to remove. |
__bin | Map bin or map value expression. |
#define as_exp_map_remove_by_key_range | ( | __ctx, | |
__rtype, | |||
__begin, | |||
__end, | |||
__bin | |||
) |
Create expression that removes map items identified by key range (begin inclusive, end exclusive). If begin is nil, the range is less than end. If end is infinity, the range is greater than equal to begin.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_MAP_RETURN_NONE or AS_MAP_RETURN_INVERTED. |
__begin | Begin value expression. |
__end | End value expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_remove_by_key_rel_index_range | ( | __ctx, | |
__rtype, | |||
__key, | |||
__idx, | |||
__count, | |||
__bin | |||
) |
Create expression that removes map items nearest to key and greater by index with a count limit.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_MAP_RETURN_NONE or AS_MAP_RETURN_INVERTED. |
__key | Key expression. |
__idx | Index integer expression. |
__count | Count integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_remove_by_key_rel_index_range_to_end | ( | __ctx, | |
__rtype, | |||
__key, | |||
__idx, | |||
__bin | |||
) |
Create expression that removes map items nearest to key and greater by index.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_MAP_RETURN_NONE or AS_MAP_RETURN_INVERTED. |
__key | Key expression. |
__idx | Index integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_remove_by_rank | ( | __ctx, | |
__rank, | |||
__bin | |||
) |
Create expression that removes map item identified by rank.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rank | Rank integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_remove_by_rank_range | ( | __ctx, | |
__rtype, | |||
__rank, | |||
__count, | |||
__bin | |||
) |
Create expression that removes "count" map items starting at specified rank.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_MAP_RETURN_NONE or AS_MAP_RETURN_INVERTED. |
__rank | Rank integer expression. |
__count | Count integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_remove_by_rank_range_to_end | ( | __ctx, | |
__rtype, | |||
__rank, | |||
__bin | |||
) |
Create expression that removes map items starting at specified rank to the last ranked item.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_MAP_RETURN_NONE or AS_MAP_RETURN_INVERTED. |
__rank | Rank integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_remove_by_value | ( | __ctx, | |
__rtype, | |||
__val, | |||
__bin | |||
) |
Create expression that removes map items identified by value.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_MAP_RETURN_NONE or AS_MAP_RETURN_INVERTED. |
__val | Value expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_remove_by_value_list | ( | __ctx, | |
__rtype, | |||
__values, | |||
__bin | |||
) |
Create expression that removes map items identified by values.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_MAP_RETURN_NONE or AS_MAP_RETURN_INVERTED. |
__values | Values list expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_remove_by_value_range | ( | __ctx, | |
__rtype, | |||
__begin, | |||
__end, | |||
__bin | |||
) |
Create expression that removes map items identified by value range (begin inclusive, end exclusive). If begin is nil, the range is less than end. If end is infinity, the range is greater than equal to begin.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_MAP_RETURN_NONE or AS_MAP_RETURN_INVERTED. |
__begin | Begin value expression. |
__end | End value expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_remove_by_value_rel_rank_range | ( | __ctx, | |
__rtype, | |||
__val, | |||
__rank, | |||
__count, | |||
__bin | |||
) |
Create expression that removes map items nearest to value and greater by relative rank with a count limit.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_MAP_RETURN_NONE or AS_MAP_RETURN_INVERTED. |
__val | Value expression. |
__rank | Rank integer expression. |
__count | Count integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_remove_by_value_rel_rank_range_to_end | ( | __ctx, | |
__rtype, | |||
__val, | |||
__rank, | |||
__bin | |||
) |
Create expression that removes map items nearest to value and greater by relative rank.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__rtype | Return type. Valid values are AS_MAP_RETURN_NONE or AS_MAP_RETURN_INVERTED. |
__val | Value expression. |
__rank | Rank integer expression. |
__bin | Map bin or map value expression. |
#define as_exp_map_size | ( | __ctx, | |
__bin | |||
) |
Create expression that returns map size.
__ctx | Optional context path for nested CDT (as_cdt_ctx). |
__bin | Map bin or map value expression. |
#define as_exp_max | ( | ... | ) |
Create expression that returns the maximum value in a variable number of expressions. All arguments must be the same type (integer or float). Requires server version 5.6.0+.
... | Variable number of integer or float expressions. |
#define as_exp_memory_size | ( | ) | {.op=_AS_EXP_CODE_MEMORY_SIZE, .count=1} |
Create expression that returns record size in memory when either the storage-engine is memory or data-in-memory is true, otherwise returns 0. This expression usually evaluates quickly because record meta data is cached in memory.
Requires server version between 5.3 inclusive and 7.0 exclusive. Use as_exp_record_size() for server version 7.0+.
#define as_exp_min | ( | ... | ) |
Create expression that returns the minimum value in a variable number of expressions. All arguments must be the same type (integer or float). Requires server version 5.6.0+.
... | Variable number of integer or float expressions. |
#define as_exp_mod | ( | __numerator, | |
__denominator | |||
) | {.op=_AS_EXP_CODE_MOD, .count=3}, __numerator, __denominator |
Create "modulo" (%) operator that determines the remainder of "numerator" divided by "denominator". All arguments must resolve to integers. Requires server version 5.6.0+.
#define as_exp_mul | ( | ... | ) |
Create "multiply" (*) operator that applies to a variable number of expressions. Return the product of all arguments. If only one argument is supplied, return that argument. All arguments must resolve to the same type (integer or float). Requires server version 5.6.0+.
... | Variable number of integer or float expressions. |
#define as_exp_nil | ( | ) | as_exp_val(&as_nil) |
#define as_exp_not | ( | __expr | ) | {.op=_AS_EXP_CODE_NOT, .count=2}, __expr |
Create "not" (!) operator expression.
__expr | Boolean expression to negate. |
#define as_exp_or | ( | ... | ) |
Create "or" (||) operator that applies to a variable number of expressions.
... | Variable number of boolean expressions. |
#define as_exp_pow | ( | __base, | |
__exponent | |||
) | {.op=_AS_EXP_CODE_POW, .count=3}, __base, __exponent |
Create "pow" operator that raises a "base" to the "exponent" power. All arguments must resolve to floats. Requires server version 5.6.0+.
__base | Base value. |
__exponent | Exponent value. |
#define as_exp_record_size | ( | ) | {.op=_AS_EXP_CODE_RECORD_SIZE, .count=1} |
Create expression that returns the record size. This expression usually evaluates quickly because record meta data is cached in memory.
Requires server version 7.0+. This expression replaces as_exp_device_size() and as_exp_memory_size().
#define as_exp_set_name | ( | ) | {.op=_AS_EXP_CODE_SET_NAME, .count=1} |
Create expression that returns record set name string. This expression usually evaluates quickly because record meta data is cached in memory.
#define as_exp_since_update | ( | ) | {.op=_AS_EXP_CODE_SINCE_UPDATE, .count=1} |
Create expression that returns milliseconds since the record was last updated. This expression usually evaluates quickly because record meta data is cached in memory.
#define as_exp_str | ( | __val | ) | {.op=_AS_EXP_CODE_VAL_STR, .v.str_val=__val} |
#define as_exp_sub | ( | ... | ) |
Create "subtract" (-) operator that applies to a variable number of expressions. If only one argument is provided, return the negation of that argument. Otherwise, return the sum of the 2nd to Nth argument subtracted from the 1st argument. All arguments must resolve to the same type (integer or float). Requires server version 5.6.0+.
... | Variable number of integer or float expressions. |
#define as_exp_to_float | ( | __num | ) | {.op=_AS_EXP_CODE_TO_FLOAT, .count=2}, __num |
Create expression that converts an integer to a float. Requires server version 5.6.0+.
__num | Integer to convert to a float |
#define as_exp_to_int | ( | __num | ) | {.op=_AS_EXP_CODE_TO_INT, .count=2}, __num |
Create expression that converts a float to an integer. Requires server version 5.6.0+.
__num | Integer to convert to a float |
#define as_exp_ttl | ( | ) | {.op=_AS_EXP_CODE_TTL, .count=1} |
Create expression that returns record expiration time (time to live) in integer seconds.
#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} |
Create an 'unknown' value. Used to intentionally fail an expression. The failure can be ignored with AS_EXP_WRITE_EVAL_NO_FAIL or AS_EXP_READ_NO_FAIL. Requires server version 5.6.0+.
#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) |
Retrieve expression value from a variable. Requires server version 5.6.0+.
__var_name | Variable name. |
#define as_exp_void_time | ( | ) | {.op=_AS_EXP_CODE_VOID_TIME, .count=1} |
Create expression that returns record expiration time expressed as 64 bit integer nanoseconds since 1970-01-01 epoch.
#define as_exp_wildcard | ( | ) | as_exp_val(&as_cmp_wildcard) |
|
inlinestatic |
Decode null-terminated base64 string to expression. Call as_exp_destroy() when done with expression.
|
inlinestatic |
Encode expression to null-terminated base64 string. Call as_exp_destroy_base64() when done with base64 string.
Definition at line 232 of file as_exp.h.
References as_exp_compile_b64().