Mysql 具有不同子查询的聚合查询将终止每个连接

Mysql 具有不同子查询的聚合查询将终止每个连接,mysql,Mysql,在mysql 8.0.16中,来自任何客户端、cli、workbench、dbeaver、php库的查询都会完全终止服务器上的每个连接,并在8.0.15上按预期运行 选择SUM`x` 从…起 选择不同的 `T`.`x` 从…起 JSON_表 '[1]', “$[*]”列 `x`INT路径$ T Y 使用临时表而不是子查询可以像预期的那样工作,它不会使每个mysql连接都崩溃 有人碰到过这个问题吗 编辑:对不起,我没有说清楚,与SUM方法无关,看起来像是任何聚合函数组\u CONCAT、JSON\

在mysql 8.0.16中,来自任何客户端、cli、workbench、dbeaver、php库的查询都会完全终止服务器上的每个连接,并在8.0.15上按预期运行

选择SUM`x` 从…起 选择不同的 `T`.`x` 从…起 JSON_表 '[1]', “$[*]”列 `x`INT路径$ T Y 使用临时表而不是子查询可以像预期的那样工作,它不会使每个mysql连接都崩溃

有人碰到过这个问题吗


编辑:对不起,我没有说清楚,与SUM方法无关,看起来像是任何聚合函数组\u CONCAT、JSON\u ARRARYAGG。。。在8.0.16版本中,由于一个不同的子查询会使每个连接都崩溃,因此看起来问题显然很可能是一个bug:

SELECT SUM( `x` )
FROM (
  SELECT DISTINCT `T`.`x` FROM
   JSON_TABLE('[1]','$[*]' COLUMNS(`x` INT PATH "$")) T
) y;
-- error

SELECT SUM( DISTINCT `x` )
FROM (
  SELECT  `T`.`x` FROM
   JSON_TABLE('[1]','$[*]' COLUMNS(`x` INT PATH "$")) T
) y;
-- correct
编辑:


即使没有使用DISTINCT,问题似乎还是与物化有关。

@RaymondNijland是的,现在我看到你已经编辑删除并发布了新的评论:谢谢!在我看到你的评论之前删除了我的评论。我在MySQL的问题跟踪器中提出了一个错误:@RaymondNijland,很麻烦,但希望值得。@AndrewEisenberg也看到了案例,不确定您是否仍然可以更新错误报告。@AndrewEisenberg还请注意,在不使用DISTINCT的情况下,具体化存在问题:/*+NO_MERGEcte*/将导致错误
WITH cte AS (
  SELECT  `T`.`x` FROM
   JSON_TABLE('[1]','$[*]' COLUMNS(`x` INT PATH "$")) T
), cte2 AS (
  SELECT  /*+ NO_MERGE(cte) */  * FROM cte
)
SELECT JSON_ARRAYAGG(`x`)
FROM cte2