[Bug] Caused by: org.apache.calcite.sql.validate.SqlValidatorException: INNER, LEFT, RIGHT or FULL join requires a condition (NATURAL keyword or ON or USING clause) #2043
Labels
bug
Something isn't working
SuperSonic version
0.9.10-SNAPSHOT
Your organization
tuya
Description
start with follow error
025-02-10 18:07:14,865 [main] ERROR [] c.t.s.h.c.t.p.calcite.SemanticNode 423 - optimize error {}
org.apache.calcite.runtime.CalciteContextException: From line 6, column 7 to line 6, column 10: INNER, LEFT, RIGHT or FULL join requires a condition (NATURAL keyword or ON or USING clause)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:507)
at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:948)
at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:933)
at org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:5643)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateJoin(SqlValidatorImpl.java:3703)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3527)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3878)
at org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:61)
at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:95)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1164)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:1135)
at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:282)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:1101)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:807)
at com.tencent.supersonic.headless.core.translator.parser.calcite.SemanticNode.optimize(SemanticNode.java:416)
at com.tencent.supersonic.headless.core.translator.parser.calcite.SqlBuilder.optimizeParseNode(SqlBuilder.java:69)
at com.tencent.supersonic.headless.core.translator.parser.calcite.SqlBuilder.buildOntologySql(SqlBuilder.java:53)
at com.tencent.supersonic.headless.core.translator.parser.OntologyQueryParser.parse(OntologyQueryParser.java:34)
at com.tencent.supersonic.headless.core.translator.DefaultSemanticTranslator.translate(DefaultSemanticTranslator.java:33)
at com.tencent.supersonic.headless.server.facade.service.impl.S2SemanticLayerService.translate(S2SemanticLayerService.java:90)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:351)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
at com.tencent.supersonic.headless.server.aspect.S2DataPermissionAspect.doAround(S2DataPermissionAspect.java:94)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:717)
at com.tencent.supersonic.headless.server.facade.service.impl.S2SemanticLayerService$$SpringCGLIB$$0.translate()
at com.tencent.supersonic.headless.server.utils.ChatWorkflowEngine.lambda$performTranslating$2(ChatWorkflowEngine.java:139)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at com.tencent.supersonic.headless.server.utils.ChatWorkflowEngine.performTranslating(ChatWorkflowEngine.java:128)
at com.tencent.supersonic.headless.server.utils.ChatWorkflowEngine.start(ChatWorkflowEngine.java:77)
at com.tencent.supersonic.headless.server.facade.service.impl.S2ChatLayerService.parse(S2ChatLayerService.java:72)
at com.tencent.supersonic.chat.server.parser.NL2SQLParser.doParse(NL2SQLParser.java:159)
at com.tencent.supersonic.chat.server.parser.NL2SQLParser.parse(NL2SQLParser.java:101)
at com.tencent.supersonic.chat.server.service.impl.ChatQueryServiceImpl.lambda$parse$0(ChatQueryServiceImpl.java:98)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at com.tencent.supersonic.chat.server.service.impl.ChatQueryServiceImpl.parse(ChatQueryServiceImpl.java:98)
at com.tencent.supersonic.chat.server.service.impl.ChatQueryServiceImpl.parseAndExecute(ChatQueryServiceImpl.java:140)
at com.tencent.supersonic.demo.S2BaseDemo.submitText(S2BaseDemo.java:214)
at com.tencent.supersonic.demo.S2VisitsDemo.addSampleChats(S2VisitsDemo.java:107)
at com.tencent.supersonic.demo.S2VisitsDemo.doRun(S2VisitsDemo.java:83)
at com.tencent.supersonic.demo.S2BaseDemo.run(S2BaseDemo.java:109)
at org.springframework.boot.SpringApplication.lambda$callRunner$5(SpringApplication.java:790)
at org.springframework.util.function.ThrowingConsumer$1.acceptWithException(ThrowingConsumer.java:83)
at org.springframework.util.function.ThrowingConsumer.accept(ThrowingConsumer.java:60)
at org.springframework.util.function.ThrowingConsumer$1.accept(ThrowingConsumer.java:88)
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:798)
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:789)
at org.springframework.boot.SpringApplication.lambda$callRunners$3(SpringApplication.java:774)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:774)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:341)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343)
at com.tencent.supersonic.StandaloneLauncher.main(StandaloneLauncher.java:17)
Caused by: org.apache.calcite.sql.validate.SqlValidatorException: INNER, LEFT, RIGHT or FULL join requires a condition (NATURAL keyword or ON or USING clause)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:507)
at org.apache.calcite.runtime.Resources$ExInst.ex(Resources.java:601)
... 78 common frames omitted
Are you willing to submit PR?
The text was updated successfully, but these errors were encountered: