MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / dangerous_resolve_name

Method dangerous_resolve_name

src/sql/src/plan/statement.rs:997–1019  ·  view source on GitHub ↗

WARNING! This style of name resolution assumes the referred-to objects exists (i.e. panics if objects do not exist) so should never be used to handle user input.

(&self, name: Vec<&str>)

Source from the content-addressed store, hash-verified

995 /// WARNING! This style of name resolution assumes the referred-to objects exists (i.e. panics
996 /// if objects do not exist) so should never be used to handle user input.
997 pub fn dangerous_resolve_name(&self, name: Vec<&str>) -> ResolvedItemName {
998 tracing::trace!("dangerous_resolve_name {:?}", name);
999 // Note: Using unchecked here is okay because this function is already dangerous.
1000 let name: Vec<_> = name.into_iter().map(Ident::new_unchecked).collect();
1001 let name = UnresolvedItemName::qualified(&name);
1002 let entry = match self.resolve_item(RawItemName::Name(name.clone())) {
1003 Ok(entry) => entry,
1004 Err(_) => self
1005 .resolve_function(name.clone())
1006 .expect("name referred to an existing object"),
1007 };
1008
1009 let partial = normalize::unresolved_item_name(name).unwrap();
1010 let full_name = self.allocate_full_name(partial).unwrap();
1011
1012 ResolvedItemName::Item {
1013 id: entry.id(),
1014 qualifiers: entry.name().qualifiers.clone(),
1015 full_name,
1016 print_id: true,
1017 version: RelationVersionSelector::Latest,
1018 }
1019 }
1020}
1021
1022pub fn resolve_cluster_for_materialized_view<'a>(

Callers 9

plan_avgMethod · 0.80
plan_avg_internal_v1Method · 0.80
plan_varianceMethod · 0.80
plan_stddevMethod · 0.80
plan_bool_andMethod · 0.80
plan_bool_orMethod · 0.80
rewrite_functionMethod · 0.80
rewrite_exprMethod · 0.80

Calls 13

unresolved_item_nameFunction · 0.85
expectMethod · 0.80
unwrapMethod · 0.80
allocate_full_nameMethod · 0.80
NameClass · 0.50
collectMethod · 0.45
mapMethod · 0.45
into_iterMethod · 0.45
resolve_itemMethod · 0.45
cloneMethod · 0.45
resolve_functionMethod · 0.45
idMethod · 0.45

Tested by

no test coverage detected