From c37fe23e56ee432dba4e13db5f79ff99b41c9dae Mon Sep 17 00:00:00 2001 From: Andy Grove Date: Fri, 2 Sep 2022 07:10:28 -0600 Subject: [PATCH] Deprecate legacy datafusion::logical_plan module --- datafusion/core/src/dataframe.rs | 6 +++--- datafusion/core/src/datasource/listing/helpers.rs | 14 +++++++------- datafusion/core/src/lib.rs | 3 +++ datafusion/core/src/physical_optimizer/pruning.rs | 4 +--- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/datafusion/core/src/dataframe.rs b/datafusion/core/src/dataframe.rs index bb572b7d5cecf..c4a652a965007 100644 --- a/datafusion/core/src/dataframe.rs +++ b/datafusion/core/src/dataframe.rs @@ -800,12 +800,12 @@ mod tests { use super::*; use crate::execution::options::CsvReadOptions; use crate::physical_plan::ColumnarValue; + use crate::test_util; use crate::{assert_batches_sorted_eq, execution::context::SessionContext}; - use crate::{logical_plan::*, test_util}; use arrow::datatypes::DataType; - use datafusion_expr::{cast, Volatility}; use datafusion_expr::{ - BuiltInWindowFunction, ScalarFunctionImplementation, WindowFunction, + avg, cast, count, count_distinct, create_udf, lit, max, min, sum, + BuiltInWindowFunction, ScalarFunctionImplementation, Volatility, WindowFunction, }; #[tokio::test] diff --git a/datafusion/core/src/datasource/listing/helpers.rs b/datafusion/core/src/datasource/listing/helpers.rs index 023d319d78d75..8232f2b5f534f 100644 --- a/datafusion/core/src/datasource/listing/helpers.rs +++ b/datafusion/core/src/datasource/listing/helpers.rs @@ -32,17 +32,17 @@ use futures::{stream::BoxStream, TryStreamExt}; use log::debug; use crate::{ - datasource::MemTable, - error::Result, - execution::context::SessionContext, - logical_plan::{self, Expr, ExprVisitable, ExpressionVisitor, Recursion}, + datasource::MemTable, error::Result, execution::context::SessionContext, scalar::ScalarValue, }; use super::PartitionedFile; use crate::datasource::listing::ListingTableUrl; -use datafusion_common::DataFusionError; -use datafusion_expr::Volatility; +use datafusion_common::{Column, DataFusionError}; +use datafusion_expr::{ + expr_visitor::{ExprVisitable, ExpressionVisitor, Recursion}, + Expr, Volatility, +}; use object_store::path::Path; use object_store::{ObjectMeta, ObjectStore}; @@ -74,7 +74,7 @@ impl ApplicabilityVisitor<'_> { impl ExpressionVisitor for ApplicabilityVisitor<'_> { fn pre_visit(self, expr: &Expr) -> Result> { let rec = match expr { - Expr::Column(logical_plan::Column { ref name, .. }) => { + Expr::Column(Column { ref name, .. }) => { *self.is_applicable &= self.col_names.contains(name); Recursion::Stop(self) // leaf node anyway } diff --git a/datafusion/core/src/lib.rs b/datafusion/core/src/lib.rs index 0dd665628399f..f5b8cf4317598 100644 --- a/datafusion/core/src/lib.rs +++ b/datafusion/core/src/lib.rs @@ -215,6 +215,9 @@ pub mod dataframe; pub mod datasource; pub mod error; pub mod execution; +#[deprecated] +// logical_plan module just contains re-exports and will be removed in a future release +// https://github.com/apache/arrow-datafusion/issues/2683 pub mod logical_plan; pub mod physical_optimizer; pub mod physical_plan; diff --git a/datafusion/core/src/physical_optimizer/pruning.rs b/datafusion/core/src/physical_optimizer/pruning.rs index d41a1137d8c89..bad67b0cf2d23 100644 --- a/datafusion/core/src/physical_optimizer/pruning.rs +++ b/datafusion/core/src/physical_optimizer/pruning.rs @@ -662,12 +662,10 @@ fn build_predicate_expression( schema: &Schema, required_columns: &mut RequiredStatColumns, ) -> Result { - use crate::logical_plan; - // Returned for unsupported expressions. Such expressions are // converted to TRUE. This can still be useful when multiple // conditions are joined using AND such as: column > 10 AND TRUE - let unhandled = logical_plan::lit(true); + let unhandled = lit(true); // predicate expression can only be a binary expression let (left, op, right) = match expr {