summaryrefslogtreecommitdiff
path: root/sql/opt_split.cc
diff options
context:
space:
mode:
authorSergei Petrunia <sergey@mariadb.com>2023-05-11 15:15:53 +0300
committerSergei Petrunia <sergey@mariadb.com>2023-05-11 15:15:53 +0300
commit6fd54af9dee04e3ca7117eec7e048a29fdc58037 (patch)
tree8e945b767bebad0c48e27b58481b7c205ad26f53 /sql/opt_split.cc
parentde703a2b215e156ce018da5b3b5423aafd163999 (diff)
downloadmariadb-git-bb-10.4-mdev31240.tar.gz
MDEV-31240, MDEV-31241: Crashes in subselects in choose_best_splitting after upgradebb-10.4-mdev31240
In JOIN_TAB::choose_best_splitting(), take into account that best_param_tables may contain OUTER_REF_TABLE_BIT (and no table in join->positions[] has this bit set).
Diffstat (limited to 'sql/opt_split.cc')
-rw-r--r--sql/opt_split.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/opt_split.cc b/sql/opt_split.cc
index bb3aec9ee8d..43363f622b2 100644
--- a/sql/opt_split.cc
+++ b/sql/opt_split.cc
@@ -1038,6 +1038,7 @@ SplM_plan_info * JOIN_TAB::choose_best_splitting(uint idx,
table_map excluded_tables= remaining_tables | this->join->sjm_lookup_tables;
if (best_table)
{
+ best_param_tables &= ~PSEUDO_TABLE_BITS;
*spl_pd_boundary= this->table->map;
if (!best_param_tables)
refills= 1;