opened 05:32AM - 03 Feb 23 UTC
in: proxy
in: API
feature: DistSQL
Hi community,
Since [SQL Hint](https://shardingsphere.apache.org/document/cur…rent/en/user-manual/shardingsphere-jdbc/special-api/sharding/hint/#use-special-sql-comments) is more convenient and compatible with Proxy, I think it is time to consider removing [Hint DistSQL](https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/hint/).
#### Using DistSQL to implement Hint has the following problems:
1. To execute a query, the user needs to send `Hint DistSQL` and `DML SQL` separately, which is not friendly to use;
2. After using `Hint DistSQL`, the user needs to send an additional `CLEAR` statement;
3. When Hint is enabled, Proxy needs to make a special judgment on the connected thread, which increases the complexity; ([link](https://github.com/apache/shardingsphere/blob/efe9ee21266d6507dee4639eb0c19a6d98992325/proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/state/impl/OKProxyState.java#L61))
Now, SQL Hint can perfectly solve the above problems, so I suggest to start the work of removing Hint DistSQL, with the following tasks:
- [ ] Remove `HintRALStatementExecutor` and implementation
- [ ] Remove `HintRALBackendHandler`
- [ ] Remove `HintRALStatement` and subclasses
- [ ] Remove Hint DistSQL documentation
- [ ] Remove the judgment related to Hint in `OKProxyState`
- [ ] Remove the configuration item: `proxy-hint-enabled`
- [ ] Remove related test cases