#11762·cube

包含 CTE 的简单查询跳过预 aggs 并被推入数据源

作者: arno-prog创建于 2026年9月4日更新于 2026年9月4日

** 描述错误** 立方体查询计划器错误地将包含CTEs的查询推向了数据源,而不是在查询pushdown启用时以预汇总和后处理方式服务. V1.6.48版本没有将查询推倒,而是从预汇总开始服务于它,但是从那时起,除了将v1.6.49发布到v1.7.10之前有不同错误的某地,查询被推倒到数据源.

以当前发布的1.7.33为例,当推倒被禁用时,通过预汇总服务查询. 当被启用后,它被推倒到数据源.

** 废除** 复制行为的步骤 : 1)定义2个带有预汇总的立方体,其中预汇总的结果可以在SQL查询中加入. 2) 禁用查询推倒. 执行一个连接到预汇总结果的查询,并将从立方体商店/预汇总服务中的查询输入。 3)启用查询推倒,再次执行查询并查看被推倒的查询.

** 预期行为** 如果一个查询可以通过预汇总/优化处理得到服务,那么无论是否启用了推倒操作。

** 枪声** 使用立方体 v1.7.33 的推倒式已禁用查询由预汇总服务: <img宽="1334"高="1224" alt="Image" src="https://GitHub.com/user-attachments/assets/86bdc0c5-693d-45c6-ab35-320c292015d2"/". <img宽="1689"高="1224" alt="Image" src="https://GitHub.com/user-attachments/assets/776e0750-d1bc-4555-90f1-d9a2b5c08551"/ >

由于启用了推倒式查询, 无法通过预汇总处理 : <img宽="1689"高="1224" alt="Image" src="https://GitHub.com/user-attachments/assets/ec412d53-1823-45a6-8acf-0ab92d6051af" / > <img宽="1689"高="1224" alt="Image" src="https://GitHub.com/user-attachments/assets/e409b4e7-f69e-4239-9036-63fd775e5edf"/.

** 微量再生立方体Schema** 这应该很容易与大多数立方体项目进行测试,其中包含2个立方体,具有预相加和,有些在2个预相加结果之间加入列.

** 版本:** 行为自v1.6.49起发生变化,现为最新版本v1.7.33 (正按第1.6.48号案的预期工作)

** 补充评论:**

  • 使用Docker图像在本地测试的v1.6.48确认行为改变。
  • 数据源 - 重排