Open jikunshang opened 2 years ago
Probably need to add java.lang.Boolean to list of runtime registered classes.
I try to add register(java.lang.Boolean.class);
in RegisterAtRuntime.java
. This error is resolved but it raises other errors. Still reflection issues?
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.apache.calcite.adapter.enumerable.RexToLixTranslator.visitCall(RexToLixTranslator.java:1154)
at org.apache.calcite.adapter.enumerable.RexToLixTranslator.visitCall(RexToLixTranslator.java:98)
at org.apache.calcite.rex.RexCall.accept(RexCall.java:189)
at org.apache.calcite.adapter.enumerable.RexToLixTranslator.visitLocalRef(RexToLixTranslator.java:1044)
at org.apache.calcite.adapter.enumerable.RexToLixTranslator.visitLocalRef(RexToLixTranslator.java:98)
at org.apache.calcite.rex.RexLocalRef.accept(RexLocalRef.java:77)
at org.apache.calcite.adapter.enumerable.RexToLixTranslator.translate(RexToLixTranslator.java:255)
at org.apache.calcite.adapter.enumerable.RexToLixTranslator.translate(RexToLixTranslator.java:249)
at org.apache.calcite.adapter.enumerable.RexToLixTranslator.translateList(RexToLixTranslator.java:885)
at org.apache.calcite.adapter.enumerable.RexToLixTranslator.translateProjects(RexToLixTranslator.java:207)
at org.apache.calcite.rex.RexExecutorImpl.compile(RexExecutorImpl.java:94)
at org.apache.calcite.rex.RexExecutorImpl.compile(RexExecutorImpl.java:68)
at org.apache.calcite.rex.RexExecutorImpl.reduce(RexExecutorImpl.java:132)
at org.apache.calcite.rex.RexSimplify.simplifyCast(RexSimplify.java:2216)
at org.apache.calcite.rex.RexSimplify.simplify(RexSimplify.java:289)
at org.apache.calcite.rex.RexSimplify.simplifyList(RexSimplify.java:662)
at org.apache.calcite.rex.RexSimplify.simplifyComparison(RexSimplify.java:506)
at org.apache.calcite.rex.RexSimplify.simplifyComparison(RexSimplify.java:498)
at org.apache.calcite.rex.RexSimplify.simplify(RexSimplify.java:307)
at org.apache.calcite.rex.RexSimplify.simplifyCase(RexSimplify.java:1138)
at org.apache.calcite.rex.RexSimplify.simplify(RexSimplify.java:285)
at org.apache.calcite.rex.RexSimplify.simplifyUnknownAs(RexSimplify.java:248)
at org.apache.calcite.rex.RexSimplify.simplifyPreservingType(RexSimplify.java:187)
at org.apache.calcite.rex.RexSimplify.simplifyPreservingType(RexSimplify.java:182)
at org.apache.calcite.tools.RelBuilder.project_(RelBuilder.java:1947)
at org.apache.calcite.tools.RelBuilder.project_(RelBuilder.java:1938)
at org.apache.calcite.tools.RelBuilder.project(RelBuilder.java:1797)
at org.apache.calcite.tools.RelBuilder.projectNamed(RelBuilder.java:2088)
at org.apache.calcite.sql2rel.SqlToRelConverter.createAggImpl(SqlToRelConverter.java:3289)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertAgg(SqlToRelConverter.java:3192)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:738)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:664)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:3589)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:589)
at io.substrait.isthmus.SqlToSubstrait.lambda$sqlToRelNode$1(SqlToSubstrait.java:153)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
at java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
at java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
at io.substrait.isthmus.SqlToSubstrait.sqlToRelNode(SqlToSubstrait.java:162)
at io.substrait.isthmus.SqlToSubstrait.executeInner(SqlToSubstrait.java:112)
at io.substrait.isthmus.SqlToSubstrait.execute(SqlToSubstrait.java:81)
at io.substrait.isthmus.PlanEntryPoint.call(PlanEntryPoint.java:41)
at io.substrait.isthmus.PlanEntryPoint.call(PlanEntryPoint.java:15)
at picocli.CommandLine.executeUserObject(CommandLine.java:1953)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2346)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2311)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine.execute(CommandLine.java:2078)
at io.substrait.isthmus.PlanEntryPoint.main(PlanEntryPoint.java:49)
Caused by: java.lang.IllegalArgumentException: class org.apache.calcite.adapter.enumerable.RexImpTable$CountImplementor should implement zero arguments constructor
at org.apache.calcite.adapter.enumerable.RexImpTable.constructorSupplier(RexImpTable.java:711)
at org.apache.calcite.adapter.enumerable.RexImpTable.<init>(RexImpTable.java:652)
at org.apache.calcite.adapter.enumerable.RexImpTable.<clinit>(RexImpTable.java:327)
... 57 more
Below is error log of q8, q12 is almost same.