Merge dator5.(none):/home/pappa/clean-mysql-5.1-kt
into dator5.(none):/home/pappa/bug21210 sql/ha_partition.cc: Auto merged
This commit is contained in:
commit
0bea3a4a24
@ -3663,7 +3663,10 @@ int ha_partition::read_range_first(const key_range *start_key,
|
|||||||
|
|
||||||
if (!start_key) // Read first record
|
if (!start_key) // Read first record
|
||||||
{
|
{
|
||||||
|
if (m_ordered)
|
||||||
m_index_scan_type= partition_index_first;
|
m_index_scan_type= partition_index_first;
|
||||||
|
else
|
||||||
|
m_index_scan_type= partition_index_first_unordered;
|
||||||
error= common_first_last(m_rec0);
|
error= common_first_last(m_rec0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -3877,6 +3880,18 @@ int ha_partition::handle_unordered_scan_next_partition(byte * buf)
|
|||||||
DBUG_PRINT("info", ("index_first on partition %d", i));
|
DBUG_PRINT("info", ("index_first on partition %d", i));
|
||||||
error= file->index_first(buf);
|
error= file->index_first(buf);
|
||||||
break;
|
break;
|
||||||
|
case partition_index_first_unordered:
|
||||||
|
/*
|
||||||
|
We perform a scan without sorting and this means that we
|
||||||
|
should not use the index_first since not all handlers
|
||||||
|
support it and it is also unnecessary to restrict sort
|
||||||
|
order.
|
||||||
|
*/
|
||||||
|
DBUG_PRINT("info", ("read_range_first on partition %d", i));
|
||||||
|
table->record[0]= buf;
|
||||||
|
error= file->read_range_first(0, end_range, eq_range, 0);
|
||||||
|
table->record[0]= m_rec0;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
DBUG_ASSERT(FALSE);
|
DBUG_ASSERT(FALSE);
|
||||||
DBUG_RETURN(1);
|
DBUG_RETURN(1);
|
||||||
|
@ -45,9 +45,10 @@ private:
|
|||||||
{
|
{
|
||||||
partition_index_read= 0,
|
partition_index_read= 0,
|
||||||
partition_index_first= 1,
|
partition_index_first= 1,
|
||||||
partition_index_last= 2,
|
partition_index_first_unordered= 2,
|
||||||
partition_index_read_last= 3,
|
partition_index_last= 3,
|
||||||
partition_no_index_scan= 4
|
partition_index_read_last= 4,
|
||||||
|
partition_no_index_scan= 5
|
||||||
};
|
};
|
||||||
/* Data for the partition handler */
|
/* Data for the partition handler */
|
||||||
int m_mode; // Open mode
|
int m_mode; // Open mode
|
||||||
|
Loading…
x
Reference in New Issue
Block a user