Looks similar to this:
http://mail-archives.apache.org/mod_mbox/calcite-dev/201611.mbox/%3CCAGssvOYTS_tMGh=xASVqgC47DpBQQtYgc8r7BjNuvR+w=hh...@mail.gmail.com%3E
On Mon, Aug 13, 2018 at 5:37 AM Julian Feinauer
<[email protected]> wrote:
>
> Hi devs,
>
> First, a short disclaimer, I am cross-posting this question on the calcite
> and on the SQuirrelSQL mailing list as I’m not really sure where the problem
> comes from.
>
> I am using calcite with a custom Schema to read a specific file format as DB.
> It works when running the queries embedded in Test Code.
> When I link my jar into the sqlline script it also works flawlessly but when
> I link the code to SQuirrelSQL [1] it gives me the following stacktrace:
>
>
> 2018-08-13 13:06:15,471 [Thread-3] DEBUG
> net.sourceforge.squirrel_sql.fw.util.DefaultExceptionFormatter - Error
>
> 593 java.sql.SQLException: Error while executing SQL "SELECT * FROM
> metadata.TABLES": Unable to instantiate java compiler
>
> 594 at
> org.apache.calcite.avatica.Helper.createException(Helper.java:56)
>
> 595 at
> org.apache.calcite.avatica.Helper.createException(Helper.java:41)
>
> 596 at
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:156)
>
> 597 at
> org.apache.calcite.avatica.AvaticaStatement.execute(AvaticaStatement.java:209)
>
> 598 at
> net.sourceforge.squirrel_sql.client.session.StatementWrapper.execute(StatementWrapper.java:165)
>
> 599 at
> net.sourceforge.squirrel_sql.client.session.SQLExecuterTask.processQuery(SQLExecuterTask.java:369)
>
> 600 at
> net.sourceforge.squirrel_sql.client.session.SQLExecuterTask.run(SQLExecuterTask.java:212)
>
> 601 at
> net.sourceforge.squirrel_sql.fw.util.TaskExecuter.run(TaskExecuter.java:82)
>
> 602 at java.lang.Thread.run(Thread.java:745)
>
> 603 Caused by: java.lang.IllegalStateException: Unable to instantiate java
> compiler
>
> 604 at
> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.compile(JaninoRelMetadataProvider.java:433)
>
> 605 at
> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.load3(JaninoRelMetadataProvider.java:374)
>
> 606 at
> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.access$000(JaninoRelMetadataProvider.java:94)
>
> 607 at
> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider$1.load(JaninoRelMetadataProvider.java:113)
>
> 608 at
> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider$1.load(JaninoRelMetadataProvider.java:110)
>
> 609 at
> com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3542)
>
> 610 at
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2323)
>
> 611 at
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2286)
>
> 612 at
> com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201)
>
> 613 at com.google.common.cache.LocalCache.get(LocalCache.java:3953)
>
> 614 at
> com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3957)
>
> 615 at
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4875)
>
> 616 at
> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.create(JaninoRelMetadataProvider.java:464)
>
> 617 at
> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.revise(JaninoRelMetadataProvider.java:477)
>
> 618 at
> org.apache.calcite.rel.metadata.RelMetadataQuery.revise(RelMetadataQuery.java:203)
>
> 619 at
> org.apache.calcite.rel.metadata.RelMetadataQuery.collations(RelMetadataQuery.java:565)
>
> 620 at
> org.apache.calcite.rel.metadata.RelMdCollation.project(RelMdCollation.java:207)
>
> 621 at
> org.apache.calcite.rel.logical.LogicalProject$1.get(LogicalProject.java:117)
>
> 622 at
> org.apache.calcite.rel.logical.LogicalProject$1.get(LogicalProject.java:115)
>
> 623 at
> org.apache.calcite.plan.RelTraitSet.replaceIfs(RelTraitSet.java:238)
>
> 624 at
> org.apache.calcite.rel.logical.LogicalProject.create(LogicalProject.java:113)
>
> 625 at
> org.apache.calcite.rel.logical.LogicalProject.create(LogicalProject.java:103)
>
> 626 at
> org.apache.calcite.rel.core.RelFactories$ProjectFactoryImpl.createProject(RelFactories.java:127)
>
> 627 at
> org.apache.calcite.tools.RelBuilder.project(RelBuilder.java:956)
>
> 628 at
> org.apache.calcite.plan.RelOptUtil.createProject(RelOptUtil.java:2952)
>
> 629 at
> org.apache.calcite.plan.RelOptUtil.createProject(RelOptUtil.java:2910)
>
> 630 at
> org.apache.calcite.plan.RelOptUtil.createProject(RelOptUtil.java:2854)
>
> 631 at
> org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectList(SqlToRelConverter.java:3734)
>
> 632 at
> org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:662)
>
> 633 at
> org.apache.calcite.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:619)
>
> 634 at
> org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:3028)
>
> 635 at
> org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:555)
>
> 636 at
> org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:266)
>
> 637 at
> org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:230)
>
> 638 at
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:786)
>
> 639 at
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:640)
>
> 640 at
> org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:610)
>
> 641 at
> org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:221)
>
> 642 at
> org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603)
>
> 643 at
> org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638)
>
> 644 at
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149)
>
> 645 ... 6 more
>
> 646 Caused by: java.lang.ClassNotFoundException: No implementation of
> org.codehaus.commons.compiler is on the class path. Typically, you'd have
> 'janino.jar', or 'commons-compiler-jdk.jar', or both on the classpath.
>
> 647 at
> org.codehaus.commons.compiler.CompilerFactoryFactory.getDefaultCompilerFactory(CompilerFactoryFactory.java:59)
>
> 648 at
> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.compile(JaninoRelMetadataProvider.java:431)
>
> 649 ... 46 more
>
> I also added janino-2.76.jar as well as commons-compiler-2.7.6.jar tot he
> classpath but the Exception does not go away.
> Are there in general any resources on how to embed calcite-core in the
> classpath and do you have any idea where this exception could come from?
>
> Thanks!
> Julian
>
> [1] http://squirrel-sql.sourceforge.net/