diff --git a/tests/queries/0_stateless/01300_group_by_other_keys_having.reference b/tests/queries/0_stateless/01300_group_by_other_keys_having.reference index a470c19a244..5ad29603874 100644 --- a/tests/queries/0_stateless/01300_group_by_other_keys_having.reference +++ b/tests/queries/0_stateless/01300_group_by_other_keys_having.reference @@ -1,9 +1,25 @@ +-- { echoOn } +SELECT round(avg(log(2) * number), 6) AS k FROM numbers(10000000) GROUP BY (number % 2) * (number % 3), number % 3, number % 2 HAVING avg(log(2) * number) > 3465735.3 ORDER BY k; 3465735.9028 3465735.9028 3465736.595947 +SELECT round(avg(log(2) * number), 6) AS k FROM numbers(10000000) GROUP BY (number % 2) * (number % 3), number % 3, number % 2 HAVING avg(log(2) * number) > 3465735.3 ORDER BY k SETTINGS allow_experimental_analyzer=1; +3465735.9028 +3465735.9028 +3465736.595947 +SELECT round(avg(log(2) * number), 6) AS k FROM numbers(10000000) GROUP BY number % 5, ((number % 5) * (number % 5)) HAVING ((number % 5) * (number % 5)) < 5 ORDER BY k; 3465734.169932 3465734.863079 3465735.556226 +SELECT round(avg(log(2) * number), 6) AS k FROM numbers(10000000) GROUP BY number % 5, ((number % 5) * (number % 5)) HAVING ((number % 5) * (number % 5)) < 5 ORDER BY k SETTINGS allow_experimental_analyzer=1; +3465734.169932 +3465734.863079 +3465735.556226 +SELECT (number % 5) * (number % 5) AS k FROM numbers(10000000) GROUP BY number % 5, ((number % 5) * (number % 5)) HAVING ((number % 5) * (number % 5)) < 5 ORDER BY k; +0 +1 +4 +SELECT (number % 5) * (number % 5) AS k FROM numbers(10000000) GROUP BY number % 5, ((number % 5) * (number % 5)) HAVING ((number % 5) * (number % 5)) < 5 ORDER BY k SETTINGS allow_experimental_analyzer=1; 0 1 4 @@ -14,16 +30,198 @@ GROUP BY number % 2 HAVING avg(log(2) * number) > 3465735.3 ORDER BY k ASC +QUERY id: 0 + PROJECTION COLUMNS + k Float64 + PROJECTION + LIST id: 1, nodes: 1 + FUNCTION id: 2, function_name: multiply, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 3, nodes: 2 + CONSTANT id: 4, constant_value: Float64_0.6931471805599453, constant_value_type: Float64 + EXPRESSION + FUNCTION id: 5, function_name: log, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 6, nodes: 1 + CONSTANT id: 7, constant_value: UInt64_2, constant_value_type: UInt8 + FUNCTION id: 8, function_name: avg, function_type: aggregate, result_type: Float64 + ARGUMENTS + LIST id: 9, nodes: 1 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + JOIN TREE + TABLE_FUNCTION id: 11, table_function_name: numbers + ARGUMENTS + LIST id: 12, nodes: 1 + CONSTANT id: 13, constant_value: UInt64_10000000, constant_value_type: UInt32 + GROUP BY + LIST id: 14, nodes: 2 + FUNCTION id: 15, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 16, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 17, constant_value: UInt64_3, constant_value_type: UInt8 + FUNCTION id: 18, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 19, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 20, constant_value: UInt64_2, constant_value_type: UInt8 + HAVING + FUNCTION id: 21, function_name: greater, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 22, nodes: 2 + FUNCTION id: 23, function_name: multiply, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 24, nodes: 2 + CONSTANT id: 25, constant_value: Float64_0.6931471805599453, constant_value_type: Float64 + EXPRESSION + FUNCTION id: 26, function_name: log, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 27, nodes: 1 + CONSTANT id: 28, constant_value: UInt64_2, constant_value_type: UInt8 + FUNCTION id: 29, function_name: avg, function_type: aggregate, result_type: Float64 + ARGUMENTS + LIST id: 30, nodes: 1 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 31, constant_value: Float64_3465735.3, constant_value_type: Float64 + ORDER BY + LIST id: 32, nodes: 1 + SORT id: 33, sort_direction: ASCENDING, with_fill: 0 + EXPRESSION + FUNCTION id: 8, function_name: avg, function_type: aggregate, result_type: Float64 + ARGUMENTS + LIST id: 9, nodes: 1 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 SELECT avg(log(2) * number) AS k FROM numbers(10000000) WHERE ((number % 5) * (number % 5)) < 5 GROUP BY number % 5 ORDER BY k ASC +QUERY id: 0 + PROJECTION COLUMNS + k Float64 + PROJECTION + LIST id: 1, nodes: 1 + FUNCTION id: 2, function_name: multiply, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 3, nodes: 2 + CONSTANT id: 4, constant_value: Float64_0.6931471805599453, constant_value_type: Float64 + EXPRESSION + FUNCTION id: 5, function_name: log, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 6, nodes: 1 + CONSTANT id: 7, constant_value: UInt64_2, constant_value_type: UInt8 + FUNCTION id: 8, function_name: avg, function_type: aggregate, result_type: Float64 + ARGUMENTS + LIST id: 9, nodes: 1 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + JOIN TREE + TABLE_FUNCTION id: 11, table_function_name: numbers + ARGUMENTS + LIST id: 12, nodes: 1 + CONSTANT id: 13, constant_value: UInt64_10000000, constant_value_type: UInt32 + GROUP BY + LIST id: 14, nodes: 1 + FUNCTION id: 15, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 16, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 17, constant_value: UInt64_5, constant_value_type: UInt8 + HAVING + FUNCTION id: 18, function_name: less, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 19, nodes: 2 + FUNCTION id: 20, function_name: multiply, function_type: ordinary, result_type: UInt16 + ARGUMENTS + LIST id: 21, nodes: 2 + FUNCTION id: 22, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 23, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 24, constant_value: UInt64_5, constant_value_type: UInt8 + FUNCTION id: 25, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 26, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 27, constant_value: UInt64_5, constant_value_type: UInt8 + CONSTANT id: 28, constant_value: UInt64_5, constant_value_type: UInt8 + ORDER BY + LIST id: 29, nodes: 1 + SORT id: 30, sort_direction: ASCENDING, with_fill: 0 + EXPRESSION + FUNCTION id: 8, function_name: avg, function_type: aggregate, result_type: Float64 + ARGUMENTS + LIST id: 9, nodes: 1 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 SELECT (number % 5) * (number % 5) AS k FROM numbers(10000000) WHERE ((number % 5) * (number % 5)) < 5 GROUP BY number % 5 ORDER BY k ASC +QUERY id: 0 + PROJECTION COLUMNS + k UInt16 + PROJECTION + LIST id: 1, nodes: 1 + FUNCTION id: 2, function_name: multiply, function_type: ordinary, result_type: UInt16 + ARGUMENTS + LIST id: 3, nodes: 2 + FUNCTION id: 4, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 5, nodes: 2 + COLUMN id: 6, column_name: number, result_type: UInt64, source_id: 7 + CONSTANT id: 8, constant_value: UInt64_5, constant_value_type: UInt8 + FUNCTION id: 9, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 10, nodes: 2 + COLUMN id: 6, column_name: number, result_type: UInt64, source_id: 7 + CONSTANT id: 11, constant_value: UInt64_5, constant_value_type: UInt8 + JOIN TREE + TABLE_FUNCTION id: 7, table_function_name: numbers + ARGUMENTS + LIST id: 12, nodes: 1 + CONSTANT id: 13, constant_value: UInt64_10000000, constant_value_type: UInt32 + GROUP BY + LIST id: 14, nodes: 1 + FUNCTION id: 15, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 16, nodes: 2 + COLUMN id: 6, column_name: number, result_type: UInt64, source_id: 7 + CONSTANT id: 17, constant_value: UInt64_5, constant_value_type: UInt8 + HAVING + FUNCTION id: 18, function_name: less, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 19, nodes: 2 + FUNCTION id: 20, function_name: multiply, function_type: ordinary, result_type: UInt16 + ARGUMENTS + LIST id: 21, nodes: 2 + FUNCTION id: 22, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 23, nodes: 2 + COLUMN id: 6, column_name: number, result_type: UInt64, source_id: 7 + CONSTANT id: 24, constant_value: UInt64_5, constant_value_type: UInt8 + FUNCTION id: 25, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 26, nodes: 2 + COLUMN id: 6, column_name: number, result_type: UInt64, source_id: 7 + CONSTANT id: 27, constant_value: UInt64_5, constant_value_type: UInt8 + CONSTANT id: 28, constant_value: UInt64_5, constant_value_type: UInt8 + ORDER BY + LIST id: 29, nodes: 1 + SORT id: 30, sort_direction: ASCENDING, with_fill: 0 + EXPRESSION + FUNCTION id: 2, function_name: multiply, function_type: ordinary, result_type: UInt16 + ARGUMENTS + LIST id: 3, nodes: 2 + FUNCTION id: 4, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 5, nodes: 2 + COLUMN id: 6, column_name: number, result_type: UInt64, source_id: 7 + CONSTANT id: 8, constant_value: UInt64_5, constant_value_type: UInt8 + FUNCTION id: 9, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 10, nodes: 2 + COLUMN id: 6, column_name: number, result_type: UInt64, source_id: 7 + CONSTANT id: 11, constant_value: UInt64_5, constant_value_type: UInt8 3465735.9028 3465735.9028 3465736.595947 @@ -41,6 +239,80 @@ GROUP BY number % 2 HAVING avg(log(2) * number) > 3465735.3 ORDER BY k ASC +QUERY id: 0 + PROJECTION COLUMNS + k Float64 + PROJECTION + LIST id: 1, nodes: 1 + FUNCTION id: 2, function_name: multiply, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 3, nodes: 2 + CONSTANT id: 4, constant_value: Float64_0.6931471805599453, constant_value_type: Float64 + EXPRESSION + FUNCTION id: 5, function_name: log, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 6, nodes: 1 + CONSTANT id: 7, constant_value: UInt64_2, constant_value_type: UInt8 + FUNCTION id: 8, function_name: avg, function_type: aggregate, result_type: Float64 + ARGUMENTS + LIST id: 9, nodes: 1 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + JOIN TREE + TABLE_FUNCTION id: 11, table_function_name: numbers + ARGUMENTS + LIST id: 12, nodes: 1 + CONSTANT id: 13, constant_value: UInt64_10000000, constant_value_type: UInt32 + GROUP BY + LIST id: 14, nodes: 3 + FUNCTION id: 15, function_name: multiply, function_type: ordinary, result_type: UInt16 + ARGUMENTS + LIST id: 16, nodes: 2 + FUNCTION id: 17, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 18, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 19, constant_value: UInt64_2, constant_value_type: UInt8 + FUNCTION id: 20, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 21, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 22, constant_value: UInt64_3, constant_value_type: UInt8 + FUNCTION id: 23, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 24, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 25, constant_value: UInt64_3, constant_value_type: UInt8 + FUNCTION id: 26, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 27, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 28, constant_value: UInt64_2, constant_value_type: UInt8 + HAVING + FUNCTION id: 29, function_name: greater, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 30, nodes: 2 + FUNCTION id: 31, function_name: multiply, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 32, nodes: 2 + CONSTANT id: 33, constant_value: Float64_0.6931471805599453, constant_value_type: Float64 + EXPRESSION + FUNCTION id: 34, function_name: log, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 35, nodes: 1 + CONSTANT id: 36, constant_value: UInt64_2, constant_value_type: UInt8 + FUNCTION id: 37, function_name: avg, function_type: aggregate, result_type: Float64 + ARGUMENTS + LIST id: 38, nodes: 1 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 39, constant_value: Float64_3465735.3, constant_value_type: Float64 + ORDER BY + LIST id: 40, nodes: 1 + SORT id: 41, sort_direction: ASCENDING, with_fill: 0 + EXPRESSION + FUNCTION id: 8, function_name: avg, function_type: aggregate, result_type: Float64 + ARGUMENTS + LIST id: 9, nodes: 1 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 SELECT avg(log(2) * number) AS k FROM numbers(10000000) WHERE ((number % 5) * (number % 5)) < 5 diff --git a/tests/queries/0_stateless/02129_window_functions_disable_optimizations.reference b/tests/queries/0_stateless/02129_window_functions_disable_optimizations.reference index f66c81021c9..12a3b589371 100644 --- a/tests/queries/0_stateless/02129_window_functions_disable_optimizations.reference +++ b/tests/queries/0_stateless/02129_window_functions_disable_optimizations.reference @@ -34,3 +34,9 @@ 5776226.273617 5777381.749967 5778537.226317 +5772761.230862 +5773916.014064 +5775070.797267 +5776226.273617 +5777381.749967 +5778537.226317 diff --git a/tests/queries/0_stateless/02481_optimize_grouping_sets_keys.reference b/tests/queries/0_stateless/02481_optimize_grouping_sets_keys.reference index 4fcf285a1ad..e5b41050ddd 100644 --- a/tests/queries/0_stateless/02481_optimize_grouping_sets_keys.reference +++ b/tests/queries/0_stateless/02481_optimize_grouping_sets_keys.reference @@ -6,46 +6,192 @@ QUERY id: 0, group_by_type: grouping_sets FUNCTION id: 2, function_name: multiply, function_type: ordinary, result_type: Float64 ARGUMENTS LIST id: 3, nodes: 2 - FUNCTION id: 4, function_name: log, function_type: ordinary, result_type: Float64, constant_value: Float64_0.6931471805599453, constant_value_type: Float64 + CONSTANT id: 4, constant_value: Float64_0.6931471805599453, constant_value_type: Float64 + EXPRESSION + FUNCTION id: 5, function_name: log, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 6, nodes: 1 + CONSTANT id: 7, constant_value: UInt64_2, constant_value_type: UInt8 + FUNCTION id: 8, function_name: avg, function_type: aggregate, result_type: Float64 ARGUMENTS - LIST id: 5, nodes: 1 - CONSTANT id: 6, constant_value: UInt64_2, constant_value_type: UInt8 - FUNCTION id: 7, function_name: avg, function_type: aggregate, result_type: Float64 - ARGUMENTS - LIST id: 8, nodes: 1 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 + LIST id: 9, nodes: 1 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 JOIN TREE - TABLE_FUNCTION id: 10, table_function_name: numbers + TABLE_FUNCTION id: 11, table_function_name: numbers ARGUMENTS - LIST id: 11, nodes: 1 - CONSTANT id: 12, constant_value: UInt64_10000000, constant_value_type: UInt32 + LIST id: 12, nodes: 1 + CONSTANT id: 13, constant_value: UInt64_10000000, constant_value_type: UInt32 GROUP BY - LIST id: 13, nodes: 3 - LIST id: 14, nodes: 1 - FUNCTION id: 15, function_name: multiply, function_type: ordinary, result_type: UInt16 + LIST id: 14, nodes: 3 + LIST id: 15, nodes: 1 + FUNCTION id: 16, function_name: multiply, function_type: ordinary, result_type: UInt16 ARGUMENTS - LIST id: 16, nodes: 2 - FUNCTION id: 17, function_name: modulo, function_type: ordinary, result_type: UInt8 + LIST id: 17, nodes: 2 + FUNCTION id: 18, function_name: modulo, function_type: ordinary, result_type: UInt8 ARGUMENTS - LIST id: 18, nodes: 2 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 - CONSTANT id: 19, constant_value: UInt64_2, constant_value_type: UInt8 - FUNCTION id: 20, function_name: modulo, function_type: ordinary, result_type: UInt8 + LIST id: 19, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 20, constant_value: UInt64_2, constant_value_type: UInt8 + FUNCTION id: 21, function_name: modulo, function_type: ordinary, result_type: UInt8 ARGUMENTS - LIST id: 21, nodes: 2 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 - CONSTANT id: 22, constant_value: UInt64_3, constant_value_type: UInt8 - LIST id: 23, nodes: 1 + LIST id: 22, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 23, constant_value: UInt64_3, constant_value_type: UInt8 + LIST id: 24, nodes: 1 + FUNCTION id: 25, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 26, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 27, constant_value: UInt64_3, constant_value_type: UInt8 + LIST id: 28, nodes: 1 + FUNCTION id: 29, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 30, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 31, constant_value: UInt64_2, constant_value_type: UInt8 + HAVING + FUNCTION id: 32, function_name: greater, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 33, nodes: 2 + FUNCTION id: 34, function_name: multiply, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 35, nodes: 2 + CONSTANT id: 36, constant_value: Float64_0.6931471805599453, constant_value_type: Float64 + EXPRESSION + FUNCTION id: 37, function_name: log, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 38, nodes: 1 + CONSTANT id: 39, constant_value: UInt64_2, constant_value_type: UInt8 + FUNCTION id: 40, function_name: avg, function_type: aggregate, result_type: Float64 + ARGUMENTS + LIST id: 41, nodes: 1 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 42, constant_value: Float64_3465735.3, constant_value_type: Float64 + ORDER BY + LIST id: 43, nodes: 1 + SORT id: 44, sort_direction: ASCENDING, with_fill: 0 + EXPRESSION + FUNCTION id: 8, function_name: avg, function_type: aggregate, result_type: Float64 + ARGUMENTS + LIST id: 9, nodes: 1 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 +QUERY id: 0, group_by_type: grouping_sets + PROJECTION COLUMNS + k Float64 + PROJECTION + LIST id: 1, nodes: 1 + FUNCTION id: 2, function_name: multiply, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 3, nodes: 2 + CONSTANT id: 4, constant_value: Float64_0.6931471805599453, constant_value_type: Float64 + EXPRESSION + FUNCTION id: 5, function_name: log, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 6, nodes: 1 + CONSTANT id: 7, constant_value: UInt64_2, constant_value_type: UInt8 + FUNCTION id: 8, function_name: avg, function_type: aggregate, result_type: Float64 + ARGUMENTS + LIST id: 9, nodes: 1 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + JOIN TREE + TABLE_FUNCTION id: 11, table_function_name: numbers + ARGUMENTS + LIST id: 12, nodes: 1 + CONSTANT id: 13, constant_value: UInt64_10000000, constant_value_type: UInt32 + GROUP BY + LIST id: 14, nodes: 2 + LIST id: 15, nodes: 2 + FUNCTION id: 16, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 17, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 18, constant_value: UInt64_3, constant_value_type: UInt8 + FUNCTION id: 19, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 20, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 21, constant_value: UInt64_2, constant_value_type: UInt8 + LIST id: 22, nodes: 1 + FUNCTION id: 23, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 24, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 25, constant_value: UInt64_4, constant_value_type: UInt8 + HAVING + FUNCTION id: 26, function_name: greater, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 27, nodes: 2 + FUNCTION id: 28, function_name: multiply, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 29, nodes: 2 + CONSTANT id: 30, constant_value: Float64_0.6931471805599453, constant_value_type: Float64 + EXPRESSION + FUNCTION id: 31, function_name: log, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 32, nodes: 1 + CONSTANT id: 33, constant_value: UInt64_2, constant_value_type: UInt8 + FUNCTION id: 34, function_name: avg, function_type: aggregate, result_type: Float64 + ARGUMENTS + LIST id: 35, nodes: 1 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 36, constant_value: Float64_3465735.3, constant_value_type: Float64 + ORDER BY + LIST id: 37, nodes: 1 + SORT id: 38, sort_direction: ASCENDING, with_fill: 0 + EXPRESSION + FUNCTION id: 8, function_name: avg, function_type: aggregate, result_type: Float64 + ARGUMENTS + LIST id: 9, nodes: 1 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 +QUERY id: 0, group_by_type: grouping_sets + PROJECTION COLUMNS + k Float64 + PROJECTION + LIST id: 1, nodes: 1 + FUNCTION id: 2, function_name: multiply, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 3, nodes: 2 + CONSTANT id: 4, constant_value: Float64_0.6931471805599453, constant_value_type: Float64 + EXPRESSION + FUNCTION id: 5, function_name: log, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 6, nodes: 1 + CONSTANT id: 7, constant_value: UInt64_2, constant_value_type: UInt8 + FUNCTION id: 8, function_name: avg, function_type: aggregate, result_type: Float64 + ARGUMENTS + LIST id: 9, nodes: 1 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + JOIN TREE + TABLE_FUNCTION id: 11, table_function_name: numbers + ARGUMENTS + LIST id: 12, nodes: 1 + CONSTANT id: 13, constant_value: UInt64_10000000, constant_value_type: UInt32 + GROUP BY + LIST id: 14, nodes: 2 + LIST id: 15, nodes: 2 + FUNCTION id: 16, function_name: multiply, function_type: ordinary, result_type: UInt16 + ARGUMENTS + LIST id: 17, nodes: 2 + FUNCTION id: 18, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 19, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 20, constant_value: UInt64_2, constant_value_type: UInt8 + FUNCTION id: 21, function_name: modulo, function_type: ordinary, result_type: UInt8 + ARGUMENTS + LIST id: 22, nodes: 2 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 23, constant_value: UInt64_3, constant_value_type: UInt8 FUNCTION id: 24, function_name: modulo, function_type: ordinary, result_type: UInt8 ARGUMENTS LIST id: 25, nodes: 2 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 CONSTANT id: 26, constant_value: UInt64_3, constant_value_type: UInt8 LIST id: 27, nodes: 1 FUNCTION id: 28, function_name: modulo, function_type: ordinary, result_type: UInt8 ARGUMENTS LIST id: 29, nodes: 2 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 CONSTANT id: 30, constant_value: UInt64_2, constant_value_type: UInt8 HAVING FUNCTION id: 31, function_name: greater, function_type: ordinary, result_type: UInt8 @@ -54,156 +200,22 @@ QUERY id: 0, group_by_type: grouping_sets FUNCTION id: 33, function_name: multiply, function_type: ordinary, result_type: Float64 ARGUMENTS LIST id: 34, nodes: 2 - FUNCTION id: 35, function_name: log, function_type: ordinary, result_type: Float64, constant_value: Float64_0.6931471805599453, constant_value_type: Float64 + CONSTANT id: 35, constant_value: Float64_0.6931471805599453, constant_value_type: Float64 + EXPRESSION + FUNCTION id: 36, function_name: log, function_type: ordinary, result_type: Float64 + ARGUMENTS + LIST id: 37, nodes: 1 + CONSTANT id: 38, constant_value: UInt64_2, constant_value_type: UInt8 + FUNCTION id: 39, function_name: avg, function_type: aggregate, result_type: Float64 ARGUMENTS - LIST id: 36, nodes: 1 - CONSTANT id: 37, constant_value: UInt64_2, constant_value_type: UInt8 - FUNCTION id: 38, function_name: avg, function_type: aggregate, result_type: Float64 - ARGUMENTS - LIST id: 39, nodes: 1 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 - CONSTANT id: 40, constant_value: Float64_3465735.3, constant_value_type: Float64 + LIST id: 40, nodes: 1 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11 + CONSTANT id: 41, constant_value: Float64_3465735.3, constant_value_type: Float64 ORDER BY - LIST id: 41, nodes: 1 - SORT id: 42, sort_direction: ASCENDING, with_fill: 0 + LIST id: 42, nodes: 1 + SORT id: 43, sort_direction: ASCENDING, with_fill: 0 EXPRESSION - FUNCTION id: 7, function_name: avg, function_type: aggregate, result_type: Float64 + FUNCTION id: 8, function_name: avg, function_type: aggregate, result_type: Float64 ARGUMENTS - LIST id: 8, nodes: 1 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 -QUERY id: 0, group_by_type: grouping_sets - PROJECTION COLUMNS - k Float64 - PROJECTION - LIST id: 1, nodes: 1 - FUNCTION id: 2, function_name: multiply, function_type: ordinary, result_type: Float64 - ARGUMENTS - LIST id: 3, nodes: 2 - FUNCTION id: 4, function_name: log, function_type: ordinary, result_type: Float64, constant_value: Float64_0.6931471805599453, constant_value_type: Float64 - ARGUMENTS - LIST id: 5, nodes: 1 - CONSTANT id: 6, constant_value: UInt64_2, constant_value_type: UInt8 - FUNCTION id: 7, function_name: avg, function_type: aggregate, result_type: Float64 - ARGUMENTS - LIST id: 8, nodes: 1 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 - JOIN TREE - TABLE_FUNCTION id: 10, table_function_name: numbers - ARGUMENTS - LIST id: 11, nodes: 1 - CONSTANT id: 12, constant_value: UInt64_10000000, constant_value_type: UInt32 - GROUP BY - LIST id: 13, nodes: 2 - LIST id: 14, nodes: 2 - FUNCTION id: 15, function_name: modulo, function_type: ordinary, result_type: UInt8 - ARGUMENTS - LIST id: 16, nodes: 2 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 - CONSTANT id: 17, constant_value: UInt64_3, constant_value_type: UInt8 - FUNCTION id: 18, function_name: modulo, function_type: ordinary, result_type: UInt8 - ARGUMENTS - LIST id: 19, nodes: 2 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 - CONSTANT id: 20, constant_value: UInt64_2, constant_value_type: UInt8 - LIST id: 21, nodes: 1 - FUNCTION id: 22, function_name: modulo, function_type: ordinary, result_type: UInt8 - ARGUMENTS - LIST id: 23, nodes: 2 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 - CONSTANT id: 24, constant_value: UInt64_4, constant_value_type: UInt8 - HAVING - FUNCTION id: 25, function_name: greater, function_type: ordinary, result_type: UInt8 - ARGUMENTS - LIST id: 26, nodes: 2 - FUNCTION id: 27, function_name: multiply, function_type: ordinary, result_type: Float64 - ARGUMENTS - LIST id: 28, nodes: 2 - FUNCTION id: 29, function_name: log, function_type: ordinary, result_type: Float64, constant_value: Float64_0.6931471805599453, constant_value_type: Float64 - ARGUMENTS - LIST id: 30, nodes: 1 - CONSTANT id: 31, constant_value: UInt64_2, constant_value_type: UInt8 - FUNCTION id: 32, function_name: avg, function_type: aggregate, result_type: Float64 - ARGUMENTS - LIST id: 33, nodes: 1 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 - CONSTANT id: 34, constant_value: Float64_3465735.3, constant_value_type: Float64 - ORDER BY - LIST id: 35, nodes: 1 - SORT id: 36, sort_direction: ASCENDING, with_fill: 0 - EXPRESSION - FUNCTION id: 7, function_name: avg, function_type: aggregate, result_type: Float64 - ARGUMENTS - LIST id: 8, nodes: 1 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 -QUERY id: 0, group_by_type: grouping_sets - PROJECTION COLUMNS - k Float64 - PROJECTION - LIST id: 1, nodes: 1 - FUNCTION id: 2, function_name: multiply, function_type: ordinary, result_type: Float64 - ARGUMENTS - LIST id: 3, nodes: 2 - FUNCTION id: 4, function_name: log, function_type: ordinary, result_type: Float64, constant_value: Float64_0.6931471805599453, constant_value_type: Float64 - ARGUMENTS - LIST id: 5, nodes: 1 - CONSTANT id: 6, constant_value: UInt64_2, constant_value_type: UInt8 - FUNCTION id: 7, function_name: avg, function_type: aggregate, result_type: Float64 - ARGUMENTS - LIST id: 8, nodes: 1 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 - JOIN TREE - TABLE_FUNCTION id: 10, table_function_name: numbers - ARGUMENTS - LIST id: 11, nodes: 1 - CONSTANT id: 12, constant_value: UInt64_10000000, constant_value_type: UInt32 - GROUP BY - LIST id: 13, nodes: 2 - LIST id: 14, nodes: 2 - FUNCTION id: 15, function_name: multiply, function_type: ordinary, result_type: UInt16 - ARGUMENTS - LIST id: 16, nodes: 2 - FUNCTION id: 17, function_name: modulo, function_type: ordinary, result_type: UInt8 - ARGUMENTS - LIST id: 18, nodes: 2 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 - CONSTANT id: 19, constant_value: UInt64_2, constant_value_type: UInt8 - FUNCTION id: 20, function_name: modulo, function_type: ordinary, result_type: UInt8 - ARGUMENTS - LIST id: 21, nodes: 2 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 - CONSTANT id: 22, constant_value: UInt64_3, constant_value_type: UInt8 - FUNCTION id: 23, function_name: modulo, function_type: ordinary, result_type: UInt8 - ARGUMENTS - LIST id: 24, nodes: 2 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 - CONSTANT id: 25, constant_value: UInt64_3, constant_value_type: UInt8 - LIST id: 26, nodes: 1 - FUNCTION id: 27, function_name: modulo, function_type: ordinary, result_type: UInt8 - ARGUMENTS - LIST id: 28, nodes: 2 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 - CONSTANT id: 29, constant_value: UInt64_2, constant_value_type: UInt8 - HAVING - FUNCTION id: 30, function_name: greater, function_type: ordinary, result_type: UInt8 - ARGUMENTS - LIST id: 31, nodes: 2 - FUNCTION id: 32, function_name: multiply, function_type: ordinary, result_type: Float64 - ARGUMENTS - LIST id: 33, nodes: 2 - FUNCTION id: 34, function_name: log, function_type: ordinary, result_type: Float64, constant_value: Float64_0.6931471805599453, constant_value_type: Float64 - ARGUMENTS - LIST id: 35, nodes: 1 - CONSTANT id: 36, constant_value: UInt64_2, constant_value_type: UInt8 - FUNCTION id: 37, function_name: avg, function_type: aggregate, result_type: Float64 - ARGUMENTS - LIST id: 38, nodes: 1 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 - CONSTANT id: 39, constant_value: Float64_3465735.3, constant_value_type: Float64 - ORDER BY - LIST id: 40, nodes: 1 - SORT id: 41, sort_direction: ASCENDING, with_fill: 0 - EXPRESSION - FUNCTION id: 7, function_name: avg, function_type: aggregate, result_type: Float64 - ARGUMENTS - LIST id: 8, nodes: 1 - COLUMN id: 9, column_name: number, result_type: UInt64, source_id: 10 + LIST id: 9, nodes: 1 + COLUMN id: 10, column_name: number, result_type: UInt64, source_id: 11