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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
b387b5ad
Commit
b387b5ad
authored
Jun 16, 2003
by
serg@serg.mylan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fulltext and left join bug fixed
parent
9b3dccd6
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
33 additions
and
0 deletions
+33
-0
mysql-test/r/fulltext.result
mysql-test/r/fulltext.result
+3
-0
mysql-test/r/fulltext_left_join.result
mysql-test/r/fulltext_left_join.result
+11
-0
mysql-test/t/fulltext.test
mysql-test/t/fulltext.test
+1
-0
mysql-test/t/fulltext_left_join.test
mysql-test/t/fulltext_left_join.test
+12
-0
sql/item_func.cc
sql/item_func.cc
+3
-0
sql/sql_select.cc
sql/sql_select.cc
+3
-0
No files found.
mysql-test/r/fulltext.result
View file @
b387b5ad
...
...
@@ -5,6 +5,9 @@ INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),
('Only MyISAM tables','support collections'),
('Function MATCH ... AGAINST()','is used to do a search'),
('Full-text search in MySQL', 'implements vector space model');
explain select * from t1 where MATCH(a,b) AGAINST ("collections");
table type possible_keys key key_len ref rows Extra
t1 fulltext a a 0 1 Using where
select * from t1 where MATCH(a,b) AGAINST ("collections");
a b
Only MyISAM tables support collections
...
...
mysql-test/r/fulltext_left_join.result
View file @
b387b5ad
...
...
@@ -31,3 +31,14 @@ match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE)
1
0
drop table t1, t2;
create table t1 (venue_id int(11) default null, venue_text varchar(255) default null, dt datetime default null) type=myisam;
insert into t1 (venue_id, venue_text, dt) values (1, 'a1', '2003-05-23 19:30:00'),(null, 'a2', '2003-05-23 19:30:00');
create table t2 (name varchar(255) not null default '', entity_id int(11) not null auto_increment, primary key (entity_id), fulltext key name (name)) type=myisam;
insert into t2 (name, entity_id) values ('aberdeen town hall', 1), ('glasgow royal concert hall', 2), ('queen\'s hall, edinburgh', 3);
select * from t1 left join t2 on venue_id = entity_id where match(name) against('aberdeen' in boolean mode) and dt = '2003-05-23 19:30:00';
venue_id venue_text dt name entity_id
1 a1 2003-05-23 19:30:00 aberdeen town hall 1
select * from t1 left join t2 on venue_id = entity_id where match(name) against('aberdeen') and dt = '2003-05-23 19:30:00';
venue_id venue_text dt name entity_id
1 a1 2003-05-23 19:30:00 aberdeen town hall 1
drop table t1,t2;
mysql-test/t/fulltext.test
View file @
b387b5ad
...
...
@@ -13,6 +13,7 @@ INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),
# nl search
explain
select
*
from
t1
where
MATCH
(
a
,
b
)
AGAINST
(
"collections"
);
select
*
from
t1
where
MATCH
(
a
,
b
)
AGAINST
(
"collections"
);
select
*
from
t1
where
MATCH
(
a
,
b
)
AGAINST
(
"indexes"
);
select
*
from
t1
where
MATCH
(
a
,
b
)
AGAINST
(
"indexes collections"
);
...
...
mysql-test/t/fulltext_left_join.test
View file @
b387b5ad
...
...
@@ -28,3 +28,15 @@ select match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE)
drop
table
t1
,
t2
;
#
# Bug #484, reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>
#
create
table
t1
(
venue_id
int
(
11
)
default
null
,
venue_text
varchar
(
255
)
default
null
,
dt
datetime
default
null
)
type
=
myisam
;
insert
into
t1
(
venue_id
,
venue_text
,
dt
)
values
(
1
,
'a1'
,
'2003-05-23 19:30:00'
),(
null
,
'a2'
,
'2003-05-23 19:30:00'
);
create
table
t2
(
name
varchar
(
255
)
not
null
default
''
,
entity_id
int
(
11
)
not
null
auto_increment
,
primary
key
(
entity_id
),
fulltext
key
name
(
name
))
type
=
myisam
;
insert
into
t2
(
name
,
entity_id
)
values
(
'aberdeen town hall'
,
1
),
(
'glasgow royal concert hall'
,
2
),
(
'queen\'s hall, edinburgh'
,
3
);
select
*
from
t1
left
join
t2
on
venue_id
=
entity_id
where
match
(
name
)
against
(
'aberdeen'
in
boolean
mode
)
and
dt
=
'2003-05-23 19:30:00'
;
select
*
from
t1
left
join
t2
on
venue_id
=
entity_id
where
match
(
name
)
against
(
'aberdeen'
)
and
dt
=
'2003-05-23 19:30:00'
;
drop
table
t1
,
t2
;
sql/item_func.cc
View file @
b387b5ad
...
...
@@ -2299,6 +2299,9 @@ double Item_func_match::val()
if
(
ft_handler
==
NULL
)
DBUG_RETURN
(
-
1.0
);
if
(
table
->
null_row
)
/* NULL row from an outer join */
return
0.0
;
if
(
join_key
)
{
if
(
table
->
file
->
ft_handler
)
...
...
sql/sql_select.cc
View file @
b387b5ad
...
...
@@ -1688,6 +1688,9 @@ add_ft_keys(DYNAMIC_ARRAY *keyuse_array,
if
(
!
cond_func
||
cond_func
->
key
==
NO_SUCH_KEY
)
return
;
if
(
!
(
usable_tables
&
cond_func
->
table
->
map
))
return
;
KEYUSE
keyuse
;
keyuse
.
table
=
cond_func
->
table
;
...
...
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