提交 7ab7edf6 authored 作者: Evgenij Ryazanov's avatar Evgenij Ryazanov

Prevert incorrect optimization

上级 143ae74b
......@@ -1251,14 +1251,9 @@ public class Select extends Query {
}
}
}
if (isGroupQuery && groupIndex == null &&
havingIndex < 0 && filters.size() == 1) {
if (condition == null) {
Table t = filters.get(0).getTable();
ExpressionVisitor optimizable = ExpressionVisitor.
getOptimizableVisitor(t);
isQuickAggregateQuery = isEverything(optimizable);
}
if (isGroupQuery && groupIndex == null && havingIndex < 0 && qualifyIndex < 0 && condition == null
&& filters.size() == 1) {
isQuickAggregateQuery = isEverything(ExpressionVisitor.getOptimizableVisitor(filters.get(0).getTable()));
}
cost = preparePlan(session.isParsingCreateView());
if (distinct && session.getDatabase().getSettings().optimizeDistinct &&
......
......@@ -609,3 +609,19 @@ SELECT * FROM TEST WHERE (A, B) IN ((1000000000000, 2), (3, 4));
DROP TABLE TEST;
> ok
CREATE TABLE TEST(I) AS VALUES 1, 2, 3;
> ok
SELECT COUNT(*) C FROM TEST HAVING C < 1;
> C
> -
> rows: 0
SELECT COUNT(*) C FROM TEST QUALIFY C < 1;
> C
> -
> rows: 0
DROP TABLE TEST;
> ok
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论