andygrove opened a new issue, #5583:
URL: https://github.com/apache/datafusion-comet/issues/5583

   Part of #5572.
   
   `CometArraysZip` has its own type gate, separate from `ArraysBase`, and 
declines anything outside it:
   
   ```scala
   if (!isTypeSupported(dt)) {
     return Unsupported(Some(s"Unsupported child data type: $dt"))
   }
   ```
   
   `spark/src/main/scala/org/apache/comet/serde/arrays.scala:837-839`, with the 
predicate at `:822`
   
   That predicate accepts the scalar types plus nested arrays and structs, but 
not `MapType`, so `arrays_zip` over an array of maps fails the whole projection 
back to Spark. The serde has no `CodegenDispatchFallback` mixin.
   
   `ArraysZip` is a plain codegen expression, and `MapType` is supported by 
`CometBatchKernelCodegen.isSupportedDataType` recursively, so the dispatcher 
covers the gap.
   
   Fix: mix `CodegenDispatchFallback` into `CometArraysZip`.
   
   Same carve-out as the `ArraysBase` issue — `NullType` elements are not 
dispatchable, since `NullType` is absent from `isSupportedDataType`.
   
   `CometArraysZip` also declines inside `convert` at `:880` when a child fails 
to serialize, which the dispatcher cannot see; see the prerequisite issue on 
`convert`-side declines.
   


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