[jira] [Updated] (CALCITE-3704) Implement STRCMP function

2020-01-17 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/CALCITE-3704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated CALCITE-3704:

Labels: pull-request-available  (was: )

> Implement STRCMP function
> -
>
> Key: CALCITE-3704
> URL: https://issues.apache.org/jira/browse/CALCITE-3704
> Project: Calcite
>  Issue Type: Improvement
>Reporter: Forward Xu
>Assignee: Forward Xu
>Priority: Major
>  Labels: pull-request-available
>
> IMPLEMENT STRCMP FUNCTION
> MySQL strcmp() function is used to compare two strings. It returns 0 if both 
> of the strings are same and returns -1 when the first argument is smaller 
> than the second according to the defined order and 1 when the second one is 
> smaller the first one.
> *Syntax:*
> STRCMP (expr1, expr2)



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


[jira] [Resolved] (CALCITE-2704) Multilingual decoded problem

2020-01-17 Thread Josh Elser (Jira)


 [ 
https://issues.apache.org/jira/browse/CALCITE-2704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Josh Elser resolved CALCITE-2704.
-
Resolution: Fixed

> Multilingual decoded problem
> 
>
> Key: CALCITE-2704
> URL: https://issues.apache.org/jira/browse/CALCITE-2704
> Project: Calcite
>  Issue Type: Bug
>  Components: avatica
>Affects Versions: avatica-1.11.0, avatica-1.12.0, avatica-1.13.0
>Reporter: pufan
>Assignee: Feng Zhu
>Priority: Blocker
>  Labels: pull-request-available
> Fix For: avatica-1.17.0
>
>  Time Spent: 5h 10m
>  Remaining Estimate: 0h
>
> When we execute SQL with Chinese characters, we find that the server parses 
> it in gibberish.
> After checking the code, we found that:
> org.apache.calcite.avatica.server.AvaticaJsonHandler.java line 109:
> {code:java}
> //The readFully method USES utf-8 encoding internally.
> rawRequest = AvaticaUtils.readFully(inputStream, buffer);
> {code}
> But in the org.apache.calcite.avatica.server.AvaticaJsonHandler.java line 116:
> {code:java}
> // Decoded using iso-8859-1 Cause Chinese garble.
> final String jsonRequest = new String(rawRequest.getBytes("ISO-8859-1"), 
> "UTF-8");
> {code}



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


[jira] [Updated] (CALCITE-2704) Multilingual decoded problem

2020-01-17 Thread Josh Elser (Jira)


 [ 
https://issues.apache.org/jira/browse/CALCITE-2704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Josh Elser updated CALCITE-2704:

Priority: Major  (was: Blocker)

> Multilingual decoded problem
> 
>
> Key: CALCITE-2704
> URL: https://issues.apache.org/jira/browse/CALCITE-2704
> Project: Calcite
>  Issue Type: Bug
>  Components: avatica
>Affects Versions: avatica-1.11.0, avatica-1.12.0, avatica-1.13.0
>Reporter: pufan
>Assignee: Feng Zhu
>Priority: Major
>  Labels: pull-request-available
> Fix For: avatica-1.17.0
>
>  Time Spent: 5h 10m
>  Remaining Estimate: 0h
>
> When we execute SQL with Chinese characters, we find that the server parses 
> it in gibberish.
> After checking the code, we found that:
> org.apache.calcite.avatica.server.AvaticaJsonHandler.java line 109:
> {code:java}
> //The readFully method USES utf-8 encoding internally.
> rawRequest = AvaticaUtils.readFully(inputStream, buffer);
> {code}
> But in the org.apache.calcite.avatica.server.AvaticaJsonHandler.java line 116:
> {code:java}
> // Decoded using iso-8859-1 Cause Chinese garble.
> final String jsonRequest = new String(rawRequest.getBytes("ISO-8859-1"), 
> "UTF-8");
> {code}



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


[jira] [Assigned] (CALCITE-2704) Multilingual decoded problem

2020-01-17 Thread Josh Elser (Jira)


 [ 
https://issues.apache.org/jira/browse/CALCITE-2704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Josh Elser reassigned CALCITE-2704:
---

Assignee: Feng Zhu

> Multilingual decoded problem
> 
>
> Key: CALCITE-2704
> URL: https://issues.apache.org/jira/browse/CALCITE-2704
> Project: Calcite
>  Issue Type: Bug
>  Components: avatica
>Affects Versions: avatica-1.11.0, avatica-1.12.0, avatica-1.13.0
>Reporter: pufan
>Assignee: Feng Zhu
>Priority: Blocker
>  Labels: pull-request-available
> Fix For: avatica-1.17.0
>
>  Time Spent: 5h 10m
>  Remaining Estimate: 0h
>
> When we execute SQL with Chinese characters, we find that the server parses 
> it in gibberish.
> After checking the code, we found that:
> org.apache.calcite.avatica.server.AvaticaJsonHandler.java line 109:
> {code:java}
> //The readFully method USES utf-8 encoding internally.
> rawRequest = AvaticaUtils.readFully(inputStream, buffer);
> {code}
> But in the org.apache.calcite.avatica.server.AvaticaJsonHandler.java line 116:
> {code:java}
> // Decoded using iso-8859-1 Cause Chinese garble.
> final String jsonRequest = new String(rawRequest.getBytes("ISO-8859-1"), 
> "UTF-8");
> {code}



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


[jira] [Updated] (CALCITE-3745) UnitCompiler can not find required class information.

2020-01-17 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/CALCITE-3745?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated CALCITE-3745:

Labels: pull-request-available  (was: )

> UnitCompiler can not find required class information.
> -
>
> Key: CALCITE-3745
> URL: https://issues.apache.org/jira/browse/CALCITE-3745
> Project: Calcite
>  Issue Type: Bug
>  Components: core
>Affects Versions: 1.21.0
> Environment:  
> stacktrace:
> {code:java}
> Caused by: org.codehaus.commons.compiler.CompileException: Line 687, Column 
> 40: Cannot determine simple type name "com"Caused by: 
> org.codehaus.commons.compiler.CompileException: Line 687, Column 40: Cannot 
> determine simple type name "com" at 
> org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:12124) at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6746) at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6507) at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at 
> org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:6486) at 
> org.codehaus.janino.UnitCompiler.access$13800(UnitCompiler.java:215) at 
> org.codehaus.janino.UnitCompiler$21$1.visitReferenceType(UnitCompiler.java:6394)
>  at 
> org.codehaus.janino.UnitCompiler$21$1.visitReferenceType(UnitCompiler.java:6389)
>  at org.codehaus.janino.Java$ReferenceType.accept(Java.java:3917) at 
> org.codehaus.janino.UnitCompiler$21.visitType(UnitCompiler.java:6389) at 
> org.codehaus.janino.UnitCompiler$21.visitType(UnitCompiler.java:6382) at 
> org.codehaus.janino.Java$ReferenceType.accept(Java.java:3916) at 
> org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:6382) at 
> org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:7034) at 
> org.codehaus.janino.UnitCompiler.access$16900(UnitCompiler.java:215) at 
> org.codehaus.janino.UnitCompiler$21$2.visitNewClassInstance(UnitCompiler.java:6442)
>  at 
> org.codehaus.janino.UnitCompiler$21$2.visitNewClassInstance(UnitCompiler.java:6403)
>  at org.codehaus.janino.Java$NewClassInstance.accept(Java.java:5179) at 
> org.codehaus.janino.UnitCompiler$21.visitRvalue(UnitCompiler.java:6403) at 
> org.codehaus.janino.UnitCompiler$21.visitRvalue(UnitCompiler.java:6382) at 
> org.codehaus.janino.Java$Rvalue.accept(Java.java:4105) at 
> org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:6382) at 
> org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:8939) at 
> org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:5060) at 
> org.codehaus.janino.UnitCompiler.access$9100(UnitCompiler.java:215) at 
> org.codehaus.janino.UnitCompiler$16.visitMethodInvocation(UnitCompiler.java:4421)
>  at 
> org.codehaus.janino.UnitCompiler$16.visitMethodInvocation(UnitCompiler.java:4394)
>  at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:5062) at 
> org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:4394) at 
> org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:5575) at 
> org.codehaus.janino.UnitCompiler.compileBoolean2(UnitCompiler.java:4147) at 
> org.codehaus.janino.UnitCompiler.access$6600(UnitCompiler.java:215) at 
> org.codehaus.janino.UnitCompiler$14.visitBinaryOperation(UnitCompiler.java:3955)
>  at 
> org.codehaus.janino.UnitCompiler$14.visitBinaryOperation(UnitCompiler.java:3933)
>  at org.codehaus.janino.Java$BinaryOperation.accept(Java.java:4853) at 
> org.codehaus.janino.UnitCompiler.compileBoolean(UnitCompiler.java:3933) at 
> org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:4709) at 
> org.codehaus.janino.UnitCompiler.access$8800(UnitCompiler.java:215) at 
> org.codehaus.janino.UnitCompiler$16.visitConditionalExpression(UnitCompiler.java:4418)
>  at 
> org.codehaus.janino.UnitCompiler$16.visitConditionalExpression(UnitCompiler.java:4394)
>  at org.codehaus.janino.Java$ConditionalExpression.accept(Java.java:4504) at 
> org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:4394) at 
> org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:5575) at 
> org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2580) at 
> org.codehaus.janino.UnitCompiler.access$2700(UnitCompiler.java:215) at 
> org.codehaus.janino.UnitCompiler$6.visitLocalVariableDeclarationStatement(UnitCompiler.java:1503)
>  at 
> org.codehaus.janino.UnitCompiler$6.visitLocalVariableDeclarationStatement(UnitCompiler

[jira] [Commented] (CALCITE-3746) RexSimplify changes the order of IS NOT NULL in And RexNode

2020-01-17 Thread Vladimir Sitnikov (Jira)


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

Vladimir Sitnikov commented on CALCITE-3746:


{quote}length(a) > 0 and a is not null
which will affect the logic short circuit for null-test.{quote}
Please clarify how it will affect the logic.

> RexSimplify changes the order of IS NOT NULL in And RexNode
> ---
>
> Key: CALCITE-3746
> URL: https://issues.apache.org/jira/browse/CALCITE-3746
> Project: Calcite
>  Issue Type: Bug
>  Components: core
>Affects Versions: 1.20.0
>Reporter: pengzhiwei
>Assignee: pengzhiwei
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The RexSimplify changes the order of IS NOT NULL in And RexNode.The following 
> expression 
> {code:java}
> a is not null and length(a) > 0{code}
> is optimazted to 
> {code:java}
> length(a) > 0 and a is not null{code}
> which will affect the logic short circuit for null-test.



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


[jira] [Commented] (CALCITE-3746) RexSimplify changes the order of IS NOT NULL in And RexNode

2020-01-17 Thread Vladimir Sitnikov (Jira)


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

Vladimir Sitnikov commented on CALCITE-3746:


The issue is invalid.
The order of AND operands must not be significant.

> RexSimplify changes the order of IS NOT NULL in And RexNode
> ---
>
> Key: CALCITE-3746
> URL: https://issues.apache.org/jira/browse/CALCITE-3746
> Project: Calcite
>  Issue Type: Bug
>  Components: core
>Affects Versions: 1.20.0
>Reporter: pengzhiwei
>Assignee: pengzhiwei
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The RexSimplify changes the order of IS NOT NULL in And RexNode.The following 
> expression 
> {code:java}
> a is not null and length(a) > 0{code}
> is optimazted to 
> {code:java}
> length(a) > 0 and a is not null{code}
> which will affect the logic short circuit for null-test.



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


[jira] [Updated] (CALCITE-3746) RexSimplify changes the order of IS NOT NULL in And RexNode

2020-01-17 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/CALCITE-3746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated CALCITE-3746:

Labels: pull-request-available  (was: )

> RexSimplify changes the order of IS NOT NULL in And RexNode
> ---
>
> Key: CALCITE-3746
> URL: https://issues.apache.org/jira/browse/CALCITE-3746
> Project: Calcite
>  Issue Type: Bug
>  Components: core
>Affects Versions: 1.20.0
>Reporter: pengzhiwei
>Assignee: pengzhiwei
>Priority: Major
>  Labels: pull-request-available
>
> The RexSimplify changes the order of IS NOT NULL in And RexNode.The following 
> expression 
> {code:java}
> a is not null and length(a) > 0{code}
> is optimazted to 
> {code:java}
> length(a) > 0 and a is not null{code}
> which will affect the logic short circuit for null-test.



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


[jira] [Created] (CALCITE-3746) RexSimplify changes the order of IS NOT NULL in And RexNode

2020-01-17 Thread pengzhiwei (Jira)
pengzhiwei created CALCITE-3746:
---

 Summary: RexSimplify changes the order of IS NOT NULL in And 
RexNode
 Key: CALCITE-3746
 URL: https://issues.apache.org/jira/browse/CALCITE-3746
 Project: Calcite
  Issue Type: Bug
  Components: core
Affects Versions: 1.20.0
Reporter: pengzhiwei
Assignee: pengzhiwei


The RexSimplify changes the order of IS NOT NULL in And RexNode.The following 
expression 
{code:java}
a is not null and length(a) > 0{code}
is optimazted to 
{code:java}
length(a) > 0 and a is not null{code}
which will affect the logic short circuit for null-test.



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


[jira] [Commented] (CALCITE-3732) Implement bit functions and operators

2020-01-17 Thread hailong wang (Jira)


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

hailong wang commented on CALCITE-3732:
---

[~julianhyde] Maybe we can call BITAND, BITOR etc. like  snowflake and DB2 
which are no underscore compared with aggregate functions ?

> Implement bit functions and operators
> -
>
> Key: CALCITE-3732
> URL: https://issues.apache.org/jira/browse/CALCITE-3732
> Project: Calcite
>  Issue Type: Improvement
>  Components: core
>Affects Versions: 1.21.0
>Reporter: hailong wang
>Assignee: hailong wang
>Priority: Major
> Fix For: 1.22.0
>
>
> Bit function is non-standard operators, but all db has implemented, such as 
> mysql, postgresql.
> Calcite has implemented BIT_AND, BIT_OR in 
> https://issues.apache.org/jira/browse/CALCITE-2770, BIT_XOR in 
> https://issues.apache.org/jira/browse/CALCITE-3591. BIT_COUNT is in progress 
> https://issues.apache.org/jira/browse/CALCITE-3697, BIT_NOT(~) is in progress 
> https://issues.apache.org/jira/browse/CALCITE-3592.
> So I think we should also implement Bitwise AND(&), Right shift(>>), Left 
> shift(<<), Bitwise XOR(^), Bitwise OR(|). And data types support tinyint, 
> smallint, int, bigint like before.
>  
> Refence: 
> [https://dev.mysql.com/doc/refman/8.0/en/bit-functions.html#operator_bitwise-invert]
>  



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


[jira] [Created] (CALCITE-3745) UnitCompiler can not find required class information.

2020-01-17 Thread SHEN KAI (Jira)
SHEN KAI created CALCITE-3745:
-

 Summary: UnitCompiler can not find required class information.
 Key: CALCITE-3745
 URL: https://issues.apache.org/jira/browse/CALCITE-3745
 Project: Calcite
  Issue Type: Bug
  Components: core
Affects Versions: 1.21.0
 Environment:  

stacktrace:
{code:java}
Caused by: org.codehaus.commons.compiler.CompileException: Line 687, Column 40: 
Cannot determine simple type name "com"Caused by: 
org.codehaus.commons.compiler.CompileException: Line 687, Column 40: Cannot 
determine simple type name "com" at 
org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:12124) at 
org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6746) at 
org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6507) at 
org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at 
org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at 
org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at 
org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at 
org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at 
org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at 
org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:6486) at 
org.codehaus.janino.UnitCompiler.access$13800(UnitCompiler.java:215) at 
org.codehaus.janino.UnitCompiler$21$1.visitReferenceType(UnitCompiler.java:6394)
 at 
org.codehaus.janino.UnitCompiler$21$1.visitReferenceType(UnitCompiler.java:6389)
 at org.codehaus.janino.Java$ReferenceType.accept(Java.java:3917) at 
org.codehaus.janino.UnitCompiler$21.visitType(UnitCompiler.java:6389) at 
org.codehaus.janino.UnitCompiler$21.visitType(UnitCompiler.java:6382) at 
org.codehaus.janino.Java$ReferenceType.accept(Java.java:3916) at 
org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:6382) at 
org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:7034) at 
org.codehaus.janino.UnitCompiler.access$16900(UnitCompiler.java:215) at 
org.codehaus.janino.UnitCompiler$21$2.visitNewClassInstance(UnitCompiler.java:6442)
 at 
org.codehaus.janino.UnitCompiler$21$2.visitNewClassInstance(UnitCompiler.java:6403)
 at org.codehaus.janino.Java$NewClassInstance.accept(Java.java:5179) at 
org.codehaus.janino.UnitCompiler$21.visitRvalue(UnitCompiler.java:6403) at 
org.codehaus.janino.UnitCompiler$21.visitRvalue(UnitCompiler.java:6382) at 
org.codehaus.janino.Java$Rvalue.accept(Java.java:4105) at 
org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:6382) at 
org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:8939) at 
org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:5060) at 
org.codehaus.janino.UnitCompiler.access$9100(UnitCompiler.java:215) at 
org.codehaus.janino.UnitCompiler$16.visitMethodInvocation(UnitCompiler.java:4421)
 at 
org.codehaus.janino.UnitCompiler$16.visitMethodInvocation(UnitCompiler.java:4394)
 at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:5062) at 
org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:4394) at 
org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:5575) at 
org.codehaus.janino.UnitCompiler.compileBoolean2(UnitCompiler.java:4147) at 
org.codehaus.janino.UnitCompiler.access$6600(UnitCompiler.java:215) at 
org.codehaus.janino.UnitCompiler$14.visitBinaryOperation(UnitCompiler.java:3955)
 at 
org.codehaus.janino.UnitCompiler$14.visitBinaryOperation(UnitCompiler.java:3933)
 at org.codehaus.janino.Java$BinaryOperation.accept(Java.java:4853) at 
org.codehaus.janino.UnitCompiler.compileBoolean(UnitCompiler.java:3933) at 
org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:4709) at 
org.codehaus.janino.UnitCompiler.access$8800(UnitCompiler.java:215) at 
org.codehaus.janino.UnitCompiler$16.visitConditionalExpression(UnitCompiler.java:4418)
 at 
org.codehaus.janino.UnitCompiler$16.visitConditionalExpression(UnitCompiler.java:4394)
 at org.codehaus.janino.Java$ConditionalExpression.accept(Java.java:4504) at 
org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:4394) at 
org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:5575) at 
org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2580) at 
org.codehaus.janino.UnitCompiler.access$2700(UnitCompiler.java:215) at 
org.codehaus.janino.UnitCompiler$6.visitLocalVariableDeclarationStatement(UnitCompiler.java:1503)
 at 
org.codehaus.janino.UnitCompiler$6.visitLocalVariableDeclarationStatement(UnitCompiler.java:1487)
 at 
org.codehaus.janino.Java$LocalVariableDeclarationStatement.accept(Java.java:3511)
 at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1487) at 
org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1567) at 
org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:3388) at 
org.codehaus.janino.UnitCompiler.com