mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
fixed bugs in temporary tables in subselect implementation (SCRUM)
merging with switching on static tables optimization (SCRUM) fixed subselects with uncacheable results added test for fixed bugs from bugreports mysql-test/r/subselect.result: changes in subselect test after switching on static tables optimization fixed bug test added uncacheable subselects mysql-test/t/subselect.test: changes in subselect test after switching on static tables optimization fixed bug test added uncacheable subselects sql/item_create.cc: fixed subselects with uncacheable results sql/item_func.cc: fixed subselects with uncacheable results sql/item_subselect.cc: fixed subselects with uncacheable results clean up sql/item_subselect.h: fixed subselects with uncacheable results sql/sql_lex.cc: fixed subselects with uncacheable results sql/sql_lex.h: fixed subselects with uncacheable results sql/sql_select.cc: fixed bugs in temporary tables in subselect implementation fixed subselects with uncacheable results sql/sql_union.cc: fixed subselects with uncacheable results sql/sql_yacc.yy: fixed subselects with uncacheable results
This commit is contained in:
@ -839,7 +839,6 @@ JOIN::reinit()
|
||||
exec_tmp_table1->file->extra(HA_EXTRA_RESET_STATE);
|
||||
exec_tmp_table1->file->delete_all_rows();
|
||||
free_io_cache(exec_tmp_table1);
|
||||
memcpy(ref_pointer_array, items0, ref_pointer_array_size);
|
||||
}
|
||||
if (exec_tmp_table2)
|
||||
{
|
||||
@ -850,9 +849,6 @@ JOIN::reinit()
|
||||
if (items0)
|
||||
memcpy(ref_pointer_array, items0, ref_pointer_array_size);
|
||||
|
||||
tmp_table_param.copy_funcs.empty();
|
||||
tmp_table_param.copy_field= tmp_table_param.copy_field_end= 0;
|
||||
|
||||
if (tmp_join)
|
||||
restore_tmp();
|
||||
|
||||
@ -4824,7 +4820,7 @@ bool create_myisam_from_heap(THD *thd, TABLE *table, TMP_TABLE_PARAM *param,
|
||||
static int
|
||||
do_select(JOIN *join,List<Item> *fields,TABLE *table,Procedure *procedure)
|
||||
{
|
||||
int error;
|
||||
int error= 0;
|
||||
JOIN_TAB *join_tab;
|
||||
int (*end_select)(JOIN *, struct st_join_table *,bool);
|
||||
DBUG_ENTER("do_select");
|
||||
@ -8032,9 +8028,11 @@ int mysql_explain_union(THD *thd, SELECT_LEX_UNIT *unit, select_result *result)
|
||||
((sl->linkage == DERIVED_TABLE_TYPE) ?
|
||||
"DERIVED":
|
||||
((sl->dependent)?"DEPENDENT SUBSELECT":
|
||||
"SUBSELECT")):
|
||||
(sl->uncacheable?"UNCACHEABLE SUBSELECT":
|
||||
"SUBSELECT"))):
|
||||
((sl->dependent)?"DEPENDENT UNION":
|
||||
"UNION"))),
|
||||
sl->uncacheable?"UNCACHEABLE UNION":
|
||||
"UNION"))),
|
||||
result);
|
||||
if (res)
|
||||
break;
|
||||
|
Reference in New Issue
Block a user