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>
impl<'a> ExprHumanizerExt<'a>
pub fn new( items: BTreeMap<GlobalId, TransientItem>, inner: &'a dyn ExprHumanizer, ) -> Self
Trait Implementations§
Source§impl<'a> Debug for ExprHumanizerExt<'a>
impl<'a> Debug for ExprHumanizerExt<'a>
Source§impl<'a> ExprHumanizer for ExprHumanizerExt<'a>
impl<'a> ExprHumanizer for ExprHumanizerExt<'a>
Source§fn humanize_id(&self, id: GlobalId) -> Option<String>
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>
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>>
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
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>>
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>
fn humanize_column(&self, id: GlobalId, column: usize) -> Option<String>
Returns the
#column
name for the relation identified by id
.Source§fn humanize_column_type(
&self,
typ: &ColumnType,
postgres_compat: bool,
) -> String
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> 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
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> 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 moreSource§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, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
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
.Source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
Source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign
, for types that do not implement AddAssign
.