Commit f3e88d5b authored by unknown's avatar unknown

avoiding coping tmptable_param


sql/sql_union.cc:
  fixed layout
parent c7abc102
......@@ -128,14 +128,14 @@ int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit,
cursor->table->clear_query_id= 1;
}
bzero((char*) &tmp_table_param,sizeof(tmp_table_param));
tmp_table_param.field_count= unit->types.elements;
bzero((char*) &derived_result->tmp_table_param, sizeof(tmp_table_param));
derived_result->tmp_table_param.field_count= unit->types.elements;
/*
Temp table is created so that it hounours if UNION without ALL is to be
processed
*/
if (!(table= create_tmp_table(thd, &tmp_table_param, unit->types,
(ORDER*) 0,
if (!(table= create_tmp_table(thd, &derived_result->tmp_table_param,
unit->types, (ORDER*) 0,
is_union && !unit->union_option, 1,
(first_select->options | thd->options |
TMP_TABLE_ALL_COLUMNS),
......@@ -146,7 +146,6 @@ int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit,
goto exit;
}
derived_result->set_table(table);
derived_result->tmp_table_param=tmp_table_param;
unit->offset_limit_cnt= first_select->offset_limit;
unit->select_limit_cnt= first_select->select_limit+
......
......@@ -144,7 +144,7 @@ int st_select_lex_unit::prepare(THD *thd, select_result *sel_result)
first_select->braces= 1;
tmp_table_param= &tmp_table_param_storage;
}
bzero((char *)tmp_table_param,sizeof(TMP_TABLE_PARAM));
bzero((char *)tmp_table_param, sizeof(TMP_TABLE_PARAM));
for (;sl; sl= sl->next_select())
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment