mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 08:40:50 +00:00
fix tests
This commit is contained in:
parent
449e11f1ea
commit
3be49eeedb
@ -1,7 +1,6 @@
|
||||
DROP DATABASE IF EXISTS constraint_test;
|
||||
DROP TABLE IF EXISTS constraint_test.assumption;
|
||||
DROP TABLE IF EXISTS constraint_test.transitivity;
|
||||
DROP TABLE IF EXISTS constraint_test.transitivity2;
|
||||
DROP TABLE IF EXISTS constraint_test_assumption;
|
||||
DROP TABLE IF EXISTS constraint_test_transitivity;
|
||||
DROP TABLE IF EXISTS constraint_test_transitivity2;
|
||||
|
||||
SET convert_query_to_cnf = 1;
|
||||
SET optimize_using_constraints = 1;
|
||||
@ -9,94 +8,91 @@ SET optimize_move_to_prewhere = 1;
|
||||
SET optimize_substitute_columns = 1;
|
||||
SET optimize_append_index = 1;
|
||||
|
||||
CREATE DATABASE constraint_test;
|
||||
CREATE TABLE constraint_test.assumption (URL String, a Int32, CONSTRAINT c1 ASSUME domainWithoutWWW(URL) = 'yandex.ru', CONSTRAINT c2 ASSUME URL > 'zzz' AND startsWith(URL, 'test') = True) ENGINE = TinyLog;
|
||||
CREATE TABLE constraint_test_assumption (URL String, a Int32, CONSTRAINT c1 ASSUME domainWithoutWWW(URL) = 'yandex.ru', CONSTRAINT c2 ASSUME URL > 'zzz' AND startsWith(URL, 'test') = True) ENGINE = TinyLog;
|
||||
|
||||
--- Add wrong rows in order to check optimization
|
||||
INSERT INTO constraint_test.assumption (URL, a) VALUES ('1', 1);
|
||||
INSERT INTO constraint_test.assumption (URL, a) VALUES ('2', 2);
|
||||
INSERT INTO constraint_test.assumption (URL, a) VALUES ('yandex.ru', 3);
|
||||
INSERT INTO constraint_test.assumption (URL, a) VALUES ('3', 4);
|
||||
INSERT INTO constraint_test_assumption (URL, a) VALUES ('1', 1);
|
||||
INSERT INTO constraint_test_assumption (URL, a) VALUES ('2', 2);
|
||||
INSERT INTO constraint_test_assumption (URL, a) VALUES ('yandex.ru', 3);
|
||||
INSERT INTO constraint_test_assumption (URL, a) VALUES ('3', 4);
|
||||
|
||||
SELECT count() FROM constraint_test.assumption WHERE domainWithoutWWW(URL) = 'yandex.ru'; --- assumption -> 4
|
||||
SELECT count() FROM constraint_test.assumption WHERE NOT (domainWithoutWWW(URL) = 'yandex.ru'); --- assumption -> 0
|
||||
SELECT count() FROM constraint_test.assumption WHERE domainWithoutWWW(URL) != 'yandex.ru'; --- assumption -> 0
|
||||
SELECT count() FROM constraint_test.assumption WHERE domainWithoutWWW(URL) = 'nothing'; --- not optimized -> 0
|
||||
SELECT count() FROM constraint_test_assumption WHERE domainWithoutWWW(URL) = 'yandex.ru'; --- assumption -> 4
|
||||
SELECT count() FROM constraint_test_assumption WHERE NOT (domainWithoutWWW(URL) = 'yandex.ru'); --- assumption -> 0
|
||||
SELECT count() FROM constraint_test_assumption WHERE domainWithoutWWW(URL) != 'yandex.ru'; --- assumption -> 0
|
||||
SELECT count() FROM constraint_test_assumption WHERE domainWithoutWWW(URL) = 'nothing'; --- not optimized -> 0
|
||||
|
||||
SELECT count() FROM constraint_test.assumption WHERE (domainWithoutWWW(URL) = 'yandex.ru' AND URL > 'zzz'); ---> assumption -> 4
|
||||
SELECT count() FROM constraint_test.assumption WHERE (domainWithoutWWW(URL) = 'yandex.ru' AND NOT URL <= 'zzz'); ---> assumption -> 4
|
||||
SELECT count() FROM constraint_test.assumption WHERE (domainWithoutWWW(URL) = 'yandex.ru' AND URL > 'zzz') OR (a = 10 AND a + 5 < 100); ---> assumption -> 4
|
||||
SELECT count() FROM constraint_test.assumption WHERE (domainWithoutWWW(URL) = 'yandex.ru' AND URL = '111'); ---> assumption & no assumption -> 0
|
||||
SELECT count() FROM constraint_test.assumption WHERE (startsWith(URL, 'test') = True); ---> assumption -> 4
|
||||
SELECT count() FROM constraint_test_assumption WHERE (domainWithoutWWW(URL) = 'yandex.ru' AND URL > 'zzz'); ---> assumption -> 4
|
||||
SELECT count() FROM constraint_test_assumption WHERE (domainWithoutWWW(URL) = 'yandex.ru' AND NOT URL <= 'zzz'); ---> assumption -> 4
|
||||
SELECT count() FROM constraint_test_assumption WHERE (domainWithoutWWW(URL) = 'yandex.ru' AND URL > 'zzz') OR (a = 10 AND a + 5 < 100); ---> assumption -> 4
|
||||
SELECT count() FROM constraint_test_assumption WHERE (domainWithoutWWW(URL) = 'yandex.ru' AND URL = '111'); ---> assumption & no assumption -> 0
|
||||
SELECT count() FROM constraint_test_assumption WHERE (startsWith(URL, 'test') = True); ---> assumption -> 4
|
||||
|
||||
DROP TABLE constraint_test.assumption;
|
||||
DROP TABLE constraint_test_assumption;
|
||||
|
||||
CREATE TABLE constraint_test.transitivity (a Int64, b Int64, c Int64, d Int32, CONSTRAINT c1 ASSUME a = b AND c = d, CONSTRAINT c2 ASSUME b = c) ENGINE = TinyLog;
|
||||
CREATE TABLE constraint_test_transitivity (a Int64, b Int64, c Int64, d Int32, CONSTRAINT c1 ASSUME a = b AND c = d, CONSTRAINT c2 ASSUME b = c) ENGINE = TinyLog;
|
||||
|
||||
INSERT INTO constraint_test.transitivity (a, b, c, d) VALUES (1, 2, 3, 4);
|
||||
INSERT INTO constraint_test_transitivity (a, b, c, d) VALUES (1, 2, 3, 4);
|
||||
|
||||
SELECT count() FROM constraint_test.transitivity WHERE a = d; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test_transitivity WHERE a = d; ---> assumption -> 1
|
||||
|
||||
DROP TABLE constraint_test.transitivity;
|
||||
DROP TABLE constraint_test_transitivity;
|
||||
|
||||
|
||||
CREATE TABLE constraint_test.strong_connectivity (a String, b String, c String, d String, CONSTRAINT c1 ASSUME a <= b AND b <= c AND c <= d AND d <= a) ENGINE = TinyLog;
|
||||
CREATE TABLE constraint_test_strong_connectivity (a String, b String, c String, d String, CONSTRAINT c1 ASSUME a <= b AND b <= c AND c <= d AND d <= a) ENGINE = TinyLog;
|
||||
|
||||
INSERT INTO constraint_test.strong_connectivity (a, b, c, d) VALUES ('1', '2', '3', '4');
|
||||
INSERT INTO constraint_test_strong_connectivity (a, b, c, d) VALUES ('1', '2', '3', '4');
|
||||
|
||||
SELECT count() FROM constraint_test.strong_connectivity WHERE a = d; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test.strong_connectivity WHERE a = c AND b = d; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test.strong_connectivity WHERE a < c OR b < d; ---> assumption -> 0
|
||||
SELECT count() FROM constraint_test.strong_connectivity WHERE a <= c OR b <= d; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test_strong_connectivity WHERE a = d; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test_strong_connectivity WHERE a = c AND b = d; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test_strong_connectivity WHERE a < c OR b < d; ---> assumption -> 0
|
||||
SELECT count() FROM constraint_test_strong_connectivity WHERE a <= c OR b <= d; ---> assumption -> 1
|
||||
|
||||
DROP TABLE constraint_test.strong_connectivity;
|
||||
DROP TABLE constraint_test_strong_connectivity;
|
||||
|
||||
CREATE TABLE constraint_test.transitivity2 (a String, b String, c String, d String, CONSTRAINT c1 ASSUME a > b AND b >= c AND c > d AND a >= d) ENGINE = TinyLog;
|
||||
CREATE TABLE constraint_test_transitivity2 (a String, b String, c String, d String, CONSTRAINT c1 ASSUME a > b AND b >= c AND c > d AND a >= d) ENGINE = TinyLog;
|
||||
|
||||
INSERT INTO constraint_test.transitivity2 (a, b, c, d) VALUES ('1', '2', '3', '4');
|
||||
INSERT INTO constraint_test_transitivity2 (a, b, c, d) VALUES ('1', '2', '3', '4');
|
||||
|
||||
SELECT count() FROM constraint_test.transitivity2 WHERE a > d; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test.transitivity2 WHERE a >= d; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test.transitivity2 WHERE d < a; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test.transitivity2 WHERE a < d; ---> assumption -> 0
|
||||
SELECT count() FROM constraint_test.transitivity2 WHERE a = d; ---> assumption -> 0
|
||||
SELECT count() FROM constraint_test.transitivity2 WHERE a != d; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test_transitivity2 WHERE a > d; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test_transitivity2 WHERE a >= d; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test_transitivity2 WHERE d < a; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test_transitivity2 WHERE a < d; ---> assumption -> 0
|
||||
SELECT count() FROM constraint_test_transitivity2 WHERE a = d; ---> assumption -> 0
|
||||
SELECT count() FROM constraint_test_transitivity2 WHERE a != d; ---> assumption -> 1
|
||||
|
||||
DROP TABLE constraint_test.transitivity2;
|
||||
DROP TABLE constraint_test_transitivity2;
|
||||
|
||||
CREATE TABLE constraint_test.transitivity3 (a Int64, b Int64, c Int64, CONSTRAINT c1 ASSUME b > 10 AND 1 > a) ENGINE = TinyLog;
|
||||
CREATE TABLE constraint_test_transitivity3 (a Int64, b Int64, c Int64, CONSTRAINT c1 ASSUME b > 10 AND 1 > a) ENGINE = TinyLog;
|
||||
|
||||
INSERT INTO constraint_test.transitivity3 (a, b, c) VALUES (4, 0, 2);
|
||||
INSERT INTO constraint_test_transitivity3 (a, b, c) VALUES (4, 0, 2);
|
||||
|
||||
SELECT count() FROM constraint_test.transitivity3 WHERE a < b; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test.transitivity3 WHERE b >= a; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test_transitivity3 WHERE a < b; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test_transitivity3 WHERE b >= a; ---> assumption -> 1
|
||||
|
||||
DROP TABLE constraint_test.transitivity3;
|
||||
DROP TABLE constraint_test_transitivity3;
|
||||
|
||||
|
||||
CREATE TABLE constraint_test.constants_repl (a Int64, b Int64, c Int64, d Int64, CONSTRAINT c1 ASSUME a - b = 10 AND c + d = 20) ENGINE = TinyLog;
|
||||
CREATE TABLE constraint_test_constants_repl (a Int64, b Int64, c Int64, d Int64, CONSTRAINT c1 ASSUME a - b = 10 AND c + d = 20) ENGINE = TinyLog;
|
||||
|
||||
INSERT INTO constraint_test.constants_repl (a, b, c, d) VALUES (1, 2, 3, 4);
|
||||
INSERT INTO constraint_test_constants_repl (a, b, c, d) VALUES (1, 2, 3, 4);
|
||||
|
||||
SELECT count() FROM constraint_test.constants_repl WHERE a - b = 10; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test.constants_repl WHERE a - b < 0; ---> assumption -> 0
|
||||
SELECT count() FROM constraint_test.constants_repl WHERE a - b = c + d; ---> assumption -> 0
|
||||
SELECT count() FROM constraint_test.constants_repl WHERE (a - b) * 2 = c + d; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test_constants_repl WHERE a - b = 10; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test_constants_repl WHERE a - b < 0; ---> assumption -> 0
|
||||
SELECT count() FROM constraint_test_constants_repl WHERE a - b = c + d; ---> assumption -> 0
|
||||
SELECT count() FROM constraint_test_constants_repl WHERE (a - b) * 2 = c + d; ---> assumption -> 1
|
||||
|
||||
DROP TABLE constraint_test.constants_repl;
|
||||
DROP TABLE constraint_test_constants_repl;
|
||||
|
||||
CREATE TABLE constraint_test.constants (a Int64, b Int64, c Int64, CONSTRAINT c1 ASSUME b > 10 AND a >= 10) ENGINE = TinyLog;
|
||||
CREATE TABLE constraint_test_constants (a Int64, b Int64, c Int64, CONSTRAINT c1 ASSUME b > 10 AND a >= 10) ENGINE = TinyLog;
|
||||
|
||||
INSERT INTO constraint_test.constants (a, b, c) VALUES (0, 0, 0);
|
||||
INSERT INTO constraint_test_constants (a, b, c) VALUES (0, 0, 0);
|
||||
|
||||
SELECT count() FROM constraint_test.constants WHERE 9 < b; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test.constants WHERE 11 < b; ---> assumption -> 0
|
||||
SELECT count() FROM constraint_test.constants WHERE 10 <= b; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test.constants WHERE 9 < a; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test.constants WHERE 10 < a; ---> assumption -> 0
|
||||
SELECT count() FROM constraint_test.constants WHERE 9 <= a; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test.constants WHERE 11 <= a; ---> assumption -> 0
|
||||
SELECT count() FROM constraint_test_constants WHERE 9 < b; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test_constants WHERE 11 < b; ---> assumption -> 0
|
||||
SELECT count() FROM constraint_test_constants WHERE 10 <= b; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test_constants WHERE 9 < a; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test_constants WHERE 10 < a; ---> assumption -> 0
|
||||
SELECT count() FROM constraint_test_constants WHERE 9 <= a; ---> assumption -> 1
|
||||
SELECT count() FROM constraint_test_constants WHERE 11 <= a; ---> assumption -> 0
|
||||
|
||||
DROP TABLE constraint_test.constants;
|
||||
|
||||
DROP DATABASE constraint_test;
|
||||
DROP TABLE constraint_test_constants;
|
||||
|
@ -1,51 +1,51 @@
|
||||
SELECT
|
||||
(b AS `cityHash64(a)`) + 10 AS `plus(cityHash64(a), 10)`,
|
||||
(b AS b) + 3 AS `plus(b, 3)`
|
||||
FROM column_swap_test.test
|
||||
FROM column_swap_test_test
|
||||
WHERE b = 1
|
||||
SELECT
|
||||
(b AS `cityHash64(a)`) + 10 AS `plus(cityHash64(a), 10)`,
|
||||
(b AS b) + 3 AS `plus(b, 3)`
|
||||
FROM column_swap_test.test
|
||||
FROM column_swap_test_test
|
||||
WHERE b = 0
|
||||
SELECT
|
||||
(b AS `cityHash64(a)`) + 10 AS `plus(cityHash64(a), 10)`,
|
||||
(b AS b) + 3 AS `plus(b, 3)`
|
||||
FROM column_swap_test.test
|
||||
FROM column_swap_test_test
|
||||
WHERE b = 0
|
||||
SELECT
|
||||
(b AS `cityHash64(a)`) + 10 AS `plus(cityHash64(a), 10)`,
|
||||
(b AS b) + 3 AS `plus(b, 3)`
|
||||
FROM column_swap_test.test
|
||||
FROM column_swap_test_test
|
||||
WHERE b = 1
|
||||
SELECT (b AS `cityHash64(a)`) + 10 AS `plus(cityHash64(a), 10)`
|
||||
FROM column_swap_test.test
|
||||
FROM column_swap_test_test
|
||||
WHERE b = 0
|
||||
SELECT
|
||||
(cityHash64(a) AS `cityHash64(a)`) + 10 AS `plus(cityHash64(a), 10)`,
|
||||
a AS a
|
||||
FROM column_swap_test.test
|
||||
FROM column_swap_test_test
|
||||
WHERE cityHash64(a) = 0
|
||||
SELECT
|
||||
(cityHash64(a) AS b) + 10 AS `plus(b, 10)`,
|
||||
a AS a
|
||||
FROM column_swap_test.test
|
||||
FROM column_swap_test_test
|
||||
WHERE cityHash64(a) = 0
|
||||
SELECT
|
||||
a AS `substring(reverse(b), 1, 1)`,
|
||||
a AS a
|
||||
FROM column_swap_test.test
|
||||
FROM column_swap_test_test
|
||||
WHERE a = \'c\'
|
||||
SELECT
|
||||
a AS `substring(reverse(b), 1, 1)`,
|
||||
a AS a
|
||||
FROM column_swap_test.test
|
||||
FROM column_swap_test_test
|
||||
WHERE a = \'c\'
|
||||
SELECT
|
||||
a AS t1,
|
||||
a AS t2
|
||||
FROM column_swap_test.test
|
||||
FROM column_swap_test_test
|
||||
WHERE a = \'c\'
|
||||
SELECT a AS `substring(reverse(b), 1, 1)`
|
||||
FROM column_swap_test.test
|
||||
FROM column_swap_test_test
|
||||
WHERE a = \'c\'
|
||||
|
@ -4,34 +4,29 @@ SET optimize_move_to_prewhere = 1;
|
||||
SET optimize_substitute_columns = 1;
|
||||
SET optimize_append_index = 1;
|
||||
|
||||
DROP DATABASE IF EXISTS column_swap_test;
|
||||
DROP TABLE IF EXISTS column_swap_test.test;
|
||||
DROP TABLE IF EXISTS column_swap_test_test;
|
||||
|
||||
CREATE DATABASE column_swap_test;
|
||||
CREATE TABLE column_swap_test_test (i Int64, a String, b UInt64, CONSTRAINT c1 ASSUME b = cityHash64(a)) ENGINE = MergeTree() ORDER BY i;
|
||||
INSERT INTO column_swap_test_test VALUES (1, 'cat', 1), (2, 'dog', 2);
|
||||
INSERT INTO column_swap_test_test SELECT number AS i, format('test {} kek {}', toString(number), toString(number + 10)) AS a, 1 AS b FROM system.numbers LIMIT 1000000;
|
||||
|
||||
CREATE TABLE column_swap_test.test (i Int64, a String, b UInt64, CONSTRAINT c1 ASSUME b = cityHash64(a)) ENGINE = MergeTree() ORDER BY i;
|
||||
INSERT INTO column_swap_test.test VALUES (1, 'cat', 1), (2, 'dog', 2);
|
||||
INSERT INTO column_swap_test.test SELECT number AS i, format('test {} kek {}', toString(number), toString(number + 10)) AS a, 1 AS b FROM system.numbers LIMIT 1000000;
|
||||
EXPLAIN SYNTAX SELECT cityHash64(a) + 10, b + 3 FROM column_swap_test_test WHERE cityHash64(a) = 1;
|
||||
EXPLAIN SYNTAX SELECT cityHash64(a) + 10, b + 3 FROM column_swap_test_test WHERE cityHash64(a) = 0;
|
||||
EXPLAIN SYNTAX SELECT cityHash64(a) + 10, b + 3 FROM column_swap_test_test WHERE b = 0;
|
||||
EXPLAIN SYNTAX SELECT cityHash64(a) + 10, b + 3 FROM column_swap_test_test WHERE b = 1;
|
||||
|
||||
EXPLAIN SYNTAX SELECT cityHash64(a) + 10, b + 3 FROM column_swap_test.test WHERE cityHash64(a) = 1;
|
||||
EXPLAIN SYNTAX SELECT cityHash64(a) + 10, b + 3 FROM column_swap_test.test WHERE cityHash64(a) = 0;
|
||||
EXPLAIN SYNTAX SELECT cityHash64(a) + 10, b + 3 FROM column_swap_test.test WHERE b = 0;
|
||||
EXPLAIN SYNTAX SELECT cityHash64(a) + 10, b + 3 FROM column_swap_test.test WHERE b = 1;
|
||||
EXPLAIN SYNTAX SELECT cityHash64(a) + 10 FROM column_swap_test_test WHERE cityHash64(a) = 0;
|
||||
EXPLAIN SYNTAX SELECT cityHash64(a) + 10, a FROM column_swap_test_test WHERE cityHash64(a) = 0;
|
||||
EXPLAIN SYNTAX SELECT b + 10, a FROM column_swap_test_test WHERE b = 0;
|
||||
|
||||
EXPLAIN SYNTAX SELECT cityHash64(a) + 10 FROM column_swap_test.test WHERE cityHash64(a) = 0;
|
||||
EXPLAIN SYNTAX SELECT cityHash64(a) + 10, a FROM column_swap_test.test WHERE cityHash64(a) = 0;
|
||||
EXPLAIN SYNTAX SELECT b + 10, a FROM column_swap_test.test WHERE b = 0;
|
||||
DROP TABLE column_swap_test_test;
|
||||
|
||||
DROP TABLE column_swap_test.test;
|
||||
CREATE TABLE column_swap_test_test (i Int64, a String, b String, CONSTRAINT c1 ASSUME a = substring(reverse(b), 1, 1)) ENGINE = MergeTree() ORDER BY i;
|
||||
INSERT INTO column_swap_test_test SELECT number AS i, toString(number) AS a, format('test {} kek {}', toString(number), toString(number + 10)) b FROM system.numbers LIMIT 1000000;
|
||||
|
||||
CREATE TABLE column_swap_test.test (i Int64, a String, b String, CONSTRAINT c1 ASSUME a = substring(reverse(b), 1, 1)) ENGINE = MergeTree() ORDER BY i;
|
||||
INSERT INTO column_swap_test.test SELECT number AS i, toString(number) AS a, format('test {} kek {}', toString(number), toString(number + 10)) b FROM system.numbers LIMIT 1000000;
|
||||
EXPLAIN SYNTAX SELECT substring(reverse(b), 1, 1), a FROM column_swap_test_test WHERE a = 'c';
|
||||
EXPLAIN SYNTAX SELECT substring(reverse(b), 1, 1), a FROM column_swap_test_test WHERE substring(reverse(b), 1, 1) = 'c';
|
||||
EXPLAIN SYNTAX SELECT substring(reverse(b), 1, 1) AS t1, a AS t2 FROM column_swap_test_test WHERE substring(reverse(b), 1, 1) = 'c';
|
||||
EXPLAIN SYNTAX SELECT substring(reverse(b), 1, 1) FROM column_swap_test_test WHERE substring(reverse(b), 1, 1) = 'c';
|
||||
|
||||
EXPLAIN SYNTAX SELECT substring(reverse(b), 1, 1), a FROM column_swap_test.test WHERE a = 'c';
|
||||
EXPLAIN SYNTAX SELECT substring(reverse(b), 1, 1), a FROM column_swap_test.test WHERE substring(reverse(b), 1, 1) = 'c';
|
||||
EXPLAIN SYNTAX SELECT substring(reverse(b), 1, 1) AS t1, a AS t2 FROM column_swap_test.test WHERE substring(reverse(b), 1, 1) = 'c';
|
||||
EXPLAIN SYNTAX SELECT substring(reverse(b), 1, 1) FROM column_swap_test.test WHERE substring(reverse(b), 1, 1) = 'c';
|
||||
|
||||
DROP TABLE column_swap_test.test;
|
||||
|
||||
DROP DATABASE column_swap_test;
|
||||
DROP TABLE column_swap_test_test;
|
||||
|
@ -10,13 +10,11 @@ SETTINGS="SET convert_query_to_cnf = 1; SET optimize_using_constraints = 1; SET
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="
|
||||
$SETTINGS;
|
||||
DROP DATABASE IF EXISTS hypothesis_test;
|
||||
DROP TABLE IF EXISTS hypothesis_test.test;
|
||||
DROP TABLE IF EXISTS hypothesis_test.test2;
|
||||
DROP TABLE IF EXISTS hypothesis_test.test3;
|
||||
DROP TABLE IF EXISTS hypothesis_test_test;
|
||||
DROP TABLE IF EXISTS hypothesis_test_test2;
|
||||
DROP TABLE IF EXISTS hypothesis_test_test3;
|
||||
|
||||
CREATE DATABASE hypothesis_test;
|
||||
CREATE TABLE hypothesis_test.test (
|
||||
CREATE TABLE hypothesis_test_test (
|
||||
i UInt64,
|
||||
a UInt64,
|
||||
b UInt64,
|
||||
@ -27,28 +25,28 @@ CREATE TABLE hypothesis_test.test (
|
||||
"
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS;
|
||||
INSERT INTO hypothesis_test.test VALUES (0, 1, 2, 2), (1, 2, 1, 2), (2, 2, 2, 1), (3, 1, 2, 3)"
|
||||
INSERT INTO hypothesis_test_test VALUES (0, 1, 2, 2), (1, 2, 1, 2), (2, 2, 2, 1), (3, 1, 2, 3)"
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test.test WHERE b > a FORMAT JSON" | grep "rows_read" # 4
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test_test WHERE b > a FORMAT JSON" | grep "rows_read" # 4
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test.test WHERE b <= a FORMAT JSON" | grep "rows_read"
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test_test WHERE b <= a FORMAT JSON" | grep "rows_read"
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test.test WHERE b >= a FORMAT JSON" | grep "rows_read" # 4
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test_test WHERE b >= a FORMAT JSON" | grep "rows_read" # 4
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test.test WHERE b = a FORMAT JSON" | grep "rows_read"
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test_test WHERE b = a FORMAT JSON" | grep "rows_read"
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test.test WHERE c < a FORMAT JSON" | grep "rows_read"
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test_test WHERE c < a FORMAT JSON" | grep "rows_read"
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test.test WHERE c = a FORMAT JSON" | grep "rows_read"
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test_test WHERE c = a FORMAT JSON" | grep "rows_read"
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test.test WHERE c > a FORMAT JSON" | grep "rows_read" # 4
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test_test WHERE c > a FORMAT JSON" | grep "rows_read" # 4
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test.test WHERE c < a FORMAT JSON" | grep "rows_read"
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test_test WHERE c < a FORMAT JSON" | grep "rows_read"
|
||||
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="
|
||||
$SETTINGS;
|
||||
CREATE TABLE hypothesis_test.test2 (
|
||||
CREATE TABLE hypothesis_test_test2 (
|
||||
i UInt64,
|
||||
a UInt64,
|
||||
b UInt64,
|
||||
@ -57,20 +55,20 @@ CREATE TABLE hypothesis_test.test2 (
|
||||
"
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS;
|
||||
INSERT INTO hypothesis_test.test2 VALUES (0, 1, 2), (1, 2, 1), (2, 2, 2), (3, 1, 0)"
|
||||
INSERT INTO hypothesis_test_test2 VALUES (0, 1, 2), (1, 2, 1), (2, 2, 2), (3, 1, 0)"
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test.test2 WHERE a < b FORMAT JSON" | grep "rows_read" # 4
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test_test2 WHERE a < b FORMAT JSON" | grep "rows_read" # 4
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test.test2 WHERE a <= b FORMAT JSON" | grep "rows_read" # 4
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test_test2 WHERE a <= b FORMAT JSON" | grep "rows_read" # 4
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test.test2 WHERE a = b FORMAT JSON" | grep "rows_read" # 1
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test_test2 WHERE a = b FORMAT JSON" | grep "rows_read" # 1
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test.test2 WHERE a != b FORMAT JSON" | grep "rows_read" # 4
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS; SELECT count() FROM hypothesis_test_test2 WHERE a != b FORMAT JSON" | grep "rows_read" # 4
|
||||
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="
|
||||
$SETTINGS;
|
||||
CREATE TABLE hypothesis_test.test3 (
|
||||
CREATE TABLE hypothesis_test_test3 (
|
||||
i UInt64,
|
||||
a UInt64,
|
||||
b UInt64,
|
||||
@ -80,20 +78,19 @@ CREATE TABLE hypothesis_test.test3 (
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="
|
||||
$SETTINGS;
|
||||
INSERT INTO hypothesis_test.test3 VALUES (0, 1, 2), (1, 2, 1), (2, 2, 2), (3, 1, 0)"
|
||||
INSERT INTO hypothesis_test_test3 VALUES (0, 1, 2), (1, 2, 1), (2, 2, 2), (3, 1, 0)"
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS;SELECT count() FROM hypothesis_test.test3 WHERE a < b FORMAT JSON" | grep "rows_read" # 3
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS;SELECT count() FROM hypothesis_test_test3 WHERE a < b FORMAT JSON" | grep "rows_read" # 3
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS;SELECT count() FROM hypothesis_test.test3 WHERE a <= b FORMAT JSON" | grep "rows_read" # 4
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS;SELECT count() FROM hypothesis_test_test3 WHERE a <= b FORMAT JSON" | grep "rows_read" # 4
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS;SELECT count() FROM hypothesis_test.test3 WHERE a = b FORMAT JSON" | grep "rows_read" # 4
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS;SELECT count() FROM hypothesis_test_test3 WHERE a = b FORMAT JSON" | grep "rows_read" # 4
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS;SELECT count() FROM hypothesis_test.test3 WHERE a != b FORMAT JSON" | grep "rows_read" # 3
|
||||
$CLICKHOUSE_CLIENT -n --query="$SETTINGS;SELECT count() FROM hypothesis_test_test3 WHERE a != b FORMAT JSON" | grep "rows_read" # 3
|
||||
|
||||
|
||||
$CLICKHOUSE_CLIENT -n --query="
|
||||
$SETTINGS;
|
||||
DROP TABLE hypothesis_test.test;
|
||||
DROP TABLE hypothesis_test.test2;
|
||||
DROP TABLE hypothesis_test.test3;
|
||||
DROP DATABASE hypothesis_test;"
|
||||
DROP TABLE hypothesis_test_test;
|
||||
DROP TABLE hypothesis_test_test2;
|
||||
DROP TABLE hypothesis_test_test3;"
|
||||
|
@ -1,15 +1,15 @@
|
||||
SELECT i AS i
|
||||
FROM index_append_test.test
|
||||
FROM index_append_test_test
|
||||
PREWHERE a = 0
|
||||
WHERE (a = 0) AND indexHint((i + 40) > 0)
|
||||
SELECT i AS i
|
||||
FROM index_append_test.test
|
||||
FROM index_append_test_test
|
||||
PREWHERE a < 0
|
||||
SELECT i AS i
|
||||
FROM index_append_test.test
|
||||
FROM index_append_test_test
|
||||
PREWHERE a >= 0
|
||||
WHERE (a >= 0) AND indexHint((i + 40) > 0)
|
||||
SELECT i AS i
|
||||
FROM index_append_test.test
|
||||
FROM index_append_test_test
|
||||
PREWHERE (2 * b) < 100
|
||||
WHERE ((2 * b) < 100) AND indexHint(i < 100)
|
||||
|
@ -4,19 +4,14 @@ SET optimize_move_to_prewhere = 1;
|
||||
SET optimize_substitute_columns = 1;
|
||||
SET optimize_append_index = 1;
|
||||
|
||||
DROP DATABASE IF EXISTS index_append_test;
|
||||
DROP TABLE IF EXISTS index_append_test.test;
|
||||
DROP TABLE IF EXISTS index_append_test_test;
|
||||
|
||||
CREATE DATABASE index_append_test;
|
||||
CREATE TABLE index_append_test_test (i Int64, a UInt32, b UInt64, CONSTRAINT c1 ASSUME i <= 2 * b AND i + 40 > a) ENGINE = MergeTree() ORDER BY i;
|
||||
INSERT INTO index_append_test_test VALUES (1, 10, 1), (2, 20, 2);
|
||||
|
||||
CREATE TABLE index_append_test.test (i Int64, a UInt32, b UInt64, CONSTRAINT c1 ASSUME i <= 2 * b AND i + 40 > a) ENGINE = MergeTree() ORDER BY i;
|
||||
INSERT INTO index_append_test.test VALUES (1, 10, 1), (2, 20, 2);
|
||||
EXPLAIN SYNTAX SELECT i FROM index_append_test_test WHERE a = 0;
|
||||
EXPLAIN SYNTAX SELECT i FROM index_append_test_test WHERE a < 0;
|
||||
EXPLAIN SYNTAX SELECT i FROM index_append_test_test WHERE a >= 0;
|
||||
EXPLAIN SYNTAX SELECT i FROM index_append_test_test WHERE 2 * b < 100;
|
||||
|
||||
EXPLAIN SYNTAX SELECT i FROM index_append_test.test WHERE a = 0;
|
||||
EXPLAIN SYNTAX SELECT i FROM index_append_test.test WHERE a < 0;
|
||||
EXPLAIN SYNTAX SELECT i FROM index_append_test.test WHERE a >= 0;
|
||||
EXPLAIN SYNTAX SELECT i FROM index_append_test.test WHERE 2 * b < 100;
|
||||
|
||||
DROP TABLE index_append_test.test;
|
||||
|
||||
DROP DATABASE index_append_test;
|
||||
DROP TABLE index_append_test_test;
|
||||
|
Loading…
Reference in New Issue
Block a user