unikdahal commented on code in PR #5414:
URL: https://github.com/apache/datafusion-comet/pull/5414#discussion_r3837100686


##########
spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala:
##########
@@ -539,7 +539,9 @@ object QueryPlanSerde extends Logging with CometExprShim 
with CometTypeShim {
     case dt if isTimeType(dt) =>
       true
     case s: StructType if allowComplex =>
-      s.fields.nonEmpty && 
s.fields.map(_.dataType).forall(supportedDataType(_, allowComplex))
+      // A struct's `fields` can be empty -- e.g. Iceberg's `_partition` 
metadata column is
+      // exactly that on an unpartitioned table. It's still a value Comet can 
represent.
+      s.fields.map(_.dataType).forall(supportedDataType(_, allowComplex))

Review Comment:
    Fixed. Declines LAG/LEAD when the default expression's own type carries an 
empty struct - keyed on that, not the input type, so omitted/plain-NULL 
defaults (which don't hit the cast) stay native. Added regression tests for 
both the failing and the still-native forms.



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