mz_repr::explain

Struct ExprHumanizerExt

Source
pub struct ExprHumanizerExt<'a> {
    items: BTreeMap<GlobalId, TransientItem>,
    inner: &'a dyn ExprHumanizer,
}
Expand description

An ExprHumanizer that extends the inner instance with shadow items that are reported as present, even though they might not exist in inner.

Fields§

§items: BTreeMap<GlobalId, TransientItem>

A map of custom items that might not exist in the backing inner humanizer, but are reported as present by this humanizer instance.

§inner: &'a dyn ExprHumanizer

The inner humanizer used to resolve queries for GlobalId values not present in the items map.

Implementations§

Source§

impl<'a> ExprHumanizerExt<'a>

Source

pub fn new( items: BTreeMap<GlobalId, TransientItem>, inner: &'a dyn ExprHumanizer, ) -> Self

Trait Implementations§

Source§

impl<'a> Debug for ExprHumanizerExt<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> ExprHumanizer for ExprHumanizerExt<'a>

Source§

fn humanize_id(&self, id: GlobalId) -> Option<String>

Attempts to return a human-readable string for the relation identified by id.
Source§

fn humanize_id_unqualified(&self, id: GlobalId) -> Option<String>

Same as above, but without qualifications, e.g., only foo for materialize.public.foo.
Source§

fn humanize_id_parts(&self, id: GlobalId) -> Option<Vec<String>>

Like Self::humanize_id, but returns the constituent parts of the name as individual elements.
Source§

fn humanize_scalar_type(&self, ty: &ScalarType, postgres_compat: bool) -> String

Returns a human-readable name for the specified scalar type. Used in, e.g., EXPLAIN and error msgs, in which case exact Postgres compatibility is less important than showing as much detail as possible. Also used in pg_typeof, where Postgres compatibility is more important.
Source§

fn column_names_for_id(&self, id: GlobalId) -> Option<Vec<String>>

Returns a vector of column names for the relation identified by id.
Source§

fn humanize_column(&self, id: GlobalId, column: usize) -> Option<String>

Returns the #column name for the relation identified by id.
Source§

fn id_exists(&self, id: GlobalId) -> bool

Returns whether the specified id exists.
Source§

fn humanize_column_type( &self, typ: &ColumnType, postgres_compat: bool, ) -> String

Returns a human-readable name for the specified column type. Used in, e.g., EXPLAIN and error msgs, in which case exact Postgres compatibility is less important than showing as much detail as possible. Also used in pg_typeof, where Postgres compatibility is more important.

Auto Trait Implementations§

§

impl<'a> Freeze for ExprHumanizerExt<'a>

§

impl<'a> !RefUnwindSafe for ExprHumanizerExt<'a>

§

impl<'a> !Send for ExprHumanizerExt<'a>

§

impl<'a> !Sync for ExprHumanizerExt<'a>

§

impl<'a> Unpin for ExprHumanizerExt<'a>

§

impl<'a> !UnwindSafe for ExprHumanizerExt<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T, U> CastInto<U> for T
where U: CastFrom<T>,

Source§

fn cast_into(self) -> U

Performs the cast.
Source§

impl<T> CopyAs<T> for T

Source§

fn copy_as(self) -> T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T, U> OverrideFrom<Option<&T>> for U
where U: OverrideFrom<T>,

Source§

fn override_from(self, layer: &Option<&T>) -> U

Override the configuration represented by Self with values from the given layer.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize = _

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<P, R> ProtoType<R> for P
where R: RustType<P>,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<'a, S, T> Semigroup<&'a S> for T
where T: Semigroup<S>,

Source§

fn plus_equals(&mut self, rhs: &&'a S)

The method of std::ops::AddAssign, for types that do not implement AddAssign.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more