diff options
author | unknown <serg@serg.mysql.com> | 2003-01-21 19:24:34 +0100 |
---|---|---|
committer | unknown <serg@serg.mysql.com> | 2003-01-21 19:24:34 +0100 |
commit | 76078f2c8417df4695f14b75fc4711417d1f3c08 (patch) | |
tree | 2c7d9d1b4d148a8335c0f806f6c7bc3dcab8e3ce /myisam/mi_rnext.c | |
parent | e503a5807d12c8f08ae4a791d97f8507eb90bb38 (diff) | |
download | mariadb-git-76078f2c8417df4695f14b75fc4711417d1f3c08.tar.gz |
Two-level index structure for FULLTEXT indexes
myisam/ftdefs.h:
intermediate cleanup checkin
myisam/mi_create.c:
intermediate cleanup checkin
myisam/myisamchk.c:
intermediate cleanup checkin
myisam/ft_parser.c:
intermediate cleanup checkin
myisam/ft_update.c:
intermediate cleanup checkin
myisam/mi_update.c:
intermediate cleanup checkin
mysql-test/r/fulltext.result:
stopword test
mysql-test/t/fulltext.test:
stopword test
mysys/mulalloc.c:
function comments clarified
include/my_handler.h:
get_key_length_rdonly utility macro
include/myisam.h:
this kind of hacks bites :)
myisam/ft_dump.c:
bugfix
myisam/mi_open.c:
bugfix
myisam/sort.c:
bugfixing
myisam/mi_rnext.c:
not a solution at all, but a temporary fix to make
mi_rnext to work on ft2 index. (only ft_dump uses mi_rnext
on fulltext indexes for now).
myisam/ft_boolean_search.c:
ft_sintXkorr, ft_intXstore
myisam/ft_nlq_search.c:
ft_sintXkorr, ft_intXstore
myisam/fulltext.h:
ft_sintXkorr, ft_intXstore
myisam/mi_check.c:
ft_sintXkorr, ft_intXstore
myisam/ft_static.c:
two-level tree support in wi_write()
myisam/mi_write.c:
two-level tree support in wi_write()
myisam/myisamdef.h:
two-level tree support in wi_write()
myisam/mi_delete.c:
support for ft2 in mi_delete
mysql-test/r/fulltext2.result:
support for ft2 in mi_delete
mysql-test/t/fulltext2.test:
support for ft2 in mi_delete
Diffstat (limited to 'myisam/mi_rnext.c')
-rw-r--r-- | myisam/mi_rnext.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/myisam/mi_rnext.c b/myisam/mi_rnext.c index daab7c5f085..e1cf916d6d9 100644 --- a/myisam/mi_rnext.c +++ b/myisam/mi_rnext.c @@ -51,7 +51,7 @@ int mi_rnext(MI_INFO *info, byte *buf, int inx) case HA_KEY_ALG_BTREE: default: error=_mi_search_first(info,info->s->keyinfo+inx, - info->s->state.key_root[inx]); + info->s->state.key_root[inx]); break; } } @@ -60,17 +60,17 @@ int mi_rnext(MI_INFO *info, byte *buf, int inx) switch(info->s->keyinfo[inx].key_alg) { case HA_KEY_ALG_RTREE: - /* + /* Note that rtree doesn't support that the table may be changed since last call, so we do need to skip rows inserted by other threads like in btree */ error=rtree_get_next(info,inx,info->lastkey_length); break; - + case HA_KEY_ALG_BTREE: default: - if (!changed) + if (!changed) { error=_mi_search_next(info,info->s->keyinfo+inx,info->lastkey, info->lastkey_length,flag, @@ -81,15 +81,15 @@ int mi_rnext(MI_INFO *info, byte *buf, int inx) error=_mi_search(info,info->s->keyinfo+inx,info->lastkey, USE_WHOLE_KEY,flag, info->s->state.key_root[inx]); } - if (!error) + if (!error && info->s->concurrent_insert) { while (info->lastpos >= info->state->data_file_length) { /* Skip rows that are inserted by other threads since we got a lock */ - if ((error=_mi_search_next(info,info->s->keyinfo+inx,info->lastkey, - info->lastkey_length, - SEARCH_BIGGER, - info->s->state.key_root[inx]))) + if ((error=_mi_search_next(info,info->s->keyinfo+inx,info->lastkey, + info->lastkey_length, + SEARCH_BIGGER, + info->s->state.key_root[inx]))) break; } } |