Hi Julian,
thanks for the fast reply. I also found this thread but as I use Calcite 1.14 this should not be the issue (was fixed in 1.11). I also checked the code to confirm that (and I do not use shading so this should be no problem at all). So I agree with you that this should be somewhat related but I have no clue where (or how) exactly I could trace the problem. So any help is appreciated! Best Julian Am 13.08.18, 17:25 schrieb "Julian Hyde" <[email protected]>: 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/
