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
dd72d525
Commit
dd72d525
authored
Jul 13, 2007
by
istruewing@chilla.local
Browse files
Options
Browse Files
Download
Plain Diff
Merge chilla.local:/home/mydev/mysql-5.1-ateam
into chilla.local:/home/mydev/mysql-5.1-bug28810
parents
0880e245
c16c5db7
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
28 additions
and
17 deletions
+28
-17
mysql-test/r/fulltext.result
mysql-test/r/fulltext.result
+4
-5
mysql-test/r/fulltext3.result
mysql-test/r/fulltext3.result
+4
-0
mysql-test/t/fulltext.test
mysql-test/t/fulltext.test
+2
-10
mysql-test/t/fulltext3.test
mysql-test/t/fulltext3.test
+10
-0
storage/myisam/ft_boolean_search.c
storage/myisam/ft_boolean_search.c
+8
-2
No files found.
mysql-test/r/fulltext.result
View file @
dd72d525
...
@@ -476,16 +476,15 @@ ALTER TABLE t1 DISABLE KEYS;
...
@@ -476,16 +476,15 @@ ALTER TABLE t1 DISABLE KEYS;
SELECT * FROM t1 WHERE MATCH(a) AGAINST('test');
SELECT * FROM t1 WHERE MATCH(a) AGAINST('test');
ERROR HY000: Can't find FULLTEXT index matching the column list
ERROR HY000: Can't find FULLTEXT index matching the column list
DROP TABLE t1;
DROP TABLE t1;
CREATE TABLE t1(a VARCHAR(2) CHARACTER SET big5 COLLATE big5_chinese_ci,
FULLTEXT(a));
INSERT INTO t1 VALUES(0xA3C2);
DROP TABLE t1;
CREATE TABLE t1(a VARCHAR(20), FULLTEXT(a));
CREATE TABLE t1(a VARCHAR(20), FULLTEXT(a));
INSERT INTO t1 VALUES('Offside'),('City Of God');
INSERT INTO t1 VALUES('Offside'),('City Of God');
SELECT a FROM t1 WHERE MATCH a AGAINST ('+city of*' IN BOOLEAN MODE);
SELECT a FROM t1 WHERE MATCH a AGAINST ('+city of*' IN BOOLEAN MODE);
a
a
City Of God
City Of God
SELECT a FROM t1 WHERE MATCH a AGAINST ('+city (of)*' IN BOOLEAN MODE);
SELECT a FROM t1 WHERE MATCH a AGAINST ('+city (of*)' IN BOOLEAN MODE);
a
City Of God
SELECT a FROM t1 WHERE MATCH a AGAINST ('+city* of*' IN BOOLEAN MODE);
a
a
City Of God
City Of God
DROP TABLE t1;
DROP TABLE t1;
mysql-test/r/fulltext3.result
View file @
dd72d525
...
@@ -11,3 +11,7 @@ Table Op Msg_type Msg_text
...
@@ -11,3 +11,7 @@ Table Op Msg_type Msg_text
test.t1 check status OK
test.t1 check status OK
SET NAMES latin1;
SET NAMES latin1;
DROP TABLE t1;
DROP TABLE t1;
CREATE TABLE t1(a VARCHAR(2) CHARACTER SET big5 COLLATE big5_chinese_ci,
FULLTEXT(a));
INSERT INTO t1 VALUES(0xA3C2);
DROP TABLE t1;
mysql-test/t/fulltext.test
View file @
dd72d525
...
@@ -399,22 +399,14 @@ ALTER TABLE t1 DISABLE KEYS;
...
@@ -399,22 +399,14 @@ ALTER TABLE t1 DISABLE KEYS;
SELECT
*
FROM
t1
WHERE
MATCH
(
a
)
AGAINST
(
'test'
);
SELECT
*
FROM
t1
WHERE
MATCH
(
a
)
AGAINST
(
'test'
);
DROP
TABLE
t1
;
DROP
TABLE
t1
;
#
# BUG#29464 - load data infile into table with big5 chinese fulltext index
# hangs 100% cpu
#
CREATE
TABLE
t1
(
a
VARCHAR
(
2
)
CHARACTER
SET
big5
COLLATE
big5_chinese_ci
,
FULLTEXT
(
a
));
INSERT
INTO
t1
VALUES
(
0xA3C2
);
DROP
TABLE
t1
;
#
#
# BUG#29445 - match ... against () never returns
# BUG#29445 - match ... against () never returns
#
#
CREATE
TABLE
t1
(
a
VARCHAR
(
20
),
FULLTEXT
(
a
));
CREATE
TABLE
t1
(
a
VARCHAR
(
20
),
FULLTEXT
(
a
));
INSERT
INTO
t1
VALUES
(
'Offside'
),(
'City Of God'
);
INSERT
INTO
t1
VALUES
(
'Offside'
),(
'City Of God'
);
SELECT
a
FROM
t1
WHERE
MATCH
a
AGAINST
(
'+city of*'
IN
BOOLEAN
MODE
);
SELECT
a
FROM
t1
WHERE
MATCH
a
AGAINST
(
'+city of*'
IN
BOOLEAN
MODE
);
SELECT
a
FROM
t1
WHERE
MATCH
a
AGAINST
(
'+city (of)*'
IN
BOOLEAN
MODE
);
SELECT
a
FROM
t1
WHERE
MATCH
a
AGAINST
(
'+city (of*)'
IN
BOOLEAN
MODE
);
SELECT
a
FROM
t1
WHERE
MATCH
a
AGAINST
(
'+city* of*'
IN
BOOLEAN
MODE
);
DROP
TABLE
t1
;
DROP
TABLE
t1
;
# End of 4.1 tests
# End of 4.1 tests
mysql-test/t/fulltext3.test
View file @
dd72d525
...
@@ -22,3 +22,13 @@ DROP TABLE t1;
...
@@ -22,3 +22,13 @@ DROP TABLE t1;
# End of 5.0 tests
# End of 5.0 tests
#
# BUG#29464 - load data infile into table with big5 chinese fulltext index
# hangs 100% cpu
#
CREATE
TABLE
t1
(
a
VARCHAR
(
2
)
CHARACTER
SET
big5
COLLATE
big5_chinese_ci
,
FULLTEXT
(
a
));
INSERT
INTO
t1
VALUES
(
0xA3C2
);
DROP
TABLE
t1
;
# End of 5.1 tests
storage/myisam/ft_boolean_search.c
View file @
dd72d525
...
@@ -23,6 +23,12 @@
...
@@ -23,6 +23,12 @@
inside plus subtree. max_docid could be used by any word in plus
inside plus subtree. max_docid could be used by any word in plus
subtree, but it could be updated by plus-word only.
subtree, but it could be updated by plus-word only.
Fulltext "smarter index merge" optimization assumes that rows
it gets are ordered by doc_id. That is not the case when we
search for a word with truncation operator. It may return
rows in random order. Thus we may not use "smarter index merge"
optimization with "trunc-words".
The idea is: there is no need to search for docid smaller than
The idea is: there is no need to search for docid smaller than
biggest docid inside current plus subtree or any upper plus subtree.
biggest docid inside current plus subtree or any upper plus subtree.
...
@@ -443,7 +449,7 @@ static int _ft2_search(FTB *ftb, FTB_WORD *ftbw, my_bool init_search)
...
@@ -443,7 +449,7 @@ static int _ft2_search(FTB *ftb, FTB_WORD *ftbw, my_bool init_search)
memcpy
(
lastkey_buf
+
off
,
info
->
lastkey
,
info
->
lastkey_length
);
memcpy
(
lastkey_buf
+
off
,
info
->
lastkey
,
info
->
lastkey_length
);
}
}
ftbw
->
docid
[
0
]
=
info
->
lastpos
;
ftbw
->
docid
[
0
]
=
info
->
lastpos
;
if
(
ftbw
->
flags
&
FTB_FLAG_YES
)
if
(
ftbw
->
flags
&
FTB_FLAG_YES
&&
!
(
ftbw
->
flags
&
FTB_FLAG_TRUNC
)
)
ftbw
->
max_docid_expr
->
max_docid
=
info
->
lastpos
;
ftbw
->
max_docid_expr
->
max_docid
=
info
->
lastpos
;
return
0
;
return
0
;
}
}
...
@@ -488,7 +494,7 @@ static void _ftb_init_index_search(FT_INFO *ftb)
...
@@ -488,7 +494,7 @@ static void _ftb_init_index_search(FT_INFO *ftb)
{
{
if
(
ftbe
->
flags
&
FTB_FLAG_NO
||
/* 2 */
if
(
ftbe
->
flags
&
FTB_FLAG_NO
||
/* 2 */
ftbe
->
up
->
ythresh
-
ftbe
->
up
->
yweaks
>
ftbe
->
up
->
ythresh
-
ftbe
->
up
->
yweaks
>
test
(
ftbe
->
flags
&
FTB_FLAG_YES
))
/* 1 */
(
uint
)
test
(
ftbe
->
flags
&
FTB_FLAG_YES
))
/* 1 */
{
{
FTB_EXPR
*
top_ftbe
=
ftbe
->
up
;
FTB_EXPR
*
top_ftbe
=
ftbe
->
up
;
ftbw
->
docid
[
0
]
=
HA_OFFSET_ERROR
;
ftbw
->
docid
[
0
]
=
HA_OFFSET_ERROR
;
...
...
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