INNER CODE UNIT · Rust
parse_expression_tree
fcoury/oxide · src/parser/mod.rs:226
fn parse_expression_tree(exp_tree: ExpressionTreeClause) -> Result<String> {
let operator = match exp_tree.operator.as_str() {
"$and" => "AND",
"$or" => "OR",
// FIXME handle $nor expression
// #17 - https://github.com/fcoury/oxide/issues/17
// "$nor" => "NOR", FIXME
t => {
return Err(eyre!(
"parse_expression_tree operator unimplemented = {:?}",
t
))
}
};
let sql: Vec<String> = exp_tree
.expressions
.into_iter()
.map(|exp| parse_expression(exp).unwrap())