diff options
author | unknown <sergefp@mysql.com> | 2005-08-07 11:03:54 +0000 |
---|---|---|
committer | unknown <sergefp@mysql.com> | 2005-08-07 11:03:54 +0000 |
commit | f3ce475dcec23a51cff93aaa1bbaa27eba978b05 (patch) | |
tree | 418be3169a67dfe101f87edef1ffee62e1c08a2e /sql/sql_union.cc | |
parent | 2b41471429d9db41d64bfb214e29ba57cb3db381 (diff) | |
parent | 852dcb75973a612ef5c28645018551ed7bd0055c (diff) | |
download | mariadb-git-f3ce475dcec23a51cff93aaa1bbaa27eba978b05.tar.gz |
Manual merge
mysql-test/t/fulltext_order_by.test:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_union.cc:
Auto merged
Diffstat (limited to 'sql/sql_union.cc')
-rw-r--r-- | sql/sql_union.cc | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/sql/sql_union.cc b/sql/sql_union.cc index f2b637dc5f4..55c2524ca42 100644 --- a/sql/sql_union.cc +++ b/sql/sql_union.cc @@ -295,15 +295,23 @@ bool 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); |