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

ASF GitHub Bot commented on KYLIN-4755:
---------------------------------------

hit-lacus merged pull request #1405:
URL: https://github.com/apache/kylin/pull/1405


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


> Error while compiling generated Java code when using Kylin UDF in "case when"
> -----------------------------------------------------------------------------
>
>                 Key: KYLIN-4755
>                 URL: https://issues.apache.org/jira/browse/KYLIN-4755
>             Project: Kylin
>          Issue Type: Bug
>          Components: Query Engine
>    Affects Versions: v3.1.0
>            Reporter: Guangxu Cheng
>            Assignee: Guangxu Cheng
>            Priority: Major
>             Fix For: v3.1.1
>
>
> SQL:
> {code:sql}
> select case when TRANS_ID > 0 then concat('a','b') 
> else version() 
> end
> from KYLIN_SALES
> {code}
> Error message:
> {panel}
> Error while compiling generated Java code:
> org.apache.calcite.DataContext root;
> public org.apache.calcite.linq4j.Enumerable bind(final 
> org.apache.calcite.DataContext root0) {
>   root = root0;
>   final org.apache.calcite.linq4j.Enumerable _inputEnumerable = 
> ((org.apache.kylin.query.schema.OLAPTable) 
> root.getRootSchema().getSubSchema("DEFAULT").getTable("KYLIN_SALES")).executeOLAPQuery(root,
>  0);
>   final org.apache.calcite.linq4j.AbstractEnumerable child = new 
> org.apache.calcite.linq4j.AbstractEnumerable(){
>     public org.apache.calcite.linq4j.Enumerator enumerator() {
>       return new org.apache.calcite.linq4j.Enumerator(){
>           public final org.apache.calcite.linq4j.Enumerator inputEnumerator = 
> _inputEnumerable.enumerator();
>           public void reset() {
>             inputEnumerator.reset();
>           }
>           public boolean moveNext() {
>             return inputEnumerator.moveNext();
>           }
>           public void close() {
>             inputEnumerator.close();
>           }
>           public Object current() {
>             final Long inp0_ = (Long) ((Object[]) 
> inputEnumerator.current())[0];
>             {color:red}return inp0_ != null && inp0_.longValue() > 0L ? 
> org.apache.kylin.query.udf.ConcatUDF.eval("a", "b") : 
> org.apache.kylin.query.udf.VersionUDF.eval();{color}
>           }
>         };
>     }
>   };
>   return child.take(5);
> }
> public Class getElementType() {
>   return java.lang.String.class;
> }
>         at org.apache.calcite.avatica.Helper.wrap(Helper.java:37)
>         at 
> org.apache.calcite.adapter.enumerable.EnumerableInterpretable.toBindable(EnumerableInterpretable.java:108)
>         at 
> org.apache.calcite.prepare.CalcitePrepareImpl$CalcitePreparingStmt.implement(CalcitePrepareImpl.java:1278)
>         at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:331)
>         at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:230)
>         at 
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:796)
>         at 
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:655)
>         at 
> org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:618)
>         at 
> org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:221)
>         at 
> org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603)
>         at 
> org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:675)
>         at 
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:156)
>         ... 83 more
>  {color:red}Caused by: org.codehaus.commons.compiler.CompileException: Line 
> 24, Column 104: Instance method "eval" cannot be invoked in static context 
> {color}
> {panel}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to