fix(mysql): 显式配置的 group_concat_max_len 稳定生效并补充连接表单提示 (#9582)

DBX 连接 MySQL 时会执行 SET SESSION group_concat_max_len = 1048576,
避免 GROUP_CONCAT 结果被静默截断(#2775)。但当用户在 URL 参数里用
Connector/J 语法 sessionVariables=group_concat_max_len=... 显式指定值时,
内置语句与用户语句的执行先后取决于底层驱动,覆盖行为不具备确定性;
连接表单也没有任何提示,导致按服务端配置排查问题时被误导(#9412)。

- 新增显式覆盖检测:解析 sessionVariables 中的赋值目标,命中
  group_concat_max_len(含大小写、@ 前缀、session 限定)时不再下发内置的
  SET SESSION,用户/服务端的值始终生效;@user 变量与 @@global. 赋值不影响
  默认行为。
- 连接表单 URL 参数下方为 MySQL 增加提示,说明可用的覆盖写法
  (sessionVariables=group_concat_max_len=@@global.group_concat_max_len 即
  完全跟随服务端配置),并补齐 10 个语言包文案。

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
This commit is contained in:
zipgandzipg authored and GitHub committed 2026-09-19 15:23:16 +08:00
1 parent 1f3beb11dc
commit 687b988b7d
14 files changed
+136 -10

No files matched your search

@@ -8200,6 +8200,9 @@ function openExternalUrl(url: string) {
<p v-if="showGenericUrlParamsHint" class="text-xs leading-5 text-muted-foreground">
{{ t("connection.localInfilePathHint") }}
</p>
<p v-if="form.db_type === 'mysql'" class="text-xs leading-5 text-muted-foreground">
{{ t("connection.sessionVariablesHint") }}
</p>
</div>
</div>