Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
I've defined toString UDF in `JdbcTest` (as of 99014073d19bc535f215e64031159486d19471c2) as follows and it turns out the function cannot be used in expressions:
```java
+ "
,\n"
...
public static class MyToStringFunction {
public static String eval(Object o)
}
```
Query 1:
```sql
select "deptno" from "adhoc".EMPLOYEES where "adhoc".my_str("name") is not null
```
Query 2:
```sql
select upper("adhoc".my_str("name")) from "adhoc".EMPLOYEES
```
In query 2 `eval` is invoked multiple times. I think it is better to store the result of `eval()` into local variable.
Exception 1 (note the `if (net.hydromatic..MyToStringFunction.eval(((net.hydromatic..Employee) inputEnumerator.current()).name)) {` part):
```java
java.lang.RuntimeException: exception while executing [select "deptno" from "adhoc".EMPLOYEES where "adhoc".my_str("name") is not null]
at net.hydromatic.optiq.test.OptiqAssert$AssertQuery.runs(OptiqAssert.java:803)
at net.hydromatic.optiq.test.JdbcTest.testUserDefinedFunction(JdbcTest.java:2786)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:202)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.lang.RuntimeException: With materializationsEnabled=false, limit=0
at net.hydromatic.optiq.test.OptiqAssert.assertQuery(OptiqAssert.java:343)
at net.hydromatic.optiq.test.OptiqAssert$AssertQuery.runs(OptiqAssert.java:799)
... 27 more
Caused by: java.sql.SQLException: while executing SQL: select "deptno" from "adhoc".EMPLOYEES where "adhoc".my_str("name") is not null
at net.hydromatic.avatica.Helper.createException(Helper.java:40)
at net.hydromatic.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:80)
at net.hydromatic.optiq.test.OptiqAssert.assertQuery(OptiqAssert.java:318)
... 28 more
Caused by: java.lang.RuntimeException: Error while compiling generated Java code:
net.hydromatic.optiq.DataContext root;
public net.hydromatic.linq4j.Enumerable bind(final net.hydromatic.optiq.DataContext root0) {
root = root0;
final net.hydromatic.linq4j.Enumerable _inputEnumerable = net.hydromatic.optiq.Schemas.queryable(root, root.getRootSchema().getSubSchema("adhoc"), net.hydromatic.optiq.test.JdbcTest.Employee.class, "EMPLOYEES").asEnumerable();
return new net.hydromatic.linq4j.AbstractEnumerable(){
public net.hydromatic.linq4j.Enumerator enumerator() {
return new net.hydromatic.linq4j.Enumerator(){
public final net.hydromatic.linq4j.Enumerator inputEnumerator = _inputEnumerable.enumerator();
public void reset()
public boolean moveNext() {
while (inputEnumerator.moveNext()) {
if (net.hydromatic.optiq.test.JdbcTest.MyToStringFunction.eval(((net.hydromatic.optiq.test.JdbcTest.Employee) inputEnumerator.current()).name)) { return true; }
}
return false;
}
public void close() { inputEnumerator.close(); }
public Object current() { return ((net.hydromatic.optiq.test.JdbcTest.Employee) inputEnumerator.current()).deptno; }
};
}
};
}
public java.lang.reflect.Type getElementType() {
return int.class;
}
at net.hydromatic.avatica.Helper.wrap(Helper.java:36)
at net.hydromatic.optiq.prepare.OptiqPrepareImpl$OptiqPreparingStmt.implement(OptiqPrepareImpl.java:712)
at net.hydromatic.optiq.prepare.Prepare.prepareSql(Prepare.java:276)
at net.hydromatic.optiq.prepare.Prepare.prepareSql(Prepare.java:178)
at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare2_(OptiqPrepareImpl.java:333)
at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare_(OptiqPrepareImpl.java:242)
at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepareSql(OptiqPrepareImpl.java:211)
at net.hydromatic.optiq.jdbc.OptiqConnectionImpl.parseQuery(OptiqConnectionImpl.java:146)
at net.hydromatic.optiq.jdbc.MetaImpl.prepare(MetaImpl.java:603)
at net.hydromatic.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:77)
... 29 more
Caused by: org.codehaus.commons.compiler.CompileException: Line 16, Column 80: Not a boolean expression
at org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:10064)
at org.codehaus.janino.UnitCompiler.compileBoolean2(UnitCompiler.java:2870)
at org.codehaus.janino.UnitCompiler.access$4800(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$8.visitMethodInvocation(UnitCompiler.java:2825)
at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:3907)
at org.codehaus.janino.UnitCompiler.compileBoolean(UnitCompiler.java:2852)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1754)
at org.codehaus.janino.UnitCompiler.access$1200(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$4.visitIfStatement(UnitCompiler.java:942)
at org.codehaus.janino.Java$IfStatement.accept(Java.java:2074)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:963)
at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1005)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:990)
at org.codehaus.janino.UnitCompiler.access$1000(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$4.visitBlock(UnitCompiler.java:940)
at org.codehaus.janino.Java$Block.accept(Java.java:1934)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:963)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1271)
at org.codehaus.janino.UnitCompiler.access$1500(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$4.visitWhileStatement(UnitCompiler.java:945)
at org.codehaus.janino.Java$WhileStatement.accept(Java.java:2173)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:963)
at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1005)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2294)
at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:827)
at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:798)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:502)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:659)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:619)
at org.codehaus.janino.UnitCompiler.access$200(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$2.visitAnonymousClassDeclaration(UnitCompiler.java:340)
at org.codehaus.janino.Java$AnonymousClassDeclaration.accept(Java.java:888)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:349)
at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:4227)
at org.codehaus.janino.UnitCompiler.access$7300(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$10.visitNewAnonymousClassInstance(UnitCompiler.java:3280)
at org.codehaus.janino.Java$NewAnonymousClassInstance.accept(Java.java:4064)
at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:3298)
at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4378)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1912)
at org.codehaus.janino.UnitCompiler.access$2100(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$4.visitReturnStatement(UnitCompiler.java:951)
at org.codehaus.janino.Java$ReturnStatement.accept(Java.java:2477)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:963)
at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1005)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2294)
at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:827)
at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:798)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:502)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:659)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:619)
at org.codehaus.janino.UnitCompiler.access$200(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$2.visitAnonymousClassDeclaration(UnitCompiler.java:340)
at org.codehaus.janino.Java$AnonymousClassDeclaration.accept(Java.java:888)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:349)
at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:4227)
at org.codehaus.janino.UnitCompiler.access$7300(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$10.visitNewAnonymousClassInstance(UnitCompiler.java:3280)
at org.codehaus.janino.Java$NewAnonymousClassInstance.accept(Java.java:4064)
at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:3298)
at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4378)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1912)
at org.codehaus.janino.UnitCompiler.access$2100(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$4.visitReturnStatement(UnitCompiler.java:951)
at org.codehaus.janino.Java$ReturnStatement.accept(Java.java:2477)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:963)
at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1005)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2294)
at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:827)
at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:798)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:502)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:388)
at org.codehaus.janino.UnitCompiler.access$400(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:342)
at org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:1119)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:349)
at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:317)
at org.codehaus.janino.SimpleCompiler.compileToClassLoader(SimpleCompiler.java:346)
at org.codehaus.janino.ClassBodyEvaluator.compileToClass(ClassBodyEvaluator.java:311)
at org.codehaus.janino.ClassBodyEvaluator.cook(ClassBodyEvaluator.java:230)
at org.codehaus.janino.ClassBodyEvaluator.createFastClassBodyEvaluator(ClassBodyEvaluator.java:427)
at net.hydromatic.optiq.prepare.OptiqPrepareImpl$OptiqPreparingStmt.getBindable(OptiqPrepareImpl.java:752)
at net.hydromatic.optiq.prepare.OptiqPrepareImpl$OptiqPreparingStmt.implement(OptiqPrepareImpl.java:710)
... 37 more
```
Exception 2:
```java
java.lang.RuntimeException: exception while executing [select upper("adhoc".my_str("name")) from "adhoc".EMPLOYEES]
at net.hydromatic.optiq.test.OptiqAssert$AssertQuery.runs(OptiqAssert.java:803)
at net.hydromatic.optiq.test.JdbcTest.testUserDefinedFunction(JdbcTest.java:2786)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:202)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.lang.RuntimeException: With materializationsEnabled=false, limit=0
at net.hydromatic.optiq.test.OptiqAssert.assertQuery(OptiqAssert.java:343)
at net.hydromatic.optiq.test.OptiqAssert$AssertQuery.runs(OptiqAssert.java:799)
... 27 more
Caused by: java.sql.SQLException: while executing SQL: select upper("adhoc".my_str("name")) from "adhoc".EMPLOYEES
at net.hydromatic.avatica.Helper.createException(Helper.java:40)
at net.hydromatic.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:80)
at net.hydromatic.optiq.test.OptiqAssert.assertQuery(OptiqAssert.java:318)
... 28 more
Caused by: java.lang.RuntimeException: Error while compiling generated Java code:
net.hydromatic.optiq.DataContext root;
public net.hydromatic.linq4j.Enumerable bind(final net.hydromatic.optiq.DataContext root0) {
root = root0;
final net.hydromatic.linq4j.Enumerable _inputEnumerable = net.hydromatic.optiq.Schemas.queryable(root, root.getRootSchema().getSubSchema("adhoc"), net.hydromatic.optiq.test.JdbcTest.Employee.class, "EMPLOYEES").asEnumerable();
return new net.hydromatic.linq4j.AbstractEnumerable(){
public net.hydromatic.linq4j.Enumerator enumerator() {
return new net.hydromatic.linq4j.Enumerator(){
public final net.hydromatic.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 net.hydromatic.optiq.test.JdbcTest.Employee current2 = (net.hydromatic.optiq.test.JdbcTest.Employee) inputEnumerator.current(); return net.hydromatic.optiq.test.JdbcTest.MyToStringFunction.eval(current2.name) ? (String) null : net.hydromatic.optiq.runtime.SqlFunctions.upper(net.hydromatic.optiq.test.JdbcTest.MyToStringFunction.eval(current2.name)); } };
}
};
}
public java.lang.reflect.Type getElementType() {
return java.lang.String.class;
}
at net.hydromatic.avatica.Helper.wrap(Helper.java:36)
at net.hydromatic.optiq.prepare.OptiqPrepareImpl$OptiqPreparingStmt.implement(OptiqPrepareImpl.java:712)
at net.hydromatic.optiq.prepare.Prepare.prepareSql(Prepare.java:276)
at net.hydromatic.optiq.prepare.Prepare.prepareSql(Prepare.java:178)
at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare2_(OptiqPrepareImpl.java:333)
at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare_(OptiqPrepareImpl.java:242)
at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepareSql(OptiqPrepareImpl.java:211)
at net.hydromatic.optiq.jdbc.OptiqConnectionImpl.parseQuery(OptiqConnectionImpl.java:146)
at net.hydromatic.optiq.jdbc.MetaImpl.prepare(MetaImpl.java:603)
at net.hydromatic.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:77)
... 29 more
Caused by: org.codehaus.commons.compiler.CompileException: Line 24, Column 81: Not a boolean expression
at org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:10064)
at org.codehaus.janino.UnitCompiler.compileBoolean2(UnitCompiler.java:2870)
at org.codehaus.janino.UnitCompiler.access$4800(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$8.visitMethodInvocation(UnitCompiler.java:2825)
at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:3907)
at org.codehaus.janino.UnitCompiler.compileBoolean(UnitCompiler.java:2852)
at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:3586)
at org.codehaus.janino.UnitCompiler.access$6600(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$10.visitConditionalExpression(UnitCompiler.java:3268)
at org.codehaus.janino.Java$ConditionalExpression.accept(Java.java:3374)
at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:3298)
at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4378)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1912)
at org.codehaus.janino.UnitCompiler.access$2100(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$4.visitReturnStatement(UnitCompiler.java:951)
at org.codehaus.janino.Java$ReturnStatement.accept(Java.java:2477)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:963)
at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1005)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2294)
at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:827)
at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:798)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:502)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:659)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:619)
at org.codehaus.janino.UnitCompiler.access$200(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$2.visitAnonymousClassDeclaration(UnitCompiler.java:340)
at org.codehaus.janino.Java$AnonymousClassDeclaration.accept(Java.java:888)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:349)
at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:4227)
at org.codehaus.janino.UnitCompiler.access$7300(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$10.visitNewAnonymousClassInstance(UnitCompiler.java:3280)
at org.codehaus.janino.Java$NewAnonymousClassInstance.accept(Java.java:4064)
at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:3298)
at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4378)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1912)
at org.codehaus.janino.UnitCompiler.access$2100(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$4.visitReturnStatement(UnitCompiler.java:951)
at org.codehaus.janino.Java$ReturnStatement.accept(Java.java:2477)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:963)
at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1005)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2294)
at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:827)
at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:798)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:502)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:659)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:619)
at org.codehaus.janino.UnitCompiler.access$200(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$2.visitAnonymousClassDeclaration(UnitCompiler.java:340)
at org.codehaus.janino.Java$AnonymousClassDeclaration.accept(Java.java:888)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:349)
at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:4227)
at org.codehaus.janino.UnitCompiler.access$7300(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$10.visitNewAnonymousClassInstance(UnitCompiler.java:3280)
at org.codehaus.janino.Java$NewAnonymousClassInstance.accept(Java.java:4064)
at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:3298)
at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4378)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1912)
at org.codehaus.janino.UnitCompiler.access$2100(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$4.visitReturnStatement(UnitCompiler.java:951)
at org.codehaus.janino.Java$ReturnStatement.accept(Java.java:2477)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:963)
at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1005)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2294)
at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:827)
at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:798)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:502)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:388)
at org.codehaus.janino.UnitCompiler.access$400(UnitCompiler.java:181)
at org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:342)
at org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:1119)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:349)
at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:317)
at org.codehaus.janino.SimpleCompiler.compileToClassLoader(SimpleCompiler.java:346)
at org.codehaus.janino.ClassBodyEvaluator.compileToClass(ClassBodyEvaluator.java:311)
at org.codehaus.janino.ClassBodyEvaluator.cook(ClassBodyEvaluator.java:230)
at org.codehaus.janino.ClassBodyEvaluator.createFastClassBodyEvaluator(ClassBodyEvaluator.java:427)
at net.hydromatic.optiq.prepare.OptiqPrepareImpl$OptiqPreparingStmt.getBindable(OptiqPrepareImpl.java:752)
at net.hydromatic.optiq.prepare.OptiqPrepareImpl$OptiqPreparingStmt.implement(OptiqPrepareImpl.java:710)
... 37 more
```
---------------- Imported from GitHub ----------------
Url: https://github.com/julianhyde/optiq/issues/228
Created by: vlsi
Labels:
Created at: Thu Apr 03 08:30:08 CEST 2014
State: closed