feat: support "use" stmt part 1 (#672)

* feat: a bare sketch of session; support "use" in MySQL server; modify insertion and selection related codes in Datanode
This commit is contained in:
LFC
2022-12-01 17:05:32 +08:00
committed by GitHub
parent 2e17e9c4b5
commit 6127706b5b
60 changed files with 943 additions and 494 deletions

View File

@@ -48,6 +48,7 @@ rustpython-vm = { git = "https://github.com/RustPython/RustPython", optional = t
"default",
"freeze-stdlib",
] }
session = { path = "../session" }
snafu = { version = "0.7", features = ["backtraces"] }
sql = { path = "../sql" }
table = { path = "../table" }

View File

@@ -26,6 +26,7 @@ use common_recordbatch::{RecordBatch, RecordBatchStream, SendableRecordBatchStre
use datatypes::schema::SchemaRef;
use futures::Stream;
use query::QueryEngineRef;
use session::context::QueryContext;
use snafu::{ensure, ResultExt};
use sql::statements::statement::Statement;
@@ -93,7 +94,9 @@ impl Script for PyScript {
matches!(stmt, Statement::Query { .. }),
error::UnsupportedSqlSnafu { sql }
);
let plan = self.query_engine.statement_to_plan(stmt)?;
let plan = self
.query_engine
.statement_to_plan(stmt, Arc::new(QueryContext::new()))?;
let res = self.query_engine.execute(&plan).await?;
let copr = self.copr.clone();
match res {

View File

@@ -28,6 +28,7 @@ use datatypes::prelude::{ConcreteDataType, ScalarVector};
use datatypes::schema::{ColumnSchema, Schema, SchemaBuilder};
use datatypes::vectors::{StringVector, TimestampVector, VectorRef};
use query::QueryEngineRef;
use session::context::QueryContext;
use snafu::{ensure, OptionExt, ResultExt};
use table::requests::{CreateTableRequest, InsertRequest};
@@ -151,7 +152,7 @@ impl ScriptsTable {
let plan = self
.query_engine
.sql_to_plan(&sql)
.sql_to_plan(&sql, Arc::new(QueryContext::new()))
.context(FindScriptSnafu { name })?;
let stream = match self