ha_partition.cc, ha_partition.h:

bug fixed
partition_pruning.result:
  test fixed


mysql-test/r/partition_pruning.result:
  test fixed
sql/ha_partition.cc:
  bug fixed
sql/ha_partition.h:
  bug fixed
This commit is contained in:
unknown 2007-08-24 21:36:51 +05:00
parent 2bdfe4d7b0
commit 98af69e889
3 changed files with 17 additions and 3 deletions

View file

@ -631,7 +631,7 @@ flush status;
delete from t2 where b > 5;
show status like 'Handler_read_rnd_next';
Variable_name Value
Handler_read_rnd_next 1215
Handler_read_rnd_next 1115
show status like 'Handler_read_key';
Variable_name Value
Handler_read_key 0
@ -645,7 +645,7 @@ flush status;
delete from t2 where b < 5 or b > 3;
show status like 'Handler_read_rnd_next';
Variable_name Value
Handler_read_rnd_next 1215
Handler_read_rnd_next 1115
show status like 'Handler_read_key';
Variable_name Value
Handler_read_key 0

View file

@ -3216,9 +3216,14 @@ end_dont_reset_start_part:
void ha_partition::position(const uchar *record)
{
handler *file= m_file[m_last_part];
handler *file;
DBUG_ENTER("ha_partition::position");
if (unlikely(get_part_for_delete(record, m_rec0, m_part_info, &m_last_part)))
m_last_part= 0;
file= m_file[m_last_part];
file->position(record);
int2store(ref, m_last_part);
memcpy((ref + PARTITION_BYTES_IN_POS), file->ref,
@ -3233,6 +3238,14 @@ void ha_partition::position(const uchar *record)
DBUG_VOID_RETURN;
}
void ha_partition::column_bitmaps_signal()
{
handler::column_bitmaps_signal();
bitmap_union(table->read_set, &m_part_info->full_part_field_set);
}
/*
Read row using position

View file

@ -449,6 +449,7 @@ private:
int handle_ordered_next(uchar * buf, bool next_same);
int handle_ordered_prev(uchar * buf);
void return_top_record(uchar * buf);
void column_bitmaps_signal();
public:
/*
-------------------------------------------------------------------------