Commit 8ff8fac5 authored by unknown's avatar unknown

BUG#12915: post-review fixes

parent 1fe423ae
......@@ -584,8 +584,7 @@ SEL_ARG *SEL_ARG::clone_tree()
/*
Find an index that allows to retrieve first #limit records in the given
order cheaper then one would retrieve them using full table scan.
Find the best index to retrieve first N records in given order
SYNOPSIS
get_index_for_order()
......@@ -594,10 +593,13 @@ SEL_ARG *SEL_ARG::clone_tree()
limit Number of records that will be retrieved
DESCRIPTION
Find the best index that allows to retrieve first #limit records in the
given order cheaper then one would retrieve them using full table scan.
IMPLEMENTATION
Run through all table indexes and find the shortest index that allows
records to be retrieved in given order. If there is such index and
reading first #limit records from it is cheaper then scanning the entire
table, return it.
records to be retrieved in given order. We look for the shortest index
as we will have fewer index pages to read with it.
This function is used only by UPDATE/DELETE, so we take into account how
the UPDATE/DELETE code will work:
......
......@@ -235,13 +235,16 @@ static int rr_quick(READ_RECORD *info)
/*
Read next index record. The calling convention of this function is
compatible with READ_RECORD::read_record.
A READ_RECORD::read_record implementation that reads index sequentially
SYNOPSIS
rr_index()
info Scan info
DESCRIPTION
Read the next index record (in forward direction) and translate return
value.
RETURN
0 Ok
-1 End of records
......@@ -271,13 +274,13 @@ static int rr_index(READ_RECORD *info)
if (tmp != HA_ERR_RECORD_DELETED)
{
if (tmp == HA_ERR_END_OF_FILE)
tmp= -1;
tmp= -1;
else
{
if (info->print_error)
info->table->file->print_error(tmp,MYF(0));
if (tmp < 0) // Fix negative BDB errno
tmp=1;
if (info->print_error)
info->table->file->print_error(tmp,MYF(0));
if (tmp < 0) // Fix negative BDB errno
tmp=1;
}
break;
}
......
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