mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-05-31 04:10:38 +00:00
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:
@@ -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();
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 })?
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user