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]
