You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Christian Beikov (Jira)" <ji...@apache.org> on 2025/06/17 16:10:00 UTC
[jira] [Closed] (CALCITE-7038) EnumerableUncollect unnecessarily assuming fields are Comparable
[ https://issues.apache.org/jira/browse/CALCITE-7038?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christian Beikov closed CALCITE-7038.
-------------------------------------
Resolution: Won't Fix
> 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)