jackylee-ch opened a new pull request, #1036: URL: https://github.com/apache/paimon-rust/pull/1036
`option_bool`, used to read the `variant.inferShreddingSchema` and `parquet.variant.inferShreddingSchema` table properties, parsed values with `str::parse::<bool>()`. Rust's `bool::from_str` only accepts the exact lowercase `true`/`false`, so a property written by a Java engine as `TRUE` or `True` fails to parse and the writer returns a hard `DataInvalid` error instead of enabling shredding inference — a table that works through the Java engine cannot be written through the Rust writer. Java's `OptionsUtils.convertToBoolean` matches `true`/`false` case-insensitively and throws on anything else. This aligns `option_bool` with that behaviour via `eq_ignore_ascii_case`, which also matches the case-insensitive parsing the map-shredding layout code in the same module already uses. Non-boolean values such as `yes` or `1` are still rejected, now with a clearer message. Adds unit tests covering the accepted case variants, the default-when-absent path, and rejection of non-boolean values. -- 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]
