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;
SELECT * FROM t1 WHERE MATCH(a) AGAINST('test');
ERROR HY000: Can't find FULLTEXT index matching the column list
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));
INSERT INTO t1 VALUES('Offside'),('City Of God');
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);
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
City Of God
DROP TABLE t1;
mysql-test/r/fulltext3.result
View file @
dd72d525
...
...
@@ -11,3 +11,7 @@ Table Op Msg_type Msg_text
test.t1 check status OK
SET NAMES latin1;
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;
SELECT
*
FROM
t1
WHERE
MATCH
(
a
)
AGAINST
(
'test'
);
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
#
CREATE
TABLE
t1
(
a
VARCHAR
(
20
),
FULLTEXT
(
a
));
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
);
DROP
TABLE
t1
;
# End of 4.1 tests
mysql-test/t/fulltext3.test
View file @
dd72d525
...
...
@@ -22,3 +22,13 @@ DROP TABLE t1;
# 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 @@
inside plus subtree. max_docid could be used by any word in plus
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
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)
memcpy
(
lastkey_buf
+
off
,
info
->
lastkey
,
info
->
lastkey_length
);
}
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
;
return
0
;
}
...
...
@@ -488,7 +494,7 @@ static void _ftb_init_index_search(FT_INFO *ftb)
{
if
(
ftbe
->
flags
&
FTB_FLAG_NO
||
/* 2 */
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
;
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