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

   ## Bug Report
   
   ### Which version of ShardingSphere did you use?
   V 5.3.2
   
   ### Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?
   ShardingSphere-JDBC
   
   ### Expected behavior
   1. dameng db and mybatis plus page query
   2. sql is `SELECT * FROM ( SELECT TMP.*, ROWNUM ROW_ID FROM ( SELECT
           T1.ID                         AS adminInfoId,
           T3.ROLE_NAME                  AS roleName,
           T3.ROLE_CODE                  AS roleCode,
           T1.USERNAME                   AS username,
           T1.EMAIL                      AS email,
           T2.ISSUER_CN                  AS issuerCn,
           T1.CREATE_AT                  AS createAt,
           T1.UPDATE_AT                  AS updateAt,
           T2.VALIDATE_FROM              AS validateFrom,
           T2.VALIDATE_TO                AS validateTo,
           T2.SIGN_CERT_SN               AS signCertSn,
           T2.ENC_CERT_SN                AS encCertSn,
           T1.PROVINCE                   AS province,
           T1.CITY                       AS city
           FROM
           T_ADMIN_INFO T1
           LEFT JOIN
           T_ADMIN_CERT T2
           ON T1.ID = T2.ADMIN_INFO_ID
           LEFT JOIN
           T_ROLE T3
           ON T1.ROLE_CODE = T3.ROLE_CODE
            WHERE T1.IS_DELETE = 0
               AND T3.ROLE_CODE IN
               ( ?, ?, ? ) 
           ORDER BY T1.CREATE_AT DESC ) TMP WHERE ROWNUM <=?) WHERE ROW_ID > ?`
   3. Execute sql statements normally and output results
   ### Actual behavior
   Report an error: `Caused by: 
org.apache.shardingsphere.sql.parser.exception.SQLParsingException: You have an 
error in your SQL syntax: SELECT * FROM ( SELECT TMP.*, ROWNUM ROW_ID FROM ( 
SELECT
           T1.ID                         AS adminInfoId,
           T3.ROLE_NAME                  AS roleName,
           T3.ROLE_CODE                  AS roleCode,
           T1.USERNAME                   AS username,
           T1.EMAIL                      AS email,
           T2.ISSUER_CN                  AS issuerCn,
           T1.CREATE_AT                  AS createAt,
           T1.UPDATE_AT                  AS updateAt,
           T2.VALIDATE_FROM              AS validateFrom,
           T2.VALIDATE_TO                AS validateTo,
           T2.SIGN_CERT_SN               AS signCertSn,
           T2.ENC_CERT_SN                AS encCertSn,
           T1.PROVINCE                   AS province,
           T1.CITY                       AS city
           FROM
           T_ADMIN_INFO T1
           LEFT JOIN
           T_ADMIN_CERT T2
           ON T1.ID = T2.ADMIN_INFO_ID
           LEFT JOIN
           T_ROLE T3
           ON T1.ROLE_CODE = T3.ROLE_CODE
            WHERE T1.IS_DELETE = 0
               AND T3.ROLE_CODE IN
               (
                   ?
               ,
                   ?
               ,
                   ?
               ) 
           ORDER BY T1.CREATE_AT DESC ) TMP WHERE ROWNUM <=?) WHERE ROW_ID > ?, 
no viable alternative at input 'WHERE' at line 37, position 59, near 
[@178,1416:1420='WHERE',<89>,37:59]
        at 
org.apache.shardingsphere.sql.parser.core.database.parser.SQLParserExecutor.twoPhaseParse(SQLParserExecutor.java:68)
        at 
org.apache.shardingsphere.sql.parser.core.database.parser.SQLParserExecutor.parse(SQLParserExecutor.java:47)
        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:205)
        at 
org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement.<init>(ShardingSpherePreparedStatement.java:171)
        at 
org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection.prepareStatement(ShardingSphereConnection.java:87)
        at 
org.apache.ibatis.executor.statement.PreparedStatementHandler.instantiateStatement(PreparedStatementHandler.java:88)
        at 
org.apache.ibatis.executor.statement.BaseStatementHandler.prepare(BaseStatementHandler.java:90)
        ... 115 common frames omitted
   `
   ### Reason analyze (If you can)
   mysql uses limit normally, dameng db If rowNUM row_id is used, an error 
occurs
   
   
   
   


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