You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Vladimir Sitnikov (Jira)" <ji...@apache.org> on 2020/10/11 21:35:00 UTC
[jira] [Created] (CALCITE-4329) EnumerableRules#BRIDGE_METHODS
should be skipped when actual type is Object
Vladimir Sitnikov created CALCITE-4329:
------------------------------------------
Summary: EnumerableRules#BRIDGE_METHODS should be skipped when actual type is Object
Key: CALCITE-4329
URL: https://issues.apache.org/jira/browse/CALCITE-4329
Project: Calcite
Issue Type: Improvement
Components: core
Affects Versions: 1.26.0
Reporter: Vladimir Sitnikov
Calcite generates bridge methods even when actual parameter types are {{Object}}, so the class becomes invalid.
Sample:
{code:java}
Caused by: org.codehaus.janino.InternalCompilerException:
Two non-abstract methods
"public int Baz$11.compare(java.lang.Object, java.lang.Object)"
have the same parameter types, declaring type and return type
, org.apache.calcite.linq4j.JoinType.LEFT, new java.util.Comparator(){
public int compare(Object v0, Object v1) {
final int c;
c = org.apache.calcite.runtime.Utilities.compareNullsLast((Comparable) v0, (Comparable) v1);
if (c != 0) {
return c;
}
return 0;
}
public int compare(Object o0, Object o1) {
return this.compare(o0, o1);
}
}).
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)