1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-33281 Implement optimizer hints

This commit introduces:
    - the infrastructure for optimizer hints;
    - hints for join buffering: BNL(), NO_BNL(), BKA(), NO_BKA();
    - NO_ICP() hint for disabling index condition pushdown;
    - MRR(), MO_MRR() hint for multi-range reads control;
    - NO_RANGE_OPTIMIZATION() for disabling range optimization;
    - QB_NAME() for assigning names for query blocks.
This commit is contained in:
Oleg Smirnov
2024-07-05 19:10:36 +07:00
parent 6340c23933
commit 877e4a386c
21 changed files with 1554 additions and 63 deletions

View File

@@ -22,6 +22,17 @@
#include "mysqld_error.h"
#include "sql_class.h"
extern struct st_opt_hint_info opt_hint_info[];
Parse_context::Parse_context(THD *thd, st_select_lex *select)
: thd(thd),
mem_root(thd->mem_root),
select(select)
{}
// This method is for debug purposes
bool Optimizer_hint_parser::parse_token_list(THD *thd)
{