mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-22740: UBSAN: sql/opt_split.cc:1150:28: runtime error: shift exponent 61 is too large for 32-bit type 'int' (on optimized builds)
Use a ulonglong instead of uint when left shifting to calculate the table map for all the tables in a query
This commit is contained in:
@ -1149,7 +1149,7 @@ bool JOIN_TAB::fix_splitting(SplM_plan_info *spl_plan,
|
|||||||
bool JOIN::fix_all_splittings_in_plan()
|
bool JOIN::fix_all_splittings_in_plan()
|
||||||
{
|
{
|
||||||
table_map prev_tables= 0;
|
table_map prev_tables= 0;
|
||||||
table_map all_tables= (1 << table_count) - 1;
|
table_map all_tables= (table_map(1) << table_count) - 1;
|
||||||
for (uint tablenr= 0; tablenr < table_count; tablenr++)
|
for (uint tablenr= 0; tablenr < table_count; tablenr++)
|
||||||
{
|
{
|
||||||
POSITION *cur_pos= &best_positions[tablenr];
|
POSITION *cur_pos= &best_positions[tablenr];
|
||||||
|
Reference in New Issue
Block a user