plusplusjiajia opened a new pull request, #500:
URL: https://github.com/apache/paimon-rust/pull/500
### Purpose
Deserialize Java's Jackson-serialized `Predicate` and `Transform` into Rust
types (`from_java_json` + field-index helpers), for the upcoming query-auth
enforcement (#498 follow-up) and the cross-language protocol direction.
- By-name field resolution, local types authoritative. Java semantics
mirrored at all three layers: wire layout (tests pin
`PredicateJsonSerdeTest`/`TransformJsonSerdeTest` strings verbatim),
constructor rules (`UPPER`/`LOWER` arity 1, `CONCAT_WS` ≥ 2, string-typed
inputs), and evaluator null semantics (null literal → `AlwaysFalse`, `In`
skips nulls, empty `NotIn` → `IS_NOT_NULL`).
- `CAST` validates local-source → target castability; anything unknown
errors, so authorization callers stay fail-closed.
- `DATE`/temporal literals rejected: Java's own deserializer cannot
round-trip them, no wire form to align with yet.
--
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]