From 8400f8dfd4b06409a2c7b04015ff782d2363036a Mon Sep 17 00:00:00 2001 From: fys <40801205+Fengys123@users.noreply.github.com> Date: Thu, 15 Sep 2022 10:07:58 +0800 Subject: [PATCH] chore: move query::Output to common-query module (#259) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: move query::Output to common-query module * chore: remove “query” dependency in client module --- Cargo.lock | 5 ++++- src/client/Cargo.toml | 2 +- src/client/src/admin.rs | 2 +- src/client/src/database.rs | 2 +- src/common/query/Cargo.toml | 1 + src/common/query/src/lib.rs | 9 +++++++++ src/datanode/Cargo.toml | 1 + src/datanode/src/instance.rs | 3 ++- src/datanode/src/script.rs | 2 +- src/datanode/src/server/grpc/ddl.rs | 2 +- src/datanode/src/server/grpc/plan.rs | 3 ++- src/datanode/src/server/grpc/select.rs | 2 +- src/datanode/src/sql.rs | 2 +- src/datanode/src/sql/alter.rs | 2 +- src/datanode/src/sql/create.rs | 2 +- src/datanode/src/sql/insert.rs | 2 +- src/datanode/src/tests/instance_test.rs | 2 +- src/frontend/Cargo.toml | 1 + src/frontend/src/instance.rs | 2 +- src/query/src/datafusion.rs | 7 ++++--- src/query/src/lib.rs | 4 +--- src/query/src/query_engine.rs | 9 +-------- src/query/tests/argmax_test.rs | 2 +- src/query/tests/argmin_test.rs | 2 +- src/query/tests/function.rs | 3 ++- src/query/tests/mean_test.rs | 2 +- src/query/tests/my_sum_udaf_example.rs | 2 +- src/query/tests/percentile_test.rs | 2 +- src/query/tests/polyval_test.rs | 2 +- src/query/tests/query_engine_test.rs | 3 ++- src/query/tests/scipy_stats_norm_cdf_test.rs | 2 +- src/query/tests/scipy_stats_norm_pdf.rs | 2 +- src/script/src/engine.rs | 2 +- src/script/src/manager.rs | 3 ++- src/script/src/python/engine.rs | 2 +- src/script/src/table.rs | 3 ++- src/servers/Cargo.toml | 1 + src/servers/src/http.rs | 2 +- src/servers/src/mysql/writer.rs | 2 +- src/servers/src/query_handler.rs | 2 +- src/servers/tests/mod.rs | 3 ++- 41 files changed, 62 insertions(+), 47 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 924318bdff..b0cd00bb90 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -740,12 +740,12 @@ dependencies = [ "common-base", "common-error", "common-grpc", + "common-query", "common-recordbatch", "common-time", "datafusion", "datanode", "datatypes", - "query", "snafu", "tokio", "tonic 0.8.0", @@ -874,6 +874,7 @@ dependencies = [ "arrow2", "common-base", "common-error", + "common-recordbatch", "common-time", "datafusion", "datafusion-common", @@ -1696,6 +1697,7 @@ dependencies = [ "client", "common-base", "common-error", + "common-query", "common-recordbatch", "common-runtime", "common-telemetry", @@ -4549,6 +4551,7 @@ dependencies = [ "catalog", "common-base", "common-error", + "common-query", "common-recordbatch", "common-runtime", "common-telemetry", diff --git a/src/client/Cargo.toml b/src/client/Cargo.toml index 419b472db2..224c66f2a4 100644 --- a/src/client/Cargo.toml +++ b/src/client/Cargo.toml @@ -12,11 +12,11 @@ catalog = { path = "../catalog" } common-base = { path = "../common/base" } common-error = { path = "../common/error" } common-grpc = { path = "../common/grpc" } +common-query = { path = "../common/query" } common-recordbatch = { path = "../common/recordbatch" } common-time = { path = "../common/time" } datafusion = { git = "https://github.com/apache/arrow-datafusion.git", branch = "arrow2", features = ["simd"] } datatypes = { path = "../datatypes" } -query = { path = "../query" } snafu = { version = "0.7", features = ["backtraces"] } tonic = "0.8" diff --git a/src/client/src/admin.rs b/src/client/src/admin.rs index 8608e692bb..717bea7b19 100644 --- a/src/client/src/admin.rs +++ b/src/client/src/admin.rs @@ -1,6 +1,6 @@ use api::v1::*; use common_error::prelude::StatusCode; -use query::Output; +use common_query::Output; use snafu::prelude::*; use crate::database::PROTOCOL_VERSION; diff --git a/src/client/src/database.rs b/src/client/src/database.rs index 997e3dc46d..89e141d374 100644 --- a/src/client/src/database.rs +++ b/src/client/src/database.rs @@ -11,6 +11,7 @@ use common_base::BitVec; use common_error::status_code::StatusCode; use common_grpc::AsExcutionPlan; use common_grpc::DefaultAsPlanImpl; +use common_query::Output; use common_recordbatch::{RecordBatch, RecordBatches}; use common_time::date::Date; use common_time::datetime::DateTime; @@ -18,7 +19,6 @@ use common_time::timestamp::Timestamp; use datafusion::physical_plan::ExecutionPlan; use datatypes::prelude::*; use datatypes::schema::{ColumnSchema, Schema}; -use query::Output; use snafu::{ensure, OptionExt, ResultExt}; use crate::error; diff --git a/src/common/query/Cargo.toml b/src/common/query/Cargo.toml index c75235c77d..5aec1192d8 100644 --- a/src/common/query/Cargo.toml +++ b/src/common/query/Cargo.toml @@ -9,6 +9,7 @@ version="0.10" [dependencies] common-error = { path = "../error" } +common-recordbatch = { path = "../recordbatch" } common-time = { path = "../time" } datafusion = { git = "https://github.com/apache/arrow-datafusion.git", branch = "arrow2", features = ["simd"] } datafusion-common = { git = "https://github.com/apache/arrow-datafusion.git", branch = "arrow2" } diff --git a/src/common/query/src/lib.rs b/src/common/query/src/lib.rs index 7c10313c20..798e99f410 100644 --- a/src/common/query/src/lib.rs +++ b/src/common/query/src/lib.rs @@ -1,6 +1,15 @@ +use common_recordbatch::{RecordBatches, SendableRecordBatchStream}; + pub mod columnar_value; pub mod error; mod function; pub mod logical_plan; pub mod prelude; mod signature; + +// sql output +pub enum Output { + AffectedRows(usize), + RecordBatches(RecordBatches), + Stream(SendableRecordBatchStream), +} diff --git a/src/datanode/Cargo.toml b/src/datanode/Cargo.toml index 0637eba966..2243c40ccb 100644 --- a/src/datanode/Cargo.toml +++ b/src/datanode/Cargo.toml @@ -25,6 +25,7 @@ catalog = { path = "../catalog" } common-base = { path = "../common/base" } common-error = { path = "../common/error" } common-grpc = { path = "../common/grpc" } +common-query = { path = "../common/query" } common-recordbatch = { path = "../common/recordbatch" } common-runtime = { path = "../common/runtime" } common-telemetry = { path = "../common/telemetry" } diff --git a/src/datanode/src/instance.rs b/src/datanode/src/instance.rs index 766bf48917..5b4196e7ab 100644 --- a/src/datanode/src/instance.rs +++ b/src/datanode/src/instance.rs @@ -8,11 +8,12 @@ use async_trait::async_trait; use catalog::{CatalogManagerRef, DEFAULT_CATALOG_NAME, DEFAULT_SCHEMA_NAME}; use common_error::prelude::BoxedError; use common_error::status_code::StatusCode; +use common_query::Output; use common_telemetry::logging::{error, info}; use common_telemetry::timer; use log_store::fs::{config::LogConfig, log::LocalFileLogStore}; use object_store::{backend::fs::Backend, util, ObjectStore}; -use query::query_engine::{Output, QueryEngineFactory, QueryEngineRef}; +use query::query_engine::{QueryEngineFactory, QueryEngineRef}; use servers::query_handler::{GrpcAdminHandler, GrpcQueryHandler, SqlQueryHandler}; use snafu::prelude::*; use sql::statements::statement::Statement; diff --git a/src/datanode/src/script.rs b/src/datanode/src/script.rs index 979bbe00d0..bdf9dee350 100644 --- a/src/datanode/src/script.rs +++ b/src/datanode/src/script.rs @@ -1,5 +1,5 @@ use catalog::CatalogManagerRef; -use query::Output; +use common_query::Output; use query::QueryEngineRef; use crate::error::Result; diff --git a/src/datanode/src/server/grpc/ddl.rs b/src/datanode/src/server/grpc/ddl.rs index 94a7dce026..983bf4930b 100644 --- a/src/datanode/src/server/grpc/ddl.rs +++ b/src/datanode/src/server/grpc/ddl.rs @@ -3,9 +3,9 @@ use std::sync::Arc; use api::helper::ColumnDataTypeWrapper; use api::v1::{alter_expr::Kind, AdminResult, AlterExpr, ColumnDef, CreateExpr}; use common_error::prelude::{ErrorExt, StatusCode}; +use common_query::Output; use datatypes::schema::{ColumnSchema, SchemaBuilder, SchemaRef}; use futures::TryFutureExt; -use query::Output; use snafu::prelude::*; use table::requests::{AlterKind, AlterTableRequest, CreateTableRequest}; diff --git a/src/datanode/src/server/grpc/plan.rs b/src/datanode/src/server/grpc/plan.rs index 2c6713c7b7..813d4e809b 100644 --- a/src/datanode/src/server/grpc/plan.rs +++ b/src/datanode/src/server/grpc/plan.rs @@ -2,9 +2,10 @@ use std::sync::Arc; use common_grpc::AsExcutionPlan; use common_grpc::DefaultAsPlanImpl; +use common_query::Output; use datatypes::schema::Schema; use query::PhysicalPlanAdapter; -use query::{plan::PhysicalPlan, Output, QueryEngineRef}; +use query::{plan::PhysicalPlan, QueryEngineRef}; use snafu::ResultExt; use crate::error::Result; diff --git a/src/datanode/src/server/grpc/select.rs b/src/datanode/src/server/grpc/select.rs index d5a1975b9d..194b0eb03f 100644 --- a/src/datanode/src/server/grpc/select.rs +++ b/src/datanode/src/server/grpc/select.rs @@ -6,9 +6,9 @@ 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, RecordBatch, SendableRecordBatchStream}; use datatypes::arrow_array::{BinaryArray, StringArray}; -use query::Output; use snafu::{OptionExt, ResultExt}; use crate::error::{self, ConversionSnafu, Result}; diff --git a/src/datanode/src/sql.rs b/src/datanode/src/sql.rs index 7d99adb380..11af1ae71a 100644 --- a/src/datanode/src/sql.rs +++ b/src/datanode/src/sql.rs @@ -1,7 +1,7 @@ //! sql handler use catalog::CatalogManagerRef; -use query::query_engine::Output; +use common_query::Output; use snafu::{OptionExt, ResultExt}; use table::engine::{EngineContext, TableEngineRef}; use table::requests::*; diff --git a/src/datanode/src/sql/alter.rs b/src/datanode/src/sql/alter.rs index 3d92fd2857..0806a4fc40 100644 --- a/src/datanode/src/sql/alter.rs +++ b/src/datanode/src/sql/alter.rs @@ -1,4 +1,4 @@ -use query::query_engine::Output; +use common_query::Output; use snafu::prelude::*; use sql::statements::alter::{AlterTable, AlterTableOperation}; use sql::statements::{column_def_to_schema, table_idents_to_full_name}; diff --git a/src/datanode/src/sql/create.rs b/src/datanode/src/sql/create.rs index ed279d6fbe..8a341294d5 100644 --- a/src/datanode/src/sql/create.rs +++ b/src/datanode/src/sql/create.rs @@ -2,9 +2,9 @@ use std::collections::HashMap; use std::sync::Arc; use catalog::RegisterTableRequest; +use common_query::Output; use common_telemetry::tracing::info; use datatypes::schema::SchemaBuilder; -use query::query_engine::Output; use snafu::{OptionExt, ResultExt}; use sql::ast::TableConstraint; use sql::statements::create_table::CreateTable; diff --git a/src/datanode/src/sql/insert.rs b/src/datanode/src/sql/insert.rs index 7c0fb19b49..99b488356c 100644 --- a/src/datanode/src/sql/insert.rs +++ b/src/datanode/src/sql/insert.rs @@ -1,10 +1,10 @@ use std::str::FromStr; use catalog::SchemaProviderRef; +use common_query::Output; use datatypes::prelude::ConcreteDataType; use datatypes::prelude::VectorBuilder; use datatypes::value::Value; -use query::query_engine::Output; use snafu::ensure; use snafu::OptionExt; use snafu::ResultExt; diff --git a/src/datanode/src/tests/instance_test.rs b/src/datanode/src/tests/instance_test.rs index 11cb2fa171..f3d31a7a99 100644 --- a/src/datanode/src/tests/instance_test.rs +++ b/src/datanode/src/tests/instance_test.rs @@ -1,8 +1,8 @@ use arrow::array::UInt64Array; +use common_query::Output; use common_recordbatch::util; use datafusion::arrow_print; use datafusion_common::record_batch::RecordBatch as DfRecordBatch; -use query::Output; use crate::error; use crate::instance::Instance; diff --git a/src/frontend/Cargo.toml b/src/frontend/Cargo.toml index bc21a75425..c316556550 100644 --- a/src/frontend/Cargo.toml +++ b/src/frontend/Cargo.toml @@ -16,6 +16,7 @@ catalog = { path = "../catalog" } client = { path = "../client" } common-base = { path = "../common/base" } common-error = { path = "../common/error" } +common-query = { path = "../common/query" } common-recordbatch = { path = "../common/recordbatch" } common-runtime = { path = "../common/runtime" } common-telemetry = { path = "../common/telemetry" } diff --git a/src/frontend/src/instance.rs b/src/frontend/src/instance.rs index 254190fb74..9d9b6598dc 100644 --- a/src/frontend/src/instance.rs +++ b/src/frontend/src/instance.rs @@ -10,8 +10,8 @@ use async_trait::async_trait; use client::admin::{admin_result_to_output, Admin}; use client::{Client, Database, Select}; use common_error::prelude::BoxedError; +use common_query::Output; use datatypes::schema::ColumnSchema; -use query::Output; use servers::error as server_error; use servers::query_handler::{GrpcAdminHandler, GrpcQueryHandler, SqlQueryHandler}; use snafu::prelude::*; diff --git a/src/query/src/datafusion.rs b/src/query/src/datafusion.rs index 55454296b0..d89b176ebc 100644 --- a/src/query/src/datafusion.rs +++ b/src/query/src/datafusion.rs @@ -11,7 +11,7 @@ use catalog::CatalogListRef; use common_function::scalars::aggregate::AggregateFunctionMetaRef; use common_function::scalars::udf::create_udf; use common_function::scalars::FunctionRef; -use common_query::prelude::ScalarUdf; +use common_query::{prelude::ScalarUdf, Output}; use common_recordbatch::{EmptyRecordBatchStream, SendableRecordBatchStream}; use common_telemetry::timer; use snafu::{OptionExt, ResultExt}; @@ -31,7 +31,7 @@ use crate::{ physical_planner::PhysicalPlanner, plan::{LogicalPlan, PhysicalPlan}, planner::Planner, - Output, QueryEngine, + QueryEngine, }; pub(crate) struct DatafusionQueryEngine { @@ -220,12 +220,13 @@ mod tests { use catalog::{ CatalogList, CatalogProvider, SchemaProvider, DEFAULT_CATALOG_NAME, DEFAULT_SCHEMA_NAME, }; + use common_query::Output; use common_recordbatch::util; use datafusion::field_util::FieldExt; use datafusion::field_util::SchemaExt; use table::table::numbers::NumbersTable; - use crate::query_engine::{Output, QueryEngineFactory, QueryEngineRef}; + use crate::query_engine::{QueryEngineFactory, QueryEngineRef}; fn create_test_engine() -> QueryEngineRef { let catalog_list = catalog::memory::new_memory_catalog_list().unwrap(); diff --git a/src/query/src/lib.rs b/src/query/src/lib.rs index e7598f4bdc..9a97149e29 100644 --- a/src/query/src/lib.rs +++ b/src/query/src/lib.rs @@ -12,6 +12,4 @@ pub mod planner; pub mod query_engine; pub use crate::datafusion::plan_adapter::PhysicalPlanAdapter; -pub use crate::query_engine::{ - Output, QueryContext, QueryEngine, QueryEngineFactory, QueryEngineRef, -}; +pub use crate::query_engine::{QueryContext, QueryEngine, QueryEngineFactory, QueryEngineRef}; diff --git a/src/query/src/query_engine.rs b/src/query/src/query_engine.rs index e9e2ae2b9e..2bd9711dc9 100644 --- a/src/query/src/query_engine.rs +++ b/src/query/src/query_engine.rs @@ -7,7 +7,7 @@ use catalog::CatalogList; use common_function::scalars::aggregate::AggregateFunctionMetaRef; use common_function::scalars::{FunctionRef, FUNCTION_REGISTRY}; use common_query::prelude::ScalarUdf; -use common_recordbatch::{RecordBatches, SendableRecordBatchStream}; +use common_query::Output; use sql::statements::statement::Statement; use crate::datafusion::DatafusionQueryEngine; @@ -16,13 +16,6 @@ use crate::plan::{LogicalPlan, PhysicalPlan}; pub use crate::query_engine::context::QueryContext; pub use crate::query_engine::state::QueryEngineState; -/// Sql output -pub enum Output { - AffectedRows(usize), - RecordBatches(RecordBatches), - Stream(SendableRecordBatchStream), -} - #[async_trait::async_trait] pub trait QueryEngine: Send + Sync { fn name(&self) -> &str; diff --git a/src/query/tests/argmax_test.rs b/src/query/tests/argmax_test.rs index 639176dbf6..f8947f77a4 100644 --- a/src/query/tests/argmax_test.rs +++ b/src/query/tests/argmax_test.rs @@ -1,5 +1,6 @@ use std::sync::Arc; mod function; +use common_query::Output; use common_recordbatch::error::Result as RecordResult; use common_recordbatch::{util, RecordBatch}; use datafusion::field_util::FieldExt; @@ -9,7 +10,6 @@ use datatypes::prelude::*; use datatypes::types::PrimitiveElement; use function::{create_query_engine, get_numbers_from_table}; use query::error::Result; -use query::query_engine::Output; use query::QueryEngine; #[tokio::test] diff --git a/src/query/tests/argmin_test.rs b/src/query/tests/argmin_test.rs index c6f60cf1d5..34334b1341 100644 --- a/src/query/tests/argmin_test.rs +++ b/src/query/tests/argmin_test.rs @@ -1,6 +1,7 @@ use std::sync::Arc; mod function; +use common_query::Output; use common_recordbatch::error::Result as RecordResult; use common_recordbatch::{util, RecordBatch}; use datafusion::field_util::FieldExt; @@ -10,7 +11,6 @@ use datatypes::prelude::*; use datatypes::types::PrimitiveElement; use function::{create_query_engine, get_numbers_from_table}; use query::error::Result; -use query::query_engine::Output; use query::QueryEngine; #[tokio::test] diff --git a/src/query/tests/function.rs b/src/query/tests/function.rs index 11353dfb9b..37428dc76a 100644 --- a/src/query/tests/function.rs +++ b/src/query/tests/function.rs @@ -4,13 +4,14 @@ use catalog::memory::{MemoryCatalogList, MemoryCatalogProvider, MemorySchemaProv use catalog::{ CatalogList, CatalogProvider, SchemaProvider, DEFAULT_CATALOG_NAME, DEFAULT_SCHEMA_NAME, }; +use common_query::Output; use common_recordbatch::{util, RecordBatch}; use datatypes::for_all_primitive_types; use datatypes::prelude::*; use datatypes::schema::{ColumnSchema, Schema}; use datatypes::types::PrimitiveElement; use datatypes::vectors::PrimitiveVector; -use query::query_engine::{Output, QueryEngineFactory}; +use query::query_engine::QueryEngineFactory; use query::QueryEngine; use rand::Rng; use test_util::MemTable; diff --git a/src/query/tests/mean_test.rs b/src/query/tests/mean_test.rs index 6942b0d5dc..cebd5b8353 100644 --- a/src/query/tests/mean_test.rs +++ b/src/query/tests/mean_test.rs @@ -1,6 +1,7 @@ use std::sync::Arc; mod function; +use common_query::Output; use common_recordbatch::error::Result as RecordResult; use common_recordbatch::{util, RecordBatch}; use datafusion::field_util::FieldExt; @@ -13,7 +14,6 @@ use format_num::NumberFormat; use function::{create_query_engine, get_numbers_from_table}; use num_traits::AsPrimitive; use query::error::Result; -use query::query_engine::Output; use query::QueryEngine; #[tokio::test] diff --git a/src/query/tests/my_sum_udaf_example.rs b/src/query/tests/my_sum_udaf_example.rs index a97b46f8f8..805f8784ce 100644 --- a/src/query/tests/my_sum_udaf_example.rs +++ b/src/query/tests/my_sum_udaf_example.rs @@ -13,6 +13,7 @@ use common_query::error::Result as QueryResult; use common_query::logical_plan::Accumulator; use common_query::logical_plan::AggregateFunctionCreator; use common_query::prelude::*; +use common_query::Output; use common_recordbatch::{util, RecordBatch}; use datafusion::arrow_print; use datafusion_common::record_batch::RecordBatch as DfRecordBatch; @@ -24,7 +25,6 @@ use datatypes::vectors::PrimitiveVector; use datatypes::with_match_primitive_type_id; use num_traits::AsPrimitive; use query::error::Result; -use query::query_engine::Output; use query::QueryEngineFactory; use test_util::MemTable; diff --git a/src/query/tests/percentile_test.rs b/src/query/tests/percentile_test.rs index a472ceea1a..550d9d9fe8 100644 --- a/src/query/tests/percentile_test.rs +++ b/src/query/tests/percentile_test.rs @@ -4,6 +4,7 @@ use catalog::memory::{MemoryCatalogList, MemoryCatalogProvider, MemorySchemaProv use catalog::{ CatalogList, CatalogProvider, SchemaProvider, DEFAULT_CATALOG_NAME, DEFAULT_SCHEMA_NAME, }; +use common_query::Output; use common_recordbatch::error::Result as RecordResult; use common_recordbatch::{util, RecordBatch}; use datafusion::field_util::FieldExt; @@ -16,7 +17,6 @@ use datatypes::vectors::PrimitiveVector; use function::{create_query_engine, get_numbers_from_table}; use num_traits::AsPrimitive; use query::error::Result; -use query::query_engine::Output; use query::{QueryEngine, QueryEngineFactory}; use test_util::MemTable; diff --git a/src/query/tests/polyval_test.rs b/src/query/tests/polyval_test.rs index 3c6b8463e4..602e51889e 100644 --- a/src/query/tests/polyval_test.rs +++ b/src/query/tests/polyval_test.rs @@ -1,6 +1,7 @@ use std::sync::Arc; mod function; +use common_query::Output; use common_recordbatch::error::Result as RecordResult; use common_recordbatch::{util, RecordBatch}; use datafusion::field_util::FieldExt; @@ -11,7 +12,6 @@ use datatypes::types::PrimitiveElement; use function::{create_query_engine, get_numbers_from_table}; use num_traits::AsPrimitive; use query::error::Result; -use query::query_engine::Output; use query::QueryEngine; #[tokio::test] diff --git a/src/query/tests/query_engine_test.rs b/src/query/tests/query_engine_test.rs index fccfa8da86..70703dd777 100644 --- a/src/query/tests/query_engine_test.rs +++ b/src/query/tests/query_engine_test.rs @@ -8,6 +8,7 @@ use catalog::{ CatalogList, CatalogProvider, SchemaProvider, DEFAULT_CATALOG_NAME, DEFAULT_SCHEMA_NAME, }; use common_query::prelude::{create_udf, make_scalar_function, Volatility}; +use common_query::Output; use common_recordbatch::error::Result as RecordResult; use common_recordbatch::{util, RecordBatch}; use datafusion::field_util::FieldExt; @@ -21,7 +22,7 @@ use datatypes::vectors::{Float32Vector, Float64Vector, PrimitiveVector, UInt32Ve use num::NumCast; use query::error::Result; use query::plan::LogicalPlan; -use query::query_engine::{Output, QueryEngineFactory}; +use query::query_engine::QueryEngineFactory; use query::QueryEngine; use rand::Rng; use table::table::adapter::DfTableProviderAdapter; diff --git a/src/query/tests/scipy_stats_norm_cdf_test.rs b/src/query/tests/scipy_stats_norm_cdf_test.rs index 4256777888..a53502b167 100644 --- a/src/query/tests/scipy_stats_norm_cdf_test.rs +++ b/src/query/tests/scipy_stats_norm_cdf_test.rs @@ -1,6 +1,7 @@ use std::sync::Arc; mod function; +use common_query::Output; use common_recordbatch::error::Result as RecordResult; use common_recordbatch::{util, RecordBatch}; use datafusion::field_util::FieldExt; @@ -11,7 +12,6 @@ use datatypes::types::PrimitiveElement; use function::{create_query_engine, get_numbers_from_table}; use num_traits::AsPrimitive; use query::error::Result; -use query::query_engine::Output; use query::QueryEngine; use statrs::distribution::{ContinuousCDF, Normal}; use statrs::statistics::Statistics; diff --git a/src/query/tests/scipy_stats_norm_pdf.rs b/src/query/tests/scipy_stats_norm_pdf.rs index 217ba9fa2a..d99dca4cb2 100644 --- a/src/query/tests/scipy_stats_norm_pdf.rs +++ b/src/query/tests/scipy_stats_norm_pdf.rs @@ -1,6 +1,7 @@ use std::sync::Arc; mod function; +use common_query::Output; use common_recordbatch::error::Result as RecordResult; use common_recordbatch::{util, RecordBatch}; use datafusion::field_util::FieldExt; @@ -11,7 +12,6 @@ use datatypes::types::PrimitiveElement; use function::{create_query_engine, get_numbers_from_table}; use num_traits::AsPrimitive; use query::error::Result; -use query::query_engine::Output; use query::QueryEngine; use statrs::distribution::{Continuous, Normal}; use statrs::statistics::Statistics; diff --git a/src/script/src/engine.rs b/src/script/src/engine.rs index 9522c21bc4..92037ae5c1 100644 --- a/src/script/src/engine.rs +++ b/src/script/src/engine.rs @@ -4,7 +4,7 @@ use std::any::Any; use async_trait::async_trait; use common_error::ext::ErrorExt; -use query::Output; +use common_query::Output; #[async_trait] pub trait Script { diff --git a/src/script/src/manager.rs b/src/script/src/manager.rs index c76daff23f..4c5d8e4f29 100644 --- a/src/script/src/manager.rs +++ b/src/script/src/manager.rs @@ -3,8 +3,9 @@ use std::collections::HashMap; use std::sync::{Arc, RwLock}; use catalog::CatalogManagerRef; +use common_query::Output; use common_telemetry::logging; -use query::{Output, QueryEngineRef}; +use query::QueryEngineRef; use snafu::{OptionExt, ResultExt}; use crate::engine::{CompileContext, EvalContext, Script, ScriptEngine}; diff --git a/src/script/src/python/engine.rs b/src/script/src/python/engine.rs index f170b6caea..0b762fa1b4 100644 --- a/src/script/src/python/engine.rs +++ b/src/script/src/python/engine.rs @@ -6,13 +6,13 @@ use std::task::{Context, Poll}; use async_trait::async_trait; use common_error::prelude::BoxedError; +use common_query::Output; use common_recordbatch::{ error::ExternalSnafu, error::Result as RecordBatchResult, RecordBatch, RecordBatchStream, SendableRecordBatchStream, }; use datatypes::schema::SchemaRef; use futures::Stream; -use query::Output; use query::QueryEngineRef; use snafu::{ensure, ResultExt}; use sql::statements::statement::Statement; diff --git a/src/script/src/table.rs b/src/script/src/table.rs index d85f265c48..db68e7c7d0 100644 --- a/src/script/src/table.rs +++ b/src/script/src/table.rs @@ -4,6 +4,7 @@ use std::sync::Arc; use catalog::consts::{DEFAULT_CATALOG_NAME, DEFAULT_SCHEMA_NAME, SCRIPTS_TABLE_ID}; use catalog::{CatalogManagerRef, RegisterSystemTableRequest}; +use common_query::Output; use common_recordbatch::util as record_util; use common_telemetry::logging; use common_time::timestamp::Timestamp; @@ -13,7 +14,7 @@ use datatypes::prelude::ConcreteDataType; use datatypes::prelude::ScalarVector; use datatypes::schema::{ColumnSchema, Schema, SchemaBuilder}; use datatypes::vectors::{StringVector, TimestampVector, VectorRef}; -use query::{Output, QueryEngineRef}; +use query::QueryEngineRef; use snafu::{ensure, OptionExt, ResultExt}; use table::requests::{CreateTableRequest, InsertRequest}; diff --git a/src/servers/Cargo.toml b/src/servers/Cargo.toml index ef9761e6cb..8aa04c789d 100644 --- a/src/servers/Cargo.toml +++ b/src/servers/Cargo.toml @@ -9,6 +9,7 @@ async-trait = "0.1" axum = "0.5" axum-macros = "0.2" common-error = { path = "../common/error" } +common-query = { path = "../common/query" } common-recordbatch = { path = "../common/recordbatch" } common-runtime = { path = "../common/runtime" } common-telemetry = { path = "../common/telemetry" } diff --git a/src/servers/src/http.rs b/src/servers/src/http.rs index 4c10e113d5..e0b17902b0 100644 --- a/src/servers/src/http.rs +++ b/src/servers/src/http.rs @@ -10,9 +10,9 @@ use axum::{ response::{Json, Response}, routing, BoxError, Extension, Router, }; +use common_query::Output; use common_recordbatch::{util, RecordBatch}; use common_telemetry::logging::info; -use query::Output; use serde::Serialize; use snafu::ResultExt; use tower::{timeout::TimeoutLayer, ServiceBuilder}; diff --git a/src/servers/src/mysql/writer.rs b/src/servers/src/mysql/writer.rs index cc800ae133..1f1bedda38 100644 --- a/src/servers/src/mysql/writer.rs +++ b/src/servers/src/mysql/writer.rs @@ -1,13 +1,13 @@ use std::io; use std::ops::Deref; +use common_query::Output; use common_recordbatch::{util, RecordBatch}; use datatypes::prelude::{ConcreteDataType, Value}; use datatypes::schema::{ColumnSchema, SchemaRef}; use opensrv_mysql::{ Column, ColumnFlags, ColumnType, ErrorKind, OkResponse, QueryResultWriter, RowWriter, }; -use query::Output; use snafu::prelude::*; use crate::error::{self, Error, Result}; diff --git a/src/servers/src/query_handler.rs b/src/servers/src/query_handler.rs index eed8b0e9c8..1d904846c9 100644 --- a/src/servers/src/query_handler.rs +++ b/src/servers/src/query_handler.rs @@ -2,7 +2,7 @@ use std::sync::Arc; use api::v1::{AdminExpr, AdminResult, ObjectExpr, ObjectResult}; use async_trait::async_trait; -use query::Output; +use common_query::Output; use crate::error::Result; diff --git a/src/servers/tests/mod.rs b/src/servers/tests/mod.rs index 8cbc1bec34..22f8666db5 100644 --- a/src/servers/tests/mod.rs +++ b/src/servers/tests/mod.rs @@ -6,7 +6,8 @@ use catalog::memory::{MemoryCatalogList, MemoryCatalogProvider, MemorySchemaProv use catalog::{ CatalogList, CatalogProvider, SchemaProvider, DEFAULT_CATALOG_NAME, DEFAULT_SCHEMA_NAME, }; -use query::{Output, QueryEngineFactory, QueryEngineRef}; +use common_query::Output; +use query::{QueryEngineFactory, QueryEngineRef}; use servers::error::Result; use servers::query_handler::{SqlQueryHandler, SqlQueryHandlerRef}; use test_util::MemTable;