Expand description
Fully qualified database-object identifier type.
ObjectId is the canonical way to refer to a database object throughout
project compilation and graph analysis. It is used as a map key,
dependency graph node, and display type in error messages.
§Invariant
User objects are fully qualified database.schema.object. Objects in
Materialize’s system schemas (pg_catalog, mz_catalog, mz_internal,
mz_introspection, information_schema, mz_unsafe,
mz_catalog_unstable) live at the cluster level and have no database;
their ObjectId carries database = None and renders as
schema.object. Partially qualified references are resolved into
ObjectIds by ObjectId::from_item_name and
ObjectId::from_raw_item_name, which fill in missing components from
the current file’s database/schema context.
§Resolution Examples
from_item_name("sales", default_db="materialize", default_schema="public")
→ ObjectId::new("materialize", "public", "sales" )
from_item_name("analytics.summary", default_db="materialize", default_schema="public")
→ ObjectId::new("materialize", "analytics", "summary" )
from_item_name("mz_catalog.mz_objects", ...)
→ ObjectId { database: None, schema: "mz_catalog", object: "mz_objects" }
from_item_name("other_db.staging.events", ...)
→ ObjectId::new("other_db", "staging", "events" )Structs§
- Object
Id - A canonical object identifier.