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