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

Reply via email to