mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
BUG#11869 (cont'd, eliminating "table type doesn't support FULLTEXT" error):
When creating temporary table for UNION, pass TMP_TABLE_FORCE_MYISAM flag to create_tmp_table if we will be using fulltext function(s) when reading from the temp. table.
This commit is contained in:
@ -296,15 +296,23 @@ int st_select_lex_unit::prepare(THD *thd_arg, select_result *sel_result,
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
|
||||
ulong create_options= first_select_in_union()->options | thd_arg->options |
|
||||
TMP_TABLE_ALL_COLUMNS;
|
||||
/*
|
||||
Force the temporary table to be a MyISAM table if we're going to use
|
||||
fullext functions (MATCH ... AGAINST .. IN BOOLEAN MODE) when reading
|
||||
from it.
|
||||
*/
|
||||
if (global_parameters->ftfunc_list->elements)
|
||||
create_options= create_options | TMP_TABLE_FORCE_MYISAM;
|
||||
|
||||
union_result->tmp_table_param.field_count= types.elements;
|
||||
if (!(table= create_tmp_table(thd_arg,
|
||||
&union_result->tmp_table_param, types,
|
||||
(ORDER*) 0, (bool) union_distinct, 1,
|
||||
(first_select_in_union()->options |
|
||||
thd_arg->options |
|
||||
TMP_TABLE_ALL_COLUMNS),
|
||||
HA_POS_ERROR, (char *) tmp_table_alias)))
|
||||
create_options, HA_POS_ERROR,
|
||||
(char *) tmp_table_alias)))
|
||||
goto err;
|
||||
table->file->extra(HA_EXTRA_WRITE_CACHE);
|
||||
table->file->extra(HA_EXTRA_IGNORE_DUP_KEY);
|
||||
|
Reference in New Issue
Block a user