List:Commits« Previous MessageNext Message »
From:marko.makela Date:August 26 2011 7:35pm
Subject:bzr push into mysql-trunk branch (marko.makela:3406 to 3407)
View as plain text  
 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.makela29 Aug