wombatu-kun opened a new pull request, #18058: URL: https://github.com/apache/iceberg/pull/18058
Backport of #16790 to Flink 1.20, 2.2 and 2.3. When a projected field is a nested struct, `RowDataProjection` now builds the nested field getters once, when the projection is created, instead of rebuilding a whole nested projection for every row. Each access still returns a new wrapper, so a nested row taken from one `wrap` call keeps its values after the next one. `RowDataProjection` in 2.2 and 2.3 and `TestRowDataProjection` in all three versions were identical to their 2.1 counterparts before #16790, so they are direct copies of the merged files. The 1.20 `RowDataProjection` differs from 2.1 only by the `Variant` import and the `getVariant` override, which this change does not touch, so it gets the same three hunks. `TestRowDataProjection`, including the ported `nestedRowIsNotMutatedByNextWrap`, passes on all three versions. --- **AI Disclosure** - Model: Claude Opus 5 - Platform/Tool: Claude Code - Human Oversight: fully reviewed - Prompt Summary: Backport the merged RowDataProjection nested field getter change from #16790 to the Flink 1.20, 2.2 and 2.3 modules. -- 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]
