diff options
author | Vasil Dimov <vasil.dimov@oracle.com> | 2010-06-22 20:12:05 +0300 |
---|---|---|
committer | Vasil Dimov <vasil.dimov@oracle.com> | 2010-06-22 20:12:05 +0300 |
commit | d17ee9f8ec5328e9421bd77a335a68b44027b301 (patch) | |
tree | 3a6df2f20eeb680948eb6859783c775f1b44e29c /storage | |
parent | e42ab1af8d6d0eb3a612a92379e03cb4b2eed0b0 (diff) | |
parent | 31939e0d14efb4d0c2aa02cb4805aab398c1db73 (diff) | |
download | mariadb-git-d17ee9f8ec5328e9421bd77a335a68b44027b301.tar.gz |
Merge mysql-5.1-innodb from bk-internal to my local tree
Diffstat (limited to 'storage')
-rw-r--r-- | storage/innodb_plugin/ChangeLog | 6 | ||||
-rw-r--r-- | storage/innodb_plugin/handler/ha_innodb.cc | 7 |
2 files changed, 13 insertions, 0 deletions
diff --git a/storage/innodb_plugin/ChangeLog b/storage/innodb_plugin/ChangeLog index d17c6e058d4..36bc5551a2b 100644 --- a/storage/innodb_plugin/ChangeLog +++ b/storage/innodb_plugin/ChangeLog @@ -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: diff --git a/storage/innodb_plugin/handler/ha_innodb.cc b/storage/innodb_plugin/handler/ha_innodb.cc index 34249b7718a..3f8dc97e4b5 100644 --- a/storage/innodb_plugin/handler/ha_innodb.cc +++ b/storage/innodb_plugin/handler/ha_innodb.cc @@ -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))); |