pub trait CatalogObjectAllocator {
// Required methods
fn allocate_object_id(
&mut self,
kind: &str,
) -> ConstraintMetadataResult<[u8; 16]>;
fn allocate_catalog_oid(
&mut self,
class: CatalogOidClass,
object_id: &[u8; 16],
) -> ConstraintMetadataResult<i64>;
// Provided method
fn include_catalog_identity(
&mut self,
_relation: &RelationIdentity,
_class: CatalogOidClass,
_identity: ConstraintCatalogIdentity,
) -> ConstraintMetadataResult<()> { ... }
}Expand description
Declaration normalization requests identities from its caller. Execution reserves public addresses; isolated declarations and initial migration can derive candidates before validating the complete catalog.
Required Methods§
fn allocate_object_id( &mut self, kind: &str, ) -> ConstraintMetadataResult<[u8; 16]>
fn allocate_catalog_oid( &mut self, class: CatalogOidClass, object_id: &[u8; 16], ) -> ConstraintMetadataResult<i64>
Provided Methods§
Sourcefn include_catalog_identity(
&mut self,
_relation: &RelationIdentity,
_class: CatalogOidClass,
_identity: ConstraintCatalogIdentity,
) -> ConstraintMetadataResult<()>
fn include_catalog_identity( &mut self, _relation: &RelationIdentity, _class: CatalogOidClass, _identity: ConstraintCatalogIdentity, ) -> ConstraintMetadataResult<()>
Validate the owning relation and reserve supplied addresses before allocating another row.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".