mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-31403: Server crashes in st_join_table::choose_best_splitting
The code in choose_best_splitting() assumed that the join prefix is in join->positions[]. This is not necessarily the case. This function might be called when the join prefix is in join->best_positions[], too. Follow the approach from best_access_path(), which calls this function: pass the current join prefix as an argument, "const POSITION *join_positions" and use that.
This commit is contained in:
@ -694,6 +694,7 @@ typedef struct st_join_table {
|
||||
void add_keyuses_for_splitting();
|
||||
SplM_plan_info *choose_best_splitting(uint idx,
|
||||
table_map remaining_tables,
|
||||
const POSITION *join_positions,
|
||||
table_map *spl_pd_boundary);
|
||||
bool fix_splitting(SplM_plan_info *spl_plan, table_map excluded_tables,
|
||||
bool is_const_table);
|
||||
|
Reference in New Issue
Block a user