-
Notifications
You must be signed in to change notification settings - Fork 3k
Description
Feature Request / Improvement
based on #6965 (comment)
Creating an empty snapshot for all metadata operations to make sure table does not have a state with no snapshot might simplify various use cases.
(1) for branching, main does not need to be a special case compared to custom branches that has to exist only after the first data write.
(2) for time travel, currently schema is derived from snapshot ID at the specific time. If a table added data at t0, has for example schema update at t1, creating an empty snapshot at t1 means that traveling to t0 and t1 will yield different results because schema has changed, which makes more sense.
However, doing so might have other implications and affect behavior of existing operations like snapshot expiration.
Also we will have to keep backwards compatibility and still deal with tables with no snapshot, so maybe we do not gain much and have to live with the current situation.
Would like to know what others think.
cc @rdblue @aokolnychyi @RussellSpitzer @danielcweeks
Query engine
None