dwsmith1983 opened a new pull request, #5873:
URL: https://github.com/apache/datafusion-comet/pull/5873

   ## Which issue does this PR close?
   
   Closes #4485.
   
   ## Rationale for this change
   
   `width_bucket` has gone through a registered serde since #4538, but the 
Spark 3.5 and 4.x expression shims still returned the same `WidthBucket -> 
CometWidthBucket` entry from their version-specific math map. It merged over 
the same key with the same value, so it changed nothing, but nothing would have 
said so if the two had ever drifted apart. The combined serde map is built by 
merging sixteen groups in order, so a class registered twice silently takes 
whichever serde merges last.
   
   ## What changes are included in this PR?
   
   - The two stale shim entries are removed; both version-specific math maps 
are empty now.
   - The shared `math`, `map`, `string` and `misc` maps are hoisted out of 
their merge expressions into `base*Expressions` values, with the version shim 
still merged last, and the combined map is assembled from a named group list 
instead of a chain of `++`. Same entries, same order.
   - A `SerdeRegistrationSuite` asserts that every version shim registers only 
classes the shared map does not, that no class is registered in more than one 
group, and that every group entry reaches the combined map by identity with the 
sizes adding up. It is registered in both PR build workflows.
   
   ## How are these changes tested?
   
   The first test failed before the dedupe with exactly `math: WidthBucket`. 
Planting `WidthBucket` in the hash group fails the second test with 
`WidthBucket: math, hash` and the third on the size equality, so both guards 
are load-bearing; the plant is not part of the change. The `width_bucket` SQL 
fixture still runs natively on Spark 3.5 and 4.0, the suite passes on both, the 
3.4 and 4.1 profiles compile, and spotless is clean.
   


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