fn extract_reduced_conjunction_terms(
        mut s: MirScalarExpr,
        relation_type: &repr::RelationType,
    ) -> Vec<MirScalarExpr> {
        s.reduce(relation_type);

        let mut pending = vec![s];
        let mut terms = Vec::new();

        while let Some(expr) = pending.pop() {
            if let MirScalarExpr::CallBinary {
                func: expr::BinaryFunc::And,
                expr1,
                expr2,
            } = expr
            {
                pending.push(*expr1);
                pending.push(*expr2);
            } else {
                terms.push(expr);
            }
        }
        terms.sort();
        terms.dedup();
        terms
    }
/// Reduces the given expression and returns its AND-ed terms.
Reduces the given expression and returns its AND-ed terms.
Reduces the given expression and returns its AND - ed terms .
fn extract_reduced_conjunction_terms(
        mut s: MirScalarExpr,
        relation_type: &repr::RelationType,
    ) -> Vec<MirScalarExpr> {
        s.reduce(relation_type);
        let mut pending = vec![s];
        let mut terms = Vec::new();
        while let Some(expr) = pending.pop() {
            if let MirScalarExpr::CallBinary {
                func: expr::BinaryFunc::And,
                expr1,
                expr2,
            } = expr
            {
                pending.push(*expr1);
                pending.push(*expr2);
            } else {
                terms.push(expr);
            }
        }
        terms.sort();
        terms.dedup();
        terms
    }
fn extract_reduced_conjunction_terms ( mut s : MirScalarExpr , relation_type : & repr :: RelationType , ) -> Vec < MirScalarExpr > { s . reduce ( relation_type ) ; let mut pending = vec ! [ s ] ; let mut terms = Vec :: new ( ) ; while let Some ( expr ) = pending . pop ( ) { if let MirScalarExpr :: CallBinary { func : expr :: BinaryFunc :: And , expr1 , expr2 , } = expr { pending . push ( * expr1 ) ; pending . push ( * expr2 ) ; } else { terms . push ( expr ) ; } } terms . sort ( ) ; terms . dedup ( ) ; terms }
Reduces the given expression and returns its AND-ed terms.
Reduces the given expression and returns its AND - ed terms .
s
MirScalarExpr
relation_type
&repr::RelationType
s
MirScalarExpr
relation_type
&repr::RelationType