jianguotian opened a new pull request, #87:
URL: https://github.com/apache/paimon-mosaic/pull/87

   ## What
   
   Add a Java API for streaming a prepared Mosaic row group as a JSON object 
whose values are comma-separated text columns, directly from Mosaic's native 
encodings and without materializing intermediate Arrow arrays.
   
   The implementation:
   
   - supports signed integers, `DOUBLE`, `Decimal128`, and UTF-8 values in 
`ALL_NULL`, `CONST`, `DICT`, and `PLAIN` encodings;
   - preserves JVM-compatible `Double.toString` and `BigDecimal.toPlainString` 
output;
   - returns `UNSUPPORTED` before touching the output when the row group 
requires fallback;
   - keeps ownership of the caller's `OutputStream` with the caller;
   - exposes a reusable `MosaicRowGroupReader` for fast-path attempts followed 
by Arrow fallback; and
   - prevents concurrent or reentrant row-group operations while safely 
deferring native release when `close()` races an active operation.
   
   The format, supported types, fallback behavior, and ownership rules are 
documented in `docs/columnar-text-json.md`.
   
   ## Why
   
   Wide Mosaic files often contain many `CONST` and `ALL_NULL` columns. Reading 
those encodings directly avoids expanding every logical cell into Arrow vectors 
when a downstream interface only needs column-oriented text.
   
   ## Validation
   
   Tests cover:
   
   - primitive, dictionary, constant, all-null, and projected output;
   - JVM-exact double formatting and decimal scales;
   - unsupported and malformed encodings;
   - partial-output and `OutputStream` exception behavior;
   - output ownership; and
   - reentrant use, concurrent close, idempotent close, and use-after-close 
lifecycle cases.
   
   The source branch's identical tree passed the repository's `check`, 
`rust-test`, `cpp-test`, `java-test`, and `python-test` CI jobs.
   


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