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

Method parse_object_name

src/sql-parser/src/parser.rs:7316–7343  ·  view source on GitHub ↗

Parse an object name.

(
        &mut self,
        object_type: ObjectType,
    )

Source from the content-addressed store, hash-verified

7314
7315 /// Parse an object name.
7316 fn parse_object_name(
7317 &mut self,
7318 object_type: ObjectType,
7319 ) -> Result<UnresolvedObjectName, ParserError> {
7320 Ok(match object_type {
7321 ObjectType::Table
7322 | ObjectType::View
7323 | ObjectType::MaterializedView
7324 | ObjectType::Source
7325 | ObjectType::Subsource
7326 | ObjectType::Sink
7327 | ObjectType::Index
7328 | ObjectType::Type
7329 | ObjectType::Secret
7330 | ObjectType::Connection
7331 | ObjectType::Func => UnresolvedObjectName::Item(self.parse_item_name()?),
7332 ObjectType::Role => UnresolvedObjectName::Role(self.parse_identifier()?),
7333 ObjectType::Cluster => UnresolvedObjectName::Cluster(self.parse_identifier()?),
7334 ObjectType::ClusterReplica => {
7335 UnresolvedObjectName::ClusterReplica(self.parse_cluster_replica_name()?)
7336 }
7337 ObjectType::Database => UnresolvedObjectName::Database(self.parse_database_name()?),
7338 ObjectType::Schema => UnresolvedObjectName::Schema(self.parse_schema_name()?),
7339 ObjectType::NetworkPolicy => {
7340 UnresolvedObjectName::NetworkPolicy(self.parse_identifier()?)
7341 }
7342 })
7343 }
7344
7345 ///Parse one or more simple one-word identifiers separated by a '.'
7346 fn parse_identifiers(&mut self) -> Result<Vec<Ident>, ParserError> {

Callers 1

Calls 12

parse_item_nameMethod · 0.80
parse_identifierMethod · 0.80
parse_database_nameMethod · 0.80
parse_schema_nameMethod · 0.80
ItemEnum · 0.50
RoleEnum · 0.50
ClusterClass · 0.50
ClusterReplicaClass · 0.50
DatabaseClass · 0.50
SchemaClass · 0.50
NetworkPolicyClass · 0.50

Tested by

no test coverage detected