danielcweeks commented on PR #9487:
URL: https://github.com/apache/iceberg/pull/9487#issuecomment-1911129303
@jbonofre before we start changing the implementation back, I think we need
to get consensus on what direction we're going and I don't think that's been
established.
## Option 1: Reuse `tables` table
Add a type for view/table and reuse common columns for tables and views
Pros:
- no namespace collisions
- simpler data model
Cons:
- older clients may see "tables" that are actually views and break when
trying to load them
- auto migration may not be idempotent
## Option 2: Separate `views` table
Create a new table to store the views and interrogate tables separately
Pros:
- older clients won't see any views
- data model doesn't overlap view and table constructs
Cons:
- Breaks namespace consistency
- More complicated data model
I'd like to hear what others think (@rdblue @RussellSpitzer @jackye1995
@nastra )?
I'm still leaning toward option 1, but with an explicit opt-in to alter the
database to perform the ddl operations to add views. This isn't the best for
older clients, but the worst case they think they can load tables that they
cannot. It could still be a problem for Trino's implementation for features
like information schmea, but that might be addressed by stern warnings around
the opt-in path.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]