LinSimon-901101 opened a new pull request, #5875:
URL: https://github.com/apache/datafusion-comet/pull/5875

   ## Which issue does this PR close?
   
   Closes #5580.
   
   ## Rationale for this change
   
   Map lookups with floating-point, non-default collated or complex keys 
currently cause the enclosing projection to fall back to Spark. Routing these 
cases through the JVM codegen dispatcher preserves Spark's lookup semantics 
while keeping supported projections inside Comet.
   
   Related work: #5867 also addresses #5580. I claimed this issue and completed 
this implementation locally before opening this PR. This draft makes the 
implementation and cross-version validation available for comparison and 
coordination. I'm happy to contribute non-overlapping tests in a focused 
follow-up if the maintainers prefer to proceed with #5867.
   
   ## What changes are included in this PR?
   
   - Add `CodegenDispatchFallback` to `CometMapExtract` and `CometElementAt`, 
preserving the existing native key-type restrictions.
   - Extend SQL and Scala regression coverage, including dispatch/native 
assertions, constant-folded inputs, configuration switches and ANSI nullable 
nondeterministic operands.
   - Update expression support documentation and compatibility audit notes.
   
   ## How are these changes tested?
   
   Validated locally on macOS arm64 with Spark 3.4.3, 3.5.9, 4.0.4 and 4.1.3 
using focused SQL fixtures and the full `CometMapExpressionSuite` and 
`CometArrayExpressionSuite`. Version-specific exclusions remain in place.
   
   Coverage includes signed zero, NaN, infinities, subnormal values, NULL/empty 
maps, NULL keys and values, complex keys, collation and NULL short-circuiting. 
The new dispatch assertion failed before the implementation change.
   
   Native build, Scalastyle, Spotless, Apache RAT and Spark 4.0 Scalafix CHECK 
passed locally. No performance improvement is claimed; benchmarks were not run.


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