JingsongLi opened a new pull request, #10579: URL: https://github.com/apache/paimon/pull/10579
### Purpose Enable the Native backend for the REST authorized streaming reads already supported by PyPaimon. Depends on https://github.com/apache/paimon-rust/pull/1130 reaching Rust main; Native CI continues to build Rust main. ### Changes - Route standard REST query authorization through Rust's stateful `StreamTableScan` rather than always using `AsyncStreamingTableScan`. - Keep custom authorization callbacks, custom environments/loaders, and unreproducible IO contexts on the Python path. Validate the actual callback's loader and table identity, including callbacks overridden on a standard environment instance. - Include hidden ordinary-predicate operands in Python streaming authorization requests, matching Java's requested column scope. The authorization, filters, masks, physical row kinds, incremental planning and Blob handling are implemented in Rust core. This PR adds no duplicate Python authorization engine or feature-specific binding API. ### Verification - 245 Native regression tests passed (4 cases skipped because physical PK retraction tests do not apply to append/Data Evolution tables). - 176 existing Python streaming/authorization tests passed. - New REST integration cases compare Python and Native for append, primary-key and Data Evolution tables: initial/follow-up reads, changing rules, masks on hidden predicates, row-kind preservation including `-U/+U/-D`, empty projection, authorization failure/retry, consumer checkpoints, captured policies and combined timestamp-window filters before LIMIT. - Regression tests cover instance/subclass callback overrides with a restrictive local policy; the instance override reproduced the routing error before the gate was tightened. - Flake8, license headers and Python 3.6 syntax checks passed. The integration tests use the locally built companion Rust branch. Keep this PR draft until that Rust change has merged so Native CI can exercise it from main. -- 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]
