diff options
author | unknown <monty@narttu.mysql.fi> | 2003-07-04 23:06:20 +0300 |
---|---|---|
committer | unknown <monty@narttu.mysql.fi> | 2003-07-04 23:06:20 +0300 |
commit | 778fec0c8259e58e6998b65b1ef1a6b73a85ed78 (patch) | |
tree | 59844feac2084389a44be7b10c71aa2125acb358 /sql | |
parent | 4e61b75d8b43a38f3cdf667780e000202137e4d9 (diff) | |
parent | 40feb0c6172701f2ea8af2498db90784b7b6b182 (diff) | |
download | mariadb-git-778fec0c8259e58e6998b65b1ef1a6b73a85ed78.tar.gz |
Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0
Diffstat (limited to 'sql')
-rw-r--r-- | sql/ha_myisammrg.h | 3 | ||||
-rw-r--r-- | sql/sql_select.cc | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/sql/ha_myisammrg.h b/sql/ha_myisammrg.h index 440b51e660f..dd649fe8fcb 100644 --- a/sql/ha_myisammrg.h +++ b/sql/ha_myisammrg.h @@ -40,7 +40,8 @@ class ha_myisammrg: public handler } ulong index_flags(uint inx) const { - ulong flags=(HA_READ_NEXT | HA_READ_PREV | HA_READ_ORDER); + ulong flags=(HA_READ_NEXT | HA_READ_PREV | HA_READ_ORDER | + HA_NOT_READ_PREFIX_LAST); // This - last - flag is ONLY for 4.0 !!! return (flags | ((table->key_info[inx].algorithm == HA_KEY_ALG_FULLTEXT) ? 0 : HA_KEY_READ_ONLY)); } diff --git a/sql/sql_select.cc b/sql/sql_select.cc index bde5392d299..7176337dbfd 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -5843,6 +5843,8 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit, */ if (!select->quick->reverse_sorted()) { + if (table->file->index_flags(ref_key) & HA_NOT_READ_PREFIX_LAST) + DBUG_RETURN(0); // Use filesort // ORDER BY range_key DESC QUICK_SELECT_DESC *tmp=new QUICK_SELECT_DESC(select->quick, used_key_parts); |