mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-19 16:20:50 +00:00
Fix possible wrong result during anyHeavy state merge
This commit is contained in:
parent
674cddc969
commit
c1a83f4734
@ -68,7 +68,10 @@ public:
|
||||
if (data().isEqualTo(to.data()))
|
||||
counter += to.counter;
|
||||
else if (!data().has() || counter < to.counter)
|
||||
{
|
||||
data().set(to.data(), arena);
|
||||
counter = to.counter - counter;
|
||||
}
|
||||
else
|
||||
counter -= to.counter;
|
||||
}
|
||||
|
1
tests/queries/0_stateless/03230_anyHeavy_merge.reference
Normal file
1
tests/queries/0_stateless/03230_anyHeavy_merge.reference
Normal file
@ -0,0 +1 @@
|
||||
a
|
4
tests/queries/0_stateless/03230_anyHeavy_merge.sql
Normal file
4
tests/queries/0_stateless/03230_anyHeavy_merge.sql
Normal file
@ -0,0 +1,4 @@
|
||||
DROP TABLE IF EXISTS t;
|
||||
CREATE TABLE t (letter String) ENGINE=MergeTree order by () partition by letter;
|
||||
INSERT INTO t VALUES ('a'), ('a'), ('a'), ('a'), ('b'), ('a'), ('a'), ('a'), ('a'), ('a'), ('a'), ('a'), ('a'), ('a'), ('a'), ('a'), ('c');
|
||||
SELECT anyHeavy(if(letter != 'b', letter, NULL)) FROM t;
|
Loading…
Reference in New Issue
Block a user