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


   ## Background
   
   Hi community,
   
   Currently, `ShardingSphere` uses `Calcite` to implement cross database JOIN 
query, subquery and some complex aggregate query. But there are still some 
problems, such as:
   
   - `ShardingSphereOptimizer` module is not used
   - SQL parsing twice, including shardingsphere sql parsing and callite sql 
parsing
   - Two sets of metadata that make it difficult to maintain
   - Optimized logical SQL is difficult to route accurately
   
   Therefore, we need to refactor the process of the `FilterableExecutor` 
implementation to solve these problems.
   
   The overall process after optimization is as follows:
   
   
![image](https://user-images.githubusercontent.com/10829171/137689024-ce8f853f-990c-4891-ad58-800c970d6b22.png)
   
   In order to accomplish this goal, we also need to complete the following 
tasks:
   
   - [ ] support sql node convert to ShardingSphere sql statement
   - [ ] move the logic of federation routing to the Binder module
   - [ ] refactor federation metadata and unified it into logical metadata
   - [ ] adjust the federation execution engine table scan implementation logic 
and integrate the standard kernel process
   - [ ] convert Calcite ResultSet to ShardingSphere ResultSet
   - [ ] add unit tests and integration test cases


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