Function aerospike::expressions::cond

source ·
pub const fn cond(exps: Vec<FilterExpression>) -> FilterExpression
Expand description

Conditionally select an expression from a variable number of expression pairs followed by default expression action. Requires server version 5.6.0+.

// Args Format: bool exp1, action exp1, bool exp2, action exp2, ..., action-default
// Apply operator based on type.

use aerospike::expressions::{cond, int_bin, eq, int_val, num_add, num_sub, num_mul};
cond(
  vec![
    eq(int_bin("type".to_string()), int_val(0)), num_add(vec![int_bin("val1".to_string()), int_bin("val2".to_string())]),
    eq(int_bin("type".to_string()), int_val(1)), num_sub(vec![int_bin("val1".to_string()), int_bin("val2".to_string())]),
    eq(int_bin("type".to_string()), int_val(2)), num_mul(vec![int_bin("val1".to_string()), int_bin("val2".to_string())]),
    int_val(-1)
  ]
);