Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
c3bac658
Commit
c3bac658
authored
Aug 07, 2005
by
sergefp@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Manual merge
parents
069fb89b
5e9545d4
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
40 additions
and
6 deletions
+40
-6
mysql-test/r/fulltext_order_by.result
mysql-test/r/fulltext_order_by.result
+11
-1
mysql-test/t/fulltext_order_by.test
mysql-test/t/fulltext_order_by.test
+11
-0
sql/mysql_priv.h
sql/mysql_priv.h
+5
-0
sql/sql_select.cc
sql/sql_select.cc
+1
-1
sql/sql_union.cc
sql/sql_union.cc
+12
-4
No files found.
mysql-test/r/fulltext_order_by.result
View file @
c3bac658
...
...
@@ -158,5 +158,15 @@ where
match(c.beitrag) against ('+abc' in boolean mode)
order by
match(betreff) against ('+abc' in boolean mode) desc;
ERROR HY000: The used table type doesn't support FULLTEXT indexes
text id betreff
(select b.id, b.betreff from t3 b) union
(select b.id, b.betreff from t3 b)
order by match(betreff) against ('+abc' in boolean mode) desc;
id betreff
select distinct b.id, b.betreff from t3 b
order by match(betreff) against ('+abc' in boolean mode) desc;
id betreff
select b.id, b.betreff from t3 b group by b.id+1
order by match(betreff) against ('+abc' in boolean mode) desc;
id betreff
drop table t1,t2,t3;
mysql-test/t/fulltext_order_by.test
View file @
c3bac658
...
...
@@ -135,6 +135,17 @@ where
order
by
match
(
betreff
)
against
(
'+abc'
in
boolean
mode
)
desc
;
# BUG#11869 part2: used table type doesn't support FULLTEXT indexes error
(
select
b
.
id
,
b
.
betreff
from
t3
b
)
union
(
select
b
.
id
,
b
.
betreff
from
t3
b
)
order
by
match
(
betreff
)
against
(
'+abc'
in
boolean
mode
)
desc
;
select
distinct
b
.
id
,
b
.
betreff
from
t3
b
order
by
match
(
betreff
)
against
(
'+abc'
in
boolean
mode
)
desc
;
select
b
.
id
,
b
.
betreff
from
t3
b
group
by
b
.
id
+
1
order
by
match
(
betreff
)
against
(
'+abc'
in
boolean
mode
)
desc
;
drop
table
t1
,
t2
,
t3
;
# End of 4.1 tests
sql/mysql_priv.h
View file @
c3bac658
...
...
@@ -284,6 +284,11 @@ extern CHARSET_INFO *national_charset_info, *table_alias_charset;
#define OPTION_SETUP_TABLES_DONE (1L << 30) // intern
/* If not set then the thread will ignore all warnings with level notes. */
#define OPTION_SQL_NOTES (1L << 31) // THD, user
/*
Force the used temporary table to be a MyISAM table (because we will use
fulltext functions when reading from it.
*/
#define TMP_TABLE_FORCE_MYISAM (1L << 30)
/*
Maximum length of time zone name that we support
...
...
sql/sql_select.cc
View file @
c3bac658
...
...
@@ -8359,7 +8359,7 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List<Item> &fields,
/* If result table is small; use a heap */
if
(
blob_count
||
using_unique_constraint
||
(
select_options
&
(
OPTION_BIG_TABLES
|
SELECT_SMALL_RESULT
))
==
OPTION_BIG_TABLES
)
OPTION_BIG_TABLES
||
(
select_options
&
TMP_TABLE_FORCE_MYISAM
)
)
{
table
->
file
=
get_new_handler
(
table
,
table
->
s
->
db_type
=
DB_TYPE_MYISAM
);
if
(
group
&&
...
...
sql/sql_union.cc
View file @
c3bac658
...
...
@@ -296,14 +296,22 @@ bool st_select_lex_unit::prepare(THD *thd_arg, select_result *sel_result,
}
}
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
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment