#At file:///misc/mysql/forest/36751/51-36751/ based on revid:alfranio.correia@stripped
2813 Tatiana A. Nurnberg 2009-03-11
Bug#36751: Segmentation fault in ctype-bin.c:308; Linux 86_64, with-max-indexes=128
mysqld is optimized for the default
case (up to 64-indices); for a greater
number of indices it goes through a
different code path. As that code-path
is a compile-time option and can not
easily be covered in standard tests,
bitrot occurred. key-fields need an
explicit initialization in the non-
optimized case; this setup was
presumably not added when a new key-
vector was added.
Changeset adds the necessary
initialisations.
No test case added due to dependence
on compile-time option.
@ sql/sql_select.cc
Init merge_keys as well. If we don't,
things blow up badly outside of the
optimized-for-64-keys case!
@ sql/table.cc
Init merge_keys as well. If we don't,
things blow up badly outside of the
optimized-for-64-keys case!
modified:
sql/sql_select.cc
sql/table.cc
=== modified file 'sql/sql_select.cc'
--- a/sql/sql_select.cc 2009-02-19 18:30:05 +0000
+++ b/sql/sql_select.cc 2009-03-11 18:09:56 +0000
@@ -9788,6 +9788,7 @@ create_tmp_table(THD *thd,TMP_TABLE_PARA
table->in_use= thd;
table->quick_keys.init();
table->covering_keys.init();
+ table->merge_keys.init();
table->keys_in_use_for_query.init();
table->s= share;
=== modified file 'sql/table.cc'
--- a/sql/table.cc 2009-01-05 16:10:20 +0000
+++ b/sql/table.cc 2009-03-11 18:09:56 +0000
@@ -1652,6 +1652,7 @@ int open_table_from_share(THD *thd, TABL
goto err;
outparam->quick_keys.init();
outparam->covering_keys.init();
+ outparam->merge_keys.init();
outparam->keys_in_use_for_query.init();
/* Allocate handler */
Attachment: [text/bzr-bundle] bzr/azundris@mysql.com-20090311180956-1o4yknlu9qyq7ttk.bundle
| Thread |
|---|
| • bzr commit into mysql-5.1-bugteam branch (azundris:2813) Bug#36751 | Tatiana A. Nurnberg | 11 Mar |