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
a6c6bfe7
Commit
a6c6bfe7
authored
Apr 05, 2004
by
serg@serg.mylan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
made fulltext search aware of concurrent inserts
parent
56169c74
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
27 additions
and
6 deletions
+27
-6
myisam/ft_boolean_search.c
myisam/ft_boolean_search.c
+15
-4
myisam/ft_nlq_search.c
myisam/ft_nlq_search.c
+12
-2
No files found.
myisam/ft_boolean_search.c
View file @
a6c6bfe7
...
@@ -262,8 +262,14 @@ static void _ftb_init_index_search(FT_INFO *ftb)
...
@@ -262,8 +262,14 @@ static void _ftb_init_index_search(FT_INFO *ftb)
else
else
reset_tree
(
&
ftb
->
no_dupes
);
reset_tree
(
&
ftb
->
no_dupes
);
}
}
r
=
_mi_search
(
info
,
keyinfo
,
(
uchar
*
)
ftbw
->
word
,
ftbw
->
len
,
for
(
SEARCH_FIND
|
SEARCH_BIGGER
,
keyroot
);
r
=
_mi_search
(
info
,
keyinfo
,
(
uchar
*
)
ftbw
->
word
,
ftbw
->
len
,
SEARCH_FIND
|
SEARCH_BIGGER
,
keyroot
)
;
!
r
&&
info
->
lastpos
>=
info
->
state
->
data_file_length
;
r
=
_mi_search_next
(
info
,
keyinfo
,
info
->
lastkey
,
info
->
lastkey_length
,
SEARCH_BIGGER
,
keyroot
)
);
if
(
!
r
)
if
(
!
r
)
{
{
r
=
_mi_compare_text
(
ftb
->
charset
,
r
=
_mi_compare_text
(
ftb
->
charset
,
...
@@ -488,8 +494,13 @@ int ft_boolean_read_next(FT_INFO *ftb, char *record)
...
@@ -488,8 +494,13 @@ int ft_boolean_read_next(FT_INFO *ftb, char *record)
_ftb_climb_the_tree
(
ftb
,
ftbw
,
0
);
_ftb_climb_the_tree
(
ftb
,
ftbw
,
0
);
/* update queue */
/* update queue */
r
=
_mi_search
(
info
,
keyinfo
,
(
uchar
*
)
ftbw
->
word
,
USE_WHOLE_KEY
,
for
(
SEARCH_BIGGER
,
keyroot
);
r
=
_mi_search
(
info
,
keyinfo
,
(
uchar
*
)
ftbw
->
word
,
USE_WHOLE_KEY
,
SEARCH_BIGGER
,
keyroot
)
;
!
r
&&
info
->
lastpos
>=
info
->
state
->
data_file_length
;
r
=
_mi_search_next
(
info
,
keyinfo
,
info
->
lastkey
,
info
->
lastkey_length
,
SEARCH_BIGGER
,
keyroot
)
);
if
(
!
r
)
if
(
!
r
)
{
{
r
=
_mi_compare_text
(
ftb
->
charset
,
r
=
_mi_compare_text
(
ftb
->
charset
,
...
...
myisam/ft_nlq_search.c
View file @
a6c6bfe7
...
@@ -85,8 +85,13 @@ static int walk_and_match(FT_WORD *word, uint32 count, ALL_IN_ONE *aio)
...
@@ -85,8 +85,13 @@ static int walk_and_match(FT_WORD *word, uint32 count, ALL_IN_ONE *aio)
doc_cnt
=
0
;
doc_cnt
=
0
;
r
=
_mi_search
(
aio
->
info
,
aio
->
keyinfo
,
aio
->
keybuff
,
keylen
,
for
(
SEARCH_FIND
|
SEARCH_PREFIX
,
aio
->
key_root
);
r
=
_mi_search
(
aio
->
info
,
aio
->
keyinfo
,
aio
->
keybuff
,
keylen
,
SEARCH_FIND
|
SEARCH_PREFIX
,
aio
->
key_root
)
;
!
r
&&
aio
->
info
->
lastpos
>=
aio
->
info
->
state
->
data_file_length
;
r
=
_mi_search_next
(
aio
->
info
,
aio
->
keyinfo
,
aio
->
info
->
lastkey
,
aio
->
info
->
lastkey_length
,
SEARCH_BIGGER
,
aio
->
key_root
)
);
aio
->
info
->
update
|=
HA_STATE_AKTIV
;
/* for _mi_test_if_changed() */
aio
->
info
->
update
|=
HA_STATE_AKTIV
;
/* for _mi_test_if_changed() */
while
(
!
r
&&
gweight
)
while
(
!
r
&&
gweight
)
...
@@ -132,6 +137,11 @@ static int walk_and_match(FT_WORD *word, uint32 count, ALL_IN_ONE *aio)
...
@@ -132,6 +137,11 @@ static int walk_and_match(FT_WORD *word, uint32 count, ALL_IN_ONE *aio)
r
=
_mi_search
(
aio
->
info
,
aio
->
keyinfo
,
aio
->
info
->
lastkey
,
r
=
_mi_search
(
aio
->
info
,
aio
->
keyinfo
,
aio
->
info
->
lastkey
,
aio
->
info
->
lastkey_length
,
SEARCH_BIGGER
,
aio
->
info
->
lastkey_length
,
SEARCH_BIGGER
,
aio
->
key_root
);
aio
->
key_root
);
while
(
!
r
&&
aio
->
info
->
lastpos
>=
aio
->
info
->
state
->
data_file_length
)
r
=
_mi_search
(
aio
->
info
,
aio
->
keyinfo
,
aio
->
info
->
lastkey
,
aio
->
info
->
lastkey_length
,
SEARCH_BIGGER
,
aio
->
key_root
);
}
}
word
->
weight
=
gweight
;
word
->
weight
=
gweight
;
...
...
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