This is an automated email from the ASF dual-hosted git repository. dataroaring pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new bb0d4ba787 [BugFix](sort) use correct agg function when using 2 phase sort for agg table (#16185) bb0d4ba787 is described below commit bb0d4ba787eef8373fdedada17bc62231155f189 Author: AlexYue <yj976240...@gmail.com> AuthorDate: Wed Feb 1 20:07:43 2023 +0800 [BugFix](sort) use correct agg function when using 2 phase sort for agg table (#16185) --- be/src/olap/tablet_schema.h | 2 ++ be/src/vec/exec/scan/new_olap_scanner.cpp | 2 ++ regression-test/data/query_p0/sort/sort.out | 2 ++ regression-test/suites/query_p0/sort/sort.groovy | 18 ++++++++++++++++++ 4 files changed, 24 insertions(+) diff --git a/be/src/olap/tablet_schema.h b/be/src/olap/tablet_schema.h index 5ae8ef6c48..b1e4a3c82d 100644 --- a/be/src/olap/tablet_schema.h +++ b/be/src/olap/tablet_schema.h @@ -77,6 +77,8 @@ public: int frac() const { return _frac; } inline bool visible() const { return _visible; } + void set_aggregation_method(FieldAggregationMethod agg) { _aggregation = agg; } + /** * Add a sub column. */ diff --git a/be/src/vec/exec/scan/new_olap_scanner.cpp b/be/src/vec/exec/scan/new_olap_scanner.cpp index a6410d85de..a36afecf68 100644 --- a/be/src/vec/exec/scan/new_olap_scanner.cpp +++ b/be/src/vec/exec/scan/new_olap_scanner.cpp @@ -102,6 +102,8 @@ Status NewOlapScanner::prepare(const TPaloScanRange& scan_range, rowid_column.set_has_default_value(true); // fake unique id rowid_column.set_unique_id(INT32_MAX); + rowid_column.set_aggregation_method( + FieldAggregationMethod::OLAP_FIELD_AGGREGATION_REPLACE); rowid_column.set_type(FieldType::OLAP_FIELD_TYPE_STRING); _tablet_schema->append_column(rowid_column); } diff --git a/regression-test/data/query_p0/sort/sort.out b/regression-test/data/query_p0/sort/sort.out index 4e898a3f62..3d778981cc 100644 --- a/regression-test/data/query_p0/sort/sort.out +++ b/regression-test/data/query_p0/sort/sort.out @@ -10,3 +10,5 @@ -- !sort_string_on_fe -- true +-- !sql -- + diff --git a/regression-test/suites/query_p0/sort/sort.groovy b/regression-test/suites/query_p0/sort/sort.groovy index 2d41adf192..025ec3f198 100644 --- a/regression-test/suites/query_p0/sort/sort.groovy +++ b/regression-test/suites/query_p0/sort/sort.groovy @@ -23,4 +23,22 @@ suite("sort") { qt_sort_string_single_column """ select * from ( select '汇总' as a union all select '2022-01-01' as a ) a order by 1 """ qt_sort_string_multiple_columns """ select * from ( select '汇总' as a,1 as b union all select '2022-01-01' as a,1 as b ) a order by 1,2 """ qt_sort_string_on_fe """ select '汇总' > '2022-01-01' """ + + sql """CREATE TABLE IF NOT EXISTS Test2PhaseSortWhenAggTable + (`l1` VARCHAR(20) NOT NULL, `l2` VARCHAR(20) NOT NULL, `id` INT REPLACE NOT NULL, `maximum` INT MAX DEFAULT "0" ) + ENGINE=olap AGGREGATE KEY(`l1`, `l2`) PARTITION BY LIST(`l1`, `l2`) ( PARTITION `p1` VALUES IN (("a", "a"), ("b", "b"), ("c", "c")), + PARTITION `p2` VALUES IN (("d", "d"), ("e", "e"), ("f", "f")), PARTITION `p3` VALUES IN (("g", "g"), ("h", "h"), ("i", "i")) ) DISTRIBUTED BY HASH(`l1`) BUCKETS 2 PROPERTIES ( "replication_num" = "1" )""" + + sql """insert into Test2PhaseSortWhenAggTable values ("a", "a", 1, 1), ("b", "b", 3, 2), ("c", "c", 3, 3), ("d", "d", 4, 4), ("e", "e", 5, 5), ("f", "f", 6, 6), ("g", "g", 7, 7), ("h", "h", 8, 8), ("i", "i", 9, 9)""" + + qt_sql """ + SELECT /*+ SET_VAR(query_timeout = 600) */ ref_0.`l1` AS c0, + bitmap_empty() AS c1, + ref_0.`l1` AS c2 + FROM Test2PhaseSortWhenAggTable AS ref_0 + WHERE ref_0.`l2` IS NOT NULL + ORDER BY ref_0.`l1` DESC + LIMIT 110 + OFFSET 130 + """ } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org