#At file:///home/marty/MySQL/mysql-5.1-telco-6.3/
2777 Martin Skold 2008-12-02
Bug#40081 UPDATE....ORDER BY cannot find rows in cluster: Prepare handler for
position call so it can include primary key in read-set if needed
modified:
sql/table.cc
=== modified file 'sql/table.cc'
--- a/sql/table.cc 2008-11-21 21:06:44 +0000
+++ b/sql/table.cc 2008-12-02 10:30:25 +0000
@@ -4372,13 +4372,18 @@ void st_table::clear_column_bitmaps()
void st_table::prepare_for_position()
{
DBUG_ENTER("st_table::prepare_for_position");
-
- if ((file->ha_table_flags() & HA_PRIMARY_KEY_IN_READ_INDEX) &&
- s->primary_key < MAX_KEY)
+
+ if (s->primary_key < MAX_KEY)
{
- mark_columns_used_by_index_no_reset(s->primary_key, read_set);
- /* signal change */
- file->column_bitmaps_signal(HA_CHANGE_TABLE_READ_BITMAP);
+ if (file->ha_table_flags() & HA_PRIMARY_KEY_IN_READ_INDEX)
+ {
+ mark_columns_used_by_index_no_reset(s->primary_key, read_set);
+ }
+ if (file->ha_table_flags() & HA_PRIMARY_KEY_REQUIRED_FOR_POSITION)
+ {
+ /* signal change */
+ file->column_bitmaps_signal(HA_COMPLETE_TABLE_READ_BITMAP);
+ }
}
DBUG_VOID_RETURN;
}
| Thread |
|---|
| • bzr commit into mysql-5.1 branch (Martin.Skold:2777) Bug#40081 | Martin Skold | 2 Dec |