jbonofre commented on PR #9487:
URL: https://github.com/apache/iceberg/pull/9487#issuecomment-1910696472

   @danielcweeks That's why initially I stored the views in a separate table: 
it doesn't break the existing clients.
   We can easily support 1.4.x client with 1.5.x JDBC catalog: I can update the 
SQL query to check if `type` is TABLE or NULL: 1.4.x client won't use `type` 
column so it works, and client 1.5.x can see table created by 1.4.x clients as 
the default value will be `null`.
   The tricky part is for views created by 1.5.x clients: currently views will 
be seen as tables by 1.4.x clients.
   
   We have basically two options:
   1. I rollback to what I initially did (with strong reasons as you can see 😄 
): views will be stored in a separate table. We can eventually have the 
concurrency name issue (if a client creates a view while the same table name is 
created exactly at the same time). IMHO, it's not a big deal and will rarely 
happen. I don't think it's worth to introduce table lock to avoid this. If we 
really want to prevent this corner case, then I can do table locking.
   2. We keep the single table implementation, and I will think about a way to 
avoid clients 1.4.x see views as tables.
   


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