summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
authorOleg Smirnov <olernov@gmail.com>2022-03-24 14:57:23 +0700
committerOleg Smirnov <olernov@gmail.com>2022-04-06 15:28:34 +0300
commit53b580a91c12e9272623fc45496631be65313dd8 (patch)
treed6345c20eac14d0a0f4c06fbd171e25de28adfad /sql/sql_select.cc
parent85192553ae2c3cb5fb26ace4cd85377525ac7845 (diff)
downloadmariadb-git-53b580a91c12e9272623fc45496631be65313dd8.tar.gz
MDEV-28077 'Wrong create options' error with 'big_tables' enabled
The cause of the bug is overflow of uint16 KEY_PART_INFO::length and/or uint16 KEY_PART_INFO::store_length. The solution is to increase the size of those variables to the 'uint' type (which is 32-bit long)
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 8d2a4929401..2a646a9931d 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -12419,6 +12419,7 @@ void JOIN::cleanup(bool full)
if (curr_tab->aggr)
{
free_tmp_table(thd, curr_tab->table);
+ curr_tab->table= NULL;
delete curr_tab->tmp_table_param;
curr_tab->tmp_table_param= NULL;
curr_tab->aggr= NULL;