![]() |
MySQL 8.0.43
Source Code Documentation
|
#include <assert.h>#include <sys/types.h>#include <cstring>#include "my_inttypes.h"#include "sql/enum_query_type.h"#include "sql/handler.h"#include "sql/mem_root_array.h"#include "sql/sql_lex.h"#include "sql/sql_list.h"#include "sql/table.h"#include "sql/window_lex.h"Go to the source code of this file.
Classes | |
| class | Window |
| Represents the (explicit) window of a SQL 2003 section 7.11 <window clause>, or the implicit (inlined) window of a window function call, or a reference to a named window in a window function call (instead of the inlined definition) before resolution. More... | |
| struct | Window::st_offset |
| struct | Window::st_ll_offset |
| struct | Window::st_nth |
| struct | Window::st_lead_lag |
| struct | Window::Frame_buffer_position |
| Holds information about a position in the buffer frame as stored in a temporary file (cf. More... | |
| struct | Window_evaluation_requirements |
| Collects evaluation requirements from a window function, used by Item_sum::check_wf_semantics and its overrides. More... | |
Enumerations | |
| enum class | Window_retrieve_cached_row_reason { WONT_UPDATE_HINT = -1 , FIRST_IN_PARTITION = 0 , CURRENT = 1 , FIRST_IN_FRAME = 2 , LAST_IN_FRAME = 3 , LAST_IN_PEERSET = 4 , MISC_POSITIONS = 5 } |
| Position hints for the frame buffer are saved for these kind of row accesses, cf. More... | |
Variables | |
| constexpr int | kMaxWindows = 127 |
| The number of windows is limited to avoid the stack blowing up when constructing iterators recursively. More... | |
|
strong |
|
constexpr |
The number of windows is limited to avoid the stack blowing up when constructing iterators recursively.
There used to be no limit, but it would be unsafe since QEP_shared::m_idx of tmp tables assigned for windows would exceed the old range of its type plan_idx (int8). It has now been widened, so the max number of windows could be increased if need be, modulo other problems. We could also make it a system variable.