XiaoHongbo-Hope opened a new pull request, #9147: URL: https://github.com/apache/paimon/pull/9147
### Purpose Updating a few scalar leaves in a VARIANT currently requires converting the whole value to Python and encoding it again. This adds Arrow helpers that access and update only the requested paths. ### Changes - Add `variant_get`, `variant_set`, and multi-path variants. - Add `variant_transform` for updating several scalar paths in one pass. - Reuse validated binary layouts for repeated schemas and re-parse when a row layout differs. - Patch fixed-width values directly; for size changes, rebuild only ancestor offset tables. - Preserve existing VARIANT metadata and reject operations that would require new metadata keys. A local synthetic 42-leaf payload benchmark improved four DOUBLE transformations from about 3.8K to 81K rows/s. This is an illustrative microbenchmark, not a production-table result. ### Tests - Added path parsing, nested object/array, multi-path, varying-layout, variable-width, NULL, and chunked-array coverage. - VARIANT regression suite: 124 passed, 3 subtests passed. - Focused suite passed with PyArrow 16 and 19. - Cross-checked updated binary values with the paimon-rust VARIANT reader. -- 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]
