Is your feature request related to a problem or challenge?
Transaction actions (RowDelta, RewriteFiles, Append) each have logic dependent on the table format version - specifically, their validations. Thus, as we adopt new table format version support we need a way to avoid incorrect behaviors being applied to newer table formats.
Additionally, I'd like to avoid making adopting V3 support a "big bang" change and allow for incremental support.
Describe the solution you'd like
I propose that we add a method to TransactionAction which specifies which table format versions it supports. Thus, one code change can be "update appends to support V3" merged in isolation from, for example, RewriteFiles which needs to check no new manifest delete vectors were applied during its rewrite.
Willingness to contribute
I can contribute to this feature independently
Is your feature request related to a problem or challenge?
Transaction actions (RowDelta, RewriteFiles, Append) each have logic dependent on the table format version - specifically, their validations. Thus, as we adopt new table format version support we need a way to avoid incorrect behaviors being applied to newer table formats.
Additionally, I'd like to avoid making adopting V3 support a "big bang" change and allow for incremental support.
Describe the solution you'd like
I propose that we add a method to
TransactionActionwhich specifies which table format versions it supports. Thus, one code change can be "update appends to support V3" merged in isolation from, for example, RewriteFiles which needs to check no new manifest delete vectors were applied during its rewrite.Willingness to contribute
I can contribute to this feature independently