1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

func_gconcat.result, func_gconcat.test:

Added a test case for bug #12095.
sql_class.h:
  Fixed bug #12095: a join query with GROUP_CONCAT over a single row table.
  Added a flag to the TMP_TABLE_PARAM class forcing to put constant
  items generated after elimination of a single row table into temp table
  in some cases (e.g. when GROUP_CONCAT is calculated over a single row
  table).
  bk ci sql/item_sum.cc
  Fixed bug #12095: a join query with GROUP_CONCAT over a single row table.
  If GROUP_CONCAT is calculated we always put its argument into a temp
  table, even when the argument is a constant item.
sql_select.cc:
  Fixed bug #12095: a join query with GROUP_CONCAT over one row table.
  If temp table is used to calculate GROUP_CONCAT the argument should
  be always put into this table, even when it is a constant item.
This commit is contained in:
igor@rurik.mysql.com
2005-07-28 19:11:29 -07:00
parent f503c4152d
commit a5f2c7528c
4 changed files with 69 additions and 2 deletions

View File

@ -5201,7 +5201,8 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List<Item> &fields,
param->using_indirect_summary_function=1;
continue;
}
if (item->const_item() && (int) hidden_field_count <= 0)
if (item->const_item() && (int) hidden_field_count <= 0 &&
!param->need_const)
continue; // We don't have to store this
}
if (type == Item::SUM_FUNC_ITEM && !group && !save_sum_fields)