skyyyy955 opened a new pull request, #10917:
URL: https://github.com/apache/paimon/pull/10917
### Purpose
An `IS_NAN` row filter returned by query authorization fails while planning
a scan with `Could not resolve leaf function 'IS_NAN'`. `IsNaN` already
serializes to this name, but `LeafFunction` does not register it for JSON
deserialization.
Register `IsNaN.INSTANCE` with the existing leaf functions.
### Tests
- Add FLOAT and DOUBLE cases to `PredicateJsonSerdeTest` for exact JSON
parsing and serialization round trips.
- Add `IsNaNQueryAuthTest`: write and commit a Parquet table containing NaN,
a finite number, signed zeros, infinities and null; then read only the ID
column under an `IS_NAN` authorization filter and check that only the NaN row
remains. The catalog response is mocked; table storage, scanning and reading
use the real implementation.
The four new JSON parsing checks and both table-read cases fail on the
upstream baseline before the fix. With the fix, the same five test classes
pass: 125 JUnit invocations, including the existing query-auth and split
serialization tests. The existing serde test provider also invokes no-op
branches for fixtures that do not apply to a given test method.
Validated on Windows with JDK 8, with Checkstyle, Spotless and Enforcer
enabled. The fresh reactor was packaged first to prepare codegen-loader
resources; the final test run used:
```sh
mvn -o -B -ntp -pl paimon-core -am -DwildcardSuites=none
-DfailIfNoTests=false \
-Dtest=PredicateJsonSerdeTest,IsNaNQueryAuthTest,TableQueryAuthResultTest,QueryAuthSplitTest,NestedFieldQueryAuthTest
test
```
--
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]