Skip to content

Namespace Reservation for Database Packages #12

Description

@rsantmyer

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions