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)