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]

Reply via email to