Rich-T-kid opened a new issue, #26945:
URL: https://github.com/apache/datafusion/issues/26945

   ### Is your feature request related to a problem or challenge?
   
   When Parquet RLE-to-dictionary conversion is enabled, the expression 
optimizer rewrites two- and three-value `IN` lists on dictionary string columns 
into equality chains. Each equality evaluates the dictionary values and maps 
its result through the keys separately. A single `IN` expression can evaluate 
membership on the dictionary values once and map one result through the keys.
   
   TPC-H Q12 hits this with `l_shipmode IN ('MAIL', 'SHIP')` and 
`o_orderpriority IN ('1-URGENT', '2-HIGH')`. In a local main-versus-patch A/B 
with `DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY=true`, Q12 improved 
by 3.1-3.7% across focused and full-suite runs. Q13 and Q22, used as 
unchanged-plan controls, were flat.
   
   ### Describe the solution you would like
   
   Retain short literal `IN` and `NOT IN` expressions for dictionary columns 
whose values are `Utf8` or `Utf8View`. Keep the existing rewrite behavior for 
non-dictionary string columns.
   
   ### Describe alternatives you have considered
   
   The dictionary physical expression could recognize and fuse equality chains, 
but preserving the original membership expression is smaller and avoids 
creating the repeated work in the first place.


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to