fix: append table id to table data dir (#640)

This commit is contained in:
Dongxu Wang
2022-11-28 10:53:13 +08:00
committed by GitHub
parent 4085fc7899
commit f372229b18

View File

@@ -57,8 +57,8 @@ fn region_id(table_id: TableId, n: u32) -> RegionId {
}
#[inline]
fn table_dir(schema_name: &str, table_name: &str) -> String {
format!("{}/{}/", schema_name, table_name)
fn table_dir(schema_name: &str, table_name: &str, table_id: TableId) -> String {
format!("{}/{}_{}/", schema_name, table_name, table_id)
}
/// [TableEngine] implementation.
@@ -317,7 +317,7 @@ impl<S: StorageEngine> MitoEngineInner<S> {
}
}
let table_dir = table_dir(schema_name, table_name);
let table_dir = table_dir(schema_name, table_name, table_id);
let opts = CreateOptions {
parent_dir: table_dir.clone(),
};
@@ -396,13 +396,13 @@ impl<S: StorageEngine> MitoEngineInner<S> {
return Ok(Some(table));
}
let table_id = request.table_id;
let engine_ctx = StorageEngineContext::default();
let table_dir = table_dir(schema_name, table_name);
let table_dir = table_dir(schema_name, table_name, table_id);
let opts = OpenOptions {
parent_dir: table_dir.to_string(),
};
let table_id = request.table_id;
// TODO(dennis): supports multi regions;
assert_eq!(request.region_numbers.len(), 1);
let region_number = request.region_numbers[0];
@@ -642,8 +642,14 @@ mod tests {
#[test]
fn test_table_dir() {
assert_eq!("public/test_table/", table_dir("public", "test_table"));
assert_eq!("prometheus/demo/", table_dir("prometheus", "demo"));
assert_eq!(
"public/test_table_1024/",
table_dir("public", "test_table", 1024)
);
assert_eq!(
"prometheus/demo_1024/",
table_dir("prometheus", "demo", 1024)
);
}
#[tokio::test]