Walaa, I just want to expand upon what Ryan said a little. The catalog naming issue was identified when we designed the view spec and we opted for simplicity as opposed to trying to solve for catalog name mapping as it really complicates the spec/implementation. There may be ways for implementations to address this where there are inconsistencies (like Russel's federation suggestion or even some level of catalog or engine redirection like Trino supports), however I don't think this needs to be called out explicitly in the view spec. The spec is clear about catalog names and default namespaces, so while inconsistent names are important in practice, the spec is clear.
I would also point out that there are other portability problems like multi-level namespaces, which are supported both in the default namespace and via sql syntax, but many engines cannot interpret. There's a lot that is not (or cannot) be fully addressed in the view spec, but for practical purposes is still very capable and portable. -Dan On Wed, Oct 9, 2024 at 6:28 PM Walaa Eldin Moustafa <wa.moust...@gmail.com> wrote: > Thanks Ryan and everyone who left feedback on the doc. Let me clarify a > few things. > > "Improving the spec" also includes making the implicit assumptions > explicitly stated in the spec. > > Explicitly stating the assumptions is discussed under the "Portable table > identifiers" section in the doc. I am onboard with that direction. > > I think this section encodes the suggestions shared by Steven and Russel > as well as the suggestion shared by you, and a couple more actually to > ensure it is comprehensive/unambiguous. I will reiterate the assumptions > below. If folks think we could go with those assumptions, I can create a PR > to reflect them on the spec. > > * Engines must share the same default catalog names, ensuring that > partially specified SQL identifiers with catalog omitted are resolved to > the same fully specified SQL identifier across all engines. > * Engines must share the same default namespaces, ensuring that SQL > identifiers without catalog and namespace are resolved to the same fully > specified SQL identifier across all engines. > * All engines must resolve a fully specified SQL identifier to the same > storage table in the same storage catalog. > > Thanks, > Walaa. > >