mirror of
https://github.com/apache/doris.git
synced 2026-11-04 18:29:59 +00:00
for a project, if it is distinct and no contains agg function, ProjectWithDistinctToAggregate will convert project to agg. but the agg function should exclude window function. for example: for table t: ``` create table t(a int); insert into t values (1), (1); ``` then for a distinct query ``` MySQL root@172.58.1.1:db1> select distinct a, max(a) over() from t; +---+---------------+ | a | max(a) over() | +---+---------------+ | 1 | 1 | | 1 | 1 | +---+---------------+ ``` it output two rows, it's error, should output one row. so we exclude the window function, then with this pr, the result will be: ``` MySQL root@172.58.1.1:db1> select distinct a, max(a) over() from t; +---+---------------+ | a | max(a) over() | +---+---------------+ | 1 | 1 | +---+---------------+ ```
29 lines
1.2 KiB
Groovy
29 lines
1.2 KiB
Groovy
// Licensed to the Apache Software Foundation (ASF) under one
|
|
// or more contributor license agreements. See the NOTICE file
|
|
// distributed with this work for additional information
|
|
// regarding copyright ownership. The ASF licenses this file
|
|
// to you under the Apache License, Version 2.0 (the
|
|
// "License"); you may not use this file except in compliance
|
|
// with the License. You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing,
|
|
// software distributed under the License is distributed on an
|
|
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
// KIND, either express or implied. See the License for the
|
|
// specific language governing permissions and limitations
|
|
// under the License.
|
|
|
|
import org.apache.doris.regression.suite.Suite
|
|
|
|
Suite.metaClass.explainAndResult = { String tag, String sql ->
|
|
"qt_${tag}_shape" "explain shape plan ${sql}"
|
|
"qt_${tag}_result" "${sql}"
|
|
}
|
|
|
|
Suite.metaClass.explainAndOrderResult = { String tag, String sql ->
|
|
"qt_${tag}_shape" "explain shape plan ${sql}"
|
|
"order_qt_${tag}_result" "${sql}"
|
|
}
|