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: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org