yusufyildiz34 opened a new pull request, #18627:
URL: https://github.com/apache/iceberg/pull/18627
Within one `UpdateSchema`, the update and move methods only resolved columns
by their original names, so `renameColumn("data",
"payload").moveFirst("payload")` failed with "Cannot move missing column".
`SchemaUpdate` now also tracks each column's pending new name and uses it in
`updateColumn`, `updateColumnDoc`, `updateColumnDefault`, `requireColumn`,
`makeColumnOptional` and the move methods when the name doesn't match an
existing or added column, so original names keep working as before. A name
freed by `deleteColumn` resolves to the column renamed to it. `deleteColumn`,
`renameColumn` and `addColumn` still use original names, and children of a
renamed struct still need the struct's original name. This picks up #12202,
which the stale bot closed (see also #10830).
Closes #16581
Test plan: updating and moving a renamed column by its new name works for
top-level and nested columns, by short and full name, case-insensitively, and
after the original name was deleted (all fail on main); a name replaced by a
second rename no longer resolves.
---
**AI Disclosure**
- Model: Claude Opus 5.5
- Platform/Tool: Claude Code
- Human Oversight: fully reviewed
- Prompt Summary: Fix #16581 so UpdateSchema update and move methods accept
a column's new name after renameColumn in the same update; the fix and its
tests are generated.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]