fix: arc() usage in non-test code (#2091)

* chore: try fix arc issue

* chore: move `parse_catalog_and_schema_from_client_database_name` to catalog crate

* fix: arc issue

* fix: arc issue

* fix: arc issue

* fix: arc issue

* fix: minor change
This commit is contained in:
shuiyisong
2023-08-03 18:16:02 +08:00
committed by GitHub
parent 21655cb56f
commit 6f1094db0a
20 changed files with 174 additions and 156 deletions

View File

@@ -35,7 +35,7 @@ use datatypes::vectors::VectorRef;
use futures::Stream;
use query::parser::{QueryLanguageParser, QueryStatement};
use query::QueryEngineRef;
use session::context::QueryContext;
use session::context::QueryContextBuilder;
use snafu::{ensure, ResultExt};
use sql::statements::statement::Statement;
@@ -286,15 +286,16 @@ impl Script for PyScript {
matches!(stmt, QueryStatement::Sql(Statement::Query { .. })),
error::UnsupportedSqlSnafu { sql }
);
let ctx = QueryContextBuilder::default().build();
let plan = self
.query_engine
.planner()
.plan(stmt, QueryContext::arc())
.plan(stmt, ctx.clone())
.await
.context(DatabaseQuerySnafu)?;
let res = self
.query_engine
.execute(plan, QueryContext::arc())
.execute(plan, ctx)
.await
.context(DatabaseQuerySnafu)?;
let copr = self.copr.clone();

View File

@@ -34,7 +34,7 @@ use rustpython_compiler_core::CodeObject;
use rustpython_vm as vm;
#[cfg(test)]
use serde::Deserialize;
use session::context::{QueryContext, QueryContextBuilder};
use session::context::QueryContextBuilder;
use snafu::{OptionExt, ResultExt};
use vm::convert::ToPyObject;
use vm::{pyclass as rspyclass, PyObjectRef, PyPayload, PyResult, VirtualMachine};
@@ -379,14 +379,15 @@ impl PyQueryEngine {
let rt = tokio::runtime::Runtime::new().map_err(|e| e.to_string())?;
let handle = rt.handle().clone();
let res = handle.block_on(async {
let ctx = QueryContextBuilder::default().build();
let plan = engine
.planner()
.plan(stmt, QueryContextBuilder::default().build())
.plan(stmt, ctx.clone())
.await
.map_err(|e| e.to_string())?;
let res = engine
.clone()
.execute(plan, QueryContext::arc())
.execute(plan, ctx)
.await
.map_err(|e| e.to_string());
match res {

View File

@@ -32,7 +32,7 @@ use datatypes::schema::{ColumnSchema, RawSchema};
use datatypes::vectors::{StringVector, TimestampMillisecondVector, Vector, VectorRef};
use query::parser::QueryLanguageParser;
use query::QueryEngineRef;
use session::context::QueryContext;
use session::context::QueryContextBuilder;
use snafu::{ensure, OptionExt, ResultExt};
use store_api::storage::ScanRequest;
use table::requests::{CreateTableRequest, InsertRequest, TableOptions};
@@ -246,17 +246,18 @@ impl ScriptsTable {
name
);
let stmt = QueryLanguageParser::parse_sql(&sql).unwrap();
let ctx = QueryContextBuilder::default().build();
let plan = self
.query_engine
.planner()
.plan(stmt, QueryContext::arc())
.plan(stmt, ctx.clone())
.await
.unwrap();
let stream = match self
.query_engine
.execute(plan, QueryContext::arc())
.execute(plan, ctx)
.await
.context(FindScriptSnafu { name })?
{