1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +03:00

Merge with MariaDB 5.1.49

Removed references to HA_END_SPACE_KEY (which has been 0 for a long time)
This commit is contained in:
Michael Widenius
2010-08-05 22:56:11 +03:00
820 changed files with 37170 additions and 19216 deletions

View File

@@ -539,6 +539,14 @@ retry:
my_error(ER_KEY_DOES_NOT_EXITS, MYF(0), keyname, tables->alias);
goto err;
}
/* Check if the same index involved. */
if ((uint) keyno != table->file->get_index())
{
if (mode == RNEXT)
mode= RFIRST;
else if (mode == RPREV)
mode= RLAST;
}
}
if (insert_fields(thd, &thd->lex->select_lex.context,
@@ -561,9 +569,16 @@ retry:
case RNEXT:
if (table->file->inited != handler::NONE)
{
error=keyname ?
table->file->ha_index_next(table->record[0]) :
table->file->ha_rnd_next(table->record[0]);
if (keyname)
{
/* Check if we read from the same index. */
DBUG_ASSERT((uint) keyno == table->file->get_index());
error= table->file->ha_index_next(table->record[0]);
}
else
{
error= table->file->ha_rnd_next(table->record[0]);
}
break;
}
/* else fall through */
@@ -584,6 +599,8 @@ retry:
break;
case RPREV:
DBUG_ASSERT(keyname != 0);
/* Check if we read from the same index. */
DBUG_ASSERT((uint) keyno == table->file->get_index());
if (table->file->inited != handler::NONE)
{
error=table->file->ha_index_prev(table->record[0]);