1. 24 Oct, 2011 5 commits
  2. 23 Oct, 2011 1 commit
    • Dmitry Lenev's avatar
      Fix for bug #13116518 - "OPEN_TABLES() SHOULD NOT ALLOCATE AND FREE · a656ff83
      Dmitry Lenev authored
      NEW_FRM_MEM WITHOUT NEEDING TO".
      
      During the process of opening tables for a statement, we allocated
      memory which was used only during view loading even in cases when the
      statement didn't use any views. Such an unnecessary allocation (and
      corresponding freeing) might have caused significant performance
      overhead in some workloads. For example, it caused up to 15% slowdown
      in a simple stored routine calculating Fibonacci's numbers.
      
      This memory was pre-allocated as part of "new_frm_mem" MEM_ROOT
      initialization at the beginning of open_tables(). 
      
      This patch addresses this issue by turning off memory pre-allocation
      during initialization for this MEM_ROOT. Now, memory on this root
      will be allocated only at the point when the first .FRM for a view is 
      opened.
      
      The patch doesn't contain a test case since it is hard to test the
      performance improvements or the absence of memory allocation in our
      test framework.
      a656ff83
  3. 22 Oct, 2011 1 commit
  4. 21 Oct, 2011 7 commits
  5. 20 Oct, 2011 3 commits
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-5.1-security. · 442ec56c
      Alexander Nozdrin authored
      442ec56c
    • Alexander Nozdrin's avatar
    • Sergey Vojtovich's avatar
      BUG#11757032 - 49030: OPTIMIZE TABLE BREAKS MYISAM TABLE WHEN · de8c70e7
      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.
      de8c70e7
  6. 19 Oct, 2011 7 commits
  7. 18 Oct, 2011 2 commits
  8. 17 Oct, 2011 2 commits
    • unknown's avatar
      BUG#12968567: mysql_plugin : incorrect return from bootstrap failure · 3c869a52
      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.
      3c869a52
    • unknown's avatar
      BUG#12968815: mysql_plugin : disable requires plugin name but doesn't use it · d1846e3b
      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.
      d1846e3b
  9. 14 Oct, 2011 4 commits
  10. 13 Oct, 2011 2 commits
  11. 12 Oct, 2011 6 commits
    • Sergey Glukhov's avatar
      automerge · 8a2286ba
      Sergey Glukhov authored
      8a2286ba
    • Sergey Glukhov's avatar
      Bug#11750518 41090: ORDER BY TRUNCATES GROUP_CONCAT RESULT · bd4785a6
      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
      bd4785a6
    • Georgi Kodinov's avatar
    • Georgi Kodinov's avatar
      merge mysql-5.5->mysql-5.5-security · e8313e13
      Georgi Kodinov authored
      e8313e13
    • Georgi Kodinov's avatar
    • Georgi Kodinov's avatar
      auto-merge mysql-5.1->mysql-5.1-security · 494b581f
      Georgi Kodinov authored
      494b581f