mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-07 13:52:59 +00:00
chore: Setup code skeleton of datanode
This commit is contained in:
@@ -6,3 +6,4 @@ edition = "2021"
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
snafu = "0.7"
|
||||
|
||||
1
src/datanode/src/catalog.rs
Normal file
1
src/datanode/src/catalog.rs
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
8
src/datanode/src/error.rs
Normal file
8
src/datanode/src/error.rs
Normal file
@@ -0,0 +1,8 @@
|
||||
use snafu::Snafu;
|
||||
|
||||
/// business error of datanode.
|
||||
#[derive(Debug, Snafu)]
|
||||
#[snafu(display("DataNode error"))]
|
||||
pub struct Error;
|
||||
|
||||
pub type Result<T> = std::result::Result<T, Error>;
|
||||
@@ -1 +1,21 @@
|
||||
mod catalog;
|
||||
mod error;
|
||||
mod processors;
|
||||
mod rpc;
|
||||
|
||||
use crate::error::Result;
|
||||
use crate::rpc::Services;
|
||||
|
||||
/// DataNode service.
|
||||
pub struct DataNode {
|
||||
services: Services,
|
||||
}
|
||||
|
||||
impl DataNode {
|
||||
/// Shutdown the datanode service gracefully.
|
||||
pub async fn shutdown(&self) -> Result<()> {
|
||||
self.services.shutdown().await?;
|
||||
|
||||
unimplemented!()
|
||||
}
|
||||
}
|
||||
|
||||
1
src/datanode/src/processors.rs
Normal file
1
src/datanode/src/processors.rs
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
10
src/datanode/src/rpc.rs
Normal file
10
src/datanode/src/rpc.rs
Normal file
@@ -0,0 +1,10 @@
|
||||
use crate::error::Result;
|
||||
|
||||
/// All rpc services.
|
||||
pub struct Services {}
|
||||
|
||||
impl Services {
|
||||
pub async fn shutdown(&self) -> Result<()> {
|
||||
unimplemented!()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
mod schema;
|
||||
|
||||
1
src/datatypes/src/schema.rs
Normal file
1
src/datatypes/src/schema.rs
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
8
src/logical-plans/Cargo.toml
Normal file
8
src/logical-plans/Cargo.toml
Normal file
@@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "logical-plans"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
1
src/logical-plans/src/lib.rs
Normal file
1
src/logical-plans/src/lib.rs
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
src/query/src/executor.rs
Normal file
1
src/query/src/executor.rs
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
|
||||
mod executor;
|
||||
mod logical_optimizer;
|
||||
mod physical_optimizer;
|
||||
mod physical_planner;
|
||||
|
||||
1
src/query/src/logical_optimizer.rs
Normal file
1
src/query/src/logical_optimizer.rs
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
src/query/src/physical_optimizer.rs
Normal file
1
src/query/src/physical_optimizer.rs
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
src/query/src/physical_planner.rs
Normal file
1
src/query/src/physical_planner.rs
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
9
src/sql/Cargo.toml
Normal file
9
src/sql/Cargo.toml
Normal file
@@ -0,0 +1,9 @@
|
||||
[package]
|
||||
name = "sql"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
sqlparser = "0.16.0"
|
||||
1
src/sql/src/ast.rs
Normal file
1
src/sql/src/ast.rs
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
3
src/sql/src/lib.rs
Normal file
3
src/sql/src/lib.rs
Normal file
@@ -0,0 +1,3 @@
|
||||
mod ast;
|
||||
mod parser;
|
||||
mod planner;
|
||||
1
src/sql/src/parser.rs
Normal file
1
src/sql/src/parser.rs
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
src/sql/src/planner.rs
Normal file
1
src/sql/src/planner.rs
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
@@ -6,3 +6,4 @@ edition = "2021"
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
async-trait = "0.1"
|
||||
|
||||
3
src/table/src/engine.rs
Normal file
3
src/table/src/engine.rs
Normal file
@@ -0,0 +1,3 @@
|
||||
/// Table engine abstraction.
|
||||
#[async_trait::async_trait]
|
||||
pub trait Engine {}
|
||||
@@ -1 +1,5 @@
|
||||
mod engine;
|
||||
|
||||
/// Table abstraction.
|
||||
#[async_trait::async_trait]
|
||||
pub trait Table: Send + Sync {}
|
||||
|
||||
Reference in New Issue
Block a user