diff --git a/datafusion/expr/src/type_coercion/binary.rs b/datafusion/expr/src/type_coercion/binary.rs index 6d5a348d9c1a..e517f5f7dc91 100644 --- a/datafusion/expr/src/type_coercion/binary.rs +++ b/datafusion/expr/src/type_coercion/binary.rs @@ -20,7 +20,7 @@ use std::collections::HashSet; use std::sync::Arc; -use crate::Operator; +use crate::{Operator, WrapCustomOperator}; use arrow::array::{new_empty_array, Array}; use arrow::compute::can_cast_types; @@ -29,7 +29,6 @@ use arrow::datatypes::{ DECIMAL256_MAX_PRECISION, DECIMAL256_MAX_SCALE, }; -use crate::operator::WrapCustomOperator; use datafusion_common::{exec_datafusion_err, plan_datafusion_err, plan_err, Result}; /// The type signature of an instantiation of binary operator expression such as diff --git a/datafusion/sql/src/unparser/expr.rs b/datafusion/sql/src/unparser/expr.rs index 4ed992d1ce74..a8825bc2ac95 100644 --- a/datafusion/sql/src/unparser/expr.rs +++ b/datafusion/sql/src/unparser/expr.rs @@ -37,6 +37,7 @@ use datafusion_common::{ use datafusion_expr::{ expr::{Alias, Exists, InList, ScalarFunction, Sort, WindowFunction}, Between, BinaryExpr, Case, Cast, Expr, GroupingSet, Like, Operator, TryCast, + WrapCustomOperator, }; use super::Unparser; @@ -645,7 +646,7 @@ impl Unparser<'_> { Operator::BitwiseShiftRight => Ok(ast::BinaryOperator::PGBitwiseShiftRight), Operator::BitwiseShiftLeft => Ok(ast::BinaryOperator::PGBitwiseShiftLeft), Operator::StringConcat => Ok(ast::BinaryOperator::StringConcat), - Operator::Custom(op) => op.0.op_to_sql(), + Operator::Custom(WrapCustomOperator(op)) => op.op_to_sql(), Operator::AtArrow => not_impl_err!("unsupported operation: {op:?}"), Operator::ArrowAt => not_impl_err!("unsupported operation: {op:?}"), } diff --git a/datafusion/substrait/src/logical_plan/producer.rs b/datafusion/substrait/src/logical_plan/producer.rs index 0f9508d98377..402b22599d36 100644 --- a/datafusion/substrait/src/logical_plan/producer.rs +++ b/datafusion/substrait/src/logical_plan/producer.rs @@ -23,7 +23,7 @@ use std::sync::Arc; use arrow_buffer::ToByteSlice; use datafusion::arrow::datatypes::IntervalUnit; use datafusion::logical_expr::{ - CrossJoin, Distinct, Like, Partitioning, WindowFrameUnits, + CrossJoin, Distinct, Like, Partitioning, WindowFrameUnits, WrapCustomOperator, }; use datafusion::{ arrow::datatypes::{DataType, TimeUnit}, @@ -723,7 +723,7 @@ pub fn operator_to_name(op: Operator) -> &'static str { Operator::BitwiseXor => "bitwise_xor", Operator::BitwiseShiftRight => "bitwise_shift_right", Operator::BitwiseShiftLeft => "bitwise_shift_left", - Operator::Custom(op) => op.0.name(), + Operator::Custom(WrapCustomOperator(op)) => op.name(), } }