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

Method from_str

src/sql/src/catalog.rs:1343–1363  ·  view source on GitHub ↗
(s: &str)

Source from the content-addressed store, hash-verified

1341 type Err = InvalidEnvironmentIdError;
1342
1343 fn from_str(s: &str) -> Result<EnvironmentId, InvalidEnvironmentIdError> {
1344 static MATCHER: LazyLock<Regex> = LazyLock::new(|| {
1345 Regex::new(
1346 "^(?P<cloud_provider>[[:alnum:]]+)-\
1347 (?P<cloud_provider_region>[[:alnum:]\\-]+)-\
1348 (?P<organization_id>[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-\
1349 (?P<ordinal>\\d{1,8})$"
1350 ).unwrap()
1351 });
1352 let captures = MATCHER.captures(s).ok_or(InvalidEnvironmentIdError)?;
1353 Ok(EnvironmentId {
1354 cloud_provider: CloudProvider::from_str(&captures["cloud_provider"])?,
1355 cloud_provider_region: captures["cloud_provider_region"].into(),
1356 organization_id: captures["organization_id"]
1357 .parse()
1358 .map_err(|_| InvalidEnvironmentIdError)?,
1359 ordinal: captures["ordinal"]
1360 .parse()
1361 .map_err(|_| InvalidEnvironmentIdError)?,
1362 })
1363 }
1364}
1365
1366/// The error type for [`EnvironmentId::from_str`].

Callers

nothing calls this directly

Calls 2

unwrapMethod · 0.80
parseMethod · 0.45

Tested by

no test coverage detected