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

   ## Bug Report
   
   ### Which version of ShardingSphere did you use?
   
   
[3c11643](https://github.com/apache/shardingsphere/commit/3c11643483916e15dfd376c16b2ec3d4a0b2ae96)
   
   ### Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?
   
   ShardingSphere-Proxy
   
   ### Expected behavior
   
   Execute select statement successfully via DBeaver
   
   ### Actual behavior
   
   ```
   [INFO ] 2023-04-19 18:02:34.436 [Connection-4-ThreadExecutor] 
ShardingSphere-SQL - Logic SQL: /* ApplicationName=DBeaver 23.0.2 - SQLEditor 
<Console> */ select * from t_order
   LIMIT 0, 200
   [INFO ] 2023-04-19 18:02:34.436 [Connection-4-ThreadExecutor] 
ShardingSphere-SQL - Actual SQL: ds_0 ::: /* ApplicationName=DBeaver 23.0.2 - 
SQLEditor <Console> */ select * from t_order_0
   LIMIT 0, 200
   [INFO ] 2023-04-19 18:02:34.436 [Connection-4-ThreadExecutor] 
ShardingSphere-SQL - Actual SQL: ds_0 ::: /* ApplicationName=DBeaver 23.0.2 - 
SQLEditor <Console> */ select * from t_order_1
   LIMIT 0, 200
   [INFO ] 2023-04-19 18:02:34.436 [Connection-4-ThreadExecutor] 
ShardingSphere-SQL - Actual SQL: ds_1 ::: /* ApplicationName=DBeaver 23.0.2 - 
SQLEditor <Console> */ select * from t_order_0
   LIMIT 0, 200
   [INFO ] 2023-04-19 18:02:34.436 [Connection-4-ThreadExecutor] 
ShardingSphere-SQL - Actual SQL: ds_1 ::: /* ApplicationName=DBeaver 23.0.2 - 
SQLEditor <Console> */ select * from t_order_1
   LIMIT 0, 200
   [WARN ] 2023-04-19 18:03:08.012 [main-SendThread(localhost:2181)] 
org.apache.zookeeper.ClientCnxn - Client session timed out, have not heard from 
server in 43104ms for session id 0x1000005660f01d0
   [WARN ] 2023-04-19 18:03:08.014 [main-SendThread(localhost:2181)] 
org.apache.zookeeper.ClientCnxn - Session 0x1000005660f01d0 for server 
localhost/127.0.0.1:2181, Closing socket connection. Attempting reconnect 
except it is a SessionExpiredException.
   org.apache.zookeeper.ClientCnxn$SessionTimeoutException: Client session 
timed out, have not heard from server in 43104ms for session id 
0x1000005660f01d0
        at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1257)
   [ERROR] 2023-04-19 18:03:43.869 [Connection-3-ThreadExecutor] 
o.a.s.p.f.c.CommandExecutorTask - Exception occur: 
   java.lang.NullPointerException: null
        at 
org.apache.shardingsphere.sqlfederation.optimizer.metadata.translatable.FederationTranslatableTable.getColumnType(FederationTranslatableTable.java:120)
        at 
org.apache.shardingsphere.sqlfederation.optimizer.metadata.translatable.TranslatableTableScan.traverseRexCall(TranslatableTableScan.java:205)
        at 
org.apache.shardingsphere.sqlfederation.optimizer.metadata.translatable.TranslatableTableScan.traverseRexCall(TranslatableTableScan.java:209)
        at 
org.apache.shardingsphere.sqlfederation.optimizer.metadata.translatable.TranslatableTableScan.traverseRexCall(TranslatableTableScan.java:209)
        at 
org.apache.shardingsphere.sqlfederation.optimizer.metadata.translatable.TranslatableTableScan.generateColumnMap(TranslatableTableScan.java:195)
        at 
org.apache.shardingsphere.sqlfederation.optimizer.metadata.translatable.TranslatableTableScan.addFilter(TranslatableTableScan.java:187)
        at 
org.apache.shardingsphere.sqlfederation.optimizer.metadata.translatable.TranslatableTableScan.explainTerms(TranslatableTableScan.java:127)
        at 
org.apache.calcite.rel.AbstractRelNode.getDigestItems(AbstractRelNode.java:415)
        at 
org.apache.calcite.rel.AbstractRelNode.deepHashCode(AbstractRelNode.java:397)
        at 
org.apache.calcite.rel.AbstractRelNode$InnerRelDigest.hashCode(AbstractRelNode.java:449)
        at java.base/java.util.HashMap.hash(HashMap.java:339)
        at java.base/java.util.HashMap.get(HashMap.java:552)
        at 
org.apache.calcite.plan.hep.HepPlanner.addRelToGraph(HepPlanner.java:829)
        at 
org.apache.calcite.plan.hep.HepPlanner.applyTransformationResults(HepPlanner.java:751)
        at org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:559)
        at 
org.apache.calcite.plan.hep.HepPlanner.applyRules(HepPlanner.java:420)
        at 
org.apache.calcite.plan.hep.HepPlanner.executeEndGroup(HepPlanner.java:360)
        at 
org.apache.calcite.plan.hep.HepInstruction$EndGroup$State.execute(HepInstruction.java:349)
        at 
org.apache.calcite.plan.hep.HepPlanner.lambda$executeProgram$0(HepPlanner.java:211)
        at 
com.google.common.collect.ImmutableList.forEach(ImmutableList.java:405)
        at 
org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:210)
        at 
org.apache.calcite.plan.hep.HepProgram$State.execute(HepProgram.java:118)
        at 
org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:205)
        at 
org.apache.calcite.plan.hep.HepPlanner.findBestExp(HepPlanner.java:191)
        at 
org.apache.shardingsphere.sqlfederation.optimizer.SQLOptimizeEngine.optimizeWithRBO(SQLOptimizeEngine.java:59)
        at 
org.apache.shardingsphere.sqlfederation.optimizer.SQLOptimizeEngine.optimize(SQLOptimizeEngine.java:52)
        at 
org.apache.shardingsphere.sqlfederation.advanced.AdvancedSQLFederationExecutor.execute(AdvancedSQLFederationExecutor.java:144)
        at 
org.apache.shardingsphere.sqlfederation.advanced.AdvancedSQLFederationExecutor.executeQuery(AdvancedSQLFederationExecutor.java:114)
        at 
org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector.doExecuteFederation(DatabaseConnector.java:298)
        at 
org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector.execute(DatabaseConnector.java:205)
        at 
org.apache.shardingsphere.proxy.frontend.mysql.command.query.text.query.MySQLComQueryPacketExecutor.execute(MySQLComQueryPacketExecutor.java:92)
        at 
org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.doExecuteCommand(CommandExecutorTask.java:116)
        at 
org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.executeCommand(CommandExecutorTask.java:111)
        at 
org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.run(CommandExecutorTask.java:78)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)
   [INFO ] 2023-04-19 18:03:43.878 [main-EventThread] 
o.a.c.f.state.ConnectionStateManager - State change: SUSPENDED
   [INFO ] 2023-04-19 18:03:45.314 [main-SendThread(localhost:2181)] 
org.apache.zookeeper.ClientCnxn - Opening socket connection to server 
localhost/127.0.0.1:2181.
   ```
   
   ### Reason analyze (If you can)
   
   DBeaver will execute `SELECT * FROM INFORMATION_SCHEMA.COLUMNS`:
   
   <img width="1269" alt="image" 
src="https://user-images.githubusercontent.com/10829171/233044025-7eebbb1e-3781-40d0-8a91-afd919369d7e.png";>
   
   And sql federation doesn't get ShardingSphereColumn because of upper case.
   
   <img width="1183" alt="image" 
src="https://user-images.githubusercontent.com/10829171/233044301-9d781598-08e6-4b7f-92f8-f6d5049c1ac7.png";>
   
   ### Steps to reproduce the behavior, such as: SQL to execute, sharding rule 
configuration, when exception occur etc.
   
   ### 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.

To unsubscribe, e-mail: 
[email protected]

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

Reply via email to