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

Reply via email to