Describe the bug
The default table location overlap check relies on the idea that the logical hierarchy of tables & namespaces within a catalog is aligned with the physical arrangement of those tables & namespaces within one of the catalog's allowed locations. However, it's currently possible to create a namespace outside of the parent catalog, which breaks not only this assumption but also the fundamental constraint of a catalog having a list of allowed locations at which its tables may be found.
To Reproduce
Create a catalog, such as with:
./polaris \
catalogs \
create quickstart_catalog \
--storage-type file \
--default-base-location 'file:///tmp/quickstart'
Create a namespace:
./polaris \
namespaces \
create \
--catalog quickstart_catalog \
--location 'file:///tmp/ns' \
ns