yangyong4314 opened a new issue, #28258:
URL: https://github.com/apache/shardingsphere/issues/28258

   
   2023-08-18 17:50:59.221  INFO 24636 --- [           main] ShardingSphere-SQL 
                      : Logic SQL: SELECT COUNT(*) AS total FROM blade_notice n 
LEFT JOIN (SELECT * FROM blade_dict WHERE CODE = 'notice') d ON n.category = 
d.dict_key WHERE n.is_deleted = 0 AND n.tenant_id = ?
   
   2023-08-18 17:50:59.221  INFO 24636 --- [           main] ShardingSphere-SQL 
                      : SQLStatement: 
SQL92SelectStatement(super=SelectStatement(super=AbstractSQLStatement(parameterCount=1,
 parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=174, 
stopIndex=174, parameterMarkerIndex=0, parameterMarkerType=QUESTION, 
alias=Optional.empty)], commentSegments=[]), 
projections=ProjectionsSegment(startIndex=7, stopIndex=23, 
projections=[AggregationProjectionSegment(startIndex=7, stopIndex=14, 
type=COUNT, innerExpression=(*), parameters=[], alias=Optional[total])], 
distinctRow=false), from=JoinTableSegment(startIndex=30, stopIndex=131, 
alias=Optional.empty, 
left=SimpleTableSegment(tableName=TableNameSegment(startIndex=30, stopIndex=41, 
identifier=IdentifierValue(value=blade_notice, quoteCharacter=NONE)), 
owner=Optional.empty, alias=Optional[n]), joinType=LEFT, 
right=SubqueryTableSegment(subquery=SubquerySegment(startIndex=55, 
stopIndex=102, select=SQL92SelectS
 tatement(super=SelectStatement(super=AbstractSQLStatement(parameterCount=0, 
parameterMarkerSegments=[], commentSegments=[]), 
projections=ProjectionsSegment(startIndex=63, stopIndex=63, 
projections=[ShorthandProjectionSegment(startIndex=63, stopIndex=63, 
owner=Optional.empty, alias=Optional.empty)], distinctRow=false), 
from=SimpleTableSegment(tableName=TableNameSegment(startIndex=70, stopIndex=79, 
identifier=IdentifierValue(value=blade_dict, quoteCharacter=NONE)), 
owner=Optional.empty, alias=Optional.empty), 
where=Optional[WhereSegment(startIndex=81, stopIndex=101, 
expr=BinaryOperationExpression(startIndex=87, stopIndex=101, 
left=ColumnSegment(startIndex=87, stopIndex=90, 
identifier=IdentifierValue(value=CODE, quoteCharacter=NONE), 
owner=Optional.empty), right=LiteralExpressionSegment(startIndex=94, 
stopIndex=101, literals=notice), operator==, text=CODE = 'notice'))], 
groupBy=Optional.empty, having=Optional.empty, orderBy=Optional.empty, 
combine=Optional.empty), limit=Optional.empty)
 , subqueryType=TABLE_SUBQUERY), alias=Optional[d]), 
condition=BinaryOperationExpression(startIndex=109, stopIndex=131, 
left=ColumnSegment(startIndex=109, stopIndex=118, 
identifier=IdentifierValue(value=category, quoteCharacter=NONE), 
owner=Optional[OwnerSegment(startIndex=109, stopIndex=109, 
identifier=IdentifierValue(value=n, quoteCharacter=NONE), 
owner=Optional.empty)]), right=ColumnSegment(startIndex=122, stopIndex=131, 
identifier=IdentifierValue(value=dict_key, quoteCharacter=NONE), 
owner=Optional[OwnerSegment(startIndex=122, stopIndex=122, 
identifier=IdentifierValue(value=d, quoteCharacter=NONE), 
owner=Optional.empty)]), operator==, text=n.category = d.dict_key), using=[]), 
where=Optional[WhereSegment(startIndex=133, stopIndex=174, 
expr=BinaryOperationExpression(startIndex=139, stopIndex=174, 
left=BinaryOperationExpression(startIndex=139, stopIndex=154, 
left=ColumnSegment(startIndex=139, stopIndex=150, 
identifier=IdentifierValue(value=is_deleted, quoteCharacter=NONE), owner=Opt
 ional[OwnerSegment(startIndex=139, stopIndex=139, 
identifier=IdentifierValue(value=n, quoteCharacter=NONE), 
owner=Optional.empty)]), right=LiteralExpressionSegment(startIndex=154, 
stopIndex=154, literals=0), operator==, text=n.is_deleted = 0), 
right=BinaryOperationExpression(startIndex=160, stopIndex=174, 
left=ColumnSegment(startIndex=160, stopIndex=170, 
identifier=IdentifierValue(value=tenant_id, quoteCharacter=NONE), 
owner=Optional[OwnerSegment(startIndex=160, stopIndex=160, 
identifier=IdentifierValue(value=n, quoteCharacter=NONE), 
owner=Optional.empty)]), right=ParameterMarkerExpressionSegment(startIndex=174, 
stopIndex=174, parameterMarkerIndex=0, parameterMarkerType=QUESTION, 
alias=Optional.empty), operator==, text=n.tenant_id = ?), operator=AND, 
text=n.is_deleted = 0 AND n.tenant_id = ?))], groupBy=Optional.empty, 
having=Optional.empty, orderBy=Optional.empty, combine=Optional.empty), 
limit=Optional.empty)
   
   2023-08-18 17:50:59.222  INFO 24636 --- [           main] ShardingSphere-SQL 
                      : Actual SQL: ds1 ::: SELECT COUNT(*) AS total FROM 
BLADE_NOTICE_1 n LEFT JOIN (SELECT * FROM blade_dict WHERE CODE = 'notice') d 
ON n.category = d.dict_key WHERE n.is_deleted = 0 AND n.tenant_id = ? ::: 
[000002]
   
   2023-08-18 17:50:59.222  INFO 24636 --- [           main] ShardingSphere-SQL 
                      : Actual SQL: ds1 ::: SELECT COUNT(*) AS total FROM 
BLADE_NOTICE_2 n LEFT JOIN (SELECT * FROM blade_dict WHERE CODE = 'notice') d 
ON n.category = d.dict_key WHERE n.is_deleted = 0 AND n.tenant_id = ? ::: 
[000002]
   
   org.mybatis.spring.MyBatisSystemException: nested exception is 
org.apache.ibatis.executor.ExecutorException: Error preparing statement.  
Cause: org.apache.shardingsphere.sql.parser.exception.SQLParsingException
   
   
   
   at 
org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:96)
   
   at 
org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)
   
   at com.sun.proxy.$Proxy171.selectList(Unknown Source)
   
   at 
org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224)
   
   at 
com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:166)
   
   at 
com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77)
   
   at 
com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)
   
   at 
com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)
   
   at com.sun.proxy.$Proxy172.selectNoticePage(Unknown Source)
   
   at 
org.springblade.sharding.service.impl.NoticeServiceImpl.selectNoticePage(NoticeServiceImpl.java:42)
   
   at 
org.springblade.sharding.service.impl.NoticeServiceImpl$$FastClassBySpringCGLIB$$50f0a885.invoke(<generated>)
   
   at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
   
   at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793)
   
   at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
   
   at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
   
   at 
org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:123)
   
   at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
   
   at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
   
   at 
com.baomidou.dynamic.datasource.aop.DynamicDataSourceAnnotationInterceptor.invoke(DynamicDataSourceAnnotationInterceptor.java:50)
   
   at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
   
   at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
   
   at 
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708)
   
   at 
org.springblade.sharding.service.impl.NoticeServiceImpl$$EnhancerBySpringCGLIB$$cc6c499b.selectNoticePage(<generated>)
   
   at 
org.springblade.sharding.ShardingDemoTest.contextLoads(ShardingDemoTest.java:41)
   
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   
   at java.lang.reflect.Method.invoke(Method.java:498)
   
   at 
org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725)
   
   at 
org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
   
   at 
org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
   
   at 
org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)
   
   at 
org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)
   
   at 
org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84)
   
   at 
org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)
   
   at 
org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
   
   at 
org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
   
   at 
org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
   
   at 
org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
   
   at 
org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
   
   at 
org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
   
   at 
org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)
   
   at 
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214)
   
   at 
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
   
   at 
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210)
   
   at 
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135)
   
   at 
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66)
   
   at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
   
   at 
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
   
   at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
   
   at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
   
   at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
   
   at 
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
   
   at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
   
   at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
   
   at java.util.ArrayList.forEach(ArrayList.java:1257)
   
   at 
org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
   
   at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
   
   at 
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
   
   at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
   
   at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
   
   at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
   
   at 
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
   
   at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
   
   at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
   
   at java.util.ArrayList.forEach(ArrayList.java:1257)
   
   at 
org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
   
   at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
   
   at 
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
   
   at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
   
   at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
   
   at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
   
   at 
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
   
   at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
   
   at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
   
   at 
org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
   
   at 
org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
   
   at 
org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
   
   at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
   
   at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
   
   at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
   
   at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
   
   at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
   
   at 
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
   
   at 
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
   
   at 
org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
   
   at 
org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)
   
   at 
com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:57)
   
   at 
com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
   
   at 
com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
   
   at 
com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
   
   at 
com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
   
   at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
   
   Caused by: org.apache.ibatis.executor.ExecutorException: Error preparing 
statement.  Cause: 
org.apache.shardingsphere.sql.parser.exception.SQLParsingException
   
   at 
org.apache.ibatis.executor.statement.BaseStatementHandler.prepare(BaseStatementHandler.java:97)
   
   at 
org.apache.ibatis.executor.statement.RoutingStatementHandler.prepare(RoutingStatementHandler.java:59)
   
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   
   at java.lang.reflect.Method.invoke(Method.java:498)
   
   at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)
   
   at 
com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106)
   
   at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)
   
   at com.sun.proxy.$Proxy277.prepare(Unknown Source)
   
   at 
org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:87)
   
   at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62)
   
   at 
org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)
   
   at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
   
   at 
com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81)
   
   at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)
   
   at com.sun.proxy.$Proxy276.query(Unknown Source)
   
   at 
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151)
   
   at 
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145)
   
   at 
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
   
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   
   at java.lang.reflect.Method.invoke(Method.java:498)
   
   at 
org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)
   
   ... 91 more
   
   Caused by: org.apache.shardingsphere.sql.parser.exception.SQLParsingException
   
   at 
org.apache.shardingsphere.sql.parser.core.database.parser.SQLParserExecutor.twoPhaseParse(SQLParserExecutor.java:67)
   
   at 
org.apache.shardingsphere.sql.parser.core.database.parser.SQLParserExecutor.parse(SQLParserExecutor.java:46)
   
   at 
org.apache.shardingsphere.sql.parser.api.SQLParserEngine.parse(SQLParserEngine.java:47)
   
   at 
org.apache.shardingsphere.infra.parser.sql.SQLStatementParserExecutor.parse(SQLStatementParserExecutor.java:48)
   
   at 
org.apache.shardingsphere.infra.parser.cache.SQLStatementCacheLoader.load(SQLStatementCacheLoader.java:41)
   
   at 
org.apache.shardingsphere.infra.parser.cache.SQLStatementCacheLoader.load(SQLStatementCacheLoader.java:30)
   
   at 
com.github.benmanes.caffeine.cache.LocalLoadingCache.lambda$newMappingFunction$2(LocalLoadingCache.java:145)
   
   at 
com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2406)
   
   at 
java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1853)
   
   at 
com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2404)
   
   at 
com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2387)
   
   at 
com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:108)
   
   at 
com.github.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:56)
   
   at 
org.apache.shardingsphere.infra.parser.sql.SQLStatementParserEngine.parse(SQLStatementParserEngine.java:47)
   
   at 
org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine.parse(ShardingSphereSQLParserEngine.java:58)
   
   at 
org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement.<init>(ShardingSpherePreparedStatement.java:195)
   
   at 
org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement.<init>(ShardingSpherePreparedStatement.java:160)
   
   at 
org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection.prepareStatement(ShardingSphereConnection.java:91)
   
   at 
org.apache.ibatis.executor.statement.PreparedStatementHandler.instantiateStatement(PreparedStatementHandler.java:86)
   
   at 
org.apache.ibatis.executor.statement.BaseStatementHandler.prepare(BaseStatementHandler.java:88)
   
        ... 115 more


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: 
[email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to