pub struct OpenLineageQueryPlanner { /* private fields */ }Expand description
A QueryPlanner that emits OpenLineage events around a query.
It does the &SessionState-bound, async work — extract lineage, resolve
context, emit START, mint the run_id, emit FAIL on a planning error — then
hands off to physical planning by wrapping the logical plan in a
LineageMarker. The registered LineageExtensionPlanner lowers that
marker into the terminal OpenLineageExec. Built by
crate::session::instrument_session_state.
Implementations§
Source§impl OpenLineageQueryPlanner
impl OpenLineageQueryPlanner
Sourcepub fn new(
client: OpenLineageClient,
context: Arc<dyn LineageContextProvider>,
config: OpenLineageConfig,
extra_extension_planners: Vec<Arc<dyn ExtensionPlanner + Send + Sync>>,
) -> Self
pub fn new( client: OpenLineageClient, context: Arc<dyn LineageContextProvider>, config: OpenLineageConfig, extra_extension_planners: Vec<Arc<dyn ExtensionPlanner + Send + Sync>>, ) -> Self
Build a planner whose physical planning lowers our marker plus
extra_extension_planners (any the host session already registered).
Trait Implementations§
Source§impl Debug for OpenLineageQueryPlanner
impl Debug for OpenLineageQueryPlanner
Source§impl QueryPlanner for OpenLineageQueryPlanner
impl QueryPlanner for OpenLineageQueryPlanner
Source§fn create_physical_plan<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
logical_plan: &'life1 LogicalPlan,
session_state: &'life2 SessionState,
) -> Pin<Box<dyn Future<Output = Result<Arc<dyn ExecutionPlan>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn create_physical_plan<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
logical_plan: &'life1 LogicalPlan,
session_state: &'life2 SessionState,
) -> Pin<Box<dyn Future<Output = Result<Arc<dyn ExecutionPlan>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Given a
LogicalPlan, create an ExecutionPlan suitable for executionAuto Trait Implementations§
impl !RefUnwindSafe for OpenLineageQueryPlanner
impl !UnwindSafe for OpenLineageQueryPlanner
impl Freeze for OpenLineageQueryPlanner
impl Send for OpenLineageQueryPlanner
impl Sync for OpenLineageQueryPlanner
impl Unpin for OpenLineageQueryPlanner
impl UnsafeUnpin for OpenLineageQueryPlanner
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more