LuciferYang opened a new issue, #13447:
URL: https://github.com/apache/gravitino/issues/13447

   ### Version
   
   main branch
   
   ### Describe what's wrong
   
   In `ManagedTableOperations.applyColumnChanges`, an updated column is removed 
and re-inserted at the column's stored position. That stored position equals a 
live list index only before any sibling change in the same bundled alter has 
added or removed a column. A bundled alter that deletes a lower-position column 
before updating a higher one throws `IndexOutOfBoundsException`, and one that 
adds a column before updating a later one silently reorders the columns.
   
   ### How to reproduce
   
   - Bundled alter `[DeleteColumn(col1), UpdateColumnType(col3)]` on `[col1, 
col2, col3]`: re-inserting col3 at its stored index 2 on a now-2-element list 
throws `IndexOutOfBoundsException`.
   - Bundled alter `[AddColumn(colNew, first), UpdateColumnType(col3)]`: col3 
is re-inserted at its stale stored index, silently reordering the columns.
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to