Struct mz_adapter::explain_new::Explainable
source · pub(crate) struct Explainable<'a, T>(&'a mut T);
Expand description
Newtype struct for wrapping types that should
implement the mz_repr::explain_new::Explain
trait.
Tuple Fields§
§0: &'a mut T
Implementations§
source§impl<'a> Explainable<'a, FastPathPlan>
impl<'a> Explainable<'a, FastPathPlan>
fn as_explain_multi_plan(
&'a mut self,
context: &'a ExplainContext<'a>
) -> Result<ExplainMultiPlan<'a, FastPathPlan>, ExplainError>
source§impl<'a> Explainable<'a, MirRelationExpr>
impl<'a> Explainable<'a, MirRelationExpr>
fn as_explain_single_plan(
&'a mut self,
config: &'a ExplainConfig,
context: &'a ExplainContext<'a>
) -> Result<ExplainSinglePlan<'a, MirRelationExpr>, ExplainError>
source§impl<'a> Explainable<'a, DataflowDescription<OptimizedMirRelationExpr>>
impl<'a> Explainable<'a, DataflowDescription<OptimizedMirRelationExpr>>
fn as_explain_multi_plan(
&'a mut self,
config: &'a ExplainConfig,
context: &'a ExplainContext<'a>
) -> Result<ExplainMultiPlan<'a, MirRelationExpr>, ExplainError>
source§impl<'a, T> Explainable<'a, T>
impl<'a, T> Explainable<'a, T>
pub(crate) fn new(t: &'a mut T) -> Explainable<'a, T>
Trait Implementations§
source§impl<'a> Explain<'a> for Explainable<'a, DataflowDescription<OptimizedMirRelationExpr>>
impl<'a> Explain<'a> for Explainable<'a, DataflowDescription<OptimizedMirRelationExpr>>
§type Context = ExplainContext<'a>
type Context = ExplainContext<'a>
The type of the immutable context in which
the explanation will be rendered.
§type Text = ExplainMultiPlan<'a, MirRelationExpr>
type Text = ExplainMultiPlan<'a, MirRelationExpr>
The explanation type produced by a successful
Explain::explain_text
call.§type Json = ExplainMultiPlan<'a, MirRelationExpr>
type Json = ExplainMultiPlan<'a, MirRelationExpr>
The explanation type produced by a successful
Explain::explain_json
call.§type Dot = UnsupportedFormat
type Dot = UnsupportedFormat
The explanation type produced by a successful
Explain::explain_json
call.source§fn explain_text(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Text, ExplainError>
fn explain_text(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Text, ExplainError>
source§fn explain_json(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Text, ExplainError>
fn explain_json(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Text, ExplainError>
source§fn explain(
&'a mut self,
format: &'a ExplainFormat,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<String, ExplainError>
fn explain(
&'a mut self,
format: &'a ExplainFormat,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<String, ExplainError>
source§fn explain_dot(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Dot, ExplainError>
fn explain_dot(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Dot, ExplainError>
source§impl<'a> Explain<'a> for Explainable<'a, DataflowDescription<Plan>>
impl<'a> Explain<'a> for Explainable<'a, DataflowDescription<Plan>>
§type Context = <DataflowDescription<Plan<Timestamp>, (), Timestamp> as Explain<'a>>::Context
type Context = <DataflowDescription<Plan<Timestamp>, (), Timestamp> as Explain<'a>>::Context
The type of the immutable context in which
the explanation will be rendered.
§type Text = <DataflowDescription<Plan<Timestamp>, (), Timestamp> as Explain<'a>>::Text
type Text = <DataflowDescription<Plan<Timestamp>, (), Timestamp> as Explain<'a>>::Text
The explanation type produced by a successful
Explain::explain_text
call.§type Json = <DataflowDescription<Plan<Timestamp>, (), Timestamp> as Explain<'a>>::Json
type Json = <DataflowDescription<Plan<Timestamp>, (), Timestamp> as Explain<'a>>::Json
The explanation type produced by a successful
Explain::explain_json
call.§type Dot = <DataflowDescription<Plan<Timestamp>, (), Timestamp> as Explain<'a>>::Dot
type Dot = <DataflowDescription<Plan<Timestamp>, (), Timestamp> as Explain<'a>>::Dot
The explanation type produced by a successful
Explain::explain_json
call.source§fn explain_text(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Text, ExplainError>
fn explain_text(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Text, ExplainError>
source§fn explain_json(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Json, ExplainError>
fn explain_json(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Json, ExplainError>
source§fn explain_dot(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Dot, ExplainError>
fn explain_dot(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Dot, ExplainError>
source§fn explain(
&'a mut self,
format: &'a ExplainFormat,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<String, ExplainError>
fn explain(
&'a mut self,
format: &'a ExplainFormat,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<String, ExplainError>
source§impl<'a> Explain<'a> for Explainable<'a, FastPathPlan>
impl<'a> Explain<'a> for Explainable<'a, FastPathPlan>
§type Context = ExplainContext<'a>
type Context = ExplainContext<'a>
The type of the immutable context in which
the explanation will be rendered.
§type Text = ExplainMultiPlan<'a, FastPathPlan>
type Text = ExplainMultiPlan<'a, FastPathPlan>
The explanation type produced by a successful
Explain::explain_text
call.§type Json = ExplainMultiPlan<'a, FastPathPlan>
type Json = ExplainMultiPlan<'a, FastPathPlan>
The explanation type produced by a successful
Explain::explain_json
call.§type Dot = UnsupportedFormat
type Dot = UnsupportedFormat
The explanation type produced by a successful
Explain::explain_json
call.source§fn explain_text(
&'a mut self,
_config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Text, ExplainError>
fn explain_text(
&'a mut self,
_config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Text, ExplainError>
source§fn explain_json(
&'a mut self,
_config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Text, ExplainError>
fn explain_json(
&'a mut self,
_config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Text, ExplainError>
source§fn explain(
&'a mut self,
format: &'a ExplainFormat,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<String, ExplainError>
fn explain(
&'a mut self,
format: &'a ExplainFormat,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<String, ExplainError>
source§fn explain_dot(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Dot, ExplainError>
fn explain_dot(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Dot, ExplainError>
source§impl<'a> Explain<'a> for Explainable<'a, HirRelationExpr>
impl<'a> Explain<'a> for Explainable<'a, HirRelationExpr>
§type Context = <HirRelationExpr as Explain<'a>>::Context
type Context = <HirRelationExpr as Explain<'a>>::Context
The type of the immutable context in which
the explanation will be rendered.
§type Text = <HirRelationExpr as Explain<'a>>::Text
type Text = <HirRelationExpr as Explain<'a>>::Text
The explanation type produced by a successful
Explain::explain_text
call.§type Json = <HirRelationExpr as Explain<'a>>::Json
type Json = <HirRelationExpr as Explain<'a>>::Json
The explanation type produced by a successful
Explain::explain_json
call.§type Dot = <HirRelationExpr as Explain<'a>>::Dot
type Dot = <HirRelationExpr as Explain<'a>>::Dot
The explanation type produced by a successful
Explain::explain_json
call.source§fn explain_text(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Text, ExplainError>
fn explain_text(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Text, ExplainError>
source§fn explain_json(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Json, ExplainError>
fn explain_json(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Json, ExplainError>
source§fn explain_dot(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Dot, ExplainError>
fn explain_dot(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Dot, ExplainError>
source§fn explain(
&'a mut self,
format: &'a ExplainFormat,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<String, ExplainError>
fn explain(
&'a mut self,
format: &'a ExplainFormat,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<String, ExplainError>
source§impl<'a> Explain<'a> for Explainable<'a, MirRelationExpr>
impl<'a> Explain<'a> for Explainable<'a, MirRelationExpr>
§type Context = ExplainContext<'a>
type Context = ExplainContext<'a>
The type of the immutable context in which
the explanation will be rendered.
§type Text = ExplainSinglePlan<'a, MirRelationExpr>
type Text = ExplainSinglePlan<'a, MirRelationExpr>
The explanation type produced by a successful
Explain::explain_text
call.§type Json = ExplainSinglePlan<'a, MirRelationExpr>
type Json = ExplainSinglePlan<'a, MirRelationExpr>
The explanation type produced by a successful
Explain::explain_json
call.§type Dot = UnsupportedFormat
type Dot = UnsupportedFormat
The explanation type produced by a successful
Explain::explain_json
call.source§fn explain_text(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Text, ExplainError>
fn explain_text(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Text, ExplainError>
source§fn explain_json(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Json, ExplainError>
fn explain_json(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Json, ExplainError>
source§fn explain(
&'a mut self,
format: &'a ExplainFormat,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<String, ExplainError>
fn explain(
&'a mut self,
format: &'a ExplainFormat,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<String, ExplainError>
source§fn explain_dot(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Dot, ExplainError>
fn explain_dot(
&'a mut self,
config: &'a ExplainConfig,
context: &'a Self::Context
) -> Result<Self::Dot, ExplainError>
Auto Trait Implementations§
impl<'a, T> RefUnwindSafe for Explainable<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for Explainable<'a, T>where
T: Send,
impl<'a, T> Sync for Explainable<'a, T>where
T: Sync,
impl<'a, T> Unpin for Explainable<'a, T>
impl<'a, T> !UnwindSafe for Explainable<'a, T>
Blanket Implementations§
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.