1. 21 Oct, 2011 4 commits
  2. 20 Oct, 2011 1 commit
    • Sergey Vojtovich's avatar
      BUG#11757032 - 49030: OPTIMIZE TABLE BREAKS MYISAM TABLE WHEN · 2c1bcb80
      Sergey Vojtovich authored
                     USING MYISAM_USE_MMAP ON WINDOWS
      
      When OPTIMIZE/REPAIR TABLE is switching to new data file,
      old data file is removed while memory mapping is still
      active.
      
      With 5.1 implementation of nt_share_delete() it is not
      permitted to remove mmaped file.
      
      This fix disables memory mapping for mi_repair() operations.
      
      mysql-test/r/myisam.result:
        A test case for BUG#11757032.
      mysql-test/t/myisam.test:
        A test case for BUG#11757032.
      storage/myisam/ha_myisam.cc:
        mi_repair*() functions family use file I/O even if memory
        mapping is available.
        
        Since mixing mmap I/O and file I/O may cause various artifacts,
        memory mapping must be disabled.
      storage/myisam/mi_delete_all.c:
        Clean-up: do not attempt to remap file after truncate, since
        there is nothing to map.
      2c1bcb80
  3. 19 Oct, 2011 4 commits
  4. 18 Oct, 2011 2 commits
  5. 17 Oct, 2011 2 commits
    • unknown's avatar
      BUG#12968567: mysql_plugin : incorrect return from bootstrap failure · c95343aa
      unknown authored
      This patch corrects a defect whereby the bootstrap_server() method was
      returning 0 instead of the error code generated. The code has been changed to
      return the correct value returned from the bootstrap command.
      c95343aa
    • unknown's avatar
      BUG#12968815: mysql_plugin : disable requires plugin name but doesn't use it · fa385b1d
      unknown authored
      This patch corrects a defect in the building of the DELETE commands for
      disabling a plugin whereby only the original plugin data was deleted. If there
      were other plugins, the delete did not remove the rows. The code has been
      changed to remove all rows from the mysql.plugin table that were inserted when
      the plugin was loaded. The test has also been changed to correctly identify if
      all rows have been deleted.
      fa385b1d
  6. 14 Oct, 2011 1 commit
  7. 13 Oct, 2011 2 commits
  8. 12 Oct, 2011 6 commits
    • Sergey Glukhov's avatar
      automerge · 9d6c38dc
      Sergey Glukhov authored
      9d6c38dc
    • Sergey Glukhov's avatar
      Bug#11750518 41090: ORDER BY TRUNCATES GROUP_CONCAT RESULT · 6820dbc5
      Sergey Glukhov authored
      When temporary tables is used for result sorting
      result field for gconcat function is created using
      group_concat_max_len size. It leads to result truncation
      when character_set_results is multi-byte character set due
      to insufficient tmp table field size.
      The fix is to increase temporary table field size for
      gconcat. Method make_string_field() is overloaded
      for Item_func_group_concat class and uses
      max_characters * collation.collation->mbmaxlen size for
      result field. max_characters is maximum number of characters
      what can fit into max_length size.
      
      
      mysql-test/r/ctype_utf16.result:
        test result
      mysql-test/r/ctype_utf32.result:
        test result
      mysql-test/r/ctype_utf8.result:
        test result
      mysql-test/t/ctype_utf16.test:
        test case
      mysql-test/t/ctype_utf32.test:
        test case
      mysql-test/t/ctype_utf8.test:
        test case
      sql/item.h:
        make Item::make_string_field() virtual
      sql/item_sum.cc:
        added Item_func_group_concat::make_string_field(TABLE *table) method
        which uses max_characters * collation.collation->mbmaxlen size for
        result item. max_characters is maximum number of characters what can
        fit into max_length size.
      sql/item_sum.h:
        added Item_func_group_concat::make_string_field(TABLE *table) method
      6820dbc5
    • Marko Mäkelä's avatar
      Merge mysql-5.1 to mysql-5.5. · 81b8c302
      Marko Mäkelä authored
      81b8c302
    • Marko Mäkelä's avatar
      Bug#13006367 62487: innodb takes 3 minutes to clean up the adaptive · 6d47a353
      Marko Mäkelä authored
      hash index at shutdown
      
      btr_search_disable(): Just drop the entire adaptive hash index,
      without dropping every record separately.
      
      buf_pool_clear_hash_index(): Renamed and simplified from
      buf_pool_drop_hash_index(). Set block->index = NULL for every block in
      the buffer pool. Do not release the btr_search_latch. The caller will
      have to adjust other data structures.
      
      Remove block->is_hashed. It is redundant, should be always equal to
      block->index != NULL.
      
      Remove btr_search_fully_disabled, btr_search_enabled_mutex, and
      SYNC_SEARCH_SYS_CONF. We drop the AHI in one pass, without releasing
      the btr_search_latch in between.
      
      Replace void* with const rec_t* and add assertions on btr_search_latch
      and btr_search_enabled to ha0ha.h, ha0ha.ic, ha0ha.c.
      
      page_set_max_trx_id(): Ignore the adaptive hash index. I forgot to
      push this in rb:750.
      
      btr0sea.c: Always after acquiring btr_search_latch, check for
      block->index==NULL or !btr_search_enabled. We can now set
      block->index=NULL while only holding btr_search_latch in exclusive
      mode. Always acquire btr_search_latch before reading block->index,
      except in shortcuts when testing for block->index == NULL.
      
      ha_clear(), ha_search(): Unused function, remove.
      
      buf_page_peek_if_search_hashed(): Remove. This function may avoid
      latching a page at the cost of doing a duplicate buf_pool->page_hash
      lookup.
      
      rb:775 approved by Inaam Rana
      6d47a353
    • Vinay Fisrekar's avatar
      merge 5.1 -> 5.5 · b8c2349c
      Vinay Fisrekar authored
      adjust/modify tests as they were failing if system time zone is set differently.
      b8c2349c
    • Vinay Fisrekar's avatar
      bug#11766457 - adjusting/modifying the the tests as tests were failing if... · da604543
      Vinay Fisrekar authored
      bug#11766457 - adjusting/modifying the the tests as tests were failing if system time zone is set differently.
      da604543
  9. 10 Oct, 2011 1 commit
  10. 06 Oct, 2011 1 commit
    • Magne Mahre's avatar
      Bug#12912112 MYSQL_CLIENT_TEST FAILS ON TEST_TRUNCATION · 3604b340
      Magne Mahre authored
             
      Sun Studio 12 has an error when calculating the compile-time 
      length of a constant character string.  The error is only 
      present when building an optimized 32-bits version, using 
      the -xbuiltin=(%all) compiler flag. 
             
      During compilation, the compiler recognizes the use of 
      the strlen() function used on a constant string. It 
      optimizes the strlen and replaces it with the actual 
      length of the string.   This optimization seems to 
      calculate the length wrongly in this particular case. 
             
      Replacing the "const char *" with a "const char []" 
      solves the problem. 
      3604b340
  11. 05 Oct, 2011 12 commits
    • Bjorn Munch's avatar
      null upmerge · cda5bf6e
      Bjorn Munch authored
      cda5bf6e
    • Bjorn Munch's avatar
      merge 5.5-mtr => 5.5 · a6859a4f
      Bjorn Munch authored
      a6859a4f
    • Bjorn Munch's avatar
      merge 5.1-mtr => 5.1 · 41200717
      Bjorn Munch authored
      41200717
    • Bjorn Munch's avatar
      Silly mistake in gdb output: replaced print with resfile_print, · f2cc0c0e
      Bjorn Munch authored
      but the latter only takes one argument, duh!
      Fixed by concatenating the args (replace , with .)
      f2cc0c0e
    • Bjorn Munch's avatar
      Bug #12844282 62075: MTR TESTS SHOULD NOT HAVE TO SAVE & RESET INNODB_FILE_FORMAT_CHECK · d9e42de5
      Bjorn Munch authored
        This is a redo for 5.5
        Added 'innodb_file_format_max' as variable to ignore change to.
        Tests that had to restore this amended
        Two tests assumed it to be Antelope, make sure these run on a freshly
          started server
      d9e42de5
    • Sergey Glukhov's avatar
      automerge · 9574fc31
      Sergey Glukhov authored
      9574fc31
    • Sergey Glukhov's avatar
      automerge · 56e00d63
      Sergey Glukhov authored
      56e00d63
    • Sergey Glukhov's avatar
      automerge · a9f38855
      Sergey Glukhov authored
      a9f38855
    • Sergey Glukhov's avatar
      5.1 -> 5.5 merge · 3dbd55f5
      Sergey Glukhov authored
      3dbd55f5
    • Sergey Glukhov's avatar
      Bug#11747970 34660: CRASH WHEN FEDERATED TABLE LOSES CONNECTION DURING INSERT ... SELECT · 06b86f15
      Sergey Glukhov authored
      Problematic query:
      insert ignore into `t1_federated` (`c1`) select `c1` from  `t1_local` a
      where not exists (select 1 from `t1_federated` b where a.c1 = b.c1);
      When this query is killed in another connection it could lead to crash.
      The problem is follwing:
      An attempt to obtain table statistics for subselect table in killed query
      fails with an error. So JOIN::optimize() for subquery is failed but
      it does not prevent further subquery evaluation.
      At the first subquery execution JOIN::optimize() is called
      (see subselect_single_select_engine::exec()) and fails with
      an error. 'executed' flag is set to TRUE and it prevents
      further subquery evaluation. At the second call
      JOIN::optimize() does not happen as 'JOIN::optimized' is TRUE
      and in case of uncacheable subquery the 'executed' flag is set
      to FALSE before subquery evaluation. So we loose 'optimize stage'
      error indication (see subselect_single_select_engine::exec()).
      In other words 'executed' flag is used for two purposes, for
      error indication at JOIN::optimize() stage and for an
      indication of subquery execution. And it seems it's wrong
      as the flag could be reset.
      
      
      mysql-test/r/error_simulation.result:
        test case
      mysql-test/t/error_simulation.test:
        test case
      sql/item_subselect.cc:
        added new flag subselect_single_select_engine::optimize_error
        which is used for error detection which could happen at optimize
        stage.
      sql/item_subselect.h:
        added new flag subselect_single_select_engine::optimize_error
      sql/sql_select.cc:
        test case
      06b86f15
    • Marko Mäkelä's avatar
      Merge mysql-5.1 to mysql-5.5. · 643a61b9
      Marko Mäkelä authored
      643a61b9
    • Marko Mäkelä's avatar
      Add InnoDB UNIV_SYNC_DEBUG assertions to rw-lock code. · 4b66540e
      Marko Mäkelä authored
      rw_lock_x_lock_func(): Assert that the thread is not already holding
      the lock in a conflicting mode (RW_LOCK_SHARED).
      
      rw_lock_s_lock_func(): Assert that the thread is not already holding
      the lock in a conflicting mode (RW_LOCK_EX).
      4b66540e
  12. 04 Oct, 2011 4 commits