Struct mz_expr_parser::TestCatalog
source · pub struct TestCatalog {
objects: BTreeMap<String, (GlobalId, Vec<String>, RelationType)>,
names: BTreeMap<GlobalId, String>,
}
Expand description
A catalog that holds types of objects previously created for the unit test.
This is for the purpose of allowing MirRelationExpr
s to refer to them
later.
Fields§
§objects: BTreeMap<String, (GlobalId, Vec<String>, RelationType)>
§names: BTreeMap<GlobalId, String>
Implementations§
source§impl<'a> TestCatalog
impl<'a> TestCatalog
sourcepub fn insert(
&mut self,
name: &str,
cols: Vec<String>,
typ: RelationType,
transient: bool,
) -> Result<GlobalId, String>
pub fn insert( &mut self, name: &str, cols: Vec<String>, typ: RelationType, transient: bool, ) -> Result<GlobalId, String>
Registers an object in the catalog.
Specifying transient
as true allows the object to be deleted by
Self::remove_transient_objects.
Returns the GlobalId assigned by the catalog to the object.
Errors if an object of the same name is already in the catalog.
pub fn get( &'a self, name: &str, ) -> Option<&'a (GlobalId, Vec<String>, RelationType)>
sourcepub fn get_source_name(&'a self, id: &GlobalId) -> Option<&'a String>
pub fn get_source_name(&'a self, id: &GlobalId) -> Option<&'a String>
Looks up the name of the object referred to as id
.
sourcepub fn remove_transient_objects(&mut self)
pub fn remove_transient_objects(&mut self)
Clears all transient objects from the catalog.
Trait Implementations§
source§impl Debug for TestCatalog
impl Debug for TestCatalog
source§impl Default for TestCatalog
impl Default for TestCatalog
source§fn default() -> TestCatalog
fn default() -> TestCatalog
Returns the “default value” for a type. Read more
source§impl ExprHumanizer for TestCatalog
impl ExprHumanizer for TestCatalog
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) -> String
fn humanize_scalar_type(&self, ty: &ScalarType) -> String
Returns a human-readable name for the specified scalar type.
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) -> String
fn humanize_column_type(&self, typ: &ColumnType) -> String
Returns a human-readable name for the specified column type.
Auto Trait Implementations§
impl Freeze for TestCatalog
impl RefUnwindSafe for TestCatalog
impl Send for TestCatalog
impl Sync for TestCatalog
impl Unpin for TestCatalog
impl UnwindSafe for TestCatalog
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> 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
.