2022-09-12 14:14:40 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <Core/SortDescription.h>
|
|
|
|
|
|
|
|
#include <Planner/PlannerContext.h>
|
|
|
|
|
|
|
|
#include <Interpreters/WindowDescription.h>
|
|
|
|
|
|
|
|
namespace DB
|
|
|
|
{
|
|
|
|
|
2022-10-19 16:49:17 +00:00
|
|
|
/// Extract window descriptions from window function nodes
|
2022-09-12 14:14:40 +00:00
|
|
|
std::vector<WindowDescription> extractWindowDescriptions(const QueryTreeNodes & window_function_nodes, const PlannerContext & planner_context);
|
|
|
|
|
2022-10-19 16:49:17 +00:00
|
|
|
/** Try to sort window descriptions in such an order that the window with the longest
|
2022-09-12 14:14:40 +00:00
|
|
|
* sort description goes first, and all window that use its prefixes follow.
|
|
|
|
*/
|
|
|
|
void sortWindowDescriptions(std::vector<WindowDescription> & window_descriptions);
|
|
|
|
|
|
|
|
}
|