1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-24 11:21:21 +03:00

Proposed fix for #674

This crash happens in rather exotic case when we try to run 
SELECT DISTINCT some_func(SUM(some_field)) GROUP BY another_field;
on a table with single row.
Optimizer marks this table as const, sets group=NULL (with remove_const)
thus, create_tmp_table makes mistake collecting columns for temporary table
and then crashes because the field_count gets less than hidden_columns_count.


sql/sql_select.cc:
  There's several ways to fix this bug.
  This one looks easy and correct to me
This commit is contained in:
unknown
2003-06-21 16:59:40 +05:00
parent 070f4fbb95
commit 1688ada0e2

View File

@@ -453,6 +453,9 @@ mysql_select(THD *thd,TABLE_LIST *tables,List<Item> &fields,COND *conds,
goto err;
thd->proc_info="preparing";
select_distinct= select_distinct && (join.const_tables != join.tables);
if (result->initialize_tables(&join))
goto err;
if (join.const_table_map != join.found_const_table_map &&