refactor: introduce DdlTaskExecutor and refactor statement executor (#2341)

* feat: add kv store option

* refactor: refactor statement executor

* refactor: refactor standalone table creator

* chore: apply suggestions from CR

* chore: apply suggestions from CR

* refactor: move ShowCreateTable and CreateDatabase to StatementExecutor

* fix: fix RegionDistribution

* feat: build standalone

* chore: apply suggestions from CR

* chore: apply suggestions from CR

* chore: apply suggestions from CR
This commit is contained in:
Weny Xu
2023-09-08 12:16:59 +08:00
committed by Ruihang Xia
parent 3f6d557b8d
commit f386329e29
45 changed files with 1597 additions and 1394 deletions
+8 -2
View File
@@ -33,7 +33,7 @@ use meta_client::MetaClientOptions;
use mito2::config::MitoConfig;
use mito2::engine::MitoEngine;
use object_store::util::normalize_dir;
use query::QueryEngineFactory;
use query::{QueryEngineFactory, QueryEngineRef};
use secrecy::SecretString;
use serde::{Deserialize, Serialize};
use servers::heartbeat_options::HeartbeatOptions;
@@ -401,6 +401,7 @@ pub struct Datanode {
services: Option<Services>,
heartbeat_task: Option<HeartbeatTask>,
region_server: RegionServer,
query_engine: QueryEngineRef,
greptimedb_telemetry_task: Arc<GreptimeDBTelemetryTask>,
}
@@ -423,7 +424,7 @@ impl Datanode {
.context(RuntimeResourceSnafu)?,
);
let mut region_server = RegionServer::new(query_engine, runtime.clone());
let mut region_server = RegionServer::new(query_engine.clone(), runtime.clone());
let log_store = Self::build_log_store(&opts).await?;
let object_store = store::new_object_store(&opts).await?;
let engines = Self::build_store_engines(&opts, log_store, object_store).await?;
@@ -454,6 +455,7 @@ impl Datanode {
services,
heartbeat_task,
region_server,
query_engine,
greptimedb_telemetry_task,
})
}
@@ -502,6 +504,10 @@ impl Datanode {
self.region_server.clone()
}
pub fn query_engine(&self) -> QueryEngineRef {
self.query_engine.clone()
}
// internal utils
/// Build [RaftEngineLogStore]