Namespace Reservation for Database Packages
Problem
When multiple DBPM packages are installed into the same database schema, there is a risk that packages may create objects with conflicting names (tables, views, packages, types, sequences, etc.). Such collisions can cause deployment failures, unintended overwrites, or incompatibilities between independently developed packages.
Proposed Solution
Introduce a namespace reservation mechanism that allows a package publisher to reserve one or more object name prefixes or patterns.
Examples:
CORE_%
DBPM_%
UTLMS_%
ACME_BILLING_%
During package publication, DBPM validates that the requested namespace does not overlap with an existing reservation. During installation, DBPM verifies that all created objects conform to the package's reserved namespace.
Benefits
- Prevents naming collisions between packages.
- Enables independent package development without coordination between publishers.
- Improves package portability and predictability.
- Provides a foundation for ownership tracking and dependency management.
- Makes it easier to identify which package owns a database object.
Future Enhancements
- Support multiple namespaces per package.
- Allow namespace delegation to related packages.
- Enforce namespace rules during package publication.
- Provide object-to-package ownership reporting.
- Reserve well-known namespaces for DBPM system components.
Namespace Reservation for Database Packages
Problem
When multiple DBPM packages are installed into the same database schema, there is a risk that packages may create objects with conflicting names (tables, views, packages, types, sequences, etc.). Such collisions can cause deployment failures, unintended overwrites, or incompatibilities between independently developed packages.
Proposed Solution
Introduce a namespace reservation mechanism that allows a package publisher to reserve one or more object name prefixes or patterns.
Examples:
CORE_%DBPM_%UTLMS_%ACME_BILLING_%During package publication, DBPM validates that the requested namespace does not overlap with an existing reservation. During installation, DBPM verifies that all created objects conform to the package's reserved namespace.
Benefits
Future Enhancements