Normalizes an unresolved object name.
(mut name: UnresolvedItemName)
| 50 | |
| 51 | /// Normalizes an unresolved object name. |
| 52 | pub fn unresolved_item_name(mut name: UnresolvedItemName) -> Result<PartialItemName, PlanError> { |
| 53 | if name.0.len() < 1 || name.0.len() > 3 { |
| 54 | return Err(PlanError::MisqualifiedName(name.to_string())); |
| 55 | } |
| 56 | let out = PartialItemName { |
| 57 | item: ident( |
| 58 | name.0 |
| 59 | .pop() |
| 60 | .expect("name checked to have at least one component"), |
| 61 | ), |
| 62 | schema: name.0.pop().map(ident), |
| 63 | database: name.0.pop().map(ident), |
| 64 | }; |
| 65 | assert!(name.0.is_empty()); |
| 66 | Ok(out) |
| 67 | } |
| 68 | |
| 69 | /// Normalizes an unresolved schema name. |
| 70 | pub fn unresolved_schema_name( |
no test coverage detected