Skip to content

Commit

Permalink
refactor: Use re-exported arrow mod from datatypes crate (GreptimeTea…
Browse files Browse the repository at this point in the history
evenyag authored Nov 18, 2022
1 parent e1f3262 commit 22ae983
Showing 31 changed files with 57 additions and 155 deletions.
6 changes: 0 additions & 6 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 0 additions & 14 deletions src/common/function/Cargo.toml
Original file line number Diff line number Diff line change
@@ -21,20 +21,6 @@ paste = "1.0"
snafu = { version = "0.7", features = ["backtraces"] }
statrs = "0.15"

[dependencies.arrow]
features = [
"io_csv",
"io_json",
"io_parquet",
"io_parquet_compression",
"io_ipc",
"ahash",
"compute",
"serde_types",
]
package = "arrow2"
version = "0.10"

[dev-dependencies]
ron = "0.7"
serde = { version = "1.0", features = ["derive"] }
6 changes: 3 additions & 3 deletions src/common/function/src/scalars/numpy/interp.rs
Original file line number Diff line number Diff line change
@@ -14,9 +14,9 @@

use std::sync::Arc;

use arrow::array::PrimitiveArray;
use arrow::compute::cast::primitive_to_primitive;
use arrow::datatypes::DataType::Float64;
use datatypes::arrow::array::PrimitiveArray;
use datatypes::arrow::compute::cast::primitive_to_primitive;
use datatypes::arrow::datatypes::DataType::Float64;
use datatypes::data_type::DataType;
use datatypes::prelude::ScalarVector;
use datatypes::type_id::LogicalTypeId;
6 changes: 3 additions & 3 deletions src/common/function/src/scalars/timestamp/from_unixtime.rs
Original file line number Diff line number Diff line change
@@ -17,11 +17,11 @@
use std::fmt;
use std::sync::Arc;

use arrow::compute::arithmetics;
use arrow::datatypes::DataType as ArrowDatatype;
use arrow::scalar::PrimitiveScalar;
use common_query::error::{IntoVectorSnafu, UnsupportedInputDataTypeSnafu};
use common_query::prelude::{Signature, Volatility};
use datatypes::arrow::compute::arithmetics;
use datatypes::arrow::datatypes::DataType as ArrowDatatype;
use datatypes::arrow::scalar::PrimitiveScalar;
use datatypes::prelude::ConcreteDataType;
use datatypes::vectors::{TimestampVector, VectorRef};
use snafu::ResultExt;
14 changes: 0 additions & 14 deletions src/common/grpc/Cargo.toml
Original file line number Diff line number Diff line change
@@ -22,20 +22,6 @@ tokio = { version = "1.0", features = ["full"] }
tonic = "0.8"
tower = "0.4"

[dependencies.arrow]
package = "arrow2"
version = "0.10"
features = [
"io_csv",
"io_json",
"io_parquet",
"io_parquet_compression",
"io_ipc",
"ahash",
"compute",
"serde_types",
]

[dev-dependencies]
criterion = "0.4"
rand = "0.8"
8 changes: 4 additions & 4 deletions src/common/grpc/src/physical/plan.rs
Original file line number Diff line number Diff line change
@@ -18,8 +18,6 @@ use std::sync::Arc;

use api::v1::codec::physical_plan_node::PhysicalPlanType;
use api::v1::codec::{MockInputExecNode, PhysicalPlanNode, ProjectionExecNode};
use arrow::array::{PrimitiveArray, Utf8Array};
use arrow::datatypes::{DataType, Field, Schema};
use async_trait::async_trait;
use datafusion::execution::runtime_env::RuntimeEnv;
use datafusion::field_util::SchemaExt;
@@ -29,6 +27,8 @@ use datafusion::physical_plan::{
ExecutionPlan, PhysicalExpr, SendableRecordBatchStream, Statistics,
};
use datafusion::record_batch::RecordBatch;
use datatypes::arrow::array::{PrimitiveArray, Utf8Array};
use datatypes::arrow::datatypes::{DataType, Field, Schema, SchemaRef};
use snafu::{OptionExt, ResultExt};

use crate::error::{
@@ -162,11 +162,11 @@ impl ExecutionPlan for MockExecution {
self
}

fn schema(&self) -> arrow::datatypes::SchemaRef {
fn schema(&self) -> SchemaRef {
let field1 = Field::new("id", DataType::UInt32, false);
let field2 = Field::new("name", DataType::Utf8, false);
let field3 = Field::new("age", DataType::UInt32, false);
Arc::new(arrow::datatypes::Schema::new(vec![field1, field2, field3]))
Arc::new(Schema::new(vec![field1, field2, field3]))
}

fn output_partitioning(&self) -> datafusion::physical_plan::Partitioning {
15 changes: 7 additions & 8 deletions src/common/grpc/src/select.rs
Original file line number Diff line number Diff line change
@@ -19,12 +19,12 @@ use api::result::{build_err_result, ObjectResultBuilder};
use api::v1::codec::SelectResult;
use api::v1::column::{SemanticType, Values};
use api::v1::{Column, ObjectResult};
use arrow::array::{Array, BooleanArray, PrimitiveArray};
use common_base::BitVec;
use common_error::prelude::ErrorExt;
use common_error::status_code::StatusCode;
use common_query::Output;
use common_recordbatch::{util, RecordBatches, SendableRecordBatchStream};
use datatypes::arrow::array::{Array, BooleanArray, PrimitiveArray};
use datatypes::arrow_array::{BinaryArray, StringArray};
use datatypes::schema::SchemaRef;
use snafu::{OptionExt, ResultExt};
@@ -136,7 +136,8 @@ pub fn null_mask(arrays: &Vec<Arc<dyn Array>>, row_count: usize) -> Vec<u8> {
}

macro_rules! convert_arrow_array_to_grpc_vals {
($data_type: expr, $arrays: ident, $(($Type: pat, $CastType: ty, $field: ident, $MapFunction: expr)), +) => {
($data_type: expr, $arrays: ident, $(($Type: pat, $CastType: ty, $field: ident, $MapFunction: expr)), +) => {{
use datatypes::arrow::datatypes::{DataType, TimeUnit};
match $data_type {
$(
$Type => {
@@ -155,7 +156,7 @@ macro_rules! convert_arrow_array_to_grpc_vals {
)+
_ => unimplemented!(),
}
};
}};
}

pub fn values(arrays: &[Arc<dyn Array>]) -> Result<Values> {
@@ -164,7 +165,6 @@ pub fn values(arrays: &[Arc<dyn Array>]) -> Result<Values> {
}
let data_type = arrays[0].data_type();

use arrow::datatypes::DataType;
convert_arrow_array_to_grpc_vals!(
data_type, arrays,

@@ -192,19 +192,18 @@ pub fn values(arrays: &[Arc<dyn Array>]) -> Result<Values> {
(DataType::Date32, PrimitiveArray<i32>, date_values, |x| {*x as i32}),
(DataType::Date64, PrimitiveArray<i64>, datetime_values,|x| {*x as i64}),

(DataType::Timestamp(arrow::datatypes::TimeUnit::Millisecond, _), PrimitiveArray<i64>, ts_millis_values, |x| {*x})
(DataType::Timestamp(TimeUnit::Millisecond, _), PrimitiveArray<i64>, ts_millis_values, |x| {*x})
)
}

#[cfg(test)]
mod tests {
use std::sync::Arc;

use arrow::array::{Array, BooleanArray, PrimitiveArray};
use arrow::datatypes::{DataType, Field};
use common_recordbatch::{RecordBatch, RecordBatches};
use datafusion::field_util::SchemaExt;
use datatypes::arrow::datatypes::Schema as ArrowSchema;
use datatypes::arrow::array::{Array, BooleanArray, PrimitiveArray};
use datatypes::arrow::datatypes::{DataType, Field, Schema as ArrowSchema};
use datatypes::arrow_array::StringArray;
use datatypes::schema::Schema;
use datatypes::vectors::{UInt32Vector, VectorRef};
4 changes: 0 additions & 4 deletions src/common/query/Cargo.toml
Original file line number Diff line number Diff line change
@@ -18,10 +18,6 @@ datatypes = { path = "../../datatypes" }
snafu = { version = "0.7", features = ["backtraces"] }
statrs = "0.15"

[dependencies.arrow]
package = "arrow2"
version = "0.10"

[dev-dependencies]
common-base = { path = "../base" }
tokio = { version = "1.0", features = ["full"] }
2 changes: 1 addition & 1 deletion src/common/query/src/columnar_value.rs
Original file line number Diff line number Diff line change
@@ -80,7 +80,7 @@ impl From<ColumnarValue> for DfColumnarValue {
mod tests {
use std::sync::Arc;

use arrow::datatypes::DataType as ArrowDataType;
use datatypes::arrow::datatypes::DataType as ArrowDataType;
use datatypes::vectors::BooleanVector;

use super::*;
4 changes: 2 additions & 2 deletions src/common/query/src/error.rs
Original file line number Diff line number Diff line change
@@ -14,9 +14,9 @@

use std::any::Any;

use arrow::datatypes::DataType as ArrowDatatype;
use common_error::prelude::*;
use datafusion_common::DataFusionError;
use datatypes::arrow::datatypes::DataType as ArrowDatatype;
use datatypes::error::Error as DataTypeError;
use datatypes::prelude::ConcreteDataType;
use statrs::StatsError;
@@ -180,7 +180,7 @@ impl From<BoxedError> for Error {

#[cfg(test)]
mod tests {
use arrow::error::ArrowError;
use datatypes::arrow::error::ArrowError;
use snafu::GenerateImplicitData;

use super::*;
2 changes: 1 addition & 1 deletion src/common/query/src/function.rs
Original file line number Diff line number Diff line change
@@ -14,8 +14,8 @@

use std::sync::Arc;

use arrow::datatypes::DataType as ArrowDataType;
use datafusion_expr::ReturnTypeFunction as DfReturnTypeFunction;
use datatypes::arrow::datatypes::DataType as ArrowDataType;
use datatypes::prelude::{ConcreteDataType, DataType};
use datatypes::vectors::VectorRef;
use snafu::ResultExt;
4 changes: 2 additions & 2 deletions src/common/query/src/logical_plan/accumulator.rs
Original file line number Diff line number Diff line change
@@ -17,10 +17,10 @@
use std::fmt::Debug;
use std::sync::Arc;

use arrow::array::ArrayRef;
use common_time::timestamp::TimeUnit;
use datafusion_common::Result as DfResult;
use datafusion_expr::Accumulator as DfAccumulator;
use datatypes::arrow::array::ArrayRef;
use datatypes::prelude::*;
use datatypes::value::ListValue;
use datatypes::vectors::{Helper as VectorHelper, VectorRef};
@@ -266,9 +266,9 @@ fn try_convert_list_value(list: ListValue) -> Result<ScalarValue> {

#[cfg(test)]
mod tests {
use arrow::datatypes::DataType;
use common_base::bytes::{Bytes, StringBytes};
use datafusion_common::ScalarValue;
use datatypes::arrow::datatypes::DataType;
use datatypes::value::{ListValue, OrderedFloat};

use super::*;
4 changes: 2 additions & 2 deletions src/common/query/src/logical_plan/mod.rs
Original file line number Diff line number Diff line change
@@ -72,12 +72,12 @@ pub fn create_aggregate_function(
mod tests {
use std::sync::Arc;

use arrow::array::BooleanArray;
use arrow::datatypes::DataType;
use datafusion_expr::{
ColumnarValue as DfColumnarValue, ScalarUDF as DfScalarUDF,
TypeSignature as DfTypeSignature,
};
use datatypes::arrow::array::BooleanArray;
use datatypes::arrow::datatypes::DataType;
use datatypes::prelude::*;
use datatypes::vectors::{BooleanVector, VectorRef};

2 changes: 1 addition & 1 deletion src/common/query/src/logical_plan/udaf.rs
Original file line number Diff line number Diff line change
@@ -19,11 +19,11 @@
use std::fmt::{self, Debug, Formatter};
use std::sync::Arc;

use arrow::datatypes::DataType as ArrowDataType;
use datafusion_expr::{
AccumulatorFunctionImplementation as DfAccumulatorFunctionImplementation,
AggregateUDF as DfAggregateUdf, StateTypeFunction as DfStateTypeFunction,
};
use datatypes::arrow::datatypes::DataType as ArrowDataType;
use datatypes::prelude::*;

use crate::function::{
2 changes: 1 addition & 1 deletion src/common/query/src/physical_plan.rs
Original file line number Diff line number Diff line change
@@ -199,7 +199,6 @@ impl DfPhysicalPlan for DfPhysicalPlanAdapter {

#[cfg(test)]
mod test {
use arrow::datatypes::{DataType, Field, Schema as ArrowSchema};
use common_recordbatch::{RecordBatch, RecordBatches};
use datafusion::arrow_print;
use datafusion::datasource::TableProvider as DfTableProvider;
@@ -209,6 +208,7 @@ mod test {
use datafusion::prelude::ExecutionContext;
use datafusion_common::field_util::SchemaExt;
use datafusion_expr::Expr;
use datatypes::arrow::datatypes::{DataType, Field, Schema as ArrowSchema};
use datatypes::schema::Schema;
use datatypes::vectors::Int32Vector;

4 changes: 2 additions & 2 deletions src/common/query/src/signature.rs
Original file line number Diff line number Diff line change
@@ -15,9 +15,9 @@
//! Signature module contains foundational types that are used to represent signatures, types,
//! and return types of functions.
//! Copied and modified from datafusion.
use arrow::datatypes::DataType as ArrowDataType;
pub use datafusion::physical_plan::functions::Volatility;
use datafusion_expr::{Signature as DfSignature, TypeSignature as DfTypeSignature};
use datatypes::arrow::datatypes::DataType as ArrowDataType;
use datatypes::data_type::DataType;
use datatypes::prelude::ConcreteDataType;

@@ -143,7 +143,7 @@ impl From<Signature> for DfSignature {

#[cfg(test)]
mod tests {
use arrow::datatypes::DataType;
use datatypes::arrow::datatypes::DataType;

use super::*;

28 changes: 0 additions & 28 deletions src/datanode/Cargo.toml
Original file line number Diff line number Diff line change
@@ -54,20 +54,6 @@ tower = { version = "0.4", features = ["full"] }
tower-http = { version = "0.3", features = ["full"] }
frontend = { path = "../frontend" }

[dependencies.arrow]
package = "arrow2"
version = "0.10"
features = [
"io_csv",
"io_json",
"io_parquet",
"io_parquet_compression",
"io_ipc",
"ahash",
"compute",
"serde_types",
]

[dev-dependencies]
axum-test-helper = { git = "https://github.com/sunng87/axum-test-helper.git", branch = "patch-1" }
client = { path = "../client" }
@@ -77,17 +63,3 @@ datafusion = { git = "https://github.com/apache/arrow-datafusion.git", branch =
] }
datafusion-common = { git = "https://github.com/apache/arrow-datafusion.git", branch = "arrow2" }
tempdir = "0.3"

[dev-dependencies.arrow]
package = "arrow2"
version = "0.10"
features = [
"io_csv",
"io_json",
"io_parquet",
"io_parquet_compression",
"io_ipc",
"ahash",
"compute",
"serde_types",
]
Loading
Oops, something went wrong.

0 comments on commit 22ae983

Please sign in to comment.