2019-02-15 10:15:56 +00:00
-------No need for predicate optimization, but still works-------
2018-03-04 16:15:31 +00:00
1
1
1
2019-02-20 12:36:46 +00:00
2000-01-01 1 test string 1 1
2019-04-18 10:39:25 +00:00
-------Forbid push down-------
2019-06-29 18:36:34 +00:00
SELECT count()\nFROM \n(\n SELECT \n [number] AS a, \n [number * 2] AS b\n FROM system.numbers\n LIMIT 1\n) AS t\nARRAY JOIN \n a, \n b\nWHERE NOT ignore(a + b)
2019-04-18 10:39:25 +00:00
1
2019-06-29 18:36:34 +00:00
SELECT \n a, \n b\nFROM \n(\n SELECT 1 AS a\n)\nANY LEFT JOIN \n(\n SELECT \n 1 AS a, \n 1 AS b\n) USING (a)\nWHERE b = 0
SELECT \n a, \n b\nFROM \n(\n SELECT \n 1 AS a, \n 1 AS b\n)\nANY RIGHT JOIN \n(\n SELECT 1 AS a\n) USING (a)\nWHERE b = 0
SELECT \n a, \n b\nFROM \n(\n SELECT 1 AS a\n)\nANY FULL OUTER JOIN \n(\n SELECT \n 1 AS a, \n 1 AS b\n) USING (a)\nWHERE b = 0
SELECT \n a, \n b\nFROM \n(\n SELECT \n 1 AS a, \n 1 AS b\n)\nANY FULL OUTER JOIN \n(\n SELECT 1 AS a\n) USING (a)\nWHERE b = 0
2018-08-22 06:42:37 +00:00
-------Need push down-------
2019-11-03 07:27:35 +00:00
SELECT toString(value) AS value\nFROM \n(\n SELECT 1 AS value\n)
2019-02-15 10:15:56 +00:00
1
2019-11-03 07:27:35 +00:00
SELECT id\nFROM \n(\n SELECT 1 AS id\n UNION ALL\n SELECT 2 AS `2`\n WHERE 0\n)\nWHERE id = 1
2019-02-15 10:15:56 +00:00
1
2019-06-29 20:06:53 +00:00
SELECT id\nFROM \n(\n SELECT arrayJoin([1, 2, 3]) AS id\n WHERE id = 1\n)\nWHERE id = 1
2019-02-15 10:15:56 +00:00
1
2019-06-29 20:06:53 +00:00
SELECT id\nFROM \n(\n SELECT arrayJoin([1, 2, 3]) AS id\n WHERE id = 1\n)\nWHERE id = 1
2019-02-15 10:15:56 +00:00
1
2019-11-03 07:27:35 +00:00
SELECT \n id, \n subquery\nFROM \n(\n SELECT \n 1 AS id, \n CAST(1, \'UInt8\') AS subquery\n)
2019-02-20 12:36:46 +00:00
1 1
2019-06-30 14:29:24 +00:00
SELECT \n a, \n b\nFROM \n(\n SELECT \n toUInt64(sum(id) AS b) AS a, \n b\n FROM test_00597\n HAVING a = 3\n)\nWHERE a = 3
2019-02-20 12:36:46 +00:00
3 3
2019-06-29 20:06:53 +00:00
SELECT \n date, \n id, \n name, \n value\nFROM \n(\n SELECT \n date, \n name, \n value, \n min(id) AS id\n FROM test_00597\n GROUP BY \n date, \n name, \n value\n HAVING id = 1\n)\nWHERE id = 1
2019-02-20 12:36:46 +00:00
2000-01-01 1 test string 1 1
2019-06-29 20:06:53 +00:00
SELECT \n a, \n b\nFROM \n(\n SELECT \n toUInt64(sum(id) AS b) AS a, \n b\n FROM test_00597 AS table_alias\n HAVING b = 3\n) AS outer_table_alias\nWHERE b = 3
2019-02-20 12:36:46 +00:00
3 3
2019-06-29 18:36:34 +00:00
SELECT \n date, \n id, \n name, \n value\nFROM \n(\n SELECT \n date, \n id, \n name, \n value\n FROM test_00597\n WHERE id = 1\n)\nWHERE id = 1
2019-02-20 12:36:46 +00:00
2000-01-01 1 test string 1 1
2019-06-29 18:36:34 +00:00
SELECT \n date, \n id, \n name, \n value\nFROM \n(\n SELECT \n date, \n id, \n name, \n value\n FROM \n (\n SELECT \n date, \n id, \n name, \n value\n FROM test_00597\n WHERE id = 1\n )\n WHERE id = 1\n)\nWHERE id = 1
2019-02-20 12:36:46 +00:00
2000-01-01 1 test string 1 1
2019-06-29 18:36:34 +00:00
SELECT \n date, \n id, \n name, \n value\nFROM \n(\n SELECT \n date, \n id, \n name, \n value\n FROM \n (\n SELECT \n date, \n id, \n name, \n value\n FROM test_00597\n WHERE id = 1\n ) AS b\n WHERE id = 1\n)\nWHERE id = 1
2019-02-20 12:36:46 +00:00
2000-01-01 1 test string 1 1
2019-06-29 18:36:34 +00:00
SELECT \n date, \n id, \n name, \n value\nFROM \n(\n SELECT \n date, \n id, \n name, \n value\n FROM test_00597\n WHERE id = 1\n)\nWHERE id = 1
2019-02-20 12:36:46 +00:00
2000-01-01 1 test string 1 1
2019-06-29 18:36:34 +00:00
SELECT \n date, \n id, \n name, \n value\nFROM \n(\n SELECT \n date, \n id, \n name, \n value\n FROM \n (\n SELECT \n date, \n id, \n name, \n value\n FROM test_00597\n WHERE id = 1\n )\n WHERE id = 1\n)\nWHERE id = 1
2019-02-20 12:36:46 +00:00
2000-01-01 1 test string 1 1
2019-06-29 18:36:34 +00:00
SELECT \n date, \n id, \n name, \n value\nFROM \n(\n SELECT \n date, \n id, \n name, \n value\n FROM test_00597\n WHERE id = 1\n) AS b\nWHERE id = 1
2019-02-20 12:36:46 +00:00
2000-01-01 1 test string 1 1
2019-06-29 18:36:34 +00:00
SELECT \n date, \n id, \n name, \n value\nFROM \n(\n SELECT \n date, \n id, \n name, \n value\n FROM \n (\n SELECT \n date, \n id, \n name, \n value\n FROM test_00597\n WHERE id = 1\n ) AS a\n WHERE id = 1\n) AS b\nWHERE id = 1
2019-02-20 12:36:46 +00:00
2000-01-01 1 test string 1 1
2019-06-29 18:36:34 +00:00
SELECT \n id, \n date, \n value\nFROM \n(\n SELECT \n id, \n date, \n min(value) AS value\n FROM test_00597\n WHERE id = 1\n GROUP BY \n id, \n date\n)\nWHERE id = 1
2019-02-20 12:36:46 +00:00
1 2000-01-01 1
2019-06-29 18:36:34 +00:00
SELECT \n date, \n id, \n name, \n value\nFROM \n(\n SELECT \n date, \n id, \n name, \n value\n FROM test_00597\n WHERE id = 1\n UNION ALL\n SELECT \n date, \n id, \n name, \n value\n FROM test_00597\n WHERE id = 1\n)\nWHERE id = 1
2019-02-20 12:36:46 +00:00
2000-01-01 1 test string 1 1
2000-01-01 1 test string 1 1
2019-06-29 18:36:34 +00:00
SELECT \n date, \n id, \n name, \n value, \n date, \n name, \n value\nFROM \n(\n SELECT \n date, \n id, \n name, \n value\n FROM test_00597\n WHERE id = 1\n)\nANY LEFT JOIN \n(\n SELECT *\n FROM test_00597\n) USING (id)\nWHERE id = 1
2019-02-20 12:36:46 +00:00
2000-01-01 1 test string 1 1 2000-01-01 test string 1 1
2019-06-29 18:36:34 +00:00
SELECT \n id, \n date, \n name, \n value\nFROM \n(\n SELECT toInt8(1) AS id\n)\nANY LEFT JOIN \n(\n SELECT *\n FROM test_00597\n) AS test_00597 USING (id)\nWHERE value = 1
2019-02-26 10:07:58 +00:00
1 2000-01-01 test string 1 1
2019-06-29 18:36:34 +00:00
SELECT value\nFROM \n(\n SELECT toInt8(1) AS id\n)\nANY LEFT JOIN test_00597 AS b USING (id)\nWHERE value = 1
2019-02-26 10:07:58 +00:00
1
2019-06-29 18:36:34 +00:00
SELECT \n date, \n id, \n name, \n value\nFROM \n(\n SELECT \n date, \n id, \n name, \n value, \n date, \n name, \n value\n FROM \n (\n SELECT \n date, \n id, \n name, \n value\n FROM test_00597\n WHERE id = 1\n )\n ANY LEFT JOIN \n (\n SELECT *\n FROM test_00597\n ) USING (id)\n WHERE id = 1\n)\nWHERE id = 1
2019-02-20 12:36:46 +00:00
2000-01-01 1 test string 1 1
2019-06-29 18:36:34 +00:00
SELECT \n date, \n id, \n name, \n value, \n b.date, \n b.name, \n b.value\nFROM \n(\n SELECT \n date, \n id, \n name, \n value\n FROM test_00597\n)\nANY LEFT JOIN \n(\n SELECT *\n FROM test_00597\n) AS b USING (id)\nWHERE b.id = 1
2019-02-20 12:36:46 +00:00
2000-01-01 1 test string 1 1 2000-01-01 test string 1 1
2019-06-29 18:36:34 +00:00
SELECT \n id, \n date, \n name, \n value\nFROM \n(\n SELECT \n toInt8(1) AS id, \n toDate(\'2000-01-01\') AS date\n FROM system.numbers\n LIMIT 1\n)\nANY LEFT JOIN \n(\n SELECT *\n FROM test_00597\n) AS b USING (date, id)\nWHERE b.date = toDate(\'2000-01-01\')
2019-02-20 12:36:46 +00:00
1 2000-01-01 test string 1 1
2019-06-29 18:36:34 +00:00
SELECT \n date, \n id, \n name, \n value, \n `b.date`, \n `b.id`, \n `b.name`, \n `b.value`\nFROM \n(\n SELECT \n date, \n id, \n name, \n value, \n b.date, \n b.id, \n b.name, \n b.value\n FROM \n (\n SELECT \n date, \n id, \n name, \n value\n FROM test_00597\n WHERE id = 1\n ) AS a\n ANY LEFT JOIN \n (\n SELECT *\n FROM test_00597\n ) AS b ON id = b.id\n WHERE id = 1\n)\nWHERE id = 1
2019-03-25 14:56:15 +00:00
2000-01-01 1 test string 1 1 2000-01-01 1 test string 1 1