chore: move query::Output to common-query module (#259)

* chore: move query::Output to common-query module

* chore: remove “query” dependency in client module
This commit is contained in:
fys
2022-09-15 10:07:58 +08:00
committed by GitHub
parent ef40b12749
commit 8400f8dfd4
41 changed files with 62 additions and 47 deletions

5
Cargo.lock generated
View File

@@ -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",

View File

@@ -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"

View File

@@ -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;

View File

@@ -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;

View File

@@ -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" }

View File

@@ -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),
}

View File

@@ -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" }

View File

@@ -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;

View File

@@ -1,5 +1,5 @@
use catalog::CatalogManagerRef;
use query::Output;
use common_query::Output;
use query::QueryEngineRef;
use crate::error::Result;

View File

@@ -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};

View File

@@ -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;

View File

@@ -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};

View File

@@ -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::*;

View File

@@ -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};

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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" }

View File

@@ -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::*;

View File

@@ -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();

View File

@@ -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};

View File

@@ -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;

View File

@@ -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]

View File

@@ -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]

View File

@@ -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;

View File

@@ -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]

View File

@@ -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;

View File

@@ -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;

View File

@@ -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]

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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 {

View File

@@ -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};

View File

@@ -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;

View File

@@ -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};

View File

@@ -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" }

View File

@@ -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};

View File

@@ -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};

View File

@@ -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;

View File

@@ -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;