diff --git a/Cargo.toml b/Cargo.toml index 8d25478ab549..cbde1b46591c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -80,8 +80,6 @@ ahash = { version = "0.8", default-features = false, features = [ ] } arrow = { version = "54.1.0", features = [ "prettyprint", -] } -arrow-array = { version = "54.1.0", default-features = false, features = [ "chrono-tz", ] } arrow-buffer = { version = "54.1.0", default-features = false } diff --git a/datafusion-cli/Cargo.lock b/datafusion-cli/Cargo.lock index e320b2ffc835..00f59f9d78ad 100644 --- a/datafusion-cli/Cargo.lock +++ b/datafusion-cli/Cargo.lock @@ -1210,7 +1210,6 @@ version = "45.0.0" dependencies = [ "apache-avro", "arrow", - "arrow-array", "arrow-ipc", "arrow-schema", "async-compression", @@ -1331,7 +1330,6 @@ dependencies = [ "ahash", "apache-avro", "arrow", - "arrow-array", "arrow-ipc", "arrow-schema", "base64 0.22.1", @@ -1471,7 +1469,6 @@ name = "datafusion-functions-nested" version = "45.0.0" dependencies = [ "arrow", - "arrow-array", "arrow-ord", "arrow-schema", "datafusion-common", @@ -1556,7 +1553,6 @@ version = "45.0.0" dependencies = [ "ahash", "arrow", - "arrow-array", "arrow-schema", "datafusion-common", "datafusion-expr", @@ -1610,7 +1606,6 @@ version = "45.0.0" dependencies = [ "ahash", "arrow", - "arrow-array", "arrow-ord", "arrow-schema", "async-trait", @@ -1638,7 +1633,6 @@ name = "datafusion-sql" version = "45.0.0" dependencies = [ "arrow", - "arrow-array", "arrow-schema", "bigdecimal", "datafusion-common", @@ -2854,9 +2848,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" [[package]] name = "openssl-probe" @@ -3407,9 +3401,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc_version" @@ -4280,11 +4274,12 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.12.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3758f5e68192bb96cc8f9b7e2c2cfdabb435499a28499a42f8f984092adad4b" +checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.3.1", + "js-sys", "serde", "wasm-bindgen", ] diff --git a/datafusion-examples/examples/ffi/ffi_example_table_provider/Cargo.toml b/datafusion-examples/examples/ffi/ffi_example_table_provider/Cargo.toml index 52efdb7461ab..2d91ea2329e4 100644 --- a/datafusion-examples/examples/ffi/ffi_example_table_provider/Cargo.toml +++ b/datafusion-examples/examples/ffi/ffi_example_table_provider/Cargo.toml @@ -24,7 +24,6 @@ publish = false [dependencies] abi_stable = "0.11.3" arrow = { workspace = true } -arrow-array = { workspace = true } arrow-schema = { workspace = true } datafusion = { workspace = true } datafusion-ffi = { workspace = true } diff --git a/datafusion-examples/examples/ffi/ffi_example_table_provider/src/lib.rs b/datafusion-examples/examples/ffi/ffi_example_table_provider/src/lib.rs index c37d8f835ce8..a83f15926f05 100644 --- a/datafusion-examples/examples/ffi/ffi_example_table_provider/src/lib.rs +++ b/datafusion-examples/examples/ffi/ffi_example_table_provider/src/lib.rs @@ -18,12 +18,9 @@ use std::sync::Arc; use abi_stable::{export_root_module, prefix_type::PrefixTypeTrait}; -use arrow_array::RecordBatch; -use datafusion::{ - arrow::datatypes::{DataType, Field, Schema}, - common::record_batch, - datasource::MemTable, -}; +use arrow::array::RecordBatch; +use arrow::datatypes::{DataType, Field, Schema}; +use datafusion::{common::record_batch, datasource::MemTable}; use datafusion_ffi::table_provider::FFI_TableProvider; use ffi_module_interface::{TableProviderModule, TableProviderModuleRef}; diff --git a/datafusion/common/Cargo.toml b/datafusion/common/Cargo.toml index 1050b376be8a..215a06e81c3d 100644 --- a/datafusion/common/Cargo.toml +++ b/datafusion/common/Cargo.toml @@ -51,7 +51,6 @@ apache-avro = { version = "0.17", default-features = false, features = [ "zstandard", ], optional = true } arrow = { workspace = true } -arrow-array = { workspace = true } arrow-ipc = { workspace = true } arrow-schema = { workspace = true } base64 = "0.22.1" diff --git a/datafusion/common/src/cast.rs b/datafusion/common/src/cast.rs index bb9d80996571..bc37e59c9b92 100644 --- a/datafusion/common/src/cast.rs +++ b/datafusion/common/src/cast.rs @@ -21,6 +21,10 @@ //! kernels in arrow-rs such as `as_boolean_array` do. use crate::{downcast_value, DataFusionError, Result}; +use arrow::array::{ + BinaryViewArray, Float16Array, Int16Array, Int8Array, LargeBinaryArray, + LargeStringArray, StringViewArray, UInt16Array, +}; use arrow::{ array::{ Array, BinaryArray, BooleanArray, Date32Array, Date64Array, Decimal128Array, @@ -36,10 +40,6 @@ use arrow::{ }, datatypes::{ArrowDictionaryKeyType, ArrowPrimitiveType}, }; -use arrow_array::{ - BinaryViewArray, Float16Array, Int16Array, Int8Array, LargeBinaryArray, - LargeStringArray, StringViewArray, UInt16Array, -}; // Downcast ArrayRef to Date32Array pub fn as_date32_array(array: &dyn Array) -> Result<&Date32Array> { diff --git a/datafusion/common/src/pyarrow.rs b/datafusion/common/src/pyarrow.rs index 60dde7861104..ff413e08ab07 100644 --- a/datafusion/common/src/pyarrow.rs +++ b/datafusion/common/src/pyarrow.rs @@ -17,9 +17,8 @@ //! Conversions between PyArrow and DataFusion types -use arrow::array::ArrayData; +use arrow::array::{Array, ArrayData}; use arrow::pyarrow::{FromPyArrow, ToPyArrow}; -use arrow_array::Array; use pyo3::exceptions::PyException; use pyo3::prelude::PyErr; use pyo3::types::{PyAnyMethods, PyList}; diff --git a/datafusion/common/src/scalar/mod.rs b/datafusion/common/src/scalar/mod.rs index 6cd6a43941c8..5db0f5ed5cc0 100644 --- a/datafusion/common/src/scalar/mod.rs +++ b/datafusion/common/src/scalar/mod.rs @@ -40,22 +40,24 @@ use crate::cast::{ use crate::error::{DataFusionError, Result, _exec_err, _internal_err, _not_impl_err}; use crate::hash_utils::create_hashes; use crate::utils::SingleRowListArrayBuilder; -use arrow::array::types::{IntervalDayTime, IntervalMonthDayNano}; +use arrow::array::{ + types::{IntervalDayTime, IntervalMonthDayNano}, + *, +}; use arrow::buffer::ScalarBuffer; -use arrow::compute::kernels::numeric::*; -use arrow::util::display::{array_value_to_string, ArrayFormatter, FormatOptions}; -use arrow::{ - array::*, - compute::kernels::cast::{cast_with_options, CastOptions}, - datatypes::{ - i256, ArrowDictionaryKeyType, ArrowNativeType, ArrowTimestampType, DataType, - Date32Type, Date64Type, Field, Float32Type, Int16Type, Int32Type, Int64Type, - Int8Type, IntervalDayTimeType, IntervalMonthDayNanoType, IntervalUnit, - IntervalYearMonthType, TimeUnit, TimestampMicrosecondType, - TimestampMillisecondType, TimestampNanosecondType, TimestampSecondType, - UInt16Type, UInt32Type, UInt64Type, UInt8Type, DECIMAL128_MAX_PRECISION, - }, +use arrow::compute::kernels::{ + cast::{cast_with_options, CastOptions}, + numeric::*, }; +use arrow::datatypes::{ + i256, ArrowDictionaryKeyType, ArrowNativeType, ArrowTimestampType, DataType, + Date32Type, Date64Type, Field, Float32Type, Int16Type, Int32Type, Int64Type, + Int8Type, IntervalDayTimeType, IntervalMonthDayNanoType, IntervalUnit, + IntervalYearMonthType, TimeUnit, TimestampMicrosecondType, TimestampMillisecondType, + TimestampNanosecondType, TimestampSecondType, UInt16Type, UInt32Type, UInt64Type, + UInt8Type, DECIMAL128_MAX_PRECISION, +}; +use arrow::util::display::{array_value_to_string, ArrayFormatter, FormatOptions}; use arrow_schema::{UnionFields, UnionMode}; use crate::format::DEFAULT_CAST_OPTIONS; @@ -165,7 +167,7 @@ pub use struct_builder::ScalarStructBuilder; /// ``` /// # use std::sync::Arc; /// # use arrow::datatypes::{DataType, Field, Fields}; -/// # use arrow_array::{ArrayRef, Int32Array, StructArray, StringArray}; +/// # use arrow::array::{ArrayRef, Int32Array, StructArray, StringArray}; /// # use datafusion_common::ScalarValue; /// // Build a struct like: {a: 1, b: "foo"} /// // Field description @@ -1674,7 +1676,7 @@ impl ScalarValue { /// /// assert_eq!(&result, &expected); /// ``` - /// [`Datum`]: arrow_array::Datum + /// [`Datum`]: arrow::array::Datum pub fn to_scalar(&self) -> Result> { Ok(Scalar::new(self.to_array_of_size(1)?)) } diff --git a/datafusion/common/src/test_util.rs b/datafusion/common/src/test_util.rs index d3b8c8451258..22a7d87a8949 100644 --- a/datafusion/common/src/test_util.rs +++ b/datafusion/common/src/test_util.rs @@ -34,7 +34,7 @@ use std::{error::Error, path::PathBuf}; /// ``` /// # use std::sync::Arc; /// # use arrow::record_batch::RecordBatch; -/// # use arrow_array::{ArrayRef, Int32Array}; +/// # use arrow::array::{ArrayRef, Int32Array}; /// # use datafusion_common::assert_batches_eq; /// let col: ArrayRef = Arc::new(Int32Array::from(vec![1, 2])); /// let batch = RecordBatch::try_from_iter([("column", col)]).unwrap(); @@ -344,7 +344,7 @@ macro_rules! record_batch { )* ])); - let batch = arrow_array::RecordBatch::try_new( + let batch = arrow::array::RecordBatch::try_new( schema, vec![$( $crate::create_array!($type, $values), @@ -416,7 +416,7 @@ mod tests { #[test] fn test_create_record_batch() -> Result<()> { - use arrow_array::Array; + use arrow::array::Array; let batch = record_batch!( ("a", Int32, vec![1, 2, 3, 4]), diff --git a/datafusion/common/src/utils/mod.rs b/datafusion/common/src/utils/mod.rs index 068bfe96103d..f2377cc5410a 100644 --- a/datafusion/common/src/utils/mod.rs +++ b/datafusion/common/src/utils/mod.rs @@ -24,14 +24,13 @@ pub mod string_utils; use crate::error::{_internal_datafusion_err, _internal_err}; use crate::{DataFusionError, Result, ScalarValue}; -use arrow::array::ArrayRef; +use arrow::array::{ + cast::AsArray, Array, ArrayRef, FixedSizeListArray, LargeListArray, ListArray, + OffsetSizeTrait, +}; use arrow::buffer::OffsetBuffer; use arrow::compute::{partition, SortColumn, SortOptions}; use arrow::datatypes::{Field, SchemaRef}; -use arrow_array::cast::AsArray; -use arrow_array::{ - Array, FixedSizeListArray, LargeListArray, ListArray, OffsetSizeTrait, -}; use arrow_schema::DataType; use sqlparser::ast::Ident; use sqlparser::dialect::GenericDialect; @@ -329,8 +328,8 @@ pub fn longest_consecutive_prefix>( /// # Example /// ``` /// # use std::sync::Arc; -/// # use arrow_array::{Array, ListArray}; -/// # use arrow_array::types::Int64Type; +/// # use arrow::array::{Array, ListArray}; +/// # use arrow::array::types::Int64Type; /// # use datafusion_common::utils::SingleRowListArrayBuilder; /// // Array is [1, 2, 3] /// let arr = ListArray::from_iter_primitive::(vec![ diff --git a/datafusion/common/src/utils/string_utils.rs b/datafusion/common/src/utils/string_utils.rs index a2231e6786a7..64c7892a5376 100644 --- a/datafusion/common/src/utils/string_utils.rs +++ b/datafusion/common/src/utils/string_utils.rs @@ -17,8 +17,8 @@ //! Utilities for working with strings -use arrow::{array::AsArray, datatypes::DataType}; -use arrow_array::Array; +use arrow::array::{Array, AsArray}; +use arrow::datatypes::DataType; /// Convenient function to convert an Arrow string array to a vector of strings pub fn string_array_to_vec(array: &dyn Array) -> Vec> { diff --git a/datafusion/core/Cargo.toml b/datafusion/core/Cargo.toml index c90e5ce0b5b6..bbd999ffe98b 100644 --- a/datafusion/core/Cargo.toml +++ b/datafusion/core/Cargo.toml @@ -85,7 +85,6 @@ extended_tests = [] [dependencies] apache-avro = { version = "0.17", optional = true } arrow = { workspace = true } -arrow-array = { workspace = true } arrow-ipc = { workspace = true } arrow-schema = { workspace = true } async-compression = { version = "0.4.0", features = [ diff --git a/datafusion/core/benches/data_utils/mod.rs b/datafusion/core/benches/data_utils/mod.rs index 9d2864919225..38f6a2c76df6 100644 --- a/datafusion/core/benches/data_utils/mod.rs +++ b/datafusion/core/benches/data_utils/mod.rs @@ -17,15 +17,11 @@ //! This module provides the in-memory table for more realistic benchmarking. -use arrow::{ - array::Float32Array, - array::Float64Array, - array::StringArray, - array::UInt64Array, - datatypes::{DataType, Field, Schema, SchemaRef}, - record_batch::RecordBatch, +use arrow::array::{ + builder::{Int64Builder, StringBuilder}, + Float32Array, Float64Array, RecordBatch, StringArray, UInt64Array, }; -use arrow_array::builder::{Int64Builder, StringBuilder}; +use arrow::datatypes::{DataType, Field, Schema, SchemaRef}; use datafusion::datasource::MemTable; use datafusion::error::Result; use datafusion_common::DataFusionError; diff --git a/datafusion/core/benches/map_query_sql.rs b/datafusion/core/benches/map_query_sql.rs index e4c5f7c5deb3..79229dfc2fbd 100644 --- a/datafusion/core/benches/map_query_sql.rs +++ b/datafusion/core/benches/map_query_sql.rs @@ -17,7 +17,7 @@ use std::sync::Arc; -use arrow_array::{ArrayRef, Int32Array, RecordBatch}; +use arrow::array::{ArrayRef, Int32Array, RecordBatch}; use criterion::{black_box, criterion_group, criterion_main, Criterion}; use parking_lot::Mutex; use rand::prelude::ThreadRng; diff --git a/datafusion/core/benches/sql_planner.rs b/datafusion/core/benches/sql_planner.rs index a1b339eea355..2d79778d4d42 100644 --- a/datafusion/core/benches/sql_planner.rs +++ b/datafusion/core/benches/sql_planner.rs @@ -23,8 +23,8 @@ extern crate datafusion; mod data_utils; use crate::criterion::Criterion; +use arrow::array::{ArrayRef, RecordBatch}; use arrow::datatypes::{DataType, Field, Fields, Schema}; -use arrow_array::{ArrayRef, RecordBatch}; use criterion::Bencher; use datafusion::datasource::MemTable; use datafusion::execution::context::SessionContext; diff --git a/datafusion/core/benches/sql_query_with_io.rs b/datafusion/core/benches/sql_query_with_io.rs index aef39a04e47e..58f8409313aa 100644 --- a/datafusion/core/benches/sql_query_with_io.rs +++ b/datafusion/core/benches/sql_query_with_io.rs @@ -17,8 +17,7 @@ use std::{fmt::Write, sync::Arc, time::Duration}; -use arrow::array::{Int64Builder, UInt64Builder}; -use arrow_array::RecordBatch; +use arrow::array::{Int64Builder, RecordBatch, UInt64Builder}; use arrow_schema::{DataType, Field, Schema, SchemaRef}; use bytes::Bytes; use criterion::{criterion_group, criterion_main, Criterion, SamplingMode}; diff --git a/datafusion/core/src/datasource/file_format/csv.rs b/datafusion/core/src/datasource/file_format/csv.rs index eab3494be026..cd8a4dedc169 100644 --- a/datafusion/core/src/datasource/file_format/csv.rs +++ b/datafusion/core/src/datasource/file_format/csv.rs @@ -760,10 +760,10 @@ mod tests { use crate::prelude::{CsvReadOptions, SessionConfig, SessionContext}; use crate::test_util::arrow_test_data; + use arrow::array::{BooleanArray, Float64Array, Int32Array, StringArray}; use arrow::compute::concat_batches; use arrow::csv::ReaderBuilder; use arrow::util::pretty::pretty_format_batches; - use arrow_array::{BooleanArray, Float64Array, Int32Array, StringArray}; use datafusion_common::cast::as_string_array; use datafusion_common::internal_err; use datafusion_common::stats::Precision; diff --git a/datafusion/core/src/datasource/file_format/json.rs b/datafusion/core/src/datasource/file_format/json.rs index 60609e467163..3aae692151f6 100644 --- a/datafusion/core/src/datasource/file_format/json.rs +++ b/datafusion/core/src/datasource/file_format/json.rs @@ -42,11 +42,11 @@ use crate::physical_plan::{ DisplayAs, DisplayFormatType, SendableRecordBatchStream, Statistics, }; +use arrow::array::RecordBatch; use arrow::datatypes::Schema; use arrow::datatypes::SchemaRef; use arrow::json; use arrow::json::reader::{infer_json_schema_from_iterator, ValueIter}; -use arrow_array::RecordBatch; use arrow_schema::ArrowError; use datafusion_catalog::Session; use datafusion_common::config::{ConfigField, ConfigFileType, JsonOptions}; diff --git a/datafusion/core/src/datasource/file_format/mod.rs b/datafusion/core/src/datasource/file_format/mod.rs index ab5ce91ec57d..383d2b14b31c 100644 --- a/datafusion/core/src/datasource/file_format/mod.rs +++ b/datafusion/core/src/datasource/file_format/mod.rs @@ -37,12 +37,12 @@ use std::fmt::{self, Debug, Display}; use std::sync::Arc; use std::task::Poll; +use crate::arrow::array::RecordBatch; use crate::arrow::datatypes::SchemaRef; use crate::datasource::physical_plan::{FileScanConfig, FileSinkConfig}; use crate::error::Result; use crate::physical_plan::{ExecutionPlan, Statistics}; -use arrow_array::RecordBatch; use arrow_schema::{ArrowError, DataType, Field, FieldRef, Schema}; use datafusion_catalog::Session; use datafusion_common::file_options::file_type::FileType; diff --git a/datafusion/core/src/datasource/file_format/parquet.rs b/datafusion/core/src/datasource/file_format/parquet.rs index 8b91bc2cfdbe..0b23fd8da612 100644 --- a/datafusion/core/src/datasource/file_format/parquet.rs +++ b/datafusion/core/src/datasource/file_format/parquet.rs @@ -1309,9 +1309,10 @@ mod tests { use crate::datasource::file_format::parquet::test_util::store_parquet; use crate::physical_plan::metrics::MetricValue; use crate::prelude::{ParquetReadOptions, SessionConfig, SessionContext}; - use arrow::array::{Array, ArrayRef, StringArray}; - use arrow_array::types::Int32Type; - use arrow_array::{DictionaryArray, Int32Array, Int64Array}; + use arrow::array::{ + types::Int32Type, Array, ArrayRef, DictionaryArray, Int32Array, Int64Array, + StringArray, + }; use arrow_schema::{DataType, Field}; use async_trait::async_trait; use datafusion_common::cast::{ diff --git a/datafusion/core/src/datasource/file_format/write/demux.rs b/datafusion/core/src/datasource/file_format/write/demux.rs index 48db2c080255..454666003254 100644 --- a/datafusion/core/src/datasource/file_format/write/demux.rs +++ b/datafusion/core/src/datasource/file_format/write/demux.rs @@ -27,9 +27,10 @@ use crate::datasource::physical_plan::FileSinkConfig; use crate::error::Result; use crate::physical_plan::SendableRecordBatchStream; -use arrow_array::builder::UInt64Builder; -use arrow_array::cast::AsArray; -use arrow_array::{downcast_dictionary_array, RecordBatch, StringArray, StructArray}; +use arrow::array::{ + builder::UInt64Builder, cast::AsArray, downcast_dictionary_array, RecordBatch, + StringArray, StructArray, +}; use arrow_schema::{DataType, Schema}; use datafusion_common::cast::{ as_boolean_array, as_date32_array, as_date64_array, as_int32_array, as_int64_array, diff --git a/datafusion/core/src/datasource/file_format/write/mod.rs b/datafusion/core/src/datasource/file_format/write/mod.rs index c064999c1e5b..81ecf3f0f88c 100644 --- a/datafusion/core/src/datasource/file_format/write/mod.rs +++ b/datafusion/core/src/datasource/file_format/write/mod.rs @@ -25,7 +25,7 @@ use crate::datasource::file_format::file_compression_type::FileCompressionType; use crate::datasource::physical_plan::FileSinkConfig; use crate::error::Result; -use arrow_array::RecordBatch; +use arrow::array::RecordBatch; use arrow_schema::Schema; use bytes::Bytes; use object_store::buffered::BufWriter; diff --git a/datafusion/core/src/datasource/file_format/write/orchestration.rs b/datafusion/core/src/datasource/file_format/write/orchestration.rs index 7a271def7dc6..75836d1b48b0 100644 --- a/datafusion/core/src/datasource/file_format/write/orchestration.rs +++ b/datafusion/core/src/datasource/file_format/write/orchestration.rs @@ -26,7 +26,7 @@ use super::{create_writer, BatchSerializer}; use crate::datasource::file_format::file_compression_type::FileCompressionType; use crate::error::Result; -use arrow_array::RecordBatch; +use arrow::array::RecordBatch; use datafusion_common::{internal_datafusion_err, internal_err, DataFusionError}; use datafusion_common_runtime::SpawnedTask; use datafusion_execution::TaskContext; diff --git a/datafusion/core/src/datasource/listing/table.rs b/datafusion/core/src/datasource/listing/table.rs index f1d00ba9a37a..5d3a0f886fe4 100644 --- a/datafusion/core/src/datasource/listing/table.rs +++ b/datafusion/core/src/datasource/listing/table.rs @@ -1998,7 +1998,7 @@ mod tests { // Create a new batch of data to insert into the table let batch = RecordBatch::try_new( schema.clone(), - vec![Arc::new(arrow_array::Int32Array::from(vec![ + vec![Arc::new(arrow::array::Int32Array::from(vec![ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ]))], )?; diff --git a/datafusion/core/src/datasource/physical_plan/file_scan_config.rs b/datafusion/core/src/datasource/physical_plan/file_scan_config.rs index e31c7dfc247a..dc9207da51cb 100644 --- a/datafusion/core/src/datasource/physical_plan/file_scan_config.rs +++ b/datafusion/core/src/datasource/physical_plan/file_scan_config.rs @@ -32,10 +32,11 @@ use std::{ mem::size_of, sync::Arc, vec, }; -use arrow::array::{ArrayData, BufferBuilder}; +use arrow::array::{ + ArrayData, ArrayRef, BufferBuilder, DictionaryArray, RecordBatch, RecordBatchOptions, +}; use arrow::buffer::Buffer; use arrow::datatypes::{ArrowNativeType, UInt16Type}; -use arrow_array::{ArrayRef, DictionaryArray, RecordBatch, RecordBatchOptions}; use arrow_schema::{DataType, Field, Schema, SchemaRef}; use datafusion_common::stats::Precision; use datafusion_common::{ @@ -850,7 +851,7 @@ fn create_output_array( #[cfg(test)] mod tests { - use arrow_array::Int32Array; + use arrow::array::Int32Array; use super::*; use crate::datasource::physical_plan::ArrowSource; diff --git a/datafusion/core/src/datasource/physical_plan/mod.rs b/datafusion/core/src/datasource/physical_plan/mod.rs index 4cc65714d53e..873df859702a 100644 --- a/datafusion/core/src/datasource/physical_plan/mod.rs +++ b/datafusion/core/src/datasource/physical_plan/mod.rs @@ -580,9 +580,9 @@ mod tests { use super::*; use crate::physical_plan::{DefaultDisplay, VerboseDisplay}; - use arrow_array::cast::AsArray; - use arrow_array::types::{Float32Type, Float64Type, UInt32Type}; - use arrow_array::{ + use arrow::array::{ + cast::AsArray, + types::{Float32Type, Float64Type, UInt32Type}, BinaryArray, BooleanArray, Float32Array, Int32Array, Int64Array, RecordBatch, StringArray, UInt64Array, }; diff --git a/datafusion/core/src/datasource/physical_plan/parquet/row_group_filter.rs b/datafusion/core/src/datasource/physical_plan/parquet/row_group_filter.rs index b008157a8324..27bfb26902e5 100644 --- a/datafusion/core/src/datasource/physical_plan/parquet/row_group_filter.rs +++ b/datafusion/core/src/datasource/physical_plan/parquet/row_group_filter.rs @@ -21,8 +21,8 @@ use std::sync::Arc; use super::{ParquetAccessPlan, ParquetFileMetrics}; use crate::datasource::listing::FileRange; -use arrow::{array::ArrayRef, datatypes::Schema}; -use arrow_array::BooleanArray; +use arrow::array::{ArrayRef, BooleanArray}; +use arrow::datatypes::Schema; use datafusion_common::{Column, Result, ScalarValue}; use datafusion_physical_optimizer::pruning::{PruningPredicate, PruningStatistics}; diff --git a/datafusion/core/src/datasource/physical_plan/statistics.rs b/datafusion/core/src/datasource/physical_plan/statistics.rs index b4a8f377d256..64eb2b00de94 100644 --- a/datafusion/core/src/datasource/physical_plan/statistics.rs +++ b/datafusion/core/src/datasource/physical_plan/statistics.rs @@ -28,11 +28,11 @@ use std::sync::Arc; use crate::datasource::listing::PartitionedFile; +use arrow::array::RecordBatch; use arrow::{ compute::SortColumn, row::{Row, Rows}, }; -use arrow_array::RecordBatch; use arrow_schema::SchemaRef; use datafusion_common::{plan_err, DataFusionError, Result}; use datafusion_physical_expr::{expressions::Column, PhysicalSortExpr}; diff --git a/datafusion/core/src/datasource/schema_adapter.rs b/datafusion/core/src/datasource/schema_adapter.rs index 7e41e450ce23..efaae403b415 100644 --- a/datafusion/core/src/datasource/schema_adapter.rs +++ b/datafusion/core/src/datasource/schema_adapter.rs @@ -21,8 +21,8 @@ //! physical format into how they should be used by DataFusion. For instance, a schema //! can be stored external to a parquet file that maps parquet logical types to arrow types. +use arrow::array::{new_null_array, RecordBatch, RecordBatchOptions}; use arrow::compute::{can_cast_types, cast}; -use arrow_array::{new_null_array, RecordBatch, RecordBatchOptions}; use arrow_schema::{Schema, SchemaRef}; use datafusion_common::plan_err; use std::fmt::Debug; @@ -434,9 +434,9 @@ mod tests { use std::sync::Arc; use crate::assert_batches_sorted_eq; + use arrow::array::{Int32Array, StringArray}; use arrow::datatypes::{Field, Schema}; use arrow::record_batch::RecordBatch; - use arrow_array::{Int32Array, StringArray}; use arrow_schema::{DataType, SchemaRef}; use object_store::path::Path; use object_store::ObjectMeta; diff --git a/datafusion/core/src/datasource/stream.rs b/datafusion/core/src/datasource/stream.rs index 56cbb126d02c..ff2e4436e94d 100644 --- a/datafusion/core/src/datasource/stream.rs +++ b/datafusion/core/src/datasource/stream.rs @@ -28,7 +28,7 @@ use std::sync::Arc; use crate::catalog::{TableProvider, TableProviderFactory}; use crate::datasource::create_ordering; -use arrow_array::{RecordBatch, RecordBatchReader, RecordBatchWriter}; +use arrow::array::{RecordBatch, RecordBatchReader, RecordBatchWriter}; use arrow_schema::SchemaRef; use datafusion_common::{config_err, plan_err, Constraints, DataFusionError, Result}; use datafusion_common_runtime::SpawnedTask; diff --git a/datafusion/core/src/execution/session_state.rs b/datafusion/core/src/execution/session_state.rs index 4f752dc69be5..85c2b2a0fd78 100644 --- a/datafusion/core/src/execution/session_state.rs +++ b/datafusion/core/src/execution/session_state.rs @@ -1990,7 +1990,7 @@ mod tests { use super::{SessionContextProvider, SessionStateBuilder}; use crate::datasource::MemTable; use crate::execution::context::SessionState; - use arrow_array::{ArrayRef, Int32Array, RecordBatch, StringArray}; + use arrow::array::{ArrayRef, Int32Array, RecordBatch, StringArray}; use arrow_schema::{DataType, Field, Schema}; use datafusion_catalog::MemoryCatalogProviderList; use datafusion_common::DFSchema; diff --git a/datafusion/core/src/lib.rs b/datafusion/core/src/lib.rs index 70b302a55c22..b256ed38039a 100644 --- a/datafusion/core/src/lib.rs +++ b/datafusion/core/src/lib.rs @@ -60,7 +60,7 @@ //! # use datafusion::prelude::*; //! # use datafusion::error::Result; //! # use datafusion::functions_aggregate::expr_fn::min; -//! # use datafusion::arrow::record_batch::RecordBatch; +//! # use datafusion::arrow::array::RecordBatch; //! //! # #[tokio::main] //! # async fn main() -> Result<()> { @@ -101,7 +101,7 @@ //! ``` //! # use datafusion::prelude::*; //! # use datafusion::error::Result; -//! # use datafusion::arrow::record_batch::RecordBatch; +//! # use datafusion::arrow::array::RecordBatch; //! //! # #[tokio::main] //! # async fn main() -> Result<()> { @@ -684,7 +684,7 @@ //! [`PhysicalOptimizerRule`]: datafusion_physical_optimizer::PhysicalOptimizerRule //! [`Schema`]: arrow::datatypes::Schema //! [`PhysicalExpr`]: physical_plan::PhysicalExpr -//! [`RecordBatch`]: arrow::record_batch::RecordBatch +//! [`RecordBatch`]: arrow::array::RecordBatch //! [`RecordBatchReader`]: arrow::record_batch::RecordBatchReader //! [`Array`]: arrow::array::Array diff --git a/datafusion/core/src/physical_planner.rs b/datafusion/core/src/physical_planner.rs index d96e60c25f40..edac0fb16381 100644 --- a/datafusion/core/src/physical_planner.rs +++ b/datafusion/core/src/physical_planner.rs @@ -59,10 +59,9 @@ use crate::physical_plan::{ Partitioning, PhysicalExpr, WindowExpr, }; +use arrow::array::{builder::StringBuilder, RecordBatch}; use arrow::compute::SortOptions; use arrow::datatypes::{Schema, SchemaRef}; -use arrow_array::builder::StringBuilder; -use arrow_array::RecordBatch; use datafusion_common::display::ToStringifiedPlan; use datafusion_common::tree_node::{TreeNode, TreeNodeRecursion, TreeNodeVisitor}; use datafusion_common::{ diff --git a/datafusion/core/tests/dataframe/dataframe_functions.rs b/datafusion/core/tests/dataframe/dataframe_functions.rs index 1bd90fce839d..89ec5a5908de 100644 --- a/datafusion/core/tests/dataframe/dataframe_functions.rs +++ b/datafusion/core/tests/dataframe/dataframe_functions.rs @@ -15,13 +15,12 @@ // specific language governing permissions and limitations // under the License. +use arrow::array::{types::Int32Type, ListArray}; use arrow::datatypes::{DataType, Field, Schema}; use arrow::{ array::{Int32Array, StringArray}, record_batch::RecordBatch, }; -use arrow_array::types::Int32Type; -use arrow_array::ListArray; use arrow_schema::SchemaRef; use std::sync::Arc; diff --git a/datafusion/core/tests/dataframe/mod.rs b/datafusion/core/tests/dataframe/mod.rs index acd5ee6d5ef0..772d9dbc8f46 100644 --- a/datafusion/core/tests/dataframe/mod.rs +++ b/datafusion/core/tests/dataframe/mod.rs @@ -19,21 +19,15 @@ mod dataframe_functions; mod describe; +use arrow::array::{ + record_batch, Array, ArrayRef, BooleanArray, DictionaryArray, FixedSizeListArray, + FixedSizeListBuilder, Float32Array, Float64Array, Int32Array, Int32Builder, + Int8Array, LargeListArray, ListArray, ListBuilder, RecordBatch, StringArray, + StringBuilder, StructBuilder, UInt32Array, UInt32Builder, UnionArray, +}; use arrow::buffer::ScalarBuffer; use arrow::datatypes::{DataType, Field, Float32Type, Int32Type, Schema, UInt64Type}; use arrow::util::pretty::pretty_format_batches; -use arrow::{ - array::{ - ArrayRef, FixedSizeListArray, FixedSizeListBuilder, Int32Array, Int32Builder, - LargeListArray, ListArray, ListBuilder, StringArray, StringBuilder, - StructBuilder, UInt32Array, UInt32Builder, - }, - record_batch::RecordBatch, -}; -use arrow_array::{ - record_batch, Array, BooleanArray, DictionaryArray, Float32Array, Float64Array, - Int8Array, UnionArray, -}; use arrow_schema::{ArrowError, SchemaRef, UnionFields, UnionMode}; use datafusion_functions_aggregate::count::count_udaf; use datafusion_functions_aggregate::expr_fn::{ diff --git a/datafusion/core/tests/execution/logical_plan.rs b/datafusion/core/tests/execution/logical_plan.rs index 9f093ccf24b6..86acbe16474c 100644 --- a/datafusion/core/tests/execution/logical_plan.rs +++ b/datafusion/core/tests/execution/logical_plan.rs @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -use arrow_array::Int64Array; +use arrow::array::Int64Array; use arrow_schema::{DataType, Field}; use datafusion::execution::session_state::SessionStateBuilder; use datafusion_common::{Column, DFSchema, Result, ScalarValue, Spans}; diff --git a/datafusion/core/tests/expr_api/mod.rs b/datafusion/core/tests/expr_api/mod.rs index b9f1632ea695..8f8ca21c206d 100644 --- a/datafusion/core/tests/expr_api/mod.rs +++ b/datafusion/core/tests/expr_api/mod.rs @@ -15,9 +15,11 @@ // specific language governing permissions and limitations // under the License. +use arrow::array::{ + builder::{ListBuilder, StringBuilder}, + ArrayRef, Int64Array, RecordBatch, StringArray, StructArray, +}; use arrow::util::pretty::{pretty_format_batches, pretty_format_columns}; -use arrow_array::builder::{ListBuilder, StringBuilder}; -use arrow_array::{ArrayRef, Int64Array, RecordBatch, StringArray, StructArray}; use arrow_schema::{DataType, Field}; use datafusion::prelude::*; use datafusion_common::{DFSchema, ScalarValue}; diff --git a/datafusion/core/tests/expr_api/simplification.rs b/datafusion/core/tests/expr_api/simplification.rs index 76df4a1f1105..83e96bffdf48 100644 --- a/datafusion/core/tests/expr_api/simplification.rs +++ b/datafusion/core/tests/expr_api/simplification.rs @@ -18,8 +18,8 @@ //! This program demonstrates the DataFusion expression simplification API. use arrow::array::types::IntervalDayTime; +use arrow::array::{ArrayRef, Int32Array}; use arrow::datatypes::{DataType, Field, Schema}; -use arrow_array::{ArrayRef, Int32Array}; use chrono::{DateTime, TimeZone, Utc}; use datafusion::{error::Result, execution::context::ExecutionProps, prelude::*}; use datafusion_common::cast::as_int32_array; diff --git a/datafusion/core/tests/fuzz_cases/aggregate_fuzz.rs b/datafusion/core/tests/fuzz_cases/aggregate_fuzz.rs index a58855438475..0257850ffc50 100644 --- a/datafusion/core/tests/fuzz_cases/aggregate_fuzz.rs +++ b/datafusion/core/tests/fuzz_cases/aggregate_fuzz.rs @@ -22,12 +22,10 @@ use crate::fuzz_cases::aggregation_fuzzer::{ AggregationFuzzerBuilder, ColumnDescr, DatasetGeneratorConfig, QueryBuilder, }; -use arrow::array::{Array, ArrayRef, AsArray, Int64Array}; +use arrow::array::{types::Int64Type, Array, ArrayRef, AsArray, Int64Array, RecordBatch}; use arrow::compute::{concat_batches, SortOptions}; use arrow::datatypes::DataType; -use arrow::record_batch::RecordBatch; use arrow::util::pretty::pretty_format_batches; -use arrow_array::types::Int64Type; use arrow_schema::{ IntervalUnit, TimeUnit, DECIMAL128_MAX_PRECISION, DECIMAL128_MAX_SCALE, DECIMAL256_MAX_PRECISION, DECIMAL256_MAX_SCALE, diff --git a/datafusion/core/tests/fuzz_cases/aggregation_fuzzer/context_generator.rs b/datafusion/core/tests/fuzz_cases/aggregation_fuzzer/context_generator.rs index 2aeecd8ff2ea..9c8f83f75ccb 100644 --- a/datafusion/core/tests/fuzz_cases/aggregation_fuzzer/context_generator.rs +++ b/datafusion/core/tests/fuzz_cases/aggregation_fuzzer/context_generator.rs @@ -253,7 +253,7 @@ impl SkipPartialParams { #[cfg(test)] mod test { - use arrow_array::{RecordBatch, StringArray, UInt32Array}; + use arrow::array::{RecordBatch, StringArray, UInt32Array}; use arrow_schema::{DataType, Field, Schema}; use crate::fuzz_cases::aggregation_fuzzer::check_equality_of_batches; diff --git a/datafusion/core/tests/fuzz_cases/aggregation_fuzzer/data_generator.rs b/datafusion/core/tests/fuzz_cases/aggregation_fuzzer/data_generator.rs index e4c0cb6fe77f..3ebd899f4e15 100644 --- a/datafusion/core/tests/fuzz_cases/aggregation_fuzzer/data_generator.rs +++ b/datafusion/core/tests/fuzz_cases/aggregation_fuzzer/data_generator.rs @@ -17,6 +17,7 @@ use std::sync::Arc; +use arrow::array::{ArrayRef, RecordBatch}; use arrow::datatypes::{ BinaryType, BinaryViewType, BooleanType, ByteArrayType, ByteViewType, Date32Type, Date64Type, Decimal128Type, Decimal256Type, Float32Type, Float64Type, Int16Type, @@ -26,7 +27,6 @@ use arrow::datatypes::{ TimestampMicrosecondType, TimestampMillisecondType, TimestampNanosecondType, TimestampSecondType, UInt16Type, UInt32Type, UInt64Type, UInt8Type, Utf8Type, }; -use arrow_array::{ArrayRef, RecordBatch}; use arrow_schema::{DataType, Field, IntervalUnit, Schema, TimeUnit}; use datafusion_common::{arrow_datafusion_err, DataFusionError, Result}; use datafusion_physical_expr::{expressions::col, PhysicalSortExpr}; @@ -728,7 +728,7 @@ impl RecordBatchGenerator { #[cfg(test)] mod test { - use arrow_array::UInt32Array; + use arrow::array::UInt32Array; use crate::fuzz_cases::aggregation_fuzzer::check_equality_of_batches; diff --git a/datafusion/core/tests/fuzz_cases/aggregation_fuzzer/fuzzer.rs b/datafusion/core/tests/fuzz_cases/aggregation_fuzzer/fuzzer.rs index d021e73f35b2..db61eaef25c9 100644 --- a/datafusion/core/tests/fuzz_cases/aggregation_fuzzer/fuzzer.rs +++ b/datafusion/core/tests/fuzz_cases/aggregation_fuzzer/fuzzer.rs @@ -18,8 +18,8 @@ use std::collections::HashSet; use std::sync::Arc; +use arrow::array::RecordBatch; use arrow::util::pretty::pretty_format_batches; -use arrow_array::RecordBatch; use datafusion_common::{DataFusionError, Result}; use rand::{thread_rng, Rng}; use tokio::task::JoinSet; diff --git a/datafusion/core/tests/fuzz_cases/aggregation_fuzzer/mod.rs b/datafusion/core/tests/fuzz_cases/aggregation_fuzzer/mod.rs index d93a5b7b9360..7c5b25e4a0e0 100644 --- a/datafusion/core/tests/fuzz_cases/aggregation_fuzzer/mod.rs +++ b/datafusion/core/tests/fuzz_cases/aggregation_fuzzer/mod.rs @@ -15,8 +15,8 @@ // specific language governing permissions and limitations // under the License. +use arrow::array::RecordBatch; use arrow::util::pretty::pretty_format_batches; -use arrow_array::RecordBatch; use datafusion::prelude::SessionContext; use datafusion_common::error::Result; diff --git a/datafusion/core/tests/fuzz_cases/distinct_count_string_fuzz.rs b/datafusion/core/tests/fuzz_cases/distinct_count_string_fuzz.rs index 64b858cebc84..d817e4c7a3b4 100644 --- a/datafusion/core/tests/fuzz_cases/distinct_count_string_fuzz.rs +++ b/datafusion/core/tests/fuzz_cases/distinct_count_string_fuzz.rs @@ -19,10 +19,8 @@ use std::sync::Arc; -use arrow::record_batch::RecordBatch; -use arrow_array::{Array, OffsetSizeTrait}; +use arrow::array::{cast::AsArray, Array, OffsetSizeTrait, RecordBatch}; -use arrow_array::cast::AsArray; use datafusion::datasource::MemTable; use std::collections::HashSet; use tokio::task::JoinSet; diff --git a/datafusion/core/tests/fuzz_cases/equivalence/utils.rs b/datafusion/core/tests/fuzz_cases/equivalence/utils.rs index 5bf42ea6889f..b66b7b2aca43 100644 --- a/datafusion/core/tests/fuzz_cases/equivalence/utils.rs +++ b/datafusion/core/tests/fuzz_cases/equivalence/utils.rs @@ -22,9 +22,9 @@ use std::any::Any; use std::cmp::Ordering; use std::sync::Arc; +use arrow::array::{ArrayRef, Float32Array, Float64Array, RecordBatch, UInt32Array}; use arrow::compute::{lexsort_to_indices, take_record_batch, SortColumn}; use arrow::datatypes::{DataType, Field, Schema}; -use arrow_array::{ArrayRef, Float32Array, Float64Array, RecordBatch, UInt32Array}; use arrow_schema::{SchemaRef, SortOptions}; use datafusion_common::utils::{compare_rows, get_row_at_idx}; use datafusion_common::{exec_err, plan_datafusion_err, DataFusionError, Result}; diff --git a/datafusion/core/tests/fuzz_cases/limit_fuzz.rs b/datafusion/core/tests/fuzz_cases/limit_fuzz.rs index a82849f4ea92..a73845c56a0f 100644 --- a/datafusion/core/tests/fuzz_cases/limit_fuzz.rs +++ b/datafusion/core/tests/fuzz_cases/limit_fuzz.rs @@ -17,10 +17,9 @@ //! Fuzz Test for Sort + Fetch/Limit (TopK!) +use arrow::array::{Float64Array, Int32Array, Int64Array, RecordBatch, StringArray}; use arrow::compute::concat_batches; use arrow::util::pretty::pretty_format_batches; -use arrow::{array::Int32Array, record_batch::RecordBatch}; -use arrow_array::{Float64Array, Int64Array, StringArray}; use arrow_schema::SchemaRef; use datafusion::datasource::MemTable; use datafusion::prelude::SessionContext; diff --git a/datafusion/core/tests/fuzz_cases/pruning.rs b/datafusion/core/tests/fuzz_cases/pruning.rs index a43886b6df21..fef009fa911c 100644 --- a/datafusion/core/tests/fuzz_cases/pruning.rs +++ b/datafusion/core/tests/fuzz_cases/pruning.rs @@ -17,7 +17,7 @@ use std::sync::{Arc, OnceLock}; -use arrow_array::{Array, RecordBatch, StringArray}; +use arrow::array::{Array, RecordBatch, StringArray}; use arrow_schema::{DataType, Field, Schema}; use bytes::{BufMut, Bytes, BytesMut}; use datafusion::{ diff --git a/datafusion/core/tests/fuzz_cases/sort_preserving_repartition_fuzz.rs b/datafusion/core/tests/fuzz_cases/sort_preserving_repartition_fuzz.rs index 602205beadcc..8ffc78a9f59d 100644 --- a/datafusion/core/tests/fuzz_cases/sort_preserving_repartition_fuzz.rs +++ b/datafusion/core/tests/fuzz_cases/sort_preserving_repartition_fuzz.rs @@ -19,8 +19,8 @@ mod sp_repartition_fuzz_tests { use std::sync::Arc; + use arrow::array::{ArrayRef, Int64Array, RecordBatch, UInt64Array}; use arrow::compute::{concat_batches, lexsort, SortColumn}; - use arrow_array::{ArrayRef, Int64Array, RecordBatch, UInt64Array}; use arrow_schema::{DataType, Field, Schema, SchemaRef, SortOptions}; use datafusion::physical_plan::{ diff --git a/datafusion/core/tests/memory_limit/mod.rs b/datafusion/core/tests/memory_limit/mod.rs index 733d6cdee0ea..b7c656627187 100644 --- a/datafusion/core/tests/memory_limit/mod.rs +++ b/datafusion/core/tests/memory_limit/mod.rs @@ -23,9 +23,8 @@ use std::sync::{Arc, LazyLock}; #[cfg(feature = "extended_tests")] mod memory_limit_validation; +use arrow::array::{ArrayRef, DictionaryArray, RecordBatch}; use arrow::datatypes::{Int32Type, SchemaRef}; -use arrow::record_batch::RecordBatch; -use arrow_array::{ArrayRef, DictionaryArray}; use arrow_schema::SortOptions; use datafusion::assert_batches_eq; use datafusion::datasource::{MemTable, TableProvider}; diff --git a/datafusion/core/tests/parquet/schema_coercion.rs b/datafusion/core/tests/parquet/schema_coercion.rs index 3b9c43685deb..9175a6e91e91 100644 --- a/datafusion/core/tests/parquet/schema_coercion.rs +++ b/datafusion/core/tests/parquet/schema_coercion.rs @@ -17,10 +17,11 @@ use std::sync::Arc; +use arrow::array::{ + types::Int32Type, ArrayRef, DictionaryArray, Float32Array, Int64Array, RecordBatch, + StringArray, +}; use arrow::datatypes::{Field, Schema}; -use arrow::record_batch::RecordBatch; -use arrow_array::types::Int32Type; -use arrow_array::{ArrayRef, DictionaryArray, Float32Array, Int64Array, StringArray}; use arrow_schema::DataType; use datafusion::assert_batches_sorted_eq; use datafusion::datasource::physical_plan::{FileScanConfig, ParquetSource}; diff --git a/datafusion/core/tests/user_defined/expr_planner.rs b/datafusion/core/tests/user_defined/expr_planner.rs index ad9c1280d6b1..75d890359ba8 100644 --- a/datafusion/core/tests/user_defined/expr_planner.rs +++ b/datafusion/core/tests/user_defined/expr_planner.rs @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -use arrow_array::RecordBatch; +use arrow::array::RecordBatch; use std::sync::Arc; use datafusion::common::{assert_batches_eq, DFSchema}; diff --git a/datafusion/core/tests/user_defined/user_defined_aggregates.rs b/datafusion/core/tests/user_defined/user_defined_aggregates.rs index bf32eef3b011..aa0f6c8fed8d 100644 --- a/datafusion/core/tests/user_defined/user_defined_aggregates.rs +++ b/datafusion/core/tests/user_defined/user_defined_aggregates.rs @@ -25,10 +25,10 @@ use std::sync::{ Arc, }; -use arrow::{array::AsArray, datatypes::Fields}; -use arrow_array::{ - types::UInt64Type, Int32Array, PrimitiveArray, StringArray, StructArray, +use arrow::array::{ + types::UInt64Type, AsArray, Int32Array, PrimitiveArray, StringArray, StructArray, }; +use arrow::datatypes::Fields; use arrow_schema::Schema; use datafusion::dataframe::DataFrame; @@ -834,7 +834,7 @@ impl GroupsAccumulator for TestGroupsAccumulator { &mut self, _values: &[ArrayRef], _group_indices: &[usize], - _opt_filter: Option<&arrow_array::BooleanArray>, + _opt_filter: Option<&arrow::array::BooleanArray>, _total_num_groups: usize, ) -> Result<()> { Ok(()) @@ -858,7 +858,7 @@ impl GroupsAccumulator for TestGroupsAccumulator { &mut self, _values: &[ArrayRef], _group_indices: &[usize], - _opt_filter: Option<&arrow_array::BooleanArray>, + _opt_filter: Option<&arrow::array::BooleanArray>, _total_num_groups: usize, ) -> Result<()> { Ok(()) diff --git a/datafusion/core/tests/user_defined/user_defined_scalar_functions.rs b/datafusion/core/tests/user_defined/user_defined_scalar_functions.rs index a228eb0286aa..ea83bd16b468 100644 --- a/datafusion/core/tests/user_defined/user_defined_scalar_functions.rs +++ b/datafusion/core/tests/user_defined/user_defined_scalar_functions.rs @@ -20,12 +20,11 @@ use std::hash::{DefaultHasher, Hash, Hasher}; use std::sync::Arc; use arrow::array::as_string_array; -use arrow::compute::kernels::numeric::add; -use arrow_array::builder::BooleanBuilder; -use arrow_array::cast::AsArray; -use arrow_array::{ - Array, ArrayRef, Float32Array, Float64Array, Int32Array, RecordBatch, StringArray, +use arrow::array::{ + builder::BooleanBuilder, cast::AsArray, Array, ArrayRef, Float32Array, Float64Array, + Int32Array, RecordBatch, StringArray, }; +use arrow::compute::kernels::numeric::add; use arrow_schema::{DataType, Field, Schema}; use datafusion::execution::context::{FunctionFactory, RegisterFunction, SessionState}; use datafusion::prelude::*; diff --git a/datafusion/core/tests/user_defined/user_defined_window_functions.rs b/datafusion/core/tests/user_defined/user_defined_window_functions.rs index 10ee0c5cd2dc..204d786994f8 100644 --- a/datafusion/core/tests/user_defined/user_defined_window_functions.rs +++ b/datafusion/core/tests/user_defined/user_defined_window_functions.rs @@ -18,17 +18,7 @@ //! This module contains end to end tests of creating //! user defined window functions -use std::{ - any::Any, - ops::Range, - sync::{ - atomic::{AtomicUsize, Ordering}, - Arc, - }, -}; - -use arrow::array::AsArray; -use arrow_array::{ArrayRef, Int64Array, RecordBatch, StringArray}; +use arrow::array::{ArrayRef, AsArray, Int64Array, RecordBatch, StringArray}; use arrow_schema::{DataType, Field, Schema}; use datafusion::{assert_batches_eq, prelude::SessionContext}; use datafusion_common::{Result, ScalarValue}; @@ -43,6 +33,14 @@ use datafusion_physical_expr::{ expressions::{col, lit}, PhysicalExpr, }; +use std::{ + any::Any, + ops::Range, + sync::{ + atomic::{AtomicUsize, Ordering}, + Arc, + }, +}; /// A query with a window function evaluated over the entire partition const UNBOUNDED_WINDOW_QUERY: &str = "SELECT x, y, val, \ diff --git a/datafusion/ffi/Cargo.toml b/datafusion/ffi/Cargo.toml index 1a6248322d1c..c33c87786de8 100644 --- a/datafusion/ffi/Cargo.toml +++ b/datafusion/ffi/Cargo.toml @@ -38,7 +38,6 @@ crate-type = ["cdylib", "rlib"] [dependencies] abi_stable = "0.11.3" arrow = { workspace = true, features = ["ffi"] } -arrow-array = { workspace = true } arrow-schema = { workspace = true } async-ffi = { version = "0.5.0", features = ["abi_stable"] } async-trait = { workspace = true } diff --git a/datafusion/ffi/src/tests/async_provider.rs b/datafusion/ffi/src/tests/async_provider.rs index 0e56a318cd87..eff3ed61d739 100644 --- a/datafusion/ffi/src/tests/async_provider.rs +++ b/datafusion/ffi/src/tests/async_provider.rs @@ -28,7 +28,7 @@ use std::{any::Any, fmt::Debug, sync::Arc}; use crate::table_provider::FFI_TableProvider; -use arrow_array::RecordBatch; +use arrow::array::RecordBatch; use arrow_schema::Schema; use async_trait::async_trait; use datafusion::{ diff --git a/datafusion/ffi/src/tests/mod.rs b/datafusion/ffi/src/tests/mod.rs index d2e865d6c2a1..a5fc74b840d1 100644 --- a/datafusion/ffi/src/tests/mod.rs +++ b/datafusion/ffi/src/tests/mod.rs @@ -27,7 +27,7 @@ use abi_stable::{ }; use super::table_provider::FFI_TableProvider; -use arrow_array::RecordBatch; +use arrow::array::RecordBatch; use async_provider::create_async_table_provider; use datafusion::{ arrow::datatypes::{DataType, Field, Schema}, diff --git a/datafusion/functions-nested/Cargo.toml b/datafusion/functions-nested/Cargo.toml index 01fbc73cba12..7835985b297f 100644 --- a/datafusion/functions-nested/Cargo.toml +++ b/datafusion/functions-nested/Cargo.toml @@ -41,7 +41,6 @@ path = "src/lib.rs" [dependencies] arrow = { workspace = true } -arrow-array = { workspace = true } arrow-ord = { workspace = true } arrow-schema = { workspace = true } datafusion-common = { workspace = true } diff --git a/datafusion/functions-nested/benches/map.rs b/datafusion/functions-nested/benches/map.rs index 22bef99becef..e60f7f388ac1 100644 --- a/datafusion/functions-nested/benches/map.rs +++ b/datafusion/functions-nested/benches/map.rs @@ -17,8 +17,8 @@ extern crate criterion; +use arrow::array::{Int32Array, ListArray, StringArray}; use arrow::buffer::{OffsetBuffer, ScalarBuffer}; -use arrow_array::{Int32Array, ListArray, StringArray}; use arrow_schema::{DataType, Field}; use criterion::{black_box, criterion_group, criterion_main, Criterion}; use rand::prelude::ThreadRng; diff --git a/datafusion/functions-nested/src/array_has.rs b/datafusion/functions-nested/src/array_has.rs index e56f5633b2a5..5c694600b822 100644 --- a/datafusion/functions-nested/src/array_has.rs +++ b/datafusion/functions-nested/src/array_has.rs @@ -17,11 +17,12 @@ //! [`ScalarUDFImpl`] definitions for array_has, array_has_all and array_has_any functions. -use arrow::array::{Array, ArrayRef, BooleanArray, OffsetSizeTrait}; +use arrow::array::{ + Array, ArrayRef, BooleanArray, Datum, GenericListArray, OffsetSizeTrait, Scalar, +}; use arrow::buffer::BooleanBuffer; use arrow::datatypes::DataType; use arrow::row::{RowConverter, Rows, SortField}; -use arrow_array::{Datum, GenericListArray, Scalar}; use datafusion_common::cast::as_generic_list_array; use datafusion_common::utils::string_utils::string_array_to_vec; use datafusion_common::{exec_err, Result, ScalarValue}; diff --git a/datafusion/functions-nested/src/cardinality.rs b/datafusion/functions-nested/src/cardinality.rs index a46c5348d123..21ab9fb35982 100644 --- a/datafusion/functions-nested/src/cardinality.rs +++ b/datafusion/functions-nested/src/cardinality.rs @@ -18,7 +18,7 @@ //! [`ScalarUDFImpl`] definitions for cardinality function. use crate::utils::make_scalar_function; -use arrow_array::{ +use arrow::array::{ Array, ArrayRef, GenericListArray, MapArray, OffsetSizeTrait, UInt64Array, }; use arrow_schema::DataType; diff --git a/datafusion/functions-nested/src/concat.rs b/datafusion/functions-nested/src/concat.rs index 0e98c31ba663..723dab9a76b7 100644 --- a/datafusion/functions-nested/src/concat.rs +++ b/datafusion/functions-nested/src/concat.rs @@ -533,7 +533,7 @@ where Ok(Arc::new(GenericListArray::::try_new( Arc::new(Field::new_list_field(data_type.to_owned(), true)), OffsetBuffer::new(offsets.into()), - arrow_array::make_array(data), + arrow::array::make_array(data), None, )?)) } diff --git a/datafusion/functions-nested/src/distance.rs b/datafusion/functions-nested/src/distance.rs index 8559b1096bc5..6a5d6b4fa0ff 100644 --- a/datafusion/functions-nested/src/distance.rs +++ b/datafusion/functions-nested/src/distance.rs @@ -18,7 +18,7 @@ //! [ScalarUDFImpl] definitions for array_distance function. use crate::utils::make_scalar_function; -use arrow_array::{ +use arrow::array::{ Array, ArrayRef, Float64Array, LargeListArray, ListArray, OffsetSizeTrait, }; use arrow_schema::DataType; diff --git a/datafusion/functions-nested/src/empty.rs b/datafusion/functions-nested/src/empty.rs index 9739ffb15f6b..b5e2df6f8952 100644 --- a/datafusion/functions-nested/src/empty.rs +++ b/datafusion/functions-nested/src/empty.rs @@ -18,7 +18,7 @@ //! [`ScalarUDFImpl`] definitions for array_empty function. use crate::utils::make_scalar_function; -use arrow_array::{ArrayRef, BooleanArray, OffsetSizeTrait}; +use arrow::array::{ArrayRef, BooleanArray, OffsetSizeTrait}; use arrow_schema::DataType; use arrow_schema::DataType::{Boolean, FixedSizeList, LargeList, List}; use datafusion_common::cast::as_generic_list_array; diff --git a/datafusion/functions-nested/src/except.rs b/datafusion/functions-nested/src/except.rs index 8cb870dba058..79e2c0f23ce3 100644 --- a/datafusion/functions-nested/src/except.rs +++ b/datafusion/functions-nested/src/except.rs @@ -18,10 +18,9 @@ //! [`ScalarUDFImpl`] definitions for array_except function. use crate::utils::{check_datatypes, make_scalar_function}; +use arrow::array::{cast::AsArray, Array, ArrayRef, GenericListArray, OffsetSizeTrait}; use arrow::buffer::OffsetBuffer; use arrow::row::{RowConverter, SortField}; -use arrow_array::cast::AsArray; -use arrow_array::{Array, ArrayRef, GenericListArray, OffsetSizeTrait}; use arrow_schema::{DataType, FieldRef}; use datafusion_common::{exec_err, internal_err, HashSet, Result}; use datafusion_expr::{ diff --git a/datafusion/functions-nested/src/extract.rs b/datafusion/functions-nested/src/extract.rs index 33f7904c1687..2f59dccad94a 100644 --- a/datafusion/functions-nested/src/extract.rs +++ b/datafusion/functions-nested/src/extract.rs @@ -633,7 +633,7 @@ where Ok(Arc::new(GenericListArray::::try_new( Arc::new(Field::new_list_field(array.value_type(), true)), OffsetBuffer::::new(offsets.into()), - arrow_array::make_array(data), + arrow::array::make_array(data), null_builder.finish(), )?)) } diff --git a/datafusion/functions-nested/src/flatten.rs b/datafusion/functions-nested/src/flatten.rs index b97b9e3c68a9..4fd14c79644b 100644 --- a/datafusion/functions-nested/src/flatten.rs +++ b/datafusion/functions-nested/src/flatten.rs @@ -18,8 +18,8 @@ //! [`ScalarUDFImpl`] definitions for flatten function. use crate::utils::make_scalar_function; +use arrow::array::{ArrayRef, GenericListArray, OffsetSizeTrait}; use arrow::buffer::OffsetBuffer; -use arrow_array::{ArrayRef, GenericListArray, OffsetSizeTrait}; use arrow_schema::DataType; use arrow_schema::DataType::{FixedSizeList, LargeList, List, Null}; use datafusion_common::cast::{ diff --git a/datafusion/functions-nested/src/length.rs b/datafusion/functions-nested/src/length.rs index 70a9188a2c3d..1081a682897f 100644 --- a/datafusion/functions-nested/src/length.rs +++ b/datafusion/functions-nested/src/length.rs @@ -18,7 +18,7 @@ //! [`ScalarUDFImpl`] definitions for array_length function. use crate::utils::make_scalar_function; -use arrow_array::{ +use arrow::array::{ Array, ArrayRef, Int64Array, LargeListArray, ListArray, OffsetSizeTrait, UInt64Array, }; use arrow_schema::DataType; diff --git a/datafusion/functions-nested/src/make_array.rs b/datafusion/functions-nested/src/make_array.rs index 6bc1f6f2c2d1..8bf5f37b8add 100644 --- a/datafusion/functions-nested/src/make_array.rs +++ b/datafusion/functions-nested/src/make_array.rs @@ -22,11 +22,11 @@ use std::sync::Arc; use std::vec; use crate::utils::make_scalar_function; -use arrow::array::{ArrayData, Capacities, MutableArrayData}; -use arrow::buffer::OffsetBuffer; -use arrow_array::{ - new_null_array, Array, ArrayRef, GenericListArray, NullArray, OffsetSizeTrait, +use arrow::array::{ + new_null_array, Array, ArrayData, ArrayRef, Capacities, GenericListArray, + MutableArrayData, NullArray, OffsetSizeTrait, }; +use arrow::buffer::OffsetBuffer; use arrow_schema::DataType::{List, Null}; use arrow_schema::{DataType, Field}; use datafusion_common::utils::SingleRowListArrayBuilder; @@ -275,7 +275,7 @@ fn array_array( Ok(Arc::new(GenericListArray::::try_new( Arc::new(Field::new_list_field(data_type, true)), OffsetBuffer::new(offsets.into()), - arrow_array::make_array(data), + arrow::array::make_array(data), None, )?)) } diff --git a/datafusion/functions-nested/src/map.rs b/datafusion/functions-nested/src/map.rs index 8c78de68f86e..77e06b28a8d6 100644 --- a/datafusion/functions-nested/src/map.rs +++ b/datafusion/functions-nested/src/map.rs @@ -19,10 +19,9 @@ use std::any::Any; use std::collections::VecDeque; use std::sync::Arc; -use arrow::array::ArrayData; +use arrow::array::{Array, ArrayData, ArrayRef, MapArray, OffsetSizeTrait, StructArray}; use arrow::buffer::Buffer; use arrow::datatypes::ToByteSlice; -use arrow_array::{Array, ArrayRef, MapArray, OffsetSizeTrait, StructArray}; use arrow_schema::{DataType, Field, SchemaBuilder}; use datafusion_common::utils::{fixed_size_list_to_arrays, list_to_arrays}; diff --git a/datafusion/functions-nested/src/map_extract.rs b/datafusion/functions-nested/src/map_extract.rs index 268c3235cc49..47d977a8c01c 100644 --- a/datafusion/functions-nested/src/map_extract.rs +++ b/datafusion/functions-nested/src/map_extract.rs @@ -17,12 +17,11 @@ //! [`ScalarUDFImpl`] definitions for map_extract functions. -use arrow::array::{ArrayRef, Capacities, MutableArrayData}; -use arrow_array::{make_array, ListArray}; - +use arrow::array::{ + make_array, Array, ArrayRef, Capacities, ListArray, MapArray, MutableArrayData, +}; use arrow::buffer::OffsetBuffer; use arrow::datatypes::DataType; -use arrow_array::{Array, MapArray}; use arrow_schema::Field; use datafusion_common::{cast::as_map_array, exec_err, Result}; diff --git a/datafusion/functions-nested/src/map_keys.rs b/datafusion/functions-nested/src/map_keys.rs index 0dfd34b39089..60039865daae 100644 --- a/datafusion/functions-nested/src/map_keys.rs +++ b/datafusion/functions-nested/src/map_keys.rs @@ -18,7 +18,7 @@ //! [`ScalarUDFImpl`] definitions for map_keys function. use crate::utils::{get_map_entry_field, make_scalar_function}; -use arrow_array::{Array, ArrayRef, ListArray}; +use arrow::array::{Array, ArrayRef, ListArray}; use arrow_schema::{DataType, Field}; use datafusion_common::{cast::as_map_array, exec_err, Result}; use datafusion_expr::{ diff --git a/datafusion/functions-nested/src/map_values.rs b/datafusion/functions-nested/src/map_values.rs index 009d5c861093..c6d31f3d9067 100644 --- a/datafusion/functions-nested/src/map_values.rs +++ b/datafusion/functions-nested/src/map_values.rs @@ -18,7 +18,7 @@ //! [`ScalarUDFImpl`] definitions for map_values function. use crate::utils::{get_map_entry_field, make_scalar_function}; -use arrow_array::{Array, ArrayRef, ListArray}; +use arrow::array::{Array, ArrayRef, ListArray}; use arrow_schema::{DataType, Field}; use datafusion_common::{cast::as_map_array, exec_err, Result}; use datafusion_expr::{ diff --git a/datafusion/functions-nested/src/position.rs b/datafusion/functions-nested/src/position.rs index eec2a32fa2a2..d5c9944709b3 100644 --- a/datafusion/functions-nested/src/position.rs +++ b/datafusion/functions-nested/src/position.rs @@ -27,9 +27,9 @@ use datafusion_macros::user_doc; use std::any::Any; use std::sync::Arc; -use arrow_array::types::UInt64Type; -use arrow_array::{ - Array, ArrayRef, GenericListArray, ListArray, OffsetSizeTrait, UInt64Array, +use arrow::array::{ + types::UInt64Type, Array, ArrayRef, GenericListArray, ListArray, OffsetSizeTrait, + UInt64Array, }; use datafusion_common::cast::{ as_generic_list_array, as_int64_array, as_large_list_array, as_list_array, diff --git a/datafusion/functions-nested/src/remove.rs b/datafusion/functions-nested/src/remove.rs index 64b6405176a3..099cc7e1131d 100644 --- a/datafusion/functions-nested/src/remove.rs +++ b/datafusion/functions-nested/src/remove.rs @@ -19,11 +19,11 @@ use crate::utils; use crate::utils::make_scalar_function; -use arrow::buffer::OffsetBuffer; -use arrow_array::cast::AsArray; -use arrow_array::{ - new_empty_array, Array, ArrayRef, BooleanArray, GenericListArray, OffsetSizeTrait, +use arrow::array::{ + cast::AsArray, new_empty_array, Array, ArrayRef, BooleanArray, GenericListArray, + OffsetSizeTrait, }; +use arrow::buffer::OffsetBuffer; use arrow_schema::{DataType, Field}; use datafusion_common::cast::as_int64_array; use datafusion_common::{exec_err, Result}; @@ -330,7 +330,7 @@ fn array_remove_internal( /// /// The type of each **element** in `list_array` must be the same as the type of /// `element_array`. This function also handles nested arrays -/// ([`arrow_array::ListArray`] of [`arrow_array::ListArray`]s) +/// ([`arrow::array::ListArray`] of [`arrow::array::ListArray`]s) /// /// For example, when called to remove a list array (where each element is a /// list of int32s, the second argument are int32 arrays, and the diff --git a/datafusion/functions-nested/src/repeat.rs b/datafusion/functions-nested/src/repeat.rs index 455fb3dd3023..4772da9a4bf4 100644 --- a/datafusion/functions-nested/src/repeat.rs +++ b/datafusion/functions-nested/src/repeat.rs @@ -18,14 +18,13 @@ //! [`ScalarUDFImpl`] definitions for array_repeat function. use crate::utils::make_scalar_function; -use arrow::array::{Capacities, MutableArrayData}; +use arrow::array::{ + new_null_array, Array, ArrayRef, Capacities, GenericListArray, ListArray, + MutableArrayData, OffsetSizeTrait, UInt64Array, +}; use arrow::buffer::OffsetBuffer; use arrow::compute; use arrow::compute::cast; -use arrow_array::{ - new_null_array, Array, ArrayRef, GenericListArray, ListArray, OffsetSizeTrait, - UInt64Array, -}; use arrow_schema::DataType::{LargeList, List}; use arrow_schema::{DataType, Field}; use datafusion_common::cast::{as_large_list_array, as_list_array, as_uint64_array}; @@ -220,7 +219,7 @@ fn general_repeat( } let data = mutable.freeze(); - arrow_array::make_array(data) + arrow::array::make_array(data) }; new_values.push(repeated_array); } @@ -277,7 +276,7 @@ fn general_list_repeat( } let data = mutable.freeze(); - let repeated_array = arrow_array::make_array(data); + let repeated_array = arrow::array::make_array(data); let list_arr = GenericListArray::::try_new( Arc::new(Field::new_list_field(value_type.clone(), true)), diff --git a/datafusion/functions-nested/src/replace.rs b/datafusion/functions-nested/src/replace.rs index 1f12625a52b8..939fce6fdf3f 100644 --- a/datafusion/functions-nested/src/replace.rs +++ b/datafusion/functions-nested/src/replace.rs @@ -375,7 +375,7 @@ fn general_replace( Ok(Arc::new(GenericListArray::::try_new( Arc::new(Field::new_list_field(list_array.value_type(), true)), OffsetBuffer::::new(offsets.into()), - arrow_array::make_array(data), + arrow::array::make_array(data), valid.finish(), )?)) } diff --git a/datafusion/functions-nested/src/resize.rs b/datafusion/functions-nested/src/resize.rs index f167134f9b22..3cd7bb5dac81 100644 --- a/datafusion/functions-nested/src/resize.rs +++ b/datafusion/functions-nested/src/resize.rs @@ -239,7 +239,7 @@ fn general_list_resize>( Ok(Arc::new(GenericListArray::::try_new( Arc::clone(field), OffsetBuffer::::new(offsets.into()), - arrow_array::make_array(data), + arrow::array::make_array(data), null_builder.finish(), )?)) } diff --git a/datafusion/functions-nested/src/reverse.rs b/datafusion/functions-nested/src/reverse.rs index 9fd955094ae6..a60f84cb0320 100644 --- a/datafusion/functions-nested/src/reverse.rs +++ b/datafusion/functions-nested/src/reverse.rs @@ -18,9 +18,10 @@ //! [`ScalarUDFImpl`] definitions for array_reverse function. use crate::utils::make_scalar_function; -use arrow::array::{Capacities, MutableArrayData}; +use arrow::array::{ + Array, ArrayRef, Capacities, GenericListArray, MutableArrayData, OffsetSizeTrait, +}; use arrow::buffer::OffsetBuffer; -use arrow_array::{Array, ArrayRef, GenericListArray, OffsetSizeTrait}; use arrow_schema::DataType::{LargeList, List, Null}; use arrow_schema::{DataType, FieldRef}; use datafusion_common::cast::{as_large_list_array, as_list_array}; @@ -173,7 +174,7 @@ fn general_array_reverse>( Ok(Arc::new(GenericListArray::::try_new( Arc::clone(field), OffsetBuffer::::new(offsets.into()), - arrow_array::make_array(data), + arrow::array::make_array(data), Some(nulls.into()), )?)) } diff --git a/datafusion/functions-nested/src/string.rs b/datafusion/functions-nested/src/string.rs index bbe1dc2a01e9..1a0676aa39d5 100644 --- a/datafusion/functions-nested/src/string.rs +++ b/datafusion/functions-nested/src/string.rs @@ -33,10 +33,12 @@ use datafusion_common::{ use std::any::Any; use crate::utils::make_scalar_function; +use arrow::array::{ + builder::{ArrayBuilder, LargeStringBuilder, StringViewBuilder}, + cast::AsArray, + GenericStringArray, StringArrayType, StringViewArray, +}; use arrow::compute::cast; -use arrow_array::builder::{ArrayBuilder, LargeStringBuilder, StringViewBuilder}; -use arrow_array::cast::AsArray; -use arrow_array::{GenericStringArray, StringArrayType, StringViewArray}; use arrow_schema::DataType::{ Dictionary, FixedSizeList, LargeList, LargeUtf8, List, Null, Utf8, Utf8View, }; diff --git a/datafusion/functions-nested/src/utils.rs b/datafusion/functions-nested/src/utils.rs index e1961dccf54a..5dd812a23b9a 100644 --- a/datafusion/functions-nested/src/utils.rs +++ b/datafusion/functions-nested/src/utils.rs @@ -19,13 +19,13 @@ use std::sync::Arc; -use arrow::{array::ArrayRef, datatypes::DataType}; +use arrow::datatypes::DataType; -use arrow::buffer::OffsetBuffer; -use arrow_array::{ - Array, BooleanArray, GenericListArray, ListArray, OffsetSizeTrait, Scalar, +use arrow::array::{ + Array, ArrayRef, BooleanArray, GenericListArray, ListArray, OffsetSizeTrait, Scalar, UInt32Array, }; +use arrow::buffer::OffsetBuffer; use arrow_schema::{Field, Fields}; use datafusion_common::cast::{as_large_list_array, as_list_array}; use datafusion_common::{ diff --git a/datafusion/functions/src/datetime/mod.rs b/datafusion/functions/src/datetime/mod.rs index 96ca63010ee4..eec5e3cef624 100644 --- a/datafusion/functions/src/datetime/mod.rs +++ b/datafusion/functions/src/datetime/mod.rs @@ -136,7 +136,7 @@ pub mod expr_fn { /// # use datafusion::error::Result; /// # use datafusion_common::ScalarValue::TimestampNanosecond; /// # use std::sync::Arc; - /// # use arrow_array::{Date32Array, RecordBatch, StringArray}; + /// # use arrow::array::{Date32Array, RecordBatch, StringArray}; /// # use arrow_schema::{DataType, Field, Schema}; /// # #[tokio::main] /// # async fn main() -> Result<()> { diff --git a/datafusion/physical-expr/Cargo.toml b/datafusion/physical-expr/Cargo.toml index d93a402db318..33983676472b 100644 --- a/datafusion/physical-expr/Cargo.toml +++ b/datafusion/physical-expr/Cargo.toml @@ -38,7 +38,6 @@ path = "src/lib.rs" [dependencies] ahash = { workspace = true } arrow = { workspace = true } -arrow-array = { workspace = true } arrow-schema = { workspace = true } datafusion-common = { workspace = true, default-features = true } datafusion-expr = { workspace = true } diff --git a/datafusion/physical-expr/benches/case_when.rs b/datafusion/physical-expr/benches/case_when.rs index 9eda1277c263..480b1043fbf5 100644 --- a/datafusion/physical-expr/benches/case_when.rs +++ b/datafusion/physical-expr/benches/case_when.rs @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. +use arrow::array::builder::{Int32Builder, StringBuilder}; use arrow::datatypes::{Field, Schema}; use arrow::record_batch::RecordBatch; -use arrow_array::builder::{Int32Builder, StringBuilder}; use arrow_schema::DataType; use criterion::{black_box, criterion_group, criterion_main, Criterion}; use datafusion_common::ScalarValue; diff --git a/datafusion/physical-expr/benches/is_null.rs b/datafusion/physical-expr/benches/is_null.rs index 7d26557afb1b..ed393b8900f1 100644 --- a/datafusion/physical-expr/benches/is_null.rs +++ b/datafusion/physical-expr/benches/is_null.rs @@ -15,9 +15,8 @@ // specific language governing permissions and limitations // under the License. +use arrow::array::{builder::Int32Builder, RecordBatch}; use arrow::datatypes::{Field, Schema}; -use arrow::record_batch::RecordBatch; -use arrow_array::builder::Int32Builder; use arrow_schema::DataType; use criterion::{black_box, criterion_group, criterion_main, Criterion}; use datafusion_physical_expr::expressions::{Column, IsNotNullExpr, IsNullExpr}; diff --git a/datafusion/physical-expr/src/expressions/is_not_null.rs b/datafusion/physical-expr/src/expressions/is_not_null.rs index 8e3544622b80..47dc53d12555 100644 --- a/datafusion/physical-expr/src/expressions/is_not_null.rs +++ b/datafusion/physical-expr/src/expressions/is_not_null.rs @@ -115,12 +115,11 @@ pub fn is_not_null(arg: Arc) -> Result> mod tests { use super::*; use crate::expressions::col; - use arrow::buffer::ScalarBuffer; - use arrow::{ - array::{BooleanArray, StringArray}, - datatypes::*, + use arrow::array::{ + Array, BooleanArray, Float64Array, Int32Array, StringArray, UnionArray, }; - use arrow_array::{Array, Float64Array, Int32Array, UnionArray}; + use arrow::buffer::ScalarBuffer; + use arrow::datatypes::*; use datafusion_common::cast::as_boolean_array; #[test] diff --git a/datafusion/physical-expr/src/expressions/is_null.rs b/datafusion/physical-expr/src/expressions/is_null.rs index ca8d67230557..5e883dff997a 100644 --- a/datafusion/physical-expr/src/expressions/is_null.rs +++ b/datafusion/physical-expr/src/expressions/is_null.rs @@ -114,12 +114,11 @@ pub fn is_null(arg: Arc) -> Result> { mod tests { use super::*; use crate::expressions::col; - use arrow::buffer::ScalarBuffer; - use arrow::{ - array::{BooleanArray, StringArray}, - datatypes::*, + use arrow::array::{ + Array, BooleanArray, Float64Array, Int32Array, StringArray, UnionArray, }; - use arrow_array::{Array, Float64Array, Int32Array, UnionArray}; + use arrow::buffer::ScalarBuffer; + use arrow::datatypes::*; use datafusion_common::cast::as_boolean_array; #[test] diff --git a/datafusion/physical-expr/src/planner.rs b/datafusion/physical-expr/src/planner.rs index e05de362bf14..8504705f2a09 100644 --- a/datafusion/physical-expr/src/planner.rs +++ b/datafusion/physical-expr/src/planner.rs @@ -392,7 +392,7 @@ pub fn logical2physical(expr: &Expr, schema: &Schema) -> Arc { #[cfg(test)] mod tests { - use arrow_array::{ArrayRef, BooleanArray, RecordBatch, StringArray}; + use arrow::array::{ArrayRef, BooleanArray, RecordBatch, StringArray}; use arrow_schema::{DataType, Field}; use datafusion_expr::{col, lit}; diff --git a/datafusion/physical-expr/src/scalar_function.rs b/datafusion/physical-expr/src/scalar_function.rs index 936adbc098d6..bd38fb22ccbc 100644 --- a/datafusion/physical-expr/src/scalar_function.rs +++ b/datafusion/physical-expr/src/scalar_function.rs @@ -37,9 +37,8 @@ use std::sync::Arc; use crate::expressions::Literal; use crate::PhysicalExpr; +use arrow::array::{Array, RecordBatch}; use arrow::datatypes::{DataType, Schema}; -use arrow::record_batch::RecordBatch; -use arrow_array::Array; use datafusion_common::{internal_err, DFSchema, Result, ScalarValue}; use datafusion_expr::interval_arithmetic::Interval; use datafusion_expr::sort_properties::ExprProperties; diff --git a/datafusion/physical-expr/src/utils/mod.rs b/datafusion/physical-expr/src/utils/mod.rs index c06efd554098..25769bef7200 100644 --- a/datafusion/physical-expr/src/utils/mod.rs +++ b/datafusion/physical-expr/src/utils/mod.rs @@ -258,7 +258,7 @@ pub(crate) mod tests { use super::*; use crate::expressions::{binary, cast, col, in_list, lit, Literal}; - use arrow_array::{ArrayRef, Float32Array, Float64Array}; + use arrow::array::{ArrayRef, Float32Array, Float64Array}; use arrow_schema::{DataType, Field, Schema}; use datafusion_common::{exec_err, DataFusionError, ScalarValue}; use datafusion_expr::sort_properties::{ExprProperties, SortProperties}; diff --git a/datafusion/physical-expr/src/window/window_expr.rs b/datafusion/physical-expr/src/window/window_expr.rs index 8b130506cdea..be7d080b683c 100644 --- a/datafusion/physical-expr/src/window/window_expr.rs +++ b/datafusion/physical-expr/src/window/window_expr.rs @@ -552,7 +552,7 @@ mod tests { use crate::window::window_expr::is_row_ahead; - use arrow_array::{ArrayRef, Float64Array}; + use arrow::array::{ArrayRef, Float64Array}; use arrow_schema::SortOptions; use datafusion_common::Result; diff --git a/datafusion/physical-plan/Cargo.toml b/datafusion/physical-plan/Cargo.toml index a002e3861f11..b84243b1b56b 100644 --- a/datafusion/physical-plan/Cargo.toml +++ b/datafusion/physical-plan/Cargo.toml @@ -41,7 +41,6 @@ path = "src/lib.rs" [dependencies] ahash = { workspace = true } arrow = { workspace = true } -arrow-array = { workspace = true } arrow-ord = { workspace = true } arrow-schema = { workspace = true } async-trait = { workspace = true } diff --git a/datafusion/physical-plan/benches/spm.rs b/datafusion/physical-plan/benches/spm.rs index 08feb9bbe04f..3a2ecb57394b 100644 --- a/datafusion/physical-plan/benches/spm.rs +++ b/datafusion/physical-plan/benches/spm.rs @@ -17,8 +17,7 @@ use std::sync::Arc; -use arrow::record_batch::RecordBatch; -use arrow_array::{ArrayRef, Int32Array, Int64Array, StringArray}; +use arrow::array::{ArrayRef, Int32Array, Int64Array, RecordBatch, StringArray}; use datafusion_execution::TaskContext; use datafusion_physical_expr::expressions::col; use datafusion_physical_expr::PhysicalSortExpr; diff --git a/datafusion/physical-plan/src/aggregates/group_values/mod.rs b/datafusion/physical-plan/src/aggregates/group_values/mod.rs index e4a7eb049e9e..4cbeed9951f9 100644 --- a/datafusion/physical-plan/src/aggregates/group_values/mod.rs +++ b/datafusion/physical-plan/src/aggregates/group_values/mod.rs @@ -17,13 +17,12 @@ //! [`GroupValues`] trait for storing and interning group keys -use arrow::record_batch::RecordBatch; -use arrow_array::types::{ +use arrow::array::types::{ Date32Type, Date64Type, Decimal128Type, Time32MillisecondType, Time32SecondType, Time64MicrosecondType, Time64NanosecondType, TimestampMicrosecondType, TimestampMillisecondType, TimestampNanosecondType, TimestampSecondType, }; -use arrow_array::{downcast_primitive, ArrayRef}; +use arrow::array::{downcast_primitive, ArrayRef, RecordBatch}; use arrow_schema::TimeUnit; use arrow_schema::{DataType, SchemaRef}; use datafusion_common::Result; diff --git a/datafusion/physical-plan/src/aggregates/group_values/multi_group_by/bytes_view.rs b/datafusion/physical-plan/src/aggregates/group_values/multi_group_by/bytes_view.rs index d170411b833c..b6d97b5d788d 100644 --- a/datafusion/physical-plan/src/aggregates/group_values/multi_group_by/bytes_view.rs +++ b/datafusion/physical-plan/src/aggregates/group_values/multi_group_by/bytes_view.rs @@ -17,10 +17,9 @@ use crate::aggregates::group_values::multi_group_by::{nulls_equal_to, GroupColumn}; use crate::aggregates::group_values::null_builder::MaybeNullBufferBuilder; -use arrow::array::{make_view, AsArray, ByteView}; +use arrow::array::{make_view, Array, ArrayRef, AsArray, ByteView, GenericByteViewArray}; use arrow::buffer::{Buffer, ScalarBuffer}; use arrow::datatypes::ByteViewType; -use arrow_array::{Array, ArrayRef, GenericByteViewArray}; use itertools::izip; use std::marker::PhantomData; use std::mem::{replace, size_of}; diff --git a/datafusion/physical-plan/src/aggregates/group_values/multi_group_by/mod.rs b/datafusion/physical-plan/src/aggregates/group_values/multi_group_by/mod.rs index 540f9c3c6480..96885f03146c 100644 --- a/datafusion/physical-plan/src/aggregates/group_values/multi_group_by/mod.rs +++ b/datafusion/physical-plan/src/aggregates/group_values/multi_group_by/mod.rs @@ -29,6 +29,7 @@ use crate::aggregates::group_values::multi_group_by::{ }; use crate::aggregates::group_values::GroupValues; use ahash::RandomState; +use arrow::array::{Array, ArrayRef, RecordBatch}; use arrow::compute::cast; use arrow::datatypes::{ BinaryViewType, Date32Type, Date64Type, Decimal128Type, Float32Type, Float64Type, @@ -37,8 +38,6 @@ use arrow::datatypes::{ TimestampMicrosecondType, TimestampMillisecondType, TimestampNanosecondType, TimestampSecondType, UInt16Type, UInt32Type, UInt64Type, UInt8Type, }; -use arrow::record_batch::RecordBatch; -use arrow_array::{Array, ArrayRef}; use arrow_schema::{DataType, Schema, SchemaRef, TimeUnit}; use datafusion_common::hash_utils::create_hashes; use datafusion_common::{not_impl_err, DataFusionError, Result}; @@ -1236,8 +1235,8 @@ fn supported_type(data_type: &DataType) -> bool { mod tests { use std::{collections::HashMap, sync::Arc}; + use arrow::array::{ArrayRef, Int64Array, RecordBatch, StringArray, StringViewArray}; use arrow::{compute::concat_batches, util::pretty::pretty_format_batches}; - use arrow_array::{ArrayRef, Int64Array, RecordBatch, StringArray, StringViewArray}; use arrow_schema::{DataType, Field, Schema, SchemaRef}; use datafusion_common::utils::proxy::HashTableAllocExt; use datafusion_expr::EmitTo; diff --git a/datafusion/physical-plan/src/aggregates/group_values/row.rs b/datafusion/physical-plan/src/aggregates/group_values/row.rs index edc3f909bbd6..a0331bf3fa3d 100644 --- a/datafusion/physical-plan/src/aggregates/group_values/row.rs +++ b/datafusion/physical-plan/src/aggregates/group_values/row.rs @@ -17,10 +17,9 @@ use crate::aggregates::group_values::GroupValues; use ahash::RandomState; +use arrow::array::{Array, ArrayRef, ListArray, RecordBatch, StructArray}; use arrow::compute::cast; -use arrow::record_batch::RecordBatch; use arrow::row::{RowConverter, Rows, SortField}; -use arrow_array::{Array, ArrayRef, ListArray, StructArray}; use arrow_schema::{DataType, SchemaRef}; use datafusion_common::hash_utils::create_hashes; use datafusion_common::Result; diff --git a/datafusion/physical-plan/src/aggregates/group_values/single_group_by/bytes.rs b/datafusion/physical-plan/src/aggregates/group_values/single_group_by/bytes.rs index 013c027e7306..9686b8c3521d 100644 --- a/datafusion/physical-plan/src/aggregates/group_values/single_group_by/bytes.rs +++ b/datafusion/physical-plan/src/aggregates/group_values/single_group_by/bytes.rs @@ -16,7 +16,7 @@ // under the License. use crate::aggregates::group_values::GroupValues; -use arrow_array::{Array, ArrayRef, OffsetSizeTrait, RecordBatch}; +use arrow::array::{Array, ArrayRef, OffsetSizeTrait, RecordBatch}; use datafusion_expr::EmitTo; use datafusion_physical_expr_common::binary_map::{ArrowBytesMap, OutputType}; use std::mem::size_of; diff --git a/datafusion/physical-plan/src/aggregates/group_values/single_group_by/bytes_view.rs b/datafusion/physical-plan/src/aggregates/group_values/single_group_by/bytes_view.rs index 7379b7a538b4..be9a0334e3ee 100644 --- a/datafusion/physical-plan/src/aggregates/group_values/single_group_by/bytes_view.rs +++ b/datafusion/physical-plan/src/aggregates/group_values/single_group_by/bytes_view.rs @@ -16,7 +16,7 @@ // under the License. use crate::aggregates::group_values::GroupValues; -use arrow_array::{Array, ArrayRef, RecordBatch}; +use arrow::array::{Array, ArrayRef, RecordBatch}; use datafusion_expr::EmitTo; use datafusion_physical_expr::binary_map::OutputType; use datafusion_physical_expr_common::binary_view_map::ArrowBytesViewMap; diff --git a/datafusion/physical-plan/src/aggregates/mod.rs b/datafusion/physical-plan/src/aggregates/mod.rs index b4f54b0d943a..85b41da85742 100644 --- a/datafusion/physical-plan/src/aggregates/mod.rs +++ b/datafusion/physical-plan/src/aggregates/mod.rs @@ -34,10 +34,9 @@ use crate::{ SendableRecordBatchStream, Statistics, }; -use arrow::array::ArrayRef; +use arrow::array::{ArrayRef, UInt16Array, UInt32Array, UInt64Array, UInt8Array}; use arrow::datatypes::{Field, Schema, SchemaRef}; use arrow::record_batch::RecordBatch; -use arrow_array::{UInt16Array, UInt32Array, UInt64Array, UInt8Array}; use datafusion_common::stats::Precision; use datafusion_common::{internal_err, not_impl_err, Constraint, Constraints, Result}; use datafusion_execution::TaskContext; @@ -1354,12 +1353,12 @@ mod tests { use crate::test::exec::{assert_strong_count_converges_to_zero, BlockingExec}; use crate::RecordBatchStream; - use arrow::array::{Float64Array, UInt32Array}; + use arrow::array::{ + DictionaryArray, Float32Array, Float64Array, Int32Array, StructArray, + UInt32Array, UInt64Array, + }; use arrow::compute::{concat_batches, SortOptions}; use arrow::datatypes::{DataType, Int32Type}; - use arrow_array::{ - DictionaryArray, Float32Array, Int32Array, StructArray, UInt64Array, - }; use datafusion_common::{ assert_batches_eq, assert_batches_sorted_eq, internal_err, DataFusionError, ScalarValue, diff --git a/datafusion/physical-plan/src/aggregates/order/mod.rs b/datafusion/physical-plan/src/aggregates/order/mod.rs index 7d9a50e20ae0..61a0ab8b247d 100644 --- a/datafusion/physical-plan/src/aggregates/order/mod.rs +++ b/datafusion/physical-plan/src/aggregates/order/mod.rs @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -use arrow_array::ArrayRef; +use arrow::array::ArrayRef; use arrow_schema::Schema; use datafusion_common::Result; use datafusion_expr::EmitTo; diff --git a/datafusion/physical-plan/src/aggregates/order/partial.rs b/datafusion/physical-plan/src/aggregates/order/partial.rs index 5a05b88798ef..30655cd0ad59 100644 --- a/datafusion/physical-plan/src/aggregates/order/partial.rs +++ b/datafusion/physical-plan/src/aggregates/order/partial.rs @@ -15,8 +15,8 @@ // specific language governing permissions and limitations // under the License. +use arrow::array::ArrayRef; use arrow::row::{OwnedRow, RowConverter, Rows, SortField}; -use arrow_array::ArrayRef; use arrow_schema::Schema; use datafusion_common::Result; use datafusion_execution::memory_pool::proxy::VecAllocExt; diff --git a/datafusion/physical-plan/src/aggregates/topk/hash_table.rs b/datafusion/physical-plan/src/aggregates/topk/hash_table.rs index 514214858fa1..8c7ba21b37c0 100644 --- a/datafusion/physical-plan/src/aggregates/topk/hash_table.rs +++ b/datafusion/physical-plan/src/aggregates/topk/hash_table.rs @@ -21,12 +21,11 @@ use crate::aggregates::group_values::HashValue; use crate::aggregates::topk::heap::Comparable; use ahash::RandomState; use arrow::array::types::{IntervalDayTime, IntervalMonthDayNano}; -use arrow::datatypes::i256; -use arrow_array::builder::PrimitiveBuilder; -use arrow_array::cast::AsArray; -use arrow_array::{ - downcast_primitive, Array, ArrayRef, ArrowPrimitiveType, PrimitiveArray, StringArray, +use arrow::array::{ + builder::PrimitiveBuilder, cast::AsArray, downcast_primitive, Array, ArrayRef, + ArrowPrimitiveType, PrimitiveArray, StringArray, }; +use arrow::datatypes::i256; use arrow_schema::DataType; use datafusion_common::DataFusionError; use datafusion_common::Result; diff --git a/datafusion/physical-plan/src/aggregates/topk/heap.rs b/datafusion/physical-plan/src/aggregates/topk/heap.rs index fc68df9b82ed..09dae3df0a96 100644 --- a/datafusion/physical-plan/src/aggregates/topk/heap.rs +++ b/datafusion/physical-plan/src/aggregates/topk/heap.rs @@ -17,11 +17,13 @@ //! A custom binary heap implementation for performant top K aggregation -use arrow::array::types::{IntervalDayTime, IntervalMonthDayNano}; +use arrow::array::{ + cast::AsArray, + types::{IntervalDayTime, IntervalMonthDayNano}, +}; +use arrow::array::{downcast_primitive, ArrayRef, ArrowPrimitiveType, PrimitiveArray}; use arrow::buffer::ScalarBuffer; use arrow::datatypes::i256; -use arrow_array::cast::AsArray; -use arrow_array::{downcast_primitive, ArrayRef, ArrowPrimitiveType, PrimitiveArray}; use arrow_schema::DataType; use datafusion_common::DataFusionError; use datafusion_common::Result; diff --git a/datafusion/physical-plan/src/aggregates/topk/priority_map.rs b/datafusion/physical-plan/src/aggregates/topk/priority_map.rs index ed41d22e935b..3cb12f0af089 100644 --- a/datafusion/physical-plan/src/aggregates/topk/priority_map.rs +++ b/datafusion/physical-plan/src/aggregates/topk/priority_map.rs @@ -19,7 +19,7 @@ use crate::aggregates::topk::hash_table::{new_hash_table, ArrowHashTable}; use crate::aggregates::topk::heap::{new_heap, ArrowHeap}; -use arrow_array::ArrayRef; +use arrow::array::ArrayRef; use arrow_schema::DataType; use datafusion_common::Result; @@ -108,8 +108,8 @@ impl PriorityMap { #[cfg(test)] mod tests { use super::*; + use arrow::array::{Int64Array, RecordBatch, StringArray}; use arrow::util::pretty::pretty_format_batches; - use arrow_array::{Int64Array, RecordBatch, StringArray}; use arrow_schema::Field; use arrow_schema::Schema; use arrow_schema::SchemaRef; diff --git a/datafusion/physical-plan/src/aggregates/topk_stream.rs b/datafusion/physical-plan/src/aggregates/topk_stream.rs index 5d18f40d13bc..8a984fc0d27b 100644 --- a/datafusion/physical-plan/src/aggregates/topk_stream.rs +++ b/datafusion/physical-plan/src/aggregates/topk_stream.rs @@ -23,8 +23,8 @@ use crate::aggregates::{ PhysicalGroupBy, }; use crate::{RecordBatchStream, SendableRecordBatchStream}; +use arrow::array::{Array, ArrayRef, RecordBatch}; use arrow::util::pretty::print_batches; -use arrow_array::{Array, ArrayRef, RecordBatch}; use arrow_schema::SchemaRef; use datafusion_common::DataFusionError; use datafusion_common::Result; diff --git a/datafusion/physical-plan/src/coalesce/mod.rs b/datafusion/physical-plan/src/coalesce/mod.rs index f38876d93ec1..ed60a350e300 100644 --- a/datafusion/physical-plan/src/coalesce/mod.rs +++ b/datafusion/physical-plan/src/coalesce/mod.rs @@ -15,10 +15,11 @@ // specific language governing permissions and limitations // under the License. +use arrow::array::{ + builder::StringViewBuilder, cast::AsArray, Array, ArrayRef, RecordBatch, + RecordBatchOptions, +}; use arrow::compute::concat_batches; -use arrow_array::builder::StringViewBuilder; -use arrow_array::cast::AsArray; -use arrow_array::{Array, ArrayRef, RecordBatch, RecordBatchOptions}; use arrow_schema::SchemaRef; use std::sync::Arc; @@ -277,9 +278,8 @@ mod tests { use super::*; + use arrow::array::{builder::ArrayBuilder, StringViewArray, UInt32Array}; use arrow::datatypes::{DataType, Field, Schema}; - use arrow_array::builder::ArrayBuilder; - use arrow_array::{StringViewArray, UInt32Array}; #[test] fn test_coalesce() { diff --git a/datafusion/physical-plan/src/common.rs b/datafusion/physical-plan/src/common.rs index 20a4e89dba94..541f8bcae122 100644 --- a/datafusion/physical-plan/src/common.rs +++ b/datafusion/physical-plan/src/common.rs @@ -26,10 +26,10 @@ use super::SendableRecordBatchStream; use crate::stream::RecordBatchReceiverStream; use crate::{ColumnStatistics, Statistics}; +use arrow::array::Array; use arrow::datatypes::Schema; use arrow::ipc::writer::{FileWriter, IpcWriteOptions}; use arrow::record_batch::RecordBatch; -use arrow_array::Array; use datafusion_common::stats::Precision; use datafusion_common::{plan_err, DataFusionError, Result}; use datafusion_execution::memory_pool::MemoryReservation; diff --git a/datafusion/physical-plan/src/execution_plan.rs b/datafusion/physical-plan/src/execution_plan.rs index da3d33cd0e21..0104c91eb5d5 100644 --- a/datafusion/physical-plan/src/execution_plan.rs +++ b/datafusion/physical-plan/src/execution_plan.rs @@ -42,9 +42,8 @@ use crate::repartition::RepartitionExec; use crate::sorts::sort_preserving_merge::SortPreservingMergeExec; use crate::stream::RecordBatchStreamAdapter; +use arrow::array::{Array, RecordBatch}; use arrow::datatypes::SchemaRef; -use arrow::record_batch::RecordBatch; -use arrow_array::Array; use datafusion_common::config::ConfigOptions; use datafusion_common::{exec_err, Constraints, Result}; use datafusion_execution::TaskContext; @@ -283,7 +282,7 @@ pub trait ExecutionPlan: Debug + DisplayAs + Send + Sync { /// /// ``` /// # use std::sync::Arc; - /// # use arrow_array::RecordBatch; + /// # use arrow::array::RecordBatch; /// # use arrow_schema::SchemaRef; /// # use datafusion_common::Result; /// # use datafusion_execution::{SendableRecordBatchStream, TaskContext}; @@ -313,7 +312,7 @@ pub trait ExecutionPlan: Debug + DisplayAs + Send + Sync { /// /// ``` /// # use std::sync::Arc; - /// # use arrow_array::RecordBatch; + /// # use arrow::array::RecordBatch; /// # use arrow_schema::SchemaRef; /// # use datafusion_common::Result; /// # use datafusion_execution::{SendableRecordBatchStream, TaskContext}; @@ -348,7 +347,7 @@ pub trait ExecutionPlan: Debug + DisplayAs + Send + Sync { /// /// ``` /// # use std::sync::Arc; - /// # use arrow_array::RecordBatch; + /// # use arrow::array::RecordBatch; /// # use arrow_schema::SchemaRef; /// # use futures::TryStreamExt; /// # use datafusion_common::Result; @@ -1055,7 +1054,7 @@ pub enum CardinalityEffect { #[cfg(test)] mod tests { use super::*; - use arrow_array::{DictionaryArray, Int32Array, NullArray, RunArray}; + use arrow::array::{DictionaryArray, Int32Array, NullArray, RunArray}; use arrow_schema::{DataType, Field, Schema, SchemaRef}; use std::any::Any; use std::sync::Arc; diff --git a/datafusion/physical-plan/src/insert.rs b/datafusion/physical-plan/src/insert.rs index bfb1e9d53df5..0b8c1eede36c 100644 --- a/datafusion/physical-plan/src/insert.rs +++ b/datafusion/physical-plan/src/insert.rs @@ -30,9 +30,8 @@ use crate::metrics::MetricsSet; use crate::stream::RecordBatchStreamAdapter; use crate::ExecutionPlanProperties; +use arrow::array::{ArrayRef, RecordBatch, UInt64Array}; use arrow::datatypes::SchemaRef; -use arrow::record_batch::RecordBatch; -use arrow_array::{ArrayRef, UInt64Array}; use arrow_schema::{DataType, Field, Schema}; use datafusion_common::{internal_err, Result}; use datafusion_execution::TaskContext; diff --git a/datafusion/physical-plan/src/joins/cross_join.rs b/datafusion/physical-plan/src/joins/cross_join.rs index cec717a25cf0..ca4c26251de0 100644 --- a/datafusion/physical-plan/src/joins/cross_join.rs +++ b/datafusion/physical-plan/src/joins/cross_join.rs @@ -38,10 +38,9 @@ use crate::{ SendableRecordBatchStream, Statistics, }; +use arrow::array::{RecordBatch, RecordBatchOptions}; use arrow::compute::concat_batches; use arrow::datatypes::{Fields, Schema, SchemaRef}; -use arrow::record_batch::RecordBatch; -use arrow_array::RecordBatchOptions; use datafusion_common::stats::Precision; use datafusion_common::{internal_err, JoinType, Result, ScalarValue}; use datafusion_execution::memory_pool::{MemoryConsumer, MemoryReservation}; diff --git a/datafusion/physical-plan/src/joins/hash_join.rs b/datafusion/physical-plan/src/joins/hash_join.rs index b4e03b57e87f..6cdd91bb1721 100644 --- a/datafusion/physical-plan/src/joins/hash_join.rs +++ b/datafusion/physical-plan/src/joins/hash_join.rs @@ -58,14 +58,14 @@ use crate::{ }; use arrow::array::{ - Array, ArrayRef, BooleanArray, BooleanBufferBuilder, UInt32Array, UInt64Array, + cast::downcast_array, Array, ArrayRef, BooleanArray, BooleanBufferBuilder, + UInt32Array, UInt64Array, }; use arrow::compute::kernels::cmp::{eq, not_distinct}; use arrow::compute::{and, concat_batches, take, FilterBuilder}; use arrow::datatypes::{Schema, SchemaRef}; use arrow::record_batch::RecordBatch; use arrow::util::bit_util; -use arrow_array::cast::downcast_array; use arrow_schema::ArrowError; use datafusion_common::utils::memory::estimate_memory_size; use datafusion_common::{ @@ -1644,10 +1644,9 @@ mod tests { test::exec::MockExec, }; - use arrow::array::{Date32Array, Int32Array}; + use arrow::array::{Date32Array, Int32Array, StructArray}; use arrow::buffer::NullBuffer; use arrow::datatypes::{DataType, Field}; - use arrow_array::StructArray; use datafusion_common::{ assert_batches_eq, assert_batches_sorted_eq, assert_contains, exec_err, ScalarValue, diff --git a/datafusion/physical-plan/src/joins/nested_loop_join.rs b/datafusion/physical-plan/src/joins/nested_loop_join.rs index 5bd2658dc719..07289d861bcf 100644 --- a/datafusion/physical-plan/src/joins/nested_loop_join.rs +++ b/datafusion/physical-plan/src/joins/nested_loop_join.rs @@ -1036,8 +1036,8 @@ pub(crate) mod tests { common, expressions::Column, repartition::RepartitionExec, test::build_table_i32, }; + use arrow::array::Int32Array; use arrow::datatypes::{DataType, Field}; - use arrow_array::Int32Array; use arrow_schema::SortOptions; use datafusion_common::{assert_batches_sorted_eq, assert_contains, ScalarValue}; use datafusion_execution::runtime_env::RuntimeEnvBuilder; diff --git a/datafusion/physical-plan/src/joins/sort_merge_join.rs b/datafusion/physical-plan/src/joins/sort_merge_join.rs index 5570ceb12ae0..a3e835c64131 100644 --- a/datafusion/physical-plan/src/joins/sort_merge_join.rs +++ b/datafusion/physical-plan/src/joins/sort_merge_join.rs @@ -53,14 +53,13 @@ use crate::{ SendableRecordBatchStream, Statistics, }; -use arrow::array::*; +use arrow::array::{types::UInt64Type, *}; use arrow::compute::{ self, concat_batches, filter_record_batch, is_not_null, take, SortOptions, }; use arrow::datatypes::{DataType, SchemaRef, TimeUnit}; use arrow::error::ArrowError; use arrow::ipc::reader::FileReader; -use arrow_array::types::UInt64Type; use datafusion_common::{ exec_err, internal_err, not_impl_err, plan_err, DataFusionError, HashSet, JoinSide, JoinType, Result, @@ -2525,12 +2524,12 @@ fn is_join_arrays_equal( mod tests { use std::sync::Arc; - use arrow::array::{Date32Array, Date64Array, Int32Array}; + use arrow::array::{ + builder::{BooleanBuilder, UInt64Builder}, + BooleanArray, Date32Array, Date64Array, Int32Array, RecordBatch, UInt64Array, + }; use arrow::compute::{concat_batches, filter_record_batch, SortOptions}; use arrow::datatypes::{DataType, Field, Schema}; - use arrow::record_batch::RecordBatch; - use arrow_array::builder::{BooleanBuilder, UInt64Builder}; - use arrow_array::{BooleanArray, UInt64Array}; use datafusion_common::JoinSide; use datafusion_common::JoinType::*; diff --git a/datafusion/physical-plan/src/joins/test_utils.rs b/datafusion/physical-plan/src/joins/test_utils.rs index a866f7291bbd..9e34c27ee7f4 100644 --- a/datafusion/physical-plan/src/joins/test_utils.rs +++ b/datafusion/physical-plan/src/joins/test_utils.rs @@ -28,12 +28,11 @@ use crate::repartition::RepartitionExec; use crate::source::DataSourceExec; use crate::{common, ExecutionPlan, ExecutionPlanProperties, Partitioning}; -use arrow::array::types::IntervalDayTime; -use arrow::util::pretty::pretty_format_batches; -use arrow_array::{ - ArrayRef, Float64Array, Int32Array, IntervalDayTimeArray, RecordBatch, - TimestampMillisecondArray, +use arrow::array::{ + types::IntervalDayTime, ArrayRef, Float64Array, Int32Array, IntervalDayTimeArray, + RecordBatch, TimestampMillisecondArray, }; +use arrow::util::pretty::pretty_format_batches; use arrow_schema::{DataType, Schema}; use datafusion_common::{Result, ScalarValue}; use datafusion_execution::TaskContext; diff --git a/datafusion/physical-plan/src/joins/utils.rs b/datafusion/physical-plan/src/joins/utils.rs index 61b7d2a06c5f..bccfd2a69383 100644 --- a/datafusion/physical-plan/src/joins/utils.rs +++ b/datafusion/physical-plan/src/joins/utils.rs @@ -33,16 +33,14 @@ use crate::{ pub use super::join_filter::JoinFilter; use arrow::array::{ - downcast_array, new_null_array, Array, BooleanBufferBuilder, UInt32Array, - UInt32Builder, UInt64Array, + builder::UInt64Builder, downcast_array, new_null_array, Array, ArrowPrimitiveType, + BooleanBufferBuilder, NativeAdapter, PrimitiveArray, RecordBatch, RecordBatchOptions, + UInt32Array, UInt32Builder, UInt64Array, }; use arrow::compute; use arrow::datatypes::{ ArrowNativeType, Field, Schema, SchemaBuilder, UInt32Type, UInt64Type, }; -use arrow::record_batch::{RecordBatch, RecordBatchOptions}; -use arrow_array::builder::UInt64Builder; -use arrow_array::{ArrowPrimitiveType, NativeAdapter, PrimitiveArray}; use datafusion_common::cast::as_boolean_array; use datafusion_common::stats::Precision; use datafusion_common::tree_node::{Transformed, TransformedResult, TreeNode}; @@ -1820,13 +1818,12 @@ pub(super) fn swap_join_projection( #[cfg(test)] mod tests { - use std::pin::Pin; - use super::*; + use std::pin::Pin; + use arrow::array::Int32Array; use arrow::datatypes::{DataType, Fields}; use arrow::error::{ArrowError, Result as ArrowResult}; - use arrow_array::Int32Array; use arrow_schema::SortOptions; use datafusion_common::stats::Precision::{Absent, Exact, Inexact}; use datafusion_common::{arrow_datafusion_err, arrow_err, ScalarValue}; diff --git a/datafusion/physical-plan/src/limit.rs b/datafusion/physical-plan/src/limit.rs index 9665a09e42c9..15f19f6456a5 100644 --- a/datafusion/physical-plan/src/limit.rs +++ b/datafusion/physical-plan/src/limit.rs @@ -480,7 +480,7 @@ mod tests { use crate::test; use crate::aggregates::{AggregateExec, AggregateMode, PhysicalGroupBy}; - use arrow_array::RecordBatchOptions; + use arrow::array::RecordBatchOptions; use arrow_schema::Schema; use datafusion_common::stats::Precision; use datafusion_physical_expr::expressions::col; diff --git a/datafusion/physical-plan/src/memory.rs b/datafusion/physical-plan/src/memory.rs index 9d5d65d4e18a..3d161a047853 100644 --- a/datafusion/physical-plan/src/memory.rs +++ b/datafusion/physical-plan/src/memory.rs @@ -33,9 +33,8 @@ use crate::projection::{ }; use crate::source::{DataSource, DataSourceExec}; +use arrow::array::{RecordBatch, RecordBatchOptions}; use arrow::datatypes::SchemaRef; -use arrow::record_batch::RecordBatch; -use arrow_array::RecordBatchOptions; use arrow_schema::Schema; use datafusion_common::{ internal_err, plan_err, project_schema, Constraints, Result, ScalarValue, diff --git a/datafusion/physical-plan/src/placeholder_row.rs b/datafusion/physical-plan/src/placeholder_row.rs index 355e51070f1f..6a8f247ec0e6 100644 --- a/datafusion/physical-plan/src/placeholder_row.rs +++ b/datafusion/physical-plan/src/placeholder_row.rs @@ -25,9 +25,8 @@ use crate::execution_plan::{Boundedness, EmissionType}; use crate::{memory::MemoryStream, DisplayFormatType, ExecutionPlan, Partitioning}; use arrow::array::{ArrayRef, NullArray}; +use arrow::array::{RecordBatch, RecordBatchOptions}; use arrow::datatypes::{DataType, Field, Fields, Schema, SchemaRef}; -use arrow::record_batch::RecordBatch; -use arrow_array::RecordBatchOptions; use datafusion_common::{internal_err, Result}; use datafusion_execution::TaskContext; use datafusion_physical_expr::EquivalenceProperties; diff --git a/datafusion/physical-plan/src/repartition/mod.rs b/datafusion/physical-plan/src/repartition/mod.rs index c01c0a9564e0..ffd1a5b520fa 100644 --- a/datafusion/physical-plan/src/repartition/mod.rs +++ b/datafusion/physical-plan/src/repartition/mod.rs @@ -40,10 +40,9 @@ use crate::sorts::streaming_merge::StreamingMergeBuilder; use crate::stream::RecordBatchStreamAdapter; use crate::{DisplayFormatType, ExecutionPlan, Partitioning, PlanProperties, Statistics}; +use arrow::array::{PrimitiveArray, RecordBatch, RecordBatchOptions}; use arrow::compute::take_arrays; use arrow::datatypes::{SchemaRef, UInt32Type}; -use arrow::record_batch::RecordBatch; -use arrow_array::{PrimitiveArray, RecordBatchOptions}; use datafusion_common::utils::transpose; use datafusion_common::HashMap; use datafusion_common::{not_impl_err, DataFusionError, Result}; diff --git a/datafusion/physical-plan/src/sorts/cursor.rs b/datafusion/physical-plan/src/sorts/cursor.rs index 2c298c9327f4..e6986b86046c 100644 --- a/datafusion/physical-plan/src/sorts/cursor.rs +++ b/datafusion/physical-plan/src/sorts/cursor.rs @@ -17,15 +17,14 @@ use std::cmp::Ordering; -use arrow::buffer::ScalarBuffer; -use arrow::buffer::{Buffer, OffsetBuffer}; +use arrow::array::{ + types::ByteArrayType, Array, ArrowPrimitiveType, GenericByteArray, OffsetSizeTrait, + PrimitiveArray, +}; +use arrow::buffer::{Buffer, OffsetBuffer, ScalarBuffer}; use arrow::compute::SortOptions; use arrow::datatypes::ArrowNativeTypeOp; use arrow::row::Rows; -use arrow_array::types::ByteArrayType; -use arrow_array::{ - Array, ArrowPrimitiveType, GenericByteArray, OffsetSizeTrait, PrimitiveArray, -}; use datafusion_execution::memory_pool::MemoryReservation; /// A comparable collection of values for use with [`Cursor`] diff --git a/datafusion/physical-plan/src/sorts/sort.rs b/datafusion/physical-plan/src/sorts/sort.rs index 2db6e90a1e03..6c538801d71a 100644 --- a/datafusion/physical-plan/src/sorts/sort.rs +++ b/datafusion/physical-plan/src/sorts/sort.rs @@ -44,11 +44,10 @@ use crate::{ Statistics, }; +use arrow::array::{Array, RecordBatch, RecordBatchOptions, UInt32Array}; use arrow::compute::{concat_batches, lexsort_to_indices, take_arrays, SortColumn}; use arrow::datatypes::SchemaRef; -use arrow::record_batch::RecordBatch; use arrow::row::{RowConverter, SortField}; -use arrow_array::{Array, RecordBatchOptions, UInt32Array}; use arrow_schema::DataType; use datafusion_common::{internal_err, Result}; use datafusion_execution::disk_manager::RefCountedTempFile; diff --git a/datafusion/physical-plan/src/sorts/sort_preserving_merge.rs b/datafusion/physical-plan/src/sorts/sort_preserving_merge.rs index 25572fa60a3d..c2cd9d7db3c6 100644 --- a/datafusion/physical-plan/src/sorts/sort_preserving_merge.rs +++ b/datafusion/physical-plan/src/sorts/sort_preserving_merge.rs @@ -393,11 +393,12 @@ mod tests { use crate::test::{self, assert_is_pending, make_partition}; use crate::{collect, common}; - use arrow::array::{ArrayRef, Int32Array, StringArray, TimestampNanosecondArray}; + use arrow::array::{ + ArrayRef, Int32Array, Int64Array, RecordBatch, StringArray, + TimestampNanosecondArray, + }; use arrow::compute::SortOptions; use arrow::datatypes::{DataType, Field, Schema}; - use arrow::record_batch::RecordBatch; - use arrow_array::Int64Array; use arrow_schema::SchemaRef; use datafusion_common::{assert_batches_eq, assert_contains, DataFusionError}; use datafusion_common_runtime::SpawnedTask; diff --git a/datafusion/physical-plan/src/sorts/streaming_merge.rs b/datafusion/physical-plan/src/sorts/streaming_merge.rs index 448d70760de1..909b5875c8c5 100644 --- a/datafusion/physical-plan/src/sorts/streaming_merge.rs +++ b/datafusion/physical-plan/src/sorts/streaming_merge.rs @@ -24,8 +24,8 @@ use crate::sorts::{ stream::{FieldCursorStream, RowCursorStream}, }; use crate::SendableRecordBatchStream; +use arrow::array::*; use arrow::datatypes::{DataType, SchemaRef}; -use arrow_array::*; use datafusion_common::{internal_err, Result}; use datafusion_execution::memory_pool::MemoryReservation; use datafusion_physical_expr_common::sort_expr::LexOrdering; diff --git a/datafusion/physical-plan/src/spill.rs b/datafusion/physical-plan/src/spill.rs index f20adb0d2fab..dbcc46baf8ca 100644 --- a/datafusion/physical-plan/src/spill.rs +++ b/datafusion/physical-plan/src/spill.rs @@ -184,10 +184,9 @@ mod tests { use super::*; use crate::spill::{spill_record_batch_by_size, spill_record_batches}; use crate::test::build_table_i32; - use arrow::array::{Float64Array, Int32Array}; + use arrow::array::{Float64Array, Int32Array, ListArray}; use arrow::datatypes::{DataType, Field, Int32Type, Schema}; use arrow::record_batch::RecordBatch; - use arrow_array::ListArray; use datafusion_common::Result; use datafusion_execution::disk_manager::DiskManagerConfig; use datafusion_execution::DiskManager; diff --git a/datafusion/physical-plan/src/test.rs b/datafusion/physical-plan/src/test.rs index 2d493e27c06a..757e2df65831 100644 --- a/datafusion/physical-plan/src/test.rs +++ b/datafusion/physical-plan/src/test.rs @@ -21,7 +21,7 @@ use std::collections::HashMap; use std::pin::Pin; use std::sync::Arc; -use arrow_array::{ArrayRef, Int32Array, RecordBatch}; +use arrow::array::{ArrayRef, Int32Array, RecordBatch}; use arrow_schema::{DataType, Field, Schema, SchemaRef}; use datafusion_execution::{SendableRecordBatchStream, TaskContext}; use futures::{Future, FutureExt}; diff --git a/datafusion/physical-plan/src/topk/mod.rs b/datafusion/physical-plan/src/topk/mod.rs index ed1df6b1b8ff..4cc8fc8711de 100644 --- a/datafusion/physical-plan/src/topk/mod.rs +++ b/datafusion/physical-plan/src/topk/mod.rs @@ -27,7 +27,7 @@ use std::{cmp::Ordering, collections::BinaryHeap, sync::Arc}; use super::metrics::{BaselineMetrics, Count, ExecutionPlanMetricsSet, MetricBuilder}; use crate::spill::get_record_batch_memory_size; use crate::{stream::RecordBatchStreamAdapter, SendableRecordBatchStream}; -use arrow_array::{Array, ArrayRef, RecordBatch}; +use arrow::array::{Array, ArrayRef, RecordBatch}; use arrow_schema::SchemaRef; use datafusion_common::HashMap; use datafusion_common::Result; @@ -647,10 +647,8 @@ impl RecordBatchStore { #[cfg(test)] mod tests { use super::*; - use arrow::array::Int32Array; + use arrow::array::{Float64Array, Int32Array, RecordBatch}; use arrow::datatypes::{DataType, Field, Schema}; - use arrow::record_batch::RecordBatch; - use arrow_array::Float64Array; /// This test ensures the size calculation is correct for RecordBatches with multiple columns. #[test] diff --git a/datafusion/physical-plan/src/unnest.rs b/datafusion/physical-plan/src/unnest.rs index 942dd7881052..430391de5922 100644 --- a/datafusion/physical-plan/src/unnest.rs +++ b/datafusion/physical-plan/src/unnest.rs @@ -29,15 +29,14 @@ use crate::{ }; use arrow::array::{ - Array, ArrayRef, AsArray, FixedSizeListArray, LargeListArray, ListArray, - PrimitiveArray, + new_null_array, Array, ArrayRef, AsArray, FixedSizeListArray, Int64Array, + LargeListArray, ListArray, PrimitiveArray, Scalar, StructArray, }; use arrow::compute::kernels::length::length; use arrow::compute::kernels::zip::zip; use arrow::compute::{cast, is_not_null, kernels, sum}; use arrow::datatypes::{DataType, Int64Type, Schema, SchemaRef}; use arrow::record_batch::RecordBatch; -use arrow_array::{new_null_array, Int64Array, Scalar, StructArray}; use arrow_ord::cmp::lt; use datafusion_common::{ exec_datafusion_err, exec_err, internal_err, HashMap, HashSet, Result, UnnestOptions, diff --git a/datafusion/physical-plan/src/windows/bounded_window_agg_exec.rs b/datafusion/physical-plan/src/windows/bounded_window_agg_exec.rs index 41de16289cf5..79eaf4447434 100644 --- a/datafusion/physical-plan/src/windows/bounded_window_agg_exec.rs +++ b/datafusion/physical-plan/src/windows/bounded_window_agg_exec.rs @@ -1181,8 +1181,10 @@ mod tests { }; use crate::{execute_stream, get_plan_string, ExecutionPlan}; - use arrow_array::builder::{Int64Builder, UInt64Builder}; - use arrow_array::RecordBatch; + use arrow::array::{ + builder::{Int64Builder, UInt64Builder}, + RecordBatch, + }; use arrow_schema::{DataType, Field, Schema, SchemaRef, SortOptions}; use datafusion_common::{ assert_batches_eq, exec_datafusion_err, Result, ScalarValue, @@ -1528,7 +1530,7 @@ mod tests { // Create a new batch of data to insert into the table let batch = RecordBatch::try_new( Arc::clone(&schema), - vec![Arc::new(arrow_array::Int32Array::from(vec![1, 2, 3]))], + vec![Arc::new(arrow::array::Int32Array::from(vec![1, 2, 3]))], )?; let memory_exec = MemorySourceConfig::try_new_exec( diff --git a/datafusion/physical-plan/src/work_table.rs b/datafusion/physical-plan/src/work_table.rs index b1dd4d9308f4..a6ced527cbb2 100644 --- a/datafusion/physical-plan/src/work_table.rs +++ b/datafusion/physical-plan/src/work_table.rs @@ -229,7 +229,7 @@ impl ExecutionPlan for WorkTableExec { #[cfg(test)] mod tests { use super::*; - use arrow_array::{ArrayRef, Int32Array}; + use arrow::array::{ArrayRef, Int32Array}; use datafusion_execution::memory_pool::{MemoryConsumer, UnboundedMemoryPool}; #[test] diff --git a/datafusion/sql/Cargo.toml b/datafusion/sql/Cargo.toml index 224c7cb191a3..b53f3674d13a 100644 --- a/datafusion/sql/Cargo.toml +++ b/datafusion/sql/Cargo.toml @@ -43,7 +43,6 @@ recursive_protection = ["dep:recursive"] [dependencies] arrow = { workspace = true } -arrow-array = { workspace = true } arrow-schema = { workspace = true } bigdecimal = { workspace = true } datafusion-common = { workspace = true, default-features = true } diff --git a/datafusion/sql/src/unparser/expr.rs b/datafusion/sql/src/unparser/expr.rs index 51ae73e03e29..909533773435 100644 --- a/datafusion/sql/src/unparser/expr.rs +++ b/datafusion/sql/src/unparser/expr.rs @@ -26,14 +26,16 @@ use std::vec; use super::dialect::IntervalStyle; use super::Unparser; +use arrow::array::{ + types::{ + ArrowTemporalType, Time32MillisecondType, Time32SecondType, + Time64MicrosecondType, Time64NanosecondType, TimestampMicrosecondType, + TimestampMillisecondType, TimestampNanosecondType, TimestampSecondType, + }, + ArrayRef, Date32Array, Date64Array, PrimitiveArray, +}; use arrow::datatypes::{Decimal128Type, Decimal256Type, DecimalType}; use arrow::util::display::array_value_to_string; -use arrow_array::types::{ - ArrowTemporalType, Time32MillisecondType, Time32SecondType, Time64MicrosecondType, - Time64NanosecondType, TimestampMicrosecondType, TimestampMillisecondType, - TimestampNanosecondType, TimestampSecondType, -}; -use arrow_array::{ArrayRef, Date32Array, Date64Array, PrimitiveArray}; use arrow_schema::DataType; use datafusion_common::{ internal_datafusion_err, internal_err, not_impl_err, plan_err, Column, Result, @@ -1646,9 +1648,8 @@ mod tests { use std::ops::{Add, Sub}; use std::{any::Any, sync::Arc, vec}; - use arrow::datatypes::{Field, Schema}; - use arrow::datatypes::{Int32Type, TimeUnit}; - use arrow_array::{LargeListArray, ListArray}; + use arrow::array::{LargeListArray, ListArray}; + use arrow::datatypes::{Field, Int32Type, Schema, TimeUnit}; use arrow_schema::DataType::Int8; use ast::ObjectName; use datafusion_common::{Spans, TableReference};