mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-05-24 08:50:40 +00:00
feat: don't map semantic type in metric engine (#3243)
* feat: don't map semantic type in metric engine Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * remove duplicate set_null Signed-off-by: Ruihang Xia <waynestxia@gmail.com> --------- Signed-off-by: Ruihang Xia <waynestxia@gmail.com>
This commit is contained in:
@@ -51,9 +51,9 @@ impl DataRegion {
|
||||
|
||||
/// Submit an alter request to underlying physical region.
|
||||
///
|
||||
/// This method will change the semantic type of those given columns.
|
||||
/// [SemanticType::Tag] will become [SemanticType::Field]. The procedure framework
|
||||
/// ensures there is no concurrent conflict.
|
||||
/// This method will change the nullability of those given columns.
|
||||
/// [SemanticType::Tag] will become nullable column as it's shared between
|
||||
/// logical regions.
|
||||
///
|
||||
/// Invoker don't need to set up or verify the column id. This method will adjust
|
||||
/// it using underlying schema.
|
||||
@@ -124,7 +124,6 @@ impl DataRegion {
|
||||
.map(|(delta, c)| {
|
||||
let mut c = c.clone();
|
||||
if c.semantic_type == SemanticType::Tag {
|
||||
c.semantic_type = SemanticType::Field;
|
||||
if !c.column_schema.data_type.is_string() {
|
||||
return ColumnTypeMismatchSnafu {
|
||||
column_type: c.column_schema.data_type,
|
||||
|
||||
@@ -123,7 +123,6 @@ impl MetricEngineInner {
|
||||
}
|
||||
|
||||
/// Perform metric engine specific logic to incoming rows.
|
||||
/// - Change the semantic type of tag columns to field
|
||||
/// - Add table_id column
|
||||
/// - Generate tsid
|
||||
fn modify_rows(&self, table_id: TableId, rows: &mut Rows) -> Result<()> {
|
||||
@@ -141,18 +140,6 @@ impl MetricEngineInner {
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
// generate new schema
|
||||
rows.schema = rows
|
||||
.schema
|
||||
.clone()
|
||||
.into_iter()
|
||||
.map(|mut col| {
|
||||
if col.semantic_type == SemanticType::Tag as i32 {
|
||||
col.semantic_type = SemanticType::Field as i32;
|
||||
}
|
||||
col
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
// add table_name column
|
||||
rows.schema.push(ColumnSchema {
|
||||
column_name: DATA_SCHEMA_TABLE_ID_COLUMN_NAME.to_string(),
|
||||
|
||||
Reference in New Issue
Block a user