diff --git a/rust/lance-datafusion/src/planner.rs b/rust/lance-datafusion/src/planner.rs index 1935b082b3d..625b8d782b2 100644 --- a/rust/lance-datafusion/src/planner.rs +++ b/rust/lance-datafusion/src/planner.rs @@ -839,6 +839,10 @@ impl Planner { /// Note: the returned expression must be passed through [optimize_filter()] /// before being passed to [create_physical_expr()]. pub fn parse_expr(&self, expr: &str) -> Result { + if self.schema.field_with_name(expr).is_ok() { + return Ok(col(expr)); + } + let ast_expr = parse_sql_expr(expr)?; let expr = self.parse_sql_expr(&ast_expr)?; let schema = Schema::try_from(self.schema.as_ref())?;