opt_range.cc:

Fix the crash in InnoDB when WHERE primarykey < x ORDER BY primarykey is used


sql/opt_range.cc:
  Fix the crash in InnoDB when WHERE primarykey < x ORDER BY primarykey is used
This commit is contained in:
unknown 2002-09-12 01:57:45 +03:00
parent 36cb35932f
commit f3d5cb8b6a

View file

@ -2623,13 +2623,19 @@ int QUICK_SELECT_DESC::get_next()
}
else
{
/* Heikki changed Sept 11, 2002: since InnoDB does not store the cursor
position if READ_KEY_EXACT is used to a primary key with all
key columns specified, we must use below HA_READ_KEY_OR_NEXT,
so that InnoDB stores the cursor position and is able to move
the cursor one step backward after the search. */
DBUG_ASSERT(range->flag & NEAR_MAX || range_reads_after_key(range));
/* Note: even if max_key is only a prefix, HA_READ_AFTER_KEY will
* do the right thing - go past all keys which match the prefix */
result=file->index_read(record, (byte*) range->max_key,
range->max_length,
((range->flag & NEAR_MAX) ?
HA_READ_KEY_EXACT : HA_READ_AFTER_KEY));
HA_READ_KEY_OR_NEXT : HA_READ_AFTER_KEY));
result = file->index_prev(record);
}
if (result)