1. 21 Dec, 2010 1 commit
    • Marko Mäkelä's avatar
      Bug#58912 InnoDB unnecessarily avoids update-in-place on column prefix indexes · 2317da0d
      Marko Mäkelä authored
      row_upd_changes_ord_field_binary(): Do not return TRUE if the update
      vector changes a column that is covered by a prefix index, but does
      not change the column prefix. Add the row_ext_t parameter for
      determining whether the prefixes of externally stored columns match.
      
      dfield_datas_are_binary_equal(): Add the parameter len, for comparing
      column prefixes when len > 0.
      
      innodb.test: Add a test case where the patch of Bug #55284 failed
      without this fix.
      
      rb:537 approved by Jimmy Yang
      2317da0d
  2. 14 Dec, 2010 1 commit
  3. 12 Dec, 2010 1 commit
  4. 09 Dec, 2010 1 commit
  5. 07 Dec, 2010 1 commit
  6. 10 Dec, 2010 1 commit
    • Dmitry Shulga's avatar
      Fixed bug#54486 - assert in my_seek, concurrent · dfb62272
      Dmitry Shulga authored
      DROP/CREATE SCHEMA, CREATE TABLE, REPAIR.
      
      The cause of assert was concurrent execution of
      DROP DATABASE and REPAIR TABLE where first statement
      deleted table's file .TMD at the same time as
      REPAIR TABLE tried to read file details from the old file
      that was just removed.
      
      Additionally was fixed trouble when DROP TABLE try delete
      all files belong to table being dropped at the same time
      when REPAIR TABLE statement has just deleted .TMD file.
      
      No regression test added because this would require adding a
      sync point to mysys/my_redel.c. Since this bug is not present in
      5.5+, adding test coverage was considered unnecessary.
      The patch has been verified using RQG testing.
      dfb62272
  7. 09 Dec, 2010 5 commits
  8. 07 Dec, 2010 1 commit
    • Luis Soares's avatar
      BUG#58416 · a9d18aaf
      Luis Soares authored
      Automerging bzr bundle from bug report into latest 
      mysql-5.1-bugteam.
      a9d18aaf
  9. 05 Dec, 2010 1 commit
  10. 02 Dec, 2010 3 commits
  11. 01 Dec, 2010 5 commits
  12. 30 Nov, 2010 2 commits
    • Davi Arnaut's avatar
      Workaround a GCC warning about a pointer being cast to a larger · 2419cec9
      Davi Arnaut authored
      integral type. Use intptr which is designed to hold pointer values
      and pass it to off_t.
      2419cec9
    • kevin.lewis@oracle.com's avatar
      RB://518 approved by Jimmy Yang and Sunny bains · 03d1576b
      kevin.lewis@oracle.com authored
          
      Code cleanup after changes for Bug 56628.  The general approach for 
      InnoDB is to make a reference to each enum value whenever it is used in a
      switch statement.  In addition, no default case should be used for switch 
      statements on enum types.  This assures that if there is ever any change 
      in the enum values, the switch will need to change to reflect it since a 
      compiler warning will occur.  In this case, the enum row_type is declared 
      in handler.h and could be changed for another storage engine.  If so, a 
      warning will occur in the InnoDB build.  
      
      Other changes;
      * This patch uses 2 macros to help consolidate warning messages that
         need to occur twice in the single switch for row_format.
      * Using row_format as the variable name to distinguish it from the enum
        type.
      * Function declaration format correction.
      03d1576b
  13. 29 Nov, 2010 1 commit
  14. 28 Nov, 2010 1 commit
    • 's avatar
      BUG#54903 BINLOG statement toggles session variables · abb201c1
      authored
      When using BINLOG statement to execute rows log events, session variables
      foreign_key_checks and unique_checks are changed temporarily.  As each rows
      log event has their own special session environment and its own
      foreign_key_checks and unique_checks can be different from current session
      which executing the BINLOG statement. But these variables are not restored
      correctly after BINLOG statement. This problem will cause that the following
      statements fail or generate unexpected data.
      
      In this patch, code is added to backup and restore these two variables.
      So BINLOG statement will not affect current session's variables again.
      abb201c1
  15. 27 Nov, 2010 2 commits
    • Luis Soares's avatar
      BUG#58416: binlog.binlog_row_failure_mixing_engines fails on · 13c9cf26
      Luis Soares authored
      win x86 debug_max
      
      The windows MTR run exhibited a different test execution 
      ordering (due to the fact that in these platforms MTR is invoked
      with --parallel > 1). This uncovered a bug in the aforementioned
      test case, which is triggered by the following conditions:
      
        1. server is not restarted between two different tests;
        2. the test before binlog.binlog_row_failure_mixing_engines
           issues flush logs;
        3. binlog.binlog_row_failure_mixing_engines uses binlog
           positions to limit the output of show_binlog_events;
        4. binlog.binlog_row_failure_mixing_engines does not state which
           binlog file to use, thence it uses a wrong binlog file with
           the correct position.
      
      There are two possible fixes: 1. make sure that the test start 
      from a clean slate - binlog wise; 2. in addition to the position, 
      also state the binary log file before sourcing 
      show_binlog_events.inc .
      
      We go for fix #1, ie, deploy a RESET MASTER before the test is 
      actually started.
      13c9cf26
    • Bjorn Munch's avatar
      merge from 5.1-mtr · 86a4cf11
      Bjorn Munch authored
      86a4cf11
  16. 26 Nov, 2010 1 commit
    • Davi Arnaut's avatar
      Bug#51817: incorrect assumption: thd->query at 0x2ab2a8360360 is an invalid pointer · 0008e064
      Davi Arnaut authored
      The problem is that the logic which checks if a pointer is
      valid relies on a poor heuristic based on the start and end
      addresses of the data segment and heap.
      
      Apart from miscalculating the heap bounds, this approach also
      suffers from the fact that memory can come from places other
      than the heap. See Bug#58528 for a more detailed explanation.
      
      On Linux, the solution is to access the process's memory
      through /proc/self/task/<tid>/mem, which allows for retrieving
      the contents of pages within the virtual address space of
      the calling process. If a address range is not mapped, a
      input/output error is returned.
      0008e064
  17. 30 Nov, 2010 7 commits
  18. 29 Nov, 2010 3 commits
  19. 26 Nov, 2010 2 commits
    • Georgi Kodinov's avatar
      merge · 534ba9c9
      Georgi Kodinov authored
      534ba9c9
    • Alexander Barkov's avatar
      Bug#56639 Character Euro (0x88) not converted from cp1251 to utf8 · bd3a5831
      Alexander Barkov authored
      Problem: MySQL cp1251 did not support 'U+20AC EURO SIGN'
      which was assigned a few years ago to 0x88.
      
      Fix: adding mapping: 0x88 <-> U+20AC 
      
        @ mysql-test/include/ctype_8bit.inc
        New shared file to test 8bit character sets.
      
        @ mysql-test/r/ctype_cp1251.result
        @ mysql-test/t/ctype_cp1251.test
        Adding tests
      
        @ sql/share/charsets/cp1251.xml
        Adding mapping
      
        @ strings/ctype-extra.c
        Regenerating ctype-extra.c using strings/conf_to_src
        according to new cp1251.xml
      bd3a5831