yihua opened a new pull request, #901:
URL: https://github.com/apache/hudi-rs/pull/901

   ## Description
   
   closes #899
   
   `SchemableFilter::apply_comparison` evaluated `IN` and `NOT IN` as one 
equality kernel pass per value, so the cost of a key-list filter grew with the 
list. For string columns (`Utf8`, `LargeUtf8`, `Utf8View`) the values now go 
into a hash set once and each row is probed once; null rows stay null, as the 
kernels left them. Other column types keep the comparison chain.
   
   Reading 100 record keys out of a 10M-row table through `Table::read` with an 
`IN` filter took about twice as long as reading one key; with this change the 
two cost the same.
   
   ## How are the changes test-covered
   
   - [ ] N/A
   - [x] Automated tests (unit and/or integration tests)
   - [ ] Manual tests
     - [ ] Details are described below
   
   `test_in_on_string_columns_matches_the_comparison_chain` checks `IN` and 
`NOT IN` over the three string types with a null row against the expected 
masks, and that a non-string column still takes the chain. The existing filter 
and read suites pass unchanged.
   


-- 
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