cilfm opened a new issue #10126:
URL: https://github.com/apache/shardingsphere/issues/10126


   ## Bug Report
   
   **For English only**, other languages will not accept.
   
   Before report a bug, make sure you have:
   
   - Searched open and closed [GitHub 
issues](https://github.com/apache/shardingsphere/issues).
   - Read documentation: [ShardingSphere 
Doc](https://shardingsphere.apache.org/document/current/en/overview).
   
   Please pay attention on issues you submitted, because we maybe need more 
details. 
   If no response anymore and we cannot reproduce it on current information, we 
will **close it**.
   
   Please answer these questions before submitting your issue. Thanks!
   
   ### Which version of ShardingSphere did you use?
   springboot 2.4.4
   shardingsphere-jdbc-core-spring-boot-starter 5.0.0-alpha
   mybatis-plus-boot-starter 3.4.2
   sql server 2008R2
   ![Uploading image.png…]()
   
   ### Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?
   ShardingSphere-JDBC
   
   ### Expected behavior
   select ID,UserName,SignTime
   from (
        select TOP(2) ROW_NUMBER() OVER(ORDER BY SignTime DESC) AS ridx,
        ID,UserName,SignTime
        FROM SMZ_ACCESSRECORD
   ) AS tmp where ridx > 0 order by SignTime
   This statement can be executed correctly and get the query result
   ### Actual behavior
   JDBC Connection 
[org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection@36df10d0]
 will not be managed by Spring
   ==>  Preparing: select ID,UserName,SignTime from ( select TOP(2) 
ROW_NUMBER() OVER(ORDER BY SignTime DESC) AS ridx, ID,UserName,SignTime FROM 
SMZ_ACCESSRECORD ) AS tmp where ridx > 0 order by SignTime 
   Closing non transactional SqlSession 
[org.apache.ibatis.session.defaults.DefaultSqlSession@40c898db]
   2021-04-19 14:15:26.075 ERROR 6052 --- [p-nio-92-exec-1] 
c.a.q.temp.controller.TempSMZController  : nested exception is 
org.apache.ibatis.executor.ExecutorException: Error preparing statement.  
Cause: org.antlr.v4.runtime.misc.ParseCancellationException
   
   org.mybatis.spring.MyBatisSystemException: nested exception is 
org.apache.ibatis.executor.ExecutorException: Error preparing statement.  
Cause: org.antlr.v4.runtime.misc.ParseCancellationException
        at 
org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)
 ~[mybatis-spring-2.0.3.jar:2.0.3]
        at 
org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)
 ~[mybatis-spring-2.0.3.jar:2.0.3]
        at com.sun.proxy.$Proxy77.selectList(Unknown Source) ~[na:na]
        at 
org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) 
~[mybatis-spring-2.0.3.jar:2.0.3]
        at 
com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:177)
 ~[mybatis-plus-core-3.3.1.tmp.jar:3.3.1.tmp]
        at 
com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)
 ~[mybatis-plus-core-3.3.1.tmp.jar:3.3.1.tmp]
        at 
com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:96)
 ~[mybatis-plus-core-3.3.1.tmp.jar:3.3.1.tmp]
        at com.sun.proxy.$Proxy166.list(Unknown Source) ~[na:na]
        at 
com.aecc.qdzhgd.temp.service.impl.smzEServiceImpl.list(smzEServiceImpl.java:32) 
~[classes/:na]
        at 
com.aecc.qdzhgd.temp.service.impl.smzEServiceImpl$$FastClassBySpringCGLIB$$6e1d1ca2.invoke(<generated>)
 ~[classes/:na]
        at 
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) 
~[spring-core-5.3.5.jar:5.3.5]
        at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)
 ~[spring-aop-5.3.5.jar:5.3.5]
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
 ~[spring-aop-5.3.5.jar:5.3.5]
        at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
 ~[spring-aop-5.3.5.jar:5.3.5]
        at 
com.baomidou.dynamic.datasource.aop.DynamicDataSourceAnnotationInterceptor.invoke(DynamicDataSourceAnnotationInterceptor.java:51)
 ~[dynamic-datasource-spring-boot-starter-3.2.1.jar:3.2.1]
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
 ~[spring-aop-5.3.5.jar:5.3.5]
        at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
 ~[spring-aop-5.3.5.jar:5.3.5]
        at 
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)
 ~[spring-aop-5.3.5.jar:5.3.5]
        at 
com.aecc.qdzhgd.temp.service.impl.smzEServiceImpl$$EnhancerBySpringCGLIB$$91201382.list(<generated>)
 ~[classes/:na]
        at 
com.aecc.qdzhgd.temp.controller.TempSMZController.list2(TempSMZController.java:44)
 ~[classes/:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[na:1.8.0_271]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[na:1.8.0_271]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[na:1.8.0_271]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_271]
        at 
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)
 ~[spring-web-5.3.5.jar:5.3.5]
        at 
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)
 ~[spring-web-5.3.5.jar:5.3.5]
        at 
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
 ~[spring-webmvc-5.3.5.jar:5.3.5]
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)
 ~[spring-webmvc-5.3.5.jar:5.3.5]
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
 ~[spring-webmvc-5.3.5.jar:5.3.5]
        at 
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
 ~[spring-webmvc-5.3.5.jar:5.3.5]
        at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1060)
 ~[spring-webmvc-5.3.5.jar:5.3.5]
        at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962)
 ~[spring-webmvc-5.3.5.jar:5.3.5]
        at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
 [spring-webmvc-5.3.5.jar:5.3.5]
        at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
 [spring-webmvc-5.3.5.jar:5.3.5]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) 
[tomcat-embed-core-9.0.44.jar:4.0.FR]
        at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
 [spring-webmvc-5.3.5.jar:5.3.5]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) 
[tomcat-embed-core-9.0.44.jar:4.0.FR]
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 
[tomcat-embed-websocket-9.0.44.jar:9.0.44]
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) 
[spring-web-5.3.5.jar:5.3.5]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
 [spring-web-5.3.5.jar:5.3.5]
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
 [spring-web-5.3.5.jar:5.3.5]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
 [spring-web-5.3.5.jar:5.3.5]
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
 [spring-web-5.3.5.jar:5.3.5]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
 [spring-web-5.3.5.jar:5.3.5]
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
 [spring-web-5.3.5.jar:5.3.5]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
 [spring-web-5.3.5.jar:5.3.5]
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) 
[tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) 
[tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) 
[tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) 
[tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
[tomcat-embed-core-9.0.44.jar:9.0.44]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
[na:1.8.0_271]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
[na:1.8.0_271]
        at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 [tomcat-embed-core-9.0.44.jar:9.0.44]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_271]
   Caused by: org.apache.ibatis.executor.ExecutorException: Error preparing 
statement.  Cause: org.antlr.v4.runtime.misc.ParseCancellationException
        at 
org.apache.ibatis.executor.statement.BaseStatementHandler.prepare(BaseStatementHandler.java:97)
 ~[mybatis-3.5.3.jar:3.5.3]
        at 
org.apache.ibatis.executor.statement.RoutingStatementHandler.prepare(RoutingStatementHandler.java:59)
 ~[mybatis-3.5.3.jar:3.5.3]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[na:1.8.0_271]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[na:1.8.0_271]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[na:1.8.0_271]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_271]
        at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49) 
~[mybatis-3.5.3.jar:3.5.3]
        at 
com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor.intercept(PaginationInterceptor.java:205)
 ~[mybatis-plus-extension-3.3.1.tmp.jar:3.3.1.tmp]
        at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) 
~[mybatis-3.5.3.jar:3.5.3]
        at com.sun.proxy.$Proxy91.prepare(Unknown Source) ~[na:na]
        at 
com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.prepareStatement(MybatisSimpleExecutor.java:92)
 ~[mybatis-plus-core-3.3.1.tmp.jar:3.3.1.tmp]
        at 
com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:66)
 ~[mybatis-plus-core-3.3.1.tmp.jar:3.3.1.tmp]
        at 
org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:324)
 ~[mybatis-3.5.3.jar:3.5.3]
        at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) 
~[mybatis-3.5.3.jar:3.5.3]
        at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:136) 
~[mybatis-3.5.3.jar:3.5.3]
        at 
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
 ~[mybatis-3.5.3.jar:3.5.3]
        at 
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
 ~[mybatis-3.5.3.jar:3.5.3]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[na:1.8.0_271]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[na:1.8.0_271]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[na:1.8.0_271]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_271]
        at 
org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)
 ~[mybatis-spring-2.0.3.jar:2.0.3]
        ... 72 common frames omitted
   Caused by: org.antlr.v4.runtime.misc.ParseCancellationException: null
        at 
org.antlr.v4.runtime.BailErrorStrategy.recoverInline(BailErrorStrategy.java:66) 
~[antlr4-runtime-4.7.2.jar:4.7.2]
        at org.antlr.v4.runtime.Parser.match(Parser.java:206) 
~[antlr4-runtime-4.7.2.jar:4.7.2]
        at 
org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.subquery(SQL92StatementParser.java:2907)
 ~[shardingsphere-sql-parser-sql92-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.tableFactor(SQL92StatementParser.java:2277)
 ~[shardingsphere-sql-parser-sql92-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.tableReference(SQL92StatementParser.java:2180)
 ~[shardingsphere-sql-parser-sql92-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.escapedTableReference(SQL92StatementParser.java:2122)
 ~[shardingsphere-sql-parser-sql92-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.tableReferences(SQL92StatementParser.java:2013)
 ~[shardingsphere-sql-parser-sql92-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.fromClause(SQL92StatementParser.java:1969)
 ~[shardingsphere-sql-parser-sql92-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.selectClause(SQL92StatementParser.java:1359)
 ~[shardingsphere-sql-parser-sql92-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.unionClause(SQL92StatementParser.java:1248)
 ~[shardingsphere-sql-parser-sql92-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.select(SQL92StatementParser.java:1200)
 ~[shardingsphere-sql-parser-sql92-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.sql.parser.autogen.SQL92StatementParser.execute(SQL92StatementParser.java:362)
 ~[shardingsphere-sql-parser-sql92-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.sql.parser.sql92.parser.SQL92Parser.parse(SQL92Parser.java:37)
 ~[shardingsphere-sql-parser-sql92-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.sql.parser.core.parser.SQLParserExecutor.twoPhaseParse(SQLParserExecutor.java:84)
 ~[shardingsphere-sql-parser-engine-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.sql.parser.core.parser.SQLParserExecutor.parse(SQLParserExecutor.java:59)
 ~[shardingsphere-sql-parser-engine-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.sql.parser.core.parser.SQLParserExecutor.parse(SQLParserExecutor.java:53)
 ~[shardingsphere-sql-parser-engine-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.sql.parser.api.SQLParserEngine.parse(SQLParserEngine.java:46)
 ~[shardingsphere-sql-parser-engine-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.infra.parser.sql.SQLStatementParserEngine.parse(SQLStatementParserEngine.java:65)
 ~[shardingsphere-infra-parser-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.infra.parser.sql.SQLStatementParserEngine.parse(SQLStatementParserEngine.java:59)
 ~[shardingsphere-infra-parser-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine.parse0(ShardingSphereSQLParserEngine.java:74)
 ~[shardingsphere-infra-parser-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine.parse(ShardingSphereSQLParserEngine.java:60)
 ~[shardingsphere-infra-parser-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement.<init>(ShardingSpherePreparedStatement.java:142)
 ~[shardingsphere-jdbc-core-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement.<init>(ShardingSpherePreparedStatement.java:115)
 ~[shardingsphere-jdbc-core-5.0.0-alpha.jar:5.0.0-alpha]
        at 
org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection.prepareStatement(ShardingSphereConnection.java:80)
 ~[shardingsphere-jdbc-core-5.0.0-alpha.jar:5.0.0-alpha]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[na:1.8.0_271]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[na:1.8.0_271]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[na:1.8.0_271]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_271]
        at 
org.apache.ibatis.logging.jdbc.ConnectionLogger.invoke(ConnectionLogger.java:55)
 ~[mybatis-3.5.3.jar:3.5.3]
        at com.sun.proxy.$Proxy92.prepareStatement(Unknown Source) ~[na:na]
        at 
org.apache.ibatis.executor.statement.PreparedStatementHandler.instantiateStatement(PreparedStatementHandler.java:86)
 ~[mybatis-3.5.3.jar:3.5.3]
        at 
org.apache.ibatis.executor.statement.BaseStatementHandler.prepare(BaseStatementHandler.java:88)
 ~[mybatis-3.5.3.jar:3.5.3]
        ... 93 common frames omitted
   Caused by: org.antlr.v4.runtime.InputMismatchException: null
        at 
org.antlr.v4.runtime.BailErrorStrategy.recoverInline(BailErrorStrategy.java:61) 
~[antlr4-runtime-4.7.2.jar:4.7.2]
        ... 124 common frames omitted
   
   2021-04-19 14:15:26.077  WARN 6052 --- [p-nio-92-exec-1] 
.m.m.a.ExceptionHandlerExceptionResolver : Resolved 
[org.mybatis.spring.MyBatisSystemException: nested exception is 
org.apache.ibatis.executor.ExecutorException: Error preparing statement.  
Cause: org.antlr.v4.runtime.misc.ParseCancellationException]
   
   ### Reason analyze (If you can)
   SqlParse? ROW_NUMBER?
   ### Steps to reproduce the behavior, such as: SQL to execute, sharding rule 
configuration, when exception occur etc.
   if I remove ROW_NUMBER() OVER() statement,it is ok,like this:
   select ID,UserName,SignTime
   from (
        select TOP(2) 
        <!-- ROW_NUMBER() OVER(ORDER BY SignTime DESC) AS ridx, -->
        ID,UserName,SignTime
        FROM SMZ_ACCESSRECORD
   ) AS tmp order by SignTime
   
   ,and then,I change the statement like this:
   select TOP(2) ROW_NUMBER() OVER(ORDER BY SignTime DESC) AS 
ridx,ID,UserName,SignTime FROM SMZ_ACCESSRECORD
   This is not working properly. Another error message appears: Logical table 
does not recognize substitution properly,next is error message:
   ### SQL: select TOP(2) ROW_NUMBER() OVER(ORDER BY SignTime DESC) AS 
ridx,ID,UserName,SignTime   FROM SMZ_ACCESSRECORD
   ### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 
'SMZ_ACCESSRECORD' 无效。
   ; bad SQL grammar []; nested exception is 
com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'SMZ_ACCESSRECORD' 无效。]
   
   
   
   ### Example codes for reproduce this issue (such as a github link).
   


-- 
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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to