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]

Reply via email to