Path: blob/main/crates/polars-plan/src/plans/aexpr/predicates/mod.rs
7889 views
mod column_expr;1mod skip_batches;23use std::borrow::Cow;45pub use column_expr::*;6use polars_core::schema::Schema;7use polars_utils::arena::{Arena, Node};8use polars_utils::pl_str::PlSmallStr;9pub use skip_batches::*;1011use super::evaluate::{constant_evaluate, into_column};12use super::{AExpr, LiteralValue};1314#[allow(clippy::type_complexity)]15fn get_binary_expr_col_and_lv<'a>(16left: Node,17right: Node,18expr_arena: &'a Arena<AExpr>,19schema: &Schema,20) -> Option<(21(&'a PlSmallStr, Node),22(Option<Cow<'a, LiteralValue>>, Node),23)> {24match (25into_column(left, expr_arena),26into_column(right, expr_arena),27constant_evaluate(left, expr_arena, schema, 0),28constant_evaluate(right, expr_arena, schema, 0),29) {30(Some(col), _, _, Some(lv)) => Some(((col, left), (lv, right))),31(_, Some(col), Some(lv), _) => Some(((col, right), (lv, left))),32_ => None,33}34}353637