Struct mz_compute_client::explain::Explanation
source · pub struct Explanation<'a, Formatter, ViewExpr>where
Formatter: ViewFormatter<ViewExpr>,{
formatter: &'a Formatter,
expr_humanizer: &'a dyn ExprHumanizer,
sources: Vec<(GlobalId, &'a MapFilterProject)>,
views: Vec<(GlobalId, &'a ViewExpr)>,
finishing: Option<RowSetFinishing>,
}
Expand description
An Explanation
facilitates pretty-printing of the parts of a
DataflowDescription
that are relevant to dataflow rendering.
By default, the fmt::Display
implementation renders the expression as
described in the module docs. Additional information may be attached to the
explanation via the other public methods on the type.
Fields§
§formatter: &'a Formatter
Determines how sources and views are formatted
expr_humanizer: &'a dyn ExprHumanizer
§sources: Vec<(GlobalId, &'a MapFilterProject)>
Each source that has some MapFilterProject
.
views: Vec<(GlobalId, &'a ViewExpr)>
One ViewExplanation
per view in the dataflow.
finishing: Option<RowSetFinishing>
An optional RowSetFinishing
to mention at the end.
Implementations§
source§impl<'a, Formatter, ViewExpr> Explanation<'a, Formatter, ViewExpr>where
Formatter: ViewFormatter<ViewExpr>,
impl<'a, Formatter, ViewExpr> Explanation<'a, Formatter, ViewExpr>where
Formatter: ViewFormatter<ViewExpr>,
pub fn new(
expr: &'a ViewExpr,
expr_humanizer: &'a dyn ExprHumanizer,
formatter: &'a Formatter
) -> Self
pub fn new_from_dataflow(
dataflow: &'a DataflowDescription<ViewExpr>,
expr_humanizer: &'a dyn ExprHumanizer,
formatter: &'a Formatter
) -> Self
sourcepub fn explain_row_set_finishing(&mut self, finishing: RowSetFinishing)
pub fn explain_row_set_finishing(&mut self, finishing: RowSetFinishing)
Attach a RowSetFinishing
to the explanation.
Trait Implementations§
source§impl<'a, Formatter, ViewExpr: Debug> Debug for Explanation<'a, Formatter, ViewExpr>where
Formatter: ViewFormatter<ViewExpr> + Debug,
impl<'a, Formatter, ViewExpr: Debug> Debug for Explanation<'a, Formatter, ViewExpr>where
Formatter: ViewFormatter<ViewExpr> + Debug,
Auto Trait Implementations§
impl<'a, Formatter, ViewExpr> !RefUnwindSafe for Explanation<'a, Formatter, ViewExpr>
impl<'a, Formatter, ViewExpr> !Send for Explanation<'a, Formatter, ViewExpr>
impl<'a, Formatter, ViewExpr> !Sync for Explanation<'a, Formatter, ViewExpr>
impl<'a, Formatter, ViewExpr> Unpin for Explanation<'a, Formatter, ViewExpr>
impl<'a, Formatter, ViewExpr> !UnwindSafe for Explanation<'a, Formatter, ViewExpr>
Blanket Implementations§
source§impl<T> DisplayExt for Twhere
T: Display,
impl<T> DisplayExt for Twhere
T: Display,
source§fn to_string_alt(&self) -> String
fn to_string_alt(&self) -> String
Formats an object with the “alternative” format (
{:#}
) and returns it.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
.