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>)
| 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 | |
| 1022 | pub fn resolve_cluster_for_materialized_view<'a>( |
no test coverage detected