#At file:///usr/local/devel/bzrroot/server/mysql-5.1-innodb/ based on revid:vasil.dimov@stripped
3519 Vasil Dimov 2010-06-22 [merge]
Merge mysql-5.1-innodb from bk-internal to my local tree
modified:
storage/innodb_plugin/ChangeLog
storage/innodb_plugin/handler/ha_innodb.cc
=== modified file 'storage/innodb_plugin/ChangeLog'
--- a/storage/innodb_plugin/ChangeLog revid:vasil.dimov@stripped
+++ b/storage/innodb_plugin/ChangeLog revid:vasil.dimov@stripped
@@ -5,6 +5,12 @@
Fix Bug#47991 InnoDB Dictionary Cache memory usage increases
indefinitely when renaming tables
+2010-06-22 The InnoDB Team
+
+ * handler/ha_innodb.cc:
+ Fix Bug#54686: "field->col->mtype == type" assertion error at
+ row/row0sel.c
+
2010-06-21 The InnoDB Team
* dict/dict0load.c, fil/fil0fil.c:
=== modified file 'storage/innodb_plugin/handler/ha_innodb.cc'
--- a/storage/innodb_plugin/handler/ha_innodb.cc revid:vasil.dimov@stripped
+++ b/storage/innodb_plugin/handler/ha_innodb.cc revid:vasil.dimov@stripped
@@ -5379,6 +5379,9 @@ ha_innobase::index_read(
prebuilt->index_usable = FALSE;
DBUG_RETURN(HA_ERR_CRASHED);
}
+ if (UNIV_UNLIKELY(!prebuilt->index_usable)) {
+ DBUG_RETURN(HA_ERR_TABLE_DEF_CHANGED);
+ }
/* Note that if the index for which the search template is built is not
necessarily prebuilt->index, but can also be the clustered index */
@@ -7221,6 +7224,10 @@ ha_innobase::records_in_range(
n_rows = HA_POS_ERROR;
goto func_exit;
}
+ if (UNIV_UNLIKELY(!row_merge_is_index_usable(prebuilt->trx, index))) {
+ n_rows = HA_ERR_TABLE_DEF_CHANGED;
+ goto func_exit;
+ }
heap = mem_heap_create(2 * (key->key_parts * sizeof(dfield_t)
+ sizeof(dtuple_t)));
Attachment: [text/bzr-bundle] bzr/vasil.dimov@oracle.com-20100622171205-3rne2gmxxv3c9bl9.bundle
| Thread |
|---|
| • bzr commit into mysql-5.1-innodb branch (vasil.dimov:3519) | vasil.dimov | 22 Jun |