diff options
author | unknown <serg@serg.mysql.com> | 2002-10-25 14:09:47 +0000 |
---|---|---|
committer | unknown <serg@serg.mysql.com> | 2002-10-25 14:09:47 +0000 |
commit | 14e6526a0b3e005ded73df5adba4c67e461ec16e (patch) | |
tree | 924363f29111df2ea0eb851433529662bc1aa664 /myisam | |
parent | 372b26e7786dcc812bc5fd2e8541d8c58201ea5b (diff) | |
download | mariadb-git-14e6526a0b3e005ded73df5adba4c67e461ec16e.tar.gz |
support for HA_READ_PREFIX_LAST_OR_PREV in headres
full support for HA_READ_PREFIX_LAST_OR_PREV in MyISAM
protected by #if NOT_IMPLEMENTED_YET in opt_range.cc as not all table handlers support it
BitKeeper/etc/ignore:
Added configure.lineno innobase/configure.lineno innobase/stamp-h1 myisam/rt_test.MYD myisam/rt_test.MYI stamp-h1 to the ignore list
include/my_base.h:
support for HA_READ_PREFIX_LAST_OR_PREV
myisam/mi_search.c:
full support of HA_READ_PREFIX_LAST_OR_PREV in MyISAM
myisam/mi_static.c:
full support of HA_READ_PREFIX_LAST_OR_PREV in MyISAM
sql/opt_range.cc:
support for HA_READ_PREFIX_LAST_OR_PREV
protected by #if NOT_IMPLEMENTED_YET, not all table handlers support it
sql/sql_handler.cc:
support for HA_READ_PREFIX_LAST_OR_PREV
Diffstat (limited to 'myisam')
-rw-r--r-- | myisam/mi_search.c | 2 | ||||
-rw-r--r-- | myisam/mi_static.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/myisam/mi_search.c b/myisam/mi_search.c index 737bb2fd5d3..8aeccbbf559 100644 --- a/myisam/mi_search.c +++ b/myisam/mi_search.c @@ -132,7 +132,7 @@ int _mi_search(register MI_INFO *info, register MI_KEYDEF *keyinfo, if (_mi_get_prev_key(info,keyinfo, buff, info->lastkey, keypos, &info->lastkey_length)) goto err; - if ((nextflag & SEARCH_LAST) && + if (!(nextflag & SEARCH_SMALLER) && ha_key_cmp(keyinfo->seg, info->lastkey, key, key_len, SEARCH_FIND, ¬_used)) { diff --git a/myisam/mi_static.c b/myisam/mi_static.c index 57683a36920..a36c38e3c01 100644 --- a/myisam/mi_static.c +++ b/myisam/mi_static.c @@ -51,12 +51,12 @@ uint NEAR myisam_read_vec[]= { SEARCH_FIND, SEARCH_FIND | SEARCH_BIGGER, SEARCH_FIND | SEARCH_SMALLER, SEARCH_NO_FIND | SEARCH_BIGGER, SEARCH_NO_FIND | SEARCH_SMALLER, - SEARCH_FIND | SEARCH_PREFIX, SEARCH_LAST, + SEARCH_FIND | SEARCH_PREFIX, SEARCH_LAST, SEARCH_LAST | SEARCH_SMALLER, MBR_CONTAIN, MBR_INTERSECT, MBR_WITHIN, MBR_DISJOINT, MBR_EQUAL }; uint NEAR myisam_readnext_vec[]= { SEARCH_BIGGER, SEARCH_BIGGER, SEARCH_SMALLER, SEARCH_BIGGER, SEARCH_SMALLER, - SEARCH_BIGGER, SEARCH_SMALLER + SEARCH_BIGGER, SEARCH_SMALLER, SEARCH_SMALLER }; |