From 0730e685b0ae976e72155858865a5953ef55bb4b Mon Sep 17 00:00:00 2001 From: Alexander Kuzmenkov Date: Wed, 4 Aug 2021 17:45:32 +0300 Subject: [PATCH] Mark window functions ready for general use. --- .../sql-reference/window-functions/index.md | 3 --- src/Core/Settings.h | 1 - src/Interpreters/ExpressionAnalyzer.cpp | 12 ----------- tests/performance/window_functions.xml | 4 ---- ...mize_distributed_group_by_sharding_key.sql | 2 +- ...568_window_functions_distributed.reference | 1 - .../01568_window_functions_distributed.sql | 2 -- .../01571_window_functions.reference | 2 +- .../0_stateless/01571_window_functions.sql | 1 - .../01591_window_functions.reference | 2 -- .../0_stateless/01591_window_functions.sql | 2 -- .../01592_long_window_functions1.sql | 1 - .../0_stateless/01592_window_functions.sql | 2 -- ...802_rank_corr_mann_whitney_over_window.sql | 2 -- .../window_functions/tests/common.py | 20 ------------------- .../window_functions/tests/feature.py | 3 --- 16 files changed, 2 insertions(+), 58 deletions(-) diff --git a/docs/en/sql-reference/window-functions/index.md b/docs/en/sql-reference/window-functions/index.md index dcab019c9d5..e62808a46bd 100644 --- a/docs/en/sql-reference/window-functions/index.md +++ b/docs/en/sql-reference/window-functions/index.md @@ -5,9 +5,6 @@ toc_title: Window Functions # [experimental] Window Functions -!!! warning "Warning" - This is an experimental feature that is currently in development and is not ready for general use. It will change in unpredictable backwards-incompatible ways in the future releases. Set `allow_experimental_window_functions = 1` to enable it. - ClickHouse supports the standard grammar for defining windows and window functions. The following features are currently supported: | Feature | Support or workaround | diff --git a/src/Core/Settings.h b/src/Core/Settings.h index c8befbb81b2..d311b0b5c60 100644 --- a/src/Core/Settings.h +++ b/src/Core/Settings.h @@ -449,7 +449,6 @@ class IColumn; M(Bool, optimize_skip_merged_partitions, false, "Skip partitions with one part with level > 0 in optimize final", 0) \ M(Bool, optimize_on_insert, true, "Do the same transformation for inserted block of data as if merge was done on this block.", 0) \ M(Bool, allow_experimental_map_type, true, "Obsolete setting, does nothing.", 0) \ - M(Bool, allow_experimental_window_functions, false, "Allow experimental window functions", 0) \ M(Bool, allow_experimental_projection_optimization, false, "Enable projection optimization when processing SELECT queries", 0) \ M(Bool, force_optimize_projection, false, "If projection optimization is enabled, SELECT queries need to use projection", 0) \ M(Bool, async_socket_for_remote, true, "Asynchronously read from socket executing remote query", 0) \ diff --git a/src/Interpreters/ExpressionAnalyzer.cpp b/src/Interpreters/ExpressionAnalyzer.cpp index 875a7bef862..ad1ee703785 100644 --- a/src/Interpreters/ExpressionAnalyzer.cpp +++ b/src/Interpreters/ExpressionAnalyzer.cpp @@ -608,18 +608,6 @@ void makeWindowDescriptionFromAST(const Context & context, void ExpressionAnalyzer::makeWindowDescriptions(ActionsDAGPtr actions) { - // Convenient to check here because at least we have the Context. - if (!syntax->window_function_asts.empty() && - !getContext()->getSettingsRef().allow_experimental_window_functions) - { - throw Exception(ErrorCodes::NOT_IMPLEMENTED, - "The support for window functions is experimental and will change" - " in backwards-incompatible ways in the future releases. Set" - " allow_experimental_window_functions = 1 to enable it." - " While processing '{}'", - syntax->window_function_asts[0]->formatForErrorMessage()); - } - // Window definitions from the WINDOW clause const auto * select_query = query->as(); if (select_query && select_query->window()) diff --git a/tests/performance/window_functions.xml b/tests/performance/window_functions.xml index 6be3d59e2b0..e3d30d96ec3 100644 --- a/tests/performance/window_functions.xml +++ b/tests/performance/window_functions.xml @@ -3,10 +3,6 @@ hits_100m_single - - 1 - -