mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-10-20 07:21:02 +00:00
118bea2be6
* Enable predicate push-down optimization by default. * Forbid push-downs for some JOIN cases. * Fix existing tests * Forbid optimization if a select query has ARRAY JOIN on any side.
82 lines
3.1 KiB
Plaintext
82 lines
3.1 KiB
Plaintext
0 0
|
|
0 0
|
|
cross
|
|
1 1 1 1
|
|
1 1 1 2
|
|
2 2 2 \N
|
|
1 1 1 1
|
|
1 1 1 2
|
|
2 2 2 \N
|
|
cross nullable
|
|
1 1 1 1
|
|
2 2 1 2
|
|
1 1 1 1
|
|
2 2 1 2
|
|
cross nullable vs not nullable
|
|
1 1 1 1
|
|
2 2 1 2
|
|
1 1 1 1
|
|
2 2 1 2
|
|
cross self
|
|
1 1 1 1
|
|
2 2 2 2
|
|
1 1 1 1
|
|
2 2 2 2
|
|
cross one table expr
|
|
1 1 1 1
|
|
1 1 1 2
|
|
1 1 2 \N
|
|
1 1 3 \N
|
|
2 2 1 1
|
|
2 2 1 2
|
|
2 2 2 \N
|
|
2 2 3 \N
|
|
1 1 1 1
|
|
1 1 1 2
|
|
1 1 2 \N
|
|
1 1 3 \N
|
|
2 2 1 1
|
|
2 2 1 2
|
|
2 2 2 \N
|
|
2 2 3 \N
|
|
cross multiple ands
|
|
1 1 1 1
|
|
1 1 1 1
|
|
cross and inside and
|
|
1 1 1 1
|
|
1 1 1 1
|
|
cross split conjunction
|
|
1 1 1 1
|
|
1 1 1 1
|
|
comma
|
|
1 1 1 1
|
|
1 1 1 2
|
|
2 2 2 \N
|
|
comma nullable
|
|
1 1 1 1
|
|
2 2 1 2
|
|
cross
|
|
SELECT \n a, \n b, \n t2.a, \n t2.b\nFROM t1 \nCROSS JOIN \n(\n SELECT *\n FROM t2 \n) AS t2 \nWHERE a = t2.a
|
|
SELECT \n a, \n b, \n t2.a, \n t2.b\nFROM t1 \nALL INNER JOIN \n(\n SELECT *\n FROM t2 \n) AS t2 ON a = t2.a\nWHERE a = t2.a
|
|
cross nullable
|
|
SELECT \n a, \n b, \n t2.a, \n t2.b\nFROM t1 \n, \n(\n SELECT *\n FROM t2 \n) AS t2 \nWHERE a = t2.a
|
|
SELECT \n a, \n b, \n t2.a, \n t2.b\nFROM t1 \nALL INNER JOIN \n(\n SELECT *\n FROM t2 \n) AS t2 ON a = t2.a\nWHERE a = t2.a
|
|
cross nullable vs not nullable
|
|
SELECT \n a, \n b, \n t2.a, \n t2.b\nFROM t1 \nCROSS JOIN \n(\n SELECT *\n FROM t2 \n) AS t2 \nWHERE a = t2.b
|
|
SELECT \n a, \n b, \n t2.a, \n t2.b\nFROM t1 \nALL INNER JOIN \n(\n SELECT *\n FROM t2 \n) AS t2 ON a = t2.b\nWHERE a = t2.b
|
|
cross self
|
|
SELECT \n a, \n b, \n y.a, \n y.b\nFROM t1 AS x \nCROSS JOIN t1 AS y \nWHERE (a = y.a) AND (b = y.b)
|
|
SELECT \n a, \n b, \n y.a, \n y.b\nFROM t1 AS x \nALL INNER JOIN t1 AS y ON (a = y.a) AND (b = y.b)\nWHERE (a = y.a) AND (b = y.b)
|
|
cross one table expr
|
|
SELECT \n a, \n b, \n t2.a, \n t2.b\nFROM t1 \nCROSS JOIN \n(\n SELECT *\n FROM t2 \n) AS t2 \nWHERE a = b
|
|
SELECT \n a, \n b, \n t2.a, \n t2.b\nFROM t1 \nCROSS JOIN \n(\n SELECT *\n FROM t2 \n) AS t2 \nWHERE a = b
|
|
cross multiple ands
|
|
SELECT \n a, \n b, \n t2.a, \n t2.b\nFROM t1 \nCROSS JOIN \n(\n SELECT *\n FROM t2 \n) AS t2 \nWHERE (a = t2.a) AND (b = t2.b)
|
|
SELECT \n a, \n b, \n t2.a, \n t2.b\nFROM t1 \nALL INNER JOIN \n(\n SELECT *\n FROM t2 \n) AS t2 ON (a = t2.a) AND (b = t2.b)\nWHERE (a = t2.a) AND (b = t2.b)
|
|
cross and inside and
|
|
SELECT \n a, \n b, \n t2.a, \n t2.b\nFROM t1 \nCROSS JOIN \n(\n SELECT *\n FROM t2 \n) AS t2 \nWHERE (a = t2.a) AND ((a = t2.a) AND ((a = t2.a) AND (b = t2.b)))
|
|
SELECT \n a, \n b, \n t2.a, \n t2.b\nFROM t1 \nALL INNER JOIN \n(\n SELECT *\n FROM t2 \n) AS t2 ON (a = t2.a) AND (a = t2.a) AND (a = t2.a) AND (b = t2.b)\nWHERE (a = t2.a) AND ((a = t2.a) AND ((a = t2.a) AND (b = t2.b)))
|
|
cross split conjunction
|
|
SELECT \n a, \n b, \n t2.a, \n t2.b\nFROM t1 \nCROSS JOIN \n(\n SELECT *\n FROM t2 \n WHERE b > 0\n) AS t2 \nWHERE (a = t2.a) AND (b = t2.b) AND (a >= 1) AND (t2.b > 0)
|
|
SELECT \n a, \n b, \n t2.a, \n t2.b\nFROM t1 \nALL INNER JOIN \n(\n SELECT *\n FROM t2 \n WHERE b > 0\n) AS t2 ON (a = t2.a) AND (b = t2.b)\nWHERE (a = t2.a) AND (b = t2.b) AND (a >= 1) AND (t2.b > 0)
|