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

Function full_name

src/sql/src/normalize.rs:147–161  ·  view source on GitHub ↗

Converts an `UnresolvedItemName` to a `FullItemName` if the `UnresolvedItemName` is fully specified. Otherwise returns an error.

(mut raw_name: UnresolvedItemName)

Source from the content-addressed store, hash-verified

145/// Converts an `UnresolvedItemName` to a `FullItemName` if the
146/// `UnresolvedItemName` is fully specified. Otherwise returns an error.
147pub fn full_name(mut raw_name: UnresolvedItemName) -> Result<FullItemName, PlanError> {
148 match raw_name.0.len() {
149 3 => Ok(FullItemName {
150 item: ident(raw_name.0.pop().unwrap()),
151 schema: ident(raw_name.0.pop().unwrap()),
152 database: RawDatabaseSpecifier::Name(ident(raw_name.0.pop().unwrap())),
153 }),
154 2 => Ok(FullItemName {
155 item: ident(raw_name.0.pop().unwrap()),
156 schema: ident(raw_name.0.pop().unwrap()),
157 database: RawDatabaseSpecifier::Ambient,
158 }),
159 _ => sql_bail!("unresolved name {} not fully qualified", raw_name),
160 }
161}
162
163/// Normalizes a `CREATE` statement.
164///

Callers 2

resolve_data_typeMethod · 0.70
resolve_item_name_idMethod · 0.70

Calls 5

identFunction · 0.85
unwrapMethod · 0.80
NameClass · 0.50
lenMethod · 0.45
popMethod · 0.45

Tested by

no test coverage detected