mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
5.5 merge
This commit is contained in:
@ -846,14 +846,14 @@ retry:
|
||||
case RFIRST:
|
||||
if (keyname)
|
||||
{
|
||||
table->file->ha_index_or_rnd_end();
|
||||
table->file->ha_index_init(keyno, 1);
|
||||
error= table->file->ha_index_first(table->record[0]);
|
||||
if (!(error= table->file->ha_index_or_rnd_end()) &&
|
||||
!(error= table->file->ha_index_init(keyno, 1)))
|
||||
error= table->file->ha_index_first(table->record[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
table->file->ha_index_or_rnd_end();
|
||||
if (!(error= table->file->ha_rnd_init(1)))
|
||||
if (!(error= table->file->ha_index_or_rnd_end()) &&
|
||||
!(error= table->file->ha_rnd_init(1)))
|
||||
error= table->file->ha_rnd_next(table->record[0]);
|
||||
}
|
||||
mode= RNEXT;
|
||||
@ -872,10 +872,10 @@ retry:
|
||||
/* else fall through */
|
||||
case RLAST:
|
||||
DBUG_ASSERT(keyname != 0);
|
||||
table->file->ha_index_or_rnd_end();
|
||||
table->file->ha_index_init(keyno, 1);
|
||||
error= table->file->ha_index_last(table->record[0]);
|
||||
mode= RPREV;
|
||||
if (!(error= table->file->ha_index_or_rnd_end()) &&
|
||||
!(error= table->file->ha_index_init(keyno, 1)))
|
||||
error= table->file->ha_index_last(table->record[0]);
|
||||
mode=RPREV;
|
||||
break;
|
||||
case RNEXT_SAME:
|
||||
/* Continue scan on "(keypart1,keypart2,...)=(c1, c2, ...) */
|
||||
@ -889,13 +889,14 @@ retry:
|
||||
|
||||
if (!(key= (uchar*) thd->calloc(ALIGN_SIZE(handler->key_len))))
|
||||
goto err;
|
||||
table->file->ha_index_or_rnd_end();
|
||||
table->file->ha_index_init(keyno, 1);
|
||||
if ((error= table->file->ha_index_or_rnd_end()))
|
||||
break;
|
||||
key_copy(key, table->record[0], table->key_info + keyno,
|
||||
handler->key_len);
|
||||
error= table->file->ha_index_read_map(table->record[0],
|
||||
key, handler->keypart_map,
|
||||
ha_rkey_mode);
|
||||
if (!(error= table->file->ha_index_init(keyno, 1)))
|
||||
error= table->file->ha_index_read_map(table->record[0],
|
||||
key, handler->keypart_map,
|
||||
ha_rkey_mode);
|
||||
mode= rkey_to_rnext[(int)ha_rkey_mode];
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user