danielcweeks commented on PR #9487: URL: https://github.com/apache/iceberg/pull/9487#issuecomment-1910665511
@jbonofre there are actually some really serious issues here that need to be addressed in terms of migration of the database. In addition to just the syntax that @nastra and @ajantha-bhat have mentioned, reusing the existing table and relying on filters means that older clients will not know about views and present them as tables. I don't know what the behavior would be when trying to load a table (which is actually a view) in an older client, but it would likely break in unexpected ways. The advantage of using a separate table is that it keeps view entries separate, but I'm not sure we can provide the necessary guarantees around namespace collisions. For example an older client wouldn't know to check the views table to see if a collision exists. We also need to use `ALTER TABLE` to update the table in place so that existing entries are retained, but there is complexity here because some engines like postgresql allow for adding columns `IF NOT EXISTS` so the migration is idempotent, but other backends like mysql do not support that syntax. I feel increasingly uncomfortable that we can automatically migrate a user's database in a safe way. -- 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