feat: implement rename table (#802)

* feat: support renaming tables in the mito table engine

* chore: add test for table engine

* chore: fix test
This commit is contained in:
elijah
2023-01-03 17:37:27 +08:00
committed by GitHub
parent 5fcad7a175
commit a6eb213adf
8 changed files with 130 additions and 53 deletions

View File

@@ -15,7 +15,7 @@
use std::sync::Arc;
use api::v1::alter_expr::Kind;
use api::v1::{AlterExpr, CreateTableExpr, DropColumns};
use api::v1::{AlterExpr, CreateTableExpr, DropColumns, RenameTable};
use common_catalog::consts::{DEFAULT_CATALOG_NAME, DEFAULT_SCHEMA_NAME};
use datatypes::schema::{ColumnSchema, SchemaBuilder, SchemaRef};
use snafu::{ensure, OptionExt, ResultExt};
@@ -87,6 +87,16 @@ pub fn alter_expr_to_request(expr: AlterExpr) -> Result<Option<AlterTableRequest
};
Ok(Some(request))
}
Some(Kind::RenameTable(RenameTable { new_table_name })) => {
let alter_kind = AlterKind::RenameTable { new_table_name };
let request = AlterTableRequest {
catalog_name,
schema_name,
table_name: expr.table_name,
alter_kind,
};
Ok(Some(request))
}
None => Ok(None),
}
}