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