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.
>
>

Reply via email to