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

MDEV-34888 Implement SEMIJOIN() and SUBQUERY() hints

This commit is contained in:
Oleg Smirnov
2024-09-11 19:53:57 +07:00
parent e3bf4c826c
commit 2c8f6058c1
28 changed files with 3712 additions and 164 deletions

View File

@@ -5601,6 +5601,7 @@ make_join_statistics(JOIN *join, List<TABLE_LIST> &tables_list,
DBUG_ENTER("make_join_statistics");
table_count=join->table_count;
const uint sj_nests= join->select_lex->sj_nests.elements; // Changed by pull-out
/*
best_extension_by_limited_search need sort space for 2POSITIION
@@ -6316,6 +6317,9 @@ make_join_statistics(JOIN *join, List<TABLE_LIST> &tables_list,
join->const_tables=const_count;
join->found_const_table_map=found_const_table_map;
if (sj_nests)
join->select_lex->update_available_semijoin_strategies(thd);
if (join->const_tables != join->table_count)
optimize_keyuse(join, keyuse_array);