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 - -