mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2025-12-22 22:20:02 +00:00
fix: execute sql query in another catalog (#1457)
This commit is contained in:
@@ -16,14 +16,13 @@ use std::sync::Arc;
|
||||
|
||||
use async_trait::async_trait;
|
||||
use bytes::{Buf, Bytes, BytesMut};
|
||||
use catalog::datafusion::catalog_adapter::DfCatalogProviderAdapter;
|
||||
use catalog::CatalogManagerRef;
|
||||
use common_catalog::consts::DEFAULT_CATALOG_NAME;
|
||||
use datafusion::prelude::SessionContext;
|
||||
use datafusion_expr::LogicalPlan;
|
||||
use datafusion_substrait::logical_plan::consumer::from_substrait_plan;
|
||||
use datafusion_substrait::logical_plan::producer::to_substrait_plan;
|
||||
use prost::Message;
|
||||
use query::datafusion::DfCatalogListAdapter;
|
||||
use snafu::ResultExt;
|
||||
use substrait_proto::proto::Plan;
|
||||
|
||||
@@ -44,15 +43,8 @@ impl SubstraitPlan for DFLogicalSubstraitConvertor {
|
||||
catalog_manager: CatalogManagerRef,
|
||||
) -> Result<Self::Plan, Self::Error> {
|
||||
let mut context = SessionContext::new();
|
||||
context.register_catalog(
|
||||
DEFAULT_CATALOG_NAME,
|
||||
Arc::new(DfCatalogProviderAdapter::new(
|
||||
catalog_manager
|
||||
.catalog(DEFAULT_CATALOG_NAME)
|
||||
.unwrap()
|
||||
.unwrap(),
|
||||
)),
|
||||
);
|
||||
let df_catalog_list = Arc::new(DfCatalogListAdapter::new(catalog_manager));
|
||||
context.register_catalog_list(df_catalog_list);
|
||||
|
||||
let plan = Plan::decode(message).context(DecodeRelSnafu)?;
|
||||
let df_plan = from_substrait_plan(&mut context, &plan)
|
||||
|
||||
Reference in New Issue
Block a user