#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_array.h"
#include "sql/sql_lex.h"
#include "sql/sql_list.h"
#include "sql/table.h"
#include "sql/thr_malloc.h"
Go to the source code of this file.
|
| constexpr int | kMaxWindows = 127 |
| | The number of windows is limited to avoid the stack blowing up when constructing iterators recursively. More...
|
| |
◆ Func_ptr_array
◆ Window_retrieve_cached_row_reason
Position hints for the frame buffer are saved for these kind of row accesses, cf.
Window::m_frame_buffer_positions.
| Enumerator |
|---|
| WONT_UPDATE_HINT | |
| FIRST_IN_PARTITION | |
| CURRENT | |
| FIRST_IN_FRAME | |
| LAST_IN_FRAME | |
| LAST_IN_PEERSET | |
| MISC_POSITIONS | |
◆ kMaxWindows
| constexpr int kMaxWindows = 127 |
|
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.