My previous patch was not good at all.

This one is better, but should not be final.

Better fix is to make some changes in ha_myisammrg::index_read

This patch also reverts my previous one ...
parent b44b4854
...@@ -25,6 +25,9 @@ int myrg_rprev(MYRG_INFO *info, byte *buf, int inx) ...@@ -25,6 +25,9 @@ int myrg_rprev(MYRG_INFO *info, byte *buf, int inx)
int err; int err;
MI_INFO *mi; MI_INFO *mi;
if (!info || !info->current_table)
return HA_ERR_UNSUPPORTED;
/* at first, do rprev for the table found before */ /* at first, do rprev for the table found before */
if ((err=mi_rprev(info->current_table->table,NULL,inx))) if ((err=mi_rprev(info->current_table->table,NULL,inx)))
{ {
......
...@@ -152,10 +152,9 @@ int opt_sum_query(TABLE_LIST *tables, List<Item> &all_fields,COND *conds) ...@@ -152,10 +152,9 @@ int opt_sum_query(TABLE_LIST *tables, List<Item> &all_fields,COND *conds)
error=table->file->index_last(table->record[0]) !=0; error=table->file->index_last(table->record[0]) !=0;
else else
{ {
error= table->file->index_read(table->record[0], key_buff, (void)table->file->index_read(table->record[0], key_buff,
ref.key_length, ref.key_length,
HA_READ_AFTER_KEY); HA_READ_AFTER_KEY);
if (!error)
error=table->file->index_prev(table->record[0]) || error=table->file->index_prev(table->record[0]) ||
key_cmp(table,key_buff,ref.key,ref.key_length); key_cmp(table,key_buff,ref.key,ref.key_length);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment