JingsongLi opened a new pull request, #458:
URL: https://github.com/apache/paimon-rust/pull/458

   ## Summary
   
   Adds Java-compatible `VARIANT` support to the Rust implementation and 
registers Spark-style Variant scalar functions in the DataFusion integration. 
This covers the end-to-end path from schema type handling and row/Arrow 
encoding to SQL JSON parsing and path extraction.
   
   ## Changes
   
   - Add Paimon `VARIANT` type support, including schema JSON fixtures, Datum 
support, BinaryRow/BTree encoding, Arrow mapping, and row-format read/write 
handling for `value` + `metadata` buffers.
   - Add a Java-compatible Variant core module for JSON parsing, metadata 
dictionary construction, path access, JSON null handling, and scalar 
extraction/casting.
   - Register DataFusion scalar UDFs: `parse_json`, `try_parse_json`, 
`variant_get`, `try_variant_get`, and `is_variant_null`.
   - Document Variant table creation, inserts, queries, path syntax, supported 
cast targets, null semantics, raw `SessionContext` registration, and current 
limitations.
   
   ## Testing
   
   - [x] `cargo test -p paimon variant --lib`
   - [x] `cargo test -p paimon-datafusion variant_functions --lib`
   - [x] `cargo check -p paimon-datafusion`
   - [x] `cargo check --workspace`
   - [x] `git diff --check`
   - [x] `mkdocs build --strict`
   
   ## Notes
   
   This PR implements the common scalar-function surface first. 
`schema_of_variant`, `schema_of_variant_agg`, `to_variant_object`, 
`variant_explode`, `variant_explode_outer`, and direct `variant_get` casts to 
`ARRAY` / `MAP` / `STRUCT` are left for follow-up work.
   


-- 
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