Shadow DistSQL 无法解析未引号的 SQL_HINT 算法类型
作者: thswlsqls创建于 2026年9月17日更新于 2026年9月17日
□ 错误报告
你用的是哪个版本的ShardingSphere?
师傅 @ 101c3d56ccd (5.5.4-SNAPSHOT)
你用的是哪个项目? 硬盘-JDBC还是硬盘-Proxy?
代理服务器
预期行为
SQL-HINT'是三种内置的阴影算法类型之一,因此,它应该可以使用而不引用,例如VALUE MATCH'和`REGE-MATCH':
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? 其它防御工事 沙道·阿尔高里特姆类型(名称:SQL HINT);
实际行为
上面的语句以“你在SQL语法中有一个错误”被否决。 相反,删除的遗留拼写“TYPE(NAME=SIMPLE-HINT)”被接受,但因没有注册“ShadowAlgorithm”而失败。
理由分析(如果可以)
在`地貌/阴影/distsql/parser/src/main/antl4/imports/shadow/Keyword.g4'中,`SQL-HINT'标志被宣布为`S I M P L E UL H I N T',因此它与`SQL-HINT'文本相匹配。
#23972将这个算法从"SIMPLE HINT"更名为"SQL HINT"并更新了符号名称,但非符号匹配的字符. `SQLHint ShadowAlgorithm.getType ()' 返回`SQL-HINT',兄弟会的标志`VALUE-MATCH'和`REGE-MATCH'与自己的名字相匹配。
QQ 复制行为的步骤, 如: SQL 要执行, 硬化规则配置, 当例外发生时等.
执行`ALTER Default SHADOW ALGORITHM TYPE(NAME=SQL-HINT)'以对抗ShardingSreare-Proxy。
· 复制这个问题的示例代码(例如GitHub链接)。
不详内容来源: apache/shardingsphere