1. 06 Oct, 2008 3 commits
    • Alexey Botchkov's avatar
      keep compiler happy · 449fe80f
      Alexey Botchkov authored
      449fe80f
    • Alexey Botchkov's avatar
      Bug#38005 Partitions: error with insert select. · afbb52c4
      Alexey Botchkov authored
      MyISAM blocks index usage for bulk insert into zero-records tables.
      See ha_myisam::start_bulk_insert() lines from
      ...
          if (file->state->records == 0 ...
      ...
      
      That causes problems for partition engine when some partitions have records some not
      as the engine uses same access method for all partitions.
      
      Now partition engine doesn't call index_first/index_last
      for empty tables.
      
      per-file comments:
        mysql-test/r/partition.result
              Bug#38005 Partitions: error with insert select.
              test result
      
        mysql-test/t/partition.test
              Bug#38005 Partitions: error with insert select.
              test case
      
        sql/ha_partition.cc
              Bug#38005 Partitions: error with insert select.
              ha_engine::index_first and
              ha_engine::index_last not called for empty tables.
      afbb52c4
    • Alexey Botchkov's avatar
  2. 03 Oct, 2008 8 commits
  3. 02 Oct, 2008 6 commits
    • Mats Kindahl's avatar
      Bug #38360: BLACKHOLE replication with RBR is broken · 690fd28a
      Mats Kindahl authored
      Incremental patch to add comments to test cases.
      690fd28a
    • Georgi Kodinov's avatar
      Bug #37348: Crash in or immediately after JOIN::make_sum_func_list · a18639b6
      Georgi Kodinov authored
            
      The optimizer pulls up aggregate functions which should be aggregated in
      an outer select. At some point it may substitute such a function for a field
      in the temporary table. The setup_copy_fields function doesn't take this
      into account and may overrun the copy_field buffer.
            
      Fixed by filtering out the fields referenced through the specialized
      reference for aggregates (Item_aggregate_ref).
      Added an assertion to make sure bugs that cause similar discrepancy 
      don't go undetected.
      
      mysql-test/r/func_group.result:
        Bug #37348: test case
      mysql-test/t/func_group.test:
        Bug #37348: test case
      sql/item.cc:
        Bug #37348: Added a way to distinguish Item_aggregate_ref from the other types of refs
      sql/item.h:
        Bug #37348: Added a way to distinguish Item_aggregate_ref from the other types of refs
      sql/sql_select.cc:
        Bug #37348: 
         - Don't consider copying field references
            seen through Item_aggregate_ref
         - check for discrepancies between the number of expected 
           fields that need copying and the actual fields copied.
      a18639b6
    • Mats Kindahl's avatar
      Bug #38360: BLACKHOLE replication with RBR is broken · 8d9cf89e
      Mats Kindahl authored
      The Blackhole engine did not support row-based replication
      since the delete_row(), update_row(), and the index and range
      searching functions were not implemented.
      
      This patch adds row-based replication support for the
      Blackhole engine by implementing the two functions mentioned
      above, and making the engine pretend that it has found the
      correct row to delete or update when executed from the slave
      SQL thread by implementing index and range searching functions.
      
      It is necessary to only pretend this for the SQL thread, since
      a SELECT executed on the Blackhole engine will otherwise never
      return EOF, causing a livelock.
      
      
      mysql-test/extra/binlog_tests/blackhole.test:
        Blackhole now handles row-based replication.
      mysql-test/extra/rpl_tests/rpl_blackhole.test:
        Test helper file for testing that blackhole actually
        writes something to the binary log on the slave.
      mysql-test/suite/binlog/t/binlog_multi_engine.test:
        Replication now handles row-based replcation.
      mysql-test/suite/rpl/t/rpl_blackhole.test:
        Test that Blackhole works with primary key, index, or none.
      sql/log_event.cc:
        Correcting code to only touch filler bits and leave
        all other bits alone. It is necessary since there is
        no guarantee that the engine will be able to fill in
        the bits correctly (e.g., the blackhole engine).
      storage/blackhole/ha_blackhole.cc:
        Adding definitions for update_row() and delete_row() to return OK
        when executed from the slave SQL thread with thd->query == NULL
        (indicating that row-based replication events are being processed).
        
        Changing rnd_next(), index_read(), index_read_idx(), and
        index_read_last() to return OK when executed from the slave SQL
        thread (faking that the row has been found so that processing
        proceeds to update/delete the row).
      storage/blackhole/ha_blackhole.h:
        Enabling row capabilities for engine.
        Defining write_row(), update_row(), and delete_row().
        Making write_row() private (as it should be).
      8d9cf89e
    • Andrei Elkin's avatar
      45a78d00
    • Andrei Elkin's avatar
      Bug #36968 rpl_temporary_errors.test produces warning in pushbuild · 64accb36
      Andrei Elkin authored
      backporting a part of the bug patch to 5.1.29 tree which uses an older version of mtr.
      
      mysql-test/lib/mtr_report.pl:
        refining a suppression rule.
      64accb36
    • Ramil Kalimullin's avatar
      Merge · 6037e8ec
      Ramil Kalimullin authored
      6037e8ec
  4. 01 Oct, 2008 16 commits
  5. 30 Sep, 2008 7 commits