summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <monty@narttu.mysql.fi>2003-07-04 23:06:20 +0300
committerunknown <monty@narttu.mysql.fi>2003-07-04 23:06:20 +0300
commit778fec0c8259e58e6998b65b1ef1a6b73a85ed78 (patch)
tree59844feac2084389a44be7b10c71aa2125acb358 /sql
parent4e61b75d8b43a38f3cdf667780e000202137e4d9 (diff)
parent40feb0c6172701f2ea8af2498db90784b7b6b182 (diff)
downloadmariadb-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.h3
-rw-r--r--sql/sql_select.cc2
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);