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/05/23 11:48:00 UTC

[jira] [Created] (CALCITE-7038) EnumerableUncollect unnecessarily assuming fields are Comparable

Christian Beikov created CALCITE-7038:
-----------------------------------------

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


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