3407 Marko Mäkelä 2011-08-26 [merge]
Merge mysql-5.5 to mysql-trunk.
modified:
storage/innobase/sync/sync0sync.c
3406 Tor Didriksen 2011-08-26
Bug#12763207 - ASSERT IN SUBSELECT::SINGLE_VALUE_TRANSFORMER
Followup patch.
The previous patch assumed that Item_field::fix_fields would tag the
select_lex with non_agg_field_used.
Item_fields for subqueries of the form 'select * from view'
do not go through fix_fields, but are created directly by
Field_iterator_table::create_item, and added to the select->non_agg_fields list.
The select_lex was however not tagged with the boolean flag.
@ mysql-test/include/subquery.inc
New test case.
@ mysql-test/r/subquery_nomat_nosj.result
New test case.
@ mysql-test/r/subquery_nomat_nosj_bka.result
New test case.
@ mysql-test/r/subquery_nomat_nosj_bka_nobnl.result
New test case.
@ mysql-test/r/subquery_none.result
New test case.
@ mysql-test/r/subquery_none_bka.result
New test case.
@ mysql-test/r/subquery_none_bka_nobnl.result
New test case.
@ sql/table.cc
Same logic as Item_field::fix_fields:
if the item is pushed into select->non_agg_fields,
then also tag the select_lex with set_non_agg_field_used(true).
modified:
mysql-test/include/subquery.inc
mysql-test/r/subquery_nomat_nosj.result
mysql-test/r/subquery_nomat_nosj_bka.result
mysql-test/r/subquery_nomat_nosj_bka_nobnl.result
mysql-test/r/subquery_none.result
mysql-test/r/subquery_none_bka.result
mysql-test/r/subquery_none_bka_nobnl.result
sql/table.cc
=== modified file 'storage/innobase/sync/sync0sync.c'
--- a/storage/innobase/sync/sync0sync.c revid:tor.didriksen@stripped
+++ b/storage/innobase/sync/sync0sync.c revid:marko.makela@oracle.com-20110826192704-9z3o5qn54p8vi8sk
@@ -1345,7 +1345,13 @@ sync_thread_add_level(
TRUE));
break;
case SYNC_IBUF_TREE_NODE_NEW:
- ut_a(sync_thread_levels_contain(array, SYNC_IBUF_MUTEX));
+ /* ibuf_add_free_page() allocates new pages for the
+ change buffer while only holding the tablespace
+ x-latch. These pre-allocated new pages may only be
+ taken in use while holding ibuf_mutex, in
+ btr_page_alloc_for_ibuf(). */
+ ut_a(sync_thread_levels_contain(array, SYNC_IBUF_MUTEX)
+ || sync_thread_levels_contain(array, SYNC_FSP));
break;
case SYNC_IBUF_INDEX_TREE:
if (sync_thread_levels_contain(array, SYNC_FSP)) {
No bundle (reason: useless for push emails).| Thread |
|---|
| • bzr push into mysql-trunk branch (marko.makela:3406 to 3407) | marko.makela | 29 Aug |