From fd7eb87a52a26e218845b31be5600c8f4c5abfa4 Mon Sep 17 00:00:00 2001 From: JeremyHi Date: Tue, 1 Aug 2023 19:18:05 +0800 Subject: [PATCH] refactor: common semantic-type (#2057) --- Cargo.lock | 3 +-- Cargo.toml | 2 +- src/api/src/helper.rs | 2 +- src/client/examples/stream_ingest.rs | 1 - src/common/grpc-expr/src/insert.rs | 18 +++++++++--------- src/common/grpc/src/writer.rs | 6 ++---- src/datanode/src/instance/grpc.rs | 4 ++-- .../src/instance/distributed/inserter.rs | 4 ++-- src/frontend/src/table/delete.rs | 4 ++-- src/frontend/src/table/insert.rs | 4 ++-- src/servers/src/influxdb.rs | 4 ++-- src/servers/src/opentsdb/codec.rs | 3 +-- tests-integration/src/grpc.rs | 4 ++-- tests-integration/tests/grpc.rs | 3 +-- 14 files changed, 28 insertions(+), 34 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4751b4251c..d27990a7a8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4130,7 +4130,7 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "greptime-proto" version = "0.1.0" -source = "git+https://github.com/GreptimeTeam/greptime-proto.git?rev=356694a72f12ad9e15008d4245a0b4fe48f982ad#356694a72f12ad9e15008d4245a0b4fe48f982ad" +source = "git+https://github.com/GreptimeTeam/greptime-proto.git?rev=3d8ac534a0c8fd1c6ec66d129345b44c95665ebc#3d8ac534a0c8fd1c6ec66d129345b44c95665ebc" dependencies = [ "prost", "serde", @@ -9211,7 +9211,6 @@ dependencies = [ "datatypes", "hex", "itertools 0.10.5", - "mito", "once_cell", "snafu", "sqlparser", diff --git a/Cargo.toml b/Cargo.toml index 2794ddc04e..fcae106b39 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -74,7 +74,7 @@ datafusion-substrait = { git = "https://github.com/waynexia/arrow-datafusion.git derive_builder = "0.12" futures = "0.3" futures-util = "0.3" -greptime-proto = { git = "https://github.com/GreptimeTeam/greptime-proto.git", rev = "356694a72f12ad9e15008d4245a0b4fe48f982ad" } +greptime-proto = { git = "https://github.com/GreptimeTeam/greptime-proto.git", rev = "3d8ac534a0c8fd1c6ec66d129345b44c95665ebc" } itertools = "0.10" lazy_static = "1.4" once_cell = "1.18" diff --git a/src/api/src/helper.rs b/src/api/src/helper.rs index b708b05449..e36dd0d68f 100644 --- a/src/api/src/helper.rs +++ b/src/api/src/helper.rs @@ -611,7 +611,7 @@ mod tests { #[test] fn test_column_put_vector() { - use crate::v1::column::SemanticType; + use crate::v1::SemanticType; // Some(false), None, Some(true), Some(true) let mut column = Column { column_name: "test".to_string(), diff --git a/src/client/examples/stream_ingest.rs b/src/client/examples/stream_ingest.rs index 0a1fb84b56..827f8e85c0 100644 --- a/src/client/examples/stream_ingest.rs +++ b/src/client/examples/stream_ingest.rs @@ -12,7 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -use api::v1::column::*; use api::v1::*; use client::{Client, Database, DEFAULT_SCHEMA_NAME}; use derive_new::new; diff --git a/src/common/grpc-expr/src/insert.rs b/src/common/grpc-expr/src/insert.rs index 13a51ddc89..77bbd33981 100644 --- a/src/common/grpc-expr/src/insert.rs +++ b/src/common/grpc-expr/src/insert.rs @@ -16,10 +16,10 @@ use std::collections::{HashMap, HashSet}; use std::sync::Arc; use api::helper::ColumnDataTypeWrapper; -use api::v1::column::{SemanticType, Values}; +use api::v1::column::Values; use api::v1::{ AddColumn, AddColumns, Column, ColumnDataType, ColumnDef, CreateTableExpr, - InsertRequest as GrpcInsertRequest, + InsertRequest as GrpcInsertRequest, SemanticType, }; use common_base::BitVec; use common_time::time::Time; @@ -575,8 +575,8 @@ mod tests { use std::{assert_eq, vec}; use api::helper::ColumnDataTypeWrapper; - use api::v1::column::{self, SemanticType, Values}; - use api::v1::{Column, ColumnDataType}; + use api::v1::column::Values; + use api::v1::{Column, ColumnDataType, SemanticType}; use common_base::BitVec; use common_catalog::consts::MITO_ENGINE; use common_time::timestamp::{TimeUnit, Timestamp}; @@ -1028,7 +1028,7 @@ mod tests { fn mock_insert_batch() -> (Vec, u32) { let row_count = 2; - let host_vals = column::Values { + let host_vals = Values { string_values: vec!["host1".to_string(), "host2".to_string()], ..Default::default() }; @@ -1040,7 +1040,7 @@ mod tests { datatype: ColumnDataType::String as i32, }; - let cpu_vals = column::Values { + let cpu_vals = Values { f64_values: vec![0.31], ..Default::default() }; @@ -1052,7 +1052,7 @@ mod tests { datatype: ColumnDataType::Float64 as i32, }; - let mem_vals = column::Values { + let mem_vals = Values { f64_values: vec![0.1], ..Default::default() }; @@ -1064,7 +1064,7 @@ mod tests { datatype: ColumnDataType::Float64 as i32, }; - let time_vals = column::Values { + let time_vals = Values { time_millisecond_values: vec![100, 101], ..Default::default() }; @@ -1076,7 +1076,7 @@ mod tests { datatype: ColumnDataType::TimeMillisecond as i32, }; - let ts_vals = column::Values { + let ts_vals = Values { ts_millisecond_values: vec![100, 101], ..Default::default() }; diff --git a/src/common/grpc/src/writer.rs b/src/common/grpc/src/writer.rs index adb0d46ca4..d601ef2a0b 100644 --- a/src/common/grpc/src/writer.rs +++ b/src/common/grpc/src/writer.rs @@ -16,8 +16,7 @@ use std::collections::HashMap; use std::fmt::Display; use api::helper::values_with_capacity; -use api::v1::column::SemanticType; -use api::v1::{Column, ColumnDataType}; +use api::v1::{Column, ColumnDataType, SemanticType}; use common_base::BitVec; use snafu::ensure; @@ -262,8 +261,7 @@ impl Display for Precision { #[cfg(test)] mod tests { - use api::v1::column::SemanticType; - use api::v1::ColumnDataType; + use api::v1::{ColumnDataType, SemanticType}; use common_base::BitVec; use super::LinesWriter; diff --git a/src/datanode/src/instance/grpc.rs b/src/datanode/src/instance/grpc.rs index c5c3f62f5c..0abbc8a296 100644 --- a/src/datanode/src/instance/grpc.rs +++ b/src/datanode/src/instance/grpc.rs @@ -301,11 +301,11 @@ async fn new_dummy_catalog_list( mod test { use api::v1::add_column::location::LocationType; use api::v1::add_column::Location; - use api::v1::column::{SemanticType, Values}; + use api::v1::column::Values; use api::v1::{ alter_expr, AddColumn, AddColumns, AlterExpr, Column, ColumnDataType, ColumnDef, CreateDatabaseExpr, CreateTableExpr, DropTableExpr, InsertRequest, InsertRequests, - QueryRequest, RenameTable, TableId, TruncateTableExpr, + QueryRequest, RenameTable, SemanticType, TableId, TruncateTableExpr, }; use common_catalog::consts::MITO_ENGINE; use common_error::ext::ErrorExt; diff --git a/src/frontend/src/instance/distributed/inserter.rs b/src/frontend/src/instance/distributed/inserter.rs index f9d3b3fb34..da2f54276f 100644 --- a/src/frontend/src/instance/distributed/inserter.rs +++ b/src/frontend/src/instance/distributed/inserter.rs @@ -175,8 +175,8 @@ impl DistInserter { #[cfg(test)] mod tests { - use api::v1::column::{SemanticType, Values}; - use api::v1::{Column, ColumnDataType, InsertRequest as GrpcInsertRequest}; + use api::v1::column::Values; + use api::v1::{Column, ColumnDataType, InsertRequest as GrpcInsertRequest, SemanticType}; use client::client_manager::DatanodeClients; use common_catalog::consts::{DEFAULT_CATALOG_NAME, DEFAULT_SCHEMA_NAME}; use common_meta::helper::{CatalogKey, CatalogValue, SchemaKey, SchemaValue}; diff --git a/src/frontend/src/table/delete.rs b/src/frontend/src/table/delete.rs index b5a6bd4c93..6936165df6 100644 --- a/src/frontend/src/table/delete.rs +++ b/src/frontend/src/table/delete.rs @@ -68,8 +68,8 @@ mod tests { use std::collections::HashMap; use std::sync::Arc; - use api::v1::column::{SemanticType, Values}; - use api::v1::{Column, ColumnDataType}; + use api::v1::column::Values; + use api::v1::{Column, ColumnDataType, SemanticType}; use datatypes::prelude::{ConcreteDataType, VectorRef}; use datatypes::schema::{ColumnSchema, Schema}; use datatypes::vectors::Int32Vector; diff --git a/src/frontend/src/table/insert.rs b/src/frontend/src/table/insert.rs index 902f2f1983..035eda040c 100644 --- a/src/frontend/src/table/insert.rs +++ b/src/frontend/src/table/insert.rs @@ -15,8 +15,8 @@ use std::collections::HashMap; use api::helper::{push_vals, ColumnDataTypeWrapper}; -use api::v1::column::{SemanticType, Values}; -use api::v1::{Column, InsertRequest as GrpcInsertRequest}; +use api::v1::column::Values; +use api::v1::{Column, InsertRequest as GrpcInsertRequest, SemanticType}; use datatypes::prelude::*; use snafu::{ensure, OptionExt, ResultExt}; use store_api::storage::RegionNumber; diff --git a/src/servers/src/influxdb.rs b/src/servers/src/influxdb.rs index b848579b8f..4b302c1610 100644 --- a/src/servers/src/influxdb.rs +++ b/src/servers/src/influxdb.rs @@ -151,8 +151,8 @@ fn unwarp_or_default_precision(precision: Option) -> Precision { #[cfg(test)] mod tests { - use api::v1::column::{SemanticType, Values}; - use api::v1::{Column, ColumnDataType}; + use api::v1::column::Values; + use api::v1::{Column, ColumnDataType, SemanticType}; use common_base::BitVec; use super::*; diff --git a/src/servers/src/opentsdb/codec.rs b/src/servers/src/opentsdb/codec.rs index 0b955cf9a7..bee99c1828 100644 --- a/src/servers/src/opentsdb/codec.rs +++ b/src/servers/src/opentsdb/codec.rs @@ -12,8 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -use api::v1::column::SemanticType; -use api::v1::{column, Column, ColumnDataType, InsertRequest as GrpcInsertRequest}; +use api::v1::{column, Column, ColumnDataType, InsertRequest as GrpcInsertRequest, SemanticType}; use crate::error::{self, Result}; diff --git a/tests-integration/src/grpc.rs b/tests-integration/src/grpc.rs index 5b46532bd9..6ea72b8804 100644 --- a/tests-integration/src/grpc.rs +++ b/tests-integration/src/grpc.rs @@ -16,14 +16,14 @@ mod test { use std::collections::HashMap; - use api::v1::column::{SemanticType, Values}; + use api::v1::column::Values; use api::v1::ddl_request::Expr as DdlExpr; use api::v1::greptime_request::Request; use api::v1::query_request::Query; use api::v1::{ alter_expr, AddColumn, AddColumns, AlterExpr, Column, ColumnDataType, ColumnDef, CreateDatabaseExpr, CreateTableExpr, DdlRequest, DeleteRequest, DropTableExpr, - FlushTableExpr, InsertRequest, InsertRequests, QueryRequest, + FlushTableExpr, InsertRequest, InsertRequests, QueryRequest, SemanticType, }; use common_catalog::consts::MITO_ENGINE; use common_query::Output; diff --git a/tests-integration/tests/grpc.rs b/tests-integration/tests/grpc.rs index 8bdf115aab..364e306e54 100644 --- a/tests-integration/tests/grpc.rs +++ b/tests-integration/tests/grpc.rs @@ -13,12 +13,11 @@ // limitations under the License. use api::v1::alter_expr::Kind; -use api::v1::column::SemanticType; use api::v1::promql_request::Promql; use api::v1::{ column, AddColumn, AddColumns, AlterExpr, Column, ColumnDataType, ColumnDef, CreateTableExpr, InsertRequest, InsertRequests, PromInstantQuery, PromRangeQuery, PromqlRequest, RequestHeader, - TableId, + SemanticType, TableId, }; use client::{Client, Database, DEFAULT_CATALOG_NAME, DEFAULT_SCHEMA_NAME}; use common_catalog::consts::{MIN_USER_TABLE_ID, MITO_ENGINE};