Skip to content

Commit 5cfc653

Browse files
Chen-Yuan-LaiIan Lai
and
Ian Lai
authored
refactor: remove uses of arrow_schema and use reexport in arrow instead (#14597)
* refactor: remove uses of arrow_schema and use reexport in arrow instead * fix: CI error * fix: remove arrow_schema in async_provider * fix: add arrow_schema physical-plan due to doc test error in CI --------- Co-authored-by: Ian Lai <[email protected]>
1 parent d03e57c commit 5cfc653

File tree

196 files changed

+325
-353
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

196 files changed

+325
-353
lines changed

Cargo.lock

+9-17
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

datafusion/catalog-listing/Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ default = ["compression"]
3333

3434
[dependencies]
3535
arrow = { workspace = true }
36-
arrow-schema = { workspace = true }
3736
async-compression = { version = "0.4.0", features = [
3837
"bzip2",
3938
"gzip",

datafusion/catalog-listing/src/helpers.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,9 @@ use datafusion_expr::{BinaryExpr, Operator};
3030
use arrow::{
3131
array::{Array, ArrayRef, AsArray, StringBuilder},
3232
compute::{and, cast, prep_null_mask_filter},
33-
datatypes::{DataType, Field, Schema},
33+
datatypes::{DataType, Field, Fields, Schema},
3434
record_batch::RecordBatch,
3535
};
36-
use arrow_schema::Fields;
3736
use datafusion_expr::execution_props::ExecutionProps;
3837
use futures::stream::FuturesUnordered;
3938
use futures::{stream::BoxStream, StreamExt, TryStreamExt};

datafusion/common/Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ apache-avro = { version = "0.17", default-features = false, features = [
5252
], optional = true }
5353
arrow = { workspace = true }
5454
arrow-ipc = { workspace = true }
55-
arrow-schema = { workspace = true }
5655
base64 = "0.22.1"
5756
half = { workspace = true }
5857
hashbrown = { workspace = true }

datafusion/common/src/column.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
use crate::error::{_schema_err, add_possible_columns_to_diag};
2121
use crate::utils::{parse_identifiers_normalized, quote_identifier};
2222
use crate::{DFSchema, Diagnostic, Result, SchemaError, Spans, TableReference};
23-
use arrow_schema::{Field, FieldRef};
23+
use arrow::datatypes::{Field, FieldRef};
2424
use std::collections::HashSet;
2525
use std::convert::Infallible;
2626
use std::fmt;
@@ -373,8 +373,7 @@ impl fmt::Display for Column {
373373
#[cfg(test)]
374374
mod tests {
375375
use super::*;
376-
use arrow::datatypes::DataType;
377-
use arrow_schema::SchemaBuilder;
376+
use arrow::datatypes::{DataType, SchemaBuilder};
378377
use std::sync::Arc;
379378

380379
fn create_qualified_schema(qualifier: &str, names: Vec<&str>) -> Result<DFSchema> {

datafusion/common/src/dfschema.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,9 @@ use crate::{
3030
};
3131

3232
use arrow::compute::can_cast_types;
33-
use arrow::datatypes::{DataType, Field, FieldRef, Fields, Schema, SchemaRef};
34-
use arrow_schema::SchemaBuilder;
33+
use arrow::datatypes::{
34+
DataType, Field, FieldRef, Fields, Schema, SchemaBuilder, SchemaRef,
35+
};
3536

3637
/// A reference-counted reference to a [DFSchema].
3738
pub type DFSchemaRef = Arc<DFSchema>;
@@ -56,7 +57,7 @@ pub type DFSchemaRef = Arc<DFSchema>;
5657
///
5758
/// ```rust
5859
/// use datafusion_common::{DFSchema, Column};
59-
/// use arrow_schema::{DataType, Field, Schema};
60+
/// use arrow::datatypes::{DataType, Field, Schema};
6061
///
6162
/// let arrow_schema = Schema::new(vec![
6263
/// Field::new("c1", DataType::Int32, false),
@@ -77,7 +78,7 @@ pub type DFSchemaRef = Arc<DFSchema>;
7778
///
7879
/// ```rust
7980
/// use datafusion_common::{DFSchema, Column};
80-
/// use arrow_schema::{DataType, Field, Schema};
81+
/// use arrow::datatypes::{DataType, Field, Schema};
8182
///
8283
/// let arrow_schema = Schema::new(vec![
8384
/// Field::new("c1", DataType::Int32, false),
@@ -94,8 +95,7 @@ pub type DFSchemaRef = Arc<DFSchema>;
9495
///
9596
/// ```rust
9697
/// use datafusion_common::DFSchema;
97-
/// use arrow_schema::Schema;
98-
/// use arrow::datatypes::Field;
98+
/// use arrow::datatypes::{Schema, Field};
9999
/// use std::collections::HashMap;
100100
///
101101
/// let df_schema = DFSchema::from_unqualified_fields(vec![

datafusion/common/src/file_options/parquet_writer.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ use crate::{
2525
DataFusionError, Result, _internal_datafusion_err,
2626
};
2727

28-
use arrow_schema::Schema;
28+
use arrow::datatypes::Schema;
2929
// TODO: handle once deprecated
3030
#[allow(deprecated)]
3131
use parquet::{

datafusion/common/src/param_value.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
use crate::error::{_plan_datafusion_err, _plan_err};
1919
use crate::{Result, ScalarValue};
20-
use arrow_schema::DataType;
20+
use arrow::datatypes::DataType;
2121
use std::collections::HashMap;
2222

2323
/// The parameter value corresponding to the placeholder

datafusion/common/src/scalar/mod.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,9 @@ use arrow::datatypes::{
5555
Int8Type, IntervalDayTimeType, IntervalMonthDayNanoType, IntervalUnit,
5656
IntervalYearMonthType, TimeUnit, TimestampMicrosecondType, TimestampMillisecondType,
5757
TimestampNanosecondType, TimestampSecondType, UInt16Type, UInt32Type, UInt64Type,
58-
UInt8Type, DECIMAL128_MAX_PRECISION,
58+
UInt8Type, UnionFields, UnionMode, DECIMAL128_MAX_PRECISION,
5959
};
6060
use arrow::util::display::{array_value_to_string, ArrayFormatter, FormatOptions};
61-
use arrow_schema::{UnionFields, UnionMode};
6261

6362
use crate::format::DEFAULT_CAST_OPTIONS;
6463
use half::f16;
@@ -3979,9 +3978,9 @@ mod tests {
39793978
use arrow::array::{types::Float64Type, NullBufferBuilder};
39803979
use arrow::buffer::{Buffer, OffsetBuffer};
39813980
use arrow::compute::{is_null, kernels};
3981+
use arrow::datatypes::Fields;
39823982
use arrow::error::ArrowError;
39833983
use arrow::util::pretty::pretty_format_columns;
3984-
use arrow_schema::Fields;
39853984
use chrono::NaiveDate;
39863985
use rand::Rng;
39873986

datafusion/common/src/scalar/struct_builder.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@
2020
use crate::error::_internal_err;
2121
use crate::{Result, ScalarValue};
2222
use arrow::array::{ArrayRef, StructArray};
23-
use arrow::datatypes::{DataType, FieldRef, Fields};
24-
use arrow_schema::Field;
23+
use arrow::datatypes::{DataType, Field, FieldRef, Fields};
2524
use std::sync::Arc;
2625

2726
/// Builder for [`ScalarValue::Struct`].

datafusion/common/src/stats.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use std::fmt::{self, Debug, Display};
2121

2222
use crate::{Result, ScalarValue};
2323

24-
use arrow_schema::{DataType, Schema, SchemaRef};
24+
use arrow::datatypes::{DataType, Schema, SchemaRef};
2525

2626
/// Represents a value with a degree of certainty. `Precision` is used to
2727
/// propagate information the precision of statistical values.

datafusion/common/src/test_util.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -338,9 +338,9 @@ macro_rules! create_array {
338338
macro_rules! record_batch {
339339
($(($name: expr, $type: ident, $values: expr)),*) => {
340340
{
341-
let schema = std::sync::Arc::new(arrow_schema::Schema::new(vec![
341+
let schema = std::sync::Arc::new(arrow::datatypes::Schema::new(vec![
342342
$(
343-
arrow_schema::Field::new($name, arrow_schema::DataType::$type, true),
343+
arrow::datatypes::Field::new($name, arrow::datatypes::DataType::$type, true),
344344
)*
345345
]));
346346

datafusion/common/src/types/field.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use arrow_schema::{Field, Fields, UnionFields};
18+
use arrow::datatypes::{Field, Fields, UnionFields};
1919
use std::hash::{Hash, Hasher};
2020
use std::{ops::Deref, sync::Arc};
2121

datafusion/common/src/types/logical.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
use super::NativeType;
1919
use crate::error::Result;
20-
use arrow_schema::DataType;
20+
use arrow::datatypes::DataType;
2121
use core::fmt;
2222
use std::{cmp::Ordering, hash::Hash, sync::Arc};
2323

datafusion/common/src/types/native.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use super::{
2121
};
2222
use crate::error::{Result, _internal_err};
2323
use arrow::compute::can_cast_types;
24-
use arrow_schema::{
24+
use arrow::datatypes::{
2525
DataType, Field, FieldRef, Fields, IntervalUnit, TimeUnit, UnionFields,
2626
};
2727
use std::{fmt::Display, sync::Arc};
@@ -126,7 +126,7 @@ pub enum NativeType {
126126
/// nevertheless correct).
127127
///
128128
/// ```
129-
/// # use arrow_schema::{DataType, TimeUnit};
129+
/// # use arrow::datatypes::{DataType, TimeUnit};
130130
/// DataType::Timestamp(TimeUnit::Second, None);
131131
/// DataType::Timestamp(TimeUnit::Second, Some("literal".into()));
132132
/// DataType::Timestamp(TimeUnit::Second, Some("string".to_string().into()));

datafusion/common/src/utils/mod.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ use arrow::array::{
3030
};
3131
use arrow::buffer::OffsetBuffer;
3232
use arrow::compute::{partition, SortColumn, SortOptions};
33-
use arrow::datatypes::{Field, SchemaRef};
34-
use arrow_schema::DataType;
33+
use arrow::datatypes::{DataType, Field, SchemaRef};
3534
use sqlparser::ast::Ident;
3635
use sqlparser::dialect::GenericDialect;
3736
use sqlparser::parser::Parser;

datafusion/core/Cargo.toml

+2-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ recursive_protection = [
7474
"datafusion-physical-optimizer/recursive_protection",
7575
"datafusion-sql/recursive_protection",
7676
]
77-
serde = ["arrow-schema/serde"]
77+
serde = ["dep:serde"]
7878
string_expressions = ["datafusion-functions/string_expressions"]
7979
unicode_expressions = [
8080
"datafusion-sql/unicode_expressions",
@@ -120,6 +120,7 @@ parking_lot = { workspace = true }
120120
parquet = { workspace = true, optional = true, default-features = true }
121121
rand = { workspace = true }
122122
regex = { workspace = true }
123+
serde = { version = "1.0", default-features = false, features = ["derive"], optional = true }
123124
sqlparser = { workspace = true }
124125
tempfile = { workspace = true }
125126
tokio = { workspace = true }

datafusion/core/benches/sql_query_with_io.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
use std::{fmt::Write, sync::Arc, time::Duration};
1919

2020
use arrow::array::{Int64Builder, RecordBatch, UInt64Builder};
21-
use arrow_schema::{DataType, Field, Schema, SchemaRef};
21+
use arrow::datatypes::{DataType, Field, Schema, SchemaRef};
2222
use bytes::Bytes;
2323
use criterion::{criterion_group, criterion_main, Criterion, SamplingMode};
2424
use datafusion::{

datafusion/core/src/dataframe/mod.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ use std::sync::Arc;
4545

4646
use arrow::array::{Array, ArrayRef, Int64Array, StringArray};
4747
use arrow::compute::{cast, concat};
48-
use arrow::datatypes::{DataType, Field};
49-
use arrow_schema::{Schema, SchemaRef};
48+
use arrow::datatypes::{DataType, Field, Schema, SchemaRef};
5049
use datafusion_common::config::{CsvOptions, JsonOptions};
5150
use datafusion_common::{
5251
exec_err, not_impl_err, plan_err, Column, DFSchema, DataFusionError, ParamValues,

datafusion/core/src/datasource/data_source.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ use std::sync::Arc;
2424

2525
use crate::datasource::physical_plan::{FileOpener, FileScanConfig};
2626

27-
use arrow_schema::SchemaRef;
27+
use arrow::datatypes::SchemaRef;
2828
use datafusion_common::Statistics;
2929
use datafusion_physical_plan::metrics::ExecutionPlanMetricsSet;
3030
use datafusion_physical_plan::DisplayFormatType;

datafusion/core/src/datasource/file_format/arrow.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,12 @@ use crate::datasource::physical_plan::{
3737
use crate::error::Result;
3838
use crate::physical_plan::{DisplayAs, DisplayFormatType, ExecutionPlan};
3939

40+
use arrow::datatypes::{Schema, SchemaRef};
41+
use arrow::error::ArrowError;
4042
use arrow::ipc::convert::fb_to_schema;
4143
use arrow::ipc::reader::FileReader;
4244
use arrow::ipc::writer::IpcWriteOptions;
4345
use arrow::ipc::{root_as_message, CompressionType};
44-
use arrow_schema::{ArrowError, Schema, SchemaRef};
4546
use datafusion_catalog::Session;
4647
use datafusion_common::parsers::CompressionTypeVariant;
4748
use datafusion_common::{

0 commit comments

Comments
 (0)