[ 
https://issues.apache.org/jira/browse/CALCITE-7038?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17980278#comment-17980278
 ] 

Christian Beikov commented on CALCITE-7038:
-------------------------------------------

Yeah, in fact I have been hacking my way around it as well and probably will do 
so for a while longer. I'm happy to contribute back incremental 
improvements/fixes on a case by case basis, but doing a full custom convention 
is a bit too much for me to bite off for my needs. If I ever run into 
performance problems because of this "hacking my way around", I'll reconsider :)

> EnumerableUncollect unnecessarily assuming fields are Comparable
> ----------------------------------------------------------------
>
>                 Key: CALCITE-7038
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7038
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.39.0
>            Reporter: Christian Beikov
>            Priority: Major
>
> {{EnumerableUncollect}} uses {{JavaRowFormat.LIST}} which unnecessarily 
> requires that all the field values are {{Comparable}} leading to a 
> {{ClassCastException}} when executing a query like e.g. against data that is 
> not fully comparable
> {code:sql}
>         select r.id
>         from GitHubRepository r
>         where not exists (
>           select 1
>           from unnest(r.branchProtectionRules) as br
>           and exists (select 1 from GitHubRepository r)
>         )
> {code}
> Assuming {{branchProtectionRules}} is {{Array(Struct(matchingRefs: 
> Integer))}}. Note that the {{EXISTS}} predicate in the unnest subquery is 
> needed to trigger the failure.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to