refactor: Rename table-engine to mito (#539)

* refactor: Rename table-engine to mito

* style: Format codes

* docs: Update mito engine comment

* docs: Explain what is mito in README
This commit is contained in:
Yingwen
2022-11-16 18:19:29 +08:00
committed by GitHub
parent 7b43f027f9
commit 55f18b5a0b
24 changed files with 63 additions and 55 deletions

68
Cargo.lock generated
View File

@@ -807,6 +807,7 @@ dependencies = [
"lazy_static",
"log-store",
"meta-client",
"mito",
"object-store",
"opendal",
"regex",
@@ -815,7 +816,6 @@ dependencies = [
"snafu",
"storage",
"table",
"table-engine",
"tempdir",
"tokio",
]
@@ -1739,6 +1739,7 @@ dependencies = [
"meta-client",
"meta-srv",
"metrics",
"mito",
"object-store",
"query",
"script",
@@ -1751,7 +1752,6 @@ dependencies = [
"store-api",
"substrait 0.1.0",
"table",
"table-engine",
"tempdir",
"tokio",
"tokio-stream",
@@ -3187,6 +3187,36 @@ dependencies = [
"windows-sys",
]
[[package]]
name = "mito"
version = "0.1.0"
dependencies = [
"arc-swap",
"async-stream",
"async-trait",
"chrono",
"common-catalog",
"common-error",
"common-query",
"common-recordbatch",
"common-telemetry",
"common-time",
"datafusion",
"datafusion-common",
"datatypes",
"futures",
"log-store",
"object-store",
"serde",
"serde_json",
"snafu",
"storage",
"store-api",
"table",
"tempdir",
"tokio",
]
[[package]]
name = "moka"
version = "0.9.6"
@@ -5092,6 +5122,7 @@ dependencies = [
"futures",
"futures-util",
"log-store",
"mito",
"paste",
"query",
"ron",
@@ -5106,7 +5137,6 @@ dependencies = [
"sql",
"storage",
"table",
"table-engine",
"tempdir",
"tokio",
"tokio-test",
@@ -5469,10 +5499,10 @@ dependencies = [
"common-time",
"datatypes",
"itertools",
"mito",
"once_cell",
"snafu",
"sqlparser",
"table-engine",
]
[[package]]
@@ -5778,36 +5808,6 @@ dependencies = [
"tokio-util",
]
[[package]]
name = "table-engine"
version = "0.1.0"
dependencies = [
"arc-swap",
"async-stream",
"async-trait",
"chrono",
"common-catalog",
"common-error",
"common-query",
"common-recordbatch",
"common-telemetry",
"common-time",
"datafusion",
"datafusion-common",
"datatypes",
"futures",
"log-store",
"object-store",
"serde",
"serde_json",
"snafu",
"storage",
"store-api",
"table",
"tempdir",
"tokio",
]
[[package]]
name = "tagptr"
version = "0.2.0"

View File

@@ -32,7 +32,7 @@ members = [
"src/storage",
"src/store-api",
"src/table",
"src/table-engine",
"src/mito",
]
[profile.release]

View File

@@ -42,6 +42,6 @@ log-store = { path = "../log-store" }
object-store = { path = "../object-store" }
opendal = "0.17"
storage = { path = "../storage" }
table-engine = { path = "../table-engine" }
mito = { path = "../mito" }
tempdir = "0.3"
tokio = { version = "1.0", features = ["full"] }

View File

@@ -372,13 +372,13 @@ pub struct TableEntryValue {
#[cfg(test)]
mod tests {
use log_store::fs::noop::NoopLogStore;
use mito::config::EngineConfig;
use mito::engine::MitoEngine;
use object_store::ObjectStore;
use storage::config::EngineConfig as StorageEngineConfig;
use storage::EngineImpl;
use table::metadata::TableType;
use table::metadata::TableType::Base;
use table_engine::config::EngineConfig;
use table_engine::engine::MitoEngine;
use tempdir::TempDir;
use super::*;

View File

@@ -46,7 +46,7 @@ storage = { path = "../storage" }
store-api = { path = "../store-api" }
substrait = { path = "../common/substrait" }
table = { path = "../table" }
table-engine = { path = "../table-engine", features = ["test"] }
mito = { path = "../mito", features = ["test"] }
tokio = { version = "1.18", features = ["full"] }
tokio-stream = { version = "0.1", features = ["net"] }
tonic = "0.8"

View File

@@ -25,6 +25,8 @@ use log_store::fs::config::LogConfig;
use log_store::fs::log::LocalFileLogStore;
use meta_client::client::{MetaClient, MetaClientBuilder};
use meta_client::MetaClientOpts;
use mito::config::EngineConfig as TableEngineConfig;
use mito::engine::MitoEngine;
use object_store::layers::LoggingLayer;
use object_store::services::fs::Builder;
use object_store::{util, ObjectStore};
@@ -33,8 +35,6 @@ use snafu::prelude::*;
use storage::config::EngineConfig as StorageEngineConfig;
use storage::EngineImpl;
use table::table::TableIdProviderRef;
use table_engine::config::EngineConfig as TableEngineConfig;
use table_engine::engine::MitoEngine;
use crate::datanode::{DatanodeOptions, ObjectStoreConfig};
use crate::error::{

View File

@@ -19,12 +19,12 @@ use catalog::remote::MetaKvBackend;
use common_catalog::consts::MIN_USER_TABLE_ID;
use meta_client::client::{MetaClient, MetaClientBuilder};
use meta_srv::mocks::MockInfo;
use mito::config::EngineConfig as TableEngineConfig;
use query::QueryEngineFactory;
use storage::config::EngineConfig as StorageEngineConfig;
use storage::EngineImpl;
use table::metadata::TableId;
use table::table::{TableIdProvider, TableIdProviderRef};
use table_engine::config::EngineConfig as TableEngineConfig;
use crate::datanode::DatanodeOptions;
use crate::error::Result;
@@ -38,7 +38,7 @@ impl Instance {
// This method is used in other crate's testing codes, so move it out of "cfg(test)".
// TODO(LFC): Delete it when callers no longer need it.
pub async fn new_mock() -> Result<Self> {
use table_engine::table::test_util::{new_test_object_store, MockEngine, MockMitoEngine};
use mito::table::test_util::{new_test_object_store, MockEngine, MockMitoEngine};
let mock_info = meta_srv::mocks::mock_with_memstore().await;
let meta_client = Some(Arc::new(mock_meta_client(mock_info, 0).await));

View File

@@ -97,6 +97,8 @@ mod tests {
use datatypes::schema::{ColumnSchema, SchemaBuilder, SchemaRef};
use datatypes::value::Value;
use log_store::fs::noop::NoopLogStore;
use mito::config::EngineConfig as TableEngineConfig;
use mito::engine::MitoEngine;
use object_store::services::fs::Builder;
use object_store::ObjectStore;
use query::QueryEngineFactory;
@@ -106,8 +108,6 @@ mod tests {
use table::error::Result as TableResult;
use table::metadata::TableInfoRef;
use table::{Table, TableRef};
use table_engine::config::EngineConfig as TableEngineConfig;
use table_engine::engine::MitoEngine;
use tempdir::TempDir;
use super::*;

View File

@@ -20,11 +20,11 @@ use common_catalog::consts::{DEFAULT_CATALOG_NAME, DEFAULT_SCHEMA_NAME, MIN_USER
use datatypes::data_type::ConcreteDataType;
use datatypes::schema::{ColumnSchema, SchemaBuilder};
use frontend::frontend::Mode;
use mito::config::EngineConfig;
use mito::table::test_util::{new_test_object_store, MockEngine, MockMitoEngine};
use snafu::ResultExt;
use table::engine::{EngineContext, TableEngineRef};
use table::requests::CreateTableRequest;
use table_engine::config::EngineConfig;
use table_engine::table::test_util::{new_test_object_store, MockEngine, MockMitoEngine};
use tempdir::TempDir;
use crate::datanode::{DatanodeOptions, ObjectStoreConfig};

View File

@@ -1,5 +1,5 @@
[package]
name = "table-engine"
name = "mito"
version = "0.1.0"
edition = "2021"
license = "Apache-2.0"

8
src/mito/README.md Normal file
View File

@@ -0,0 +1,8 @@
# Mito
Mito is GreptimeDB's default table engine.
## About Mito
The Alfa Romeo [MiTo](https://en.wikipedia.org/wiki/Alfa_Romeo_MiTo) is a front-wheel drive, three-door supermini designed by Centro Stile Alfa Romeo.
> "You can't be a true petrolhead until you've owned an Alfa Romeo." -- by Jeremy Clarkson

View File

@@ -64,7 +64,7 @@ fn table_dir(schema_name: &str, table_name: &str) -> String {
/// [TableEngine] implementation.
///
/// About mito <https://en.wikipedia.org/wiki/Alfa_Romeo_MiTo>.
/// "you can't be a true petrolhead until you've owned an Alfa Romeo" -- by Jeremy Clarkson
/// "You can't be a true petrolhead until you've owned an Alfa Romeo." -- by Jeremy Clarkson
#[derive(Clone)]
pub struct MitoEngine<S: StorageEngine> {
inner: Arc<MitoEngineInner<S>>,

View File

@@ -58,7 +58,7 @@ log-store = { path = "../log-store" }
ron = "0.7"
serde = { version = "1.0", features = ["derive"] }
storage = { path = "../storage" }
table-engine = { path = "../table-engine", features = ["test"] }
mito = { path = "../mito", features = ["test"] }
tempdir = "0.3"
tokio = { version = "1.18", features = ["full"] }
tokio-test = "0.4"

View File

@@ -96,17 +96,17 @@ impl ScriptManager {
#[cfg(test)]
mod tests {
use catalog::CatalogManager;
use mito::config::EngineConfig as TableEngineConfig;
use mito::table::test_util::new_test_object_store;
use query::QueryEngineFactory;
use table_engine::config::EngineConfig as TableEngineConfig;
use table_engine::table::test_util::new_test_object_store;
use super::*;
type DefaultEngine = MitoEngine<EngineImpl<LocalFileLogStore>>;
use log_store::fs::config::LogConfig;
use log_store::fs::log::LocalFileLogStore;
use mito::engine::MitoEngine;
use storage::config::EngineConfig as StorageEngineConfig;
use storage::EngineImpl;
use table_engine::engine::MitoEngine;
use tempdir::TempDir;
#[tokio::test]

View File

@@ -15,4 +15,4 @@ itertools = "0.10"
once_cell = "1.10"
snafu = { version = "0.7", features = ["backtraces"] }
sqlparser = "0.15.0"
table-engine = { path = "../table-engine" }
mito = { path = "../mito" }

View File

@@ -15,13 +15,13 @@
use std::cmp::Ordering;
use itertools::Itertools;
use mito::engine;
use once_cell::sync::Lazy;
use snafu::{ensure, OptionExt, ResultExt};
use sqlparser::ast::Value;
use sqlparser::dialect::keywords::Keyword;
use sqlparser::parser::IsOptional::Mandatory;
use sqlparser::tokenizer::{Token, Word};
use table_engine::engine;
use crate::ast::{ColumnDef, Ident, TableConstraint, Value as SqlValue};
use crate::error::{self, InvalidTimeIndexSnafu, Result, SyntaxSnafu};