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

Method try_from

src/sql/src/names.rs:1118–1141  ·  view source on GitHub ↗
(name: ResolvedObjectName)

Source from the content-addressed store, hash-verified

1116 type Error = anyhow::Error;
1117
1118 fn try_from(name: ResolvedObjectName) -> Result<ObjectId, Self::Error> {
1119 match name {
1120 ResolvedObjectName::Cluster(name) => Ok(ObjectId::Cluster(name.id)),
1121 ResolvedObjectName::ClusterReplica(name) => {
1122 Ok(ObjectId::ClusterReplica((name.cluster_id, name.replica_id)))
1123 }
1124 ResolvedObjectName::Database(name) => Ok(ObjectId::Database(*name.database_id())),
1125 ResolvedObjectName::Schema(name) => match name {
1126 ResolvedSchemaName::Schema {
1127 database_spec,
1128 schema_spec,
1129 ..
1130 } => Ok(ObjectId::Schema((database_spec, schema_spec))),
1131 ResolvedSchemaName::Error => Err(anyhow!("error in name resolution")),
1132 },
1133 ResolvedObjectName::Role(name) => Ok(ObjectId::Role(name.id)),
1134 ResolvedObjectName::Item(name) => match name {
1135 ResolvedItemName::Item { id, .. } => Ok(ObjectId::Item(id)),
1136 ResolvedItemName::Cte { .. } => Err(anyhow!("CTE does not correspond to object")),
1137 ResolvedItemName::Error => Err(anyhow!("error in name resolution")),
1138 },
1139 ResolvedObjectName::NetworkPolicy(name) => Ok(ObjectId::NetworkPolicy(name.id)),
1140 }
1141 }
1142}
1143
1144impl From<ClusterId> for ObjectId {

Callers

nothing calls this directly

Calls 8

database_idMethod · 0.80
SchemaClass · 0.70
ClusterClass · 0.50
ClusterReplicaClass · 0.50
DatabaseClass · 0.50
RoleEnum · 0.50
ItemEnum · 0.50
NetworkPolicyClass · 0.50

Tested by

no test coverage detected