From 451682ad138e6fb92246121df7241d055f70594c Mon Sep 17 00:00:00 2001 From: discord9 Date: Tue, 30 Jun 2026 21:46:15 +0800 Subject: [PATCH] docs(query): document runtime provider interface Signed-off-by: discord9 --- src/query/src/query_engine/runtime.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/query/src/query_engine/runtime.rs b/src/query/src/query_engine/runtime.rs index cdc030c2cca..a8dece0be1e 100644 --- a/src/query/src/query_engine/runtime.rs +++ b/src/query/src/query_engine/runtime.rs @@ -20,21 +20,29 @@ use datafusion::execution::runtime_env::{RuntimeEnv, RuntimeEnvBuilder}; use crate::options::QueryOptions; use crate::query_engine::state::MetricsMemoryPool; +/// Reference-counted query runtime provider. pub type QueryRuntimeProviderRef = Arc; +/// Context for building query runtime components. #[non_exhaustive] pub struct QueryRuntimeContext<'a> { + /// Query options used by the query engine. pub query_options: &'a QueryOptions, + /// Resolved memory pool size in bytes. pub resolved_memory_pool_size: usize, } +/// Provides DataFusion session and runtime setup for the query engine. pub trait QueryRuntimeProvider: Send + Sync + 'static { + /// Configures the DataFusion session config before building the session state. fn configure_session_config(&self, _ctx: QueryRuntimeContext<'_>, _config: &mut SessionConfig) { } + /// Builds the DataFusion runtime environment. fn build_runtime_env(&self, ctx: QueryRuntimeContext<'_>) -> Arc; } +/// Default query runtime provider. #[derive(Debug, Default)] pub struct DefaultQueryRuntimeProvider;