mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-18 04:12:19 +00:00
31a88d4eae
In case of row-level filters optimized out, i.e. converted to always true/false, it is possible for MergeTreeRangeReader to reuse incorrect statistics for the filter (countBytesInResultFilter()), and because of this it simply does not apply other filters, since it assume that this filter does not need to filter anything. Fixes: #40956 Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
10 lines
603 B
SQL
10 lines
603 B
SQL
-- https://github.com/ClickHouse/ClickHouse/issues/40956#issuecomment-1262096612
|
|
DROP TABLE IF EXISTS row_level_policy_prewhere;
|
|
DROP ROW POLICY IF EXISTS row_level_policy_prewhere_policy0 ON row_level_policy_prewhere;
|
|
|
|
CREATE TABLE row_level_policy_prewhere (x Int16, y String) ENGINE = MergeTree ORDER BY x;
|
|
INSERT INTO row_level_policy_prewhere(y, x) VALUES ('A',1), ('B',2), ('C',3);
|
|
CREATE ROW POLICY row_level_policy_prewhere_policy0 ON row_level_policy_prewhere FOR SELECT USING x >= 0 TO default;
|
|
SELECT * FROM row_level_policy_prewhere PREWHERE y = 'foo';
|
|
DROP TABLE row_level_policy_prewhere;
|