1. 10 Apr, 2009 1 commit
    • Sergey Glukhov's avatar
      Bug#43385 Cannot ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME when Views exist · c4e6e28a
      Sergey Glukhov authored
      allow 'rename view' for ALTER ...UPGRADE DATA DIRECTORY NAME command.
      it's safe because a view has valid internal db&table names in this case.
      
      
      mysql-test/r/upgrade.result:
        test result
      mysql-test/t/upgrade.test:
        test case
      sql/sql_rename.cc:
        allow 'rename view' for ALTER ...UPGRADE DATA DIRECTORY NAME command.
        it's safe because a view has valid internal db&table names in this case.
      c4e6e28a
  2. 09 Apr, 2009 19 commits
    • Davi Arnaut's avatar
      Bug#43706: libmysqld segfaults when re-intialised · 92aeafda
      Davi Arnaut authored
      Bug#44091: libmysqld gets stuck waiting on mutex on initialization
      
      The problem was that libmysqld wasn't enforcing a certain
      initialization and deinitialization order for the mysys
      library. Another problem was that the global object used
      for management of log event handlers (aka LOGGER) wasn't
      being prepared for a possible reutilization.
      
      What leads to the hang/crash reported is that a failure
      to load the language file triggers a double call of the
      cleanup functions, causing an already destroyed mutex to
      be used.
      
      The solution is enforce a order on the initialization and
      deinitialization of the mysys library within the libmysqld
      library and to ensure that the global LOGGER object reset
      it's internal state during cleanup.
      
      mysys/my_init.c:
        Deinitialize only if initialized already.
      sql/log.cc:
        Reset state.
      92aeafda
    • Luis Soares's avatar
      manual merge: 5.0-bugteam --> 5.1-bugteam · 86b45d72
      Luis Soares authored
      Note: empty changeset.
      86b45d72
    • Luis Soares's avatar
      BUG#13684: SP: DROP PROCEDURE|FUNCTION IF EXISTS not binlogged if · d9c3f98b
      Luis Soares authored
      routine does not exist 
            
      There is an inconsistency with DROP DATABASE IF EXISTS, DROP TABLE IF
      EXISTS and DROP VIEW IF EXISTS: those are binlogged even if the DB or
      TABLE does not exist, whereas DROP PROCEDURE IF EXISTS does not. It
      would be nice or at least consistent if DROP PROCEDURE/STATEMENT
      worked the same too.
            
      Fixed DROP PROCEDURE|FUNCTION IF EXISTS by adding a call to
      mysql_bin_log.write in mysql_execute_command. Checked also if all 
      documented "DROP (...) IF EXISTS" get binlogged.
            
      NOTE: This is a 5.0 backport patch as requested by support.
      
      mysql-test/r/rpl_drop_if_exists.result:
        Result file for test case added.
      mysql-test/r/rpl_sp.result:
        Updated result file for existing test case that has now extra events in
        binary log (the ones from drop if exists procedure/function).
      mysql-test/t/rpl_drop_if_exists.test:
        Added test case for asserting validity of proposed patch.
      sql/sql_parse.cc:
        Added call mysql_bin_log.write when lex has drop_if_exists enabled for 
        stored procedures.
      d9c3f98b
    • Narayanan V's avatar
      merging with mysql-5.1-bugteam · aec0aba9
      Narayanan V authored
      aec0aba9
    • Sergey Glukhov's avatar
      null merge · 95cb4c05
      Sergey Glukhov authored
      95cb4c05
    • Sergey Glukhov's avatar
      null merge · a0fdd482
      Sergey Glukhov authored
      a0fdd482
    • Sergey Glukhov's avatar
      auotmerge · 70c6fa2d
      Sergey Glukhov authored
      70c6fa2d
    • Sergey Glukhov's avatar
      5.0-bugteam->5.1-bugteam merge · 4233e4d0
      Sergey Glukhov authored
      4233e4d0
    • He Zhenxing's avatar
      Null merge the fix only for 5.0-bugteam · 6d33e4b1
      He Zhenxing authored
      6d33e4b1
    • Sergey Glukhov's avatar
      Bug#43833 Simple INSERT crashes the server · dd603b18
      Sergey Glukhov authored
      The crash happens due to wrong 'digits' variable value(0),
      'digits' can not be 0, so the fix is use 1 as min allowed value.
      
      
      mysql-test/r/insert.result:
        test result
      mysql-test/t/insert.test:
        test case
      sql/field.cc:
        The crash happens due to wrong 'digits' variable value(0),
        'digits' can not be 0, so the fix is use 1 as min allowed value.
      dd603b18
    • He Zhenxing's avatar
      8d30839c
    • Narayanan V's avatar
      merging with mysql-5.1-bugteam tree · 557ec70a
      Narayanan V authored
      557ec70a
    • Narayanan V's avatar
      Bug#38848 myisam_use_mmap causes widespread myisam corruption on windows · 2e3a5ba9
      Narayanan V authored
                  
      Currently the memory map is being created
      with a size that is greater than the size 
      of the underlying datafile. This can cause
      varying behaviour,
      
      e.g. 
      
      In windows the size of the datafile
      is increased, while on linux it remains
      the same.
      
      This fix removes the increment margin to
      the size that is used while creating the
      memory map.
      
      storage/myisam/mi_dynrec.c:
        remove MEMMAP_EXTRA_MARGIN that is used as
        the increment margin to the underlying 
        datafile size while creating the mmap.
      storage/myisam/mi_packrec.c:
        The size of the underlying datafile is
        increased by MEMMAP_EXTRA_MARGIN when
        using a packed record format. Hence in 
        this case the size of the memory map should 
        be incremented by the same factor.
      2e3a5ba9
    • Anurag Shekhar's avatar
      merging with 5.0 bugteam tree · 9771a545
      Anurag Shekhar authored
      9771a545
    • Anurag Shekhar's avatar
      merging with 5.0-bugteam tree. · e9acb283
      Anurag Shekhar authored
      e9acb283
    • He Zhenxing's avatar
      Null merge from 5.0-bugteam · 05fb6d1b
      He Zhenxing authored
      05fb6d1b
    • He Zhenxing's avatar
    • He Zhenxing's avatar
      Auto merge · 1586176f
      He Zhenxing authored
      1586176f
    • He Zhenxing's avatar
      Post fix of BUG#37145 · 32ac2ade
      He Zhenxing authored
      Binlog the CREATE EVENT unless the created event been successfully dropped
      
      Modified Query_log_event constructor to make sure that error_code
      is not set to ER_SERVER_SHUTDOWN or ER_QUERY_INTERRUPTED errors
      when NOT_KILLED
      
      sql/events.cc:
        binlog the create event unless it's been successfully dropped
      sql/log_event.cc:
        Modified Query_log_event constructor to make sure that error_code
        is not set to ER_SERVER_SHUTDOWN or ER_QUERY_INTERRUPTED errors
        when NOT_KILLED
      32ac2ade
  3. 08 Apr, 2009 8 commits
  4. 07 Apr, 2009 5 commits
  5. 06 Apr, 2009 2 commits
  6. 05 Apr, 2009 1 commit
    • Alfranio Correia's avatar
      BUG#39393 slave-skip-errors does not work when using ROW based replication · fa51b569
      Alfranio Correia authored
                                    
      RBR was not considering the option --slave-skip-errors.
                                    
      To fix the problem, we are reporting the ignored ERROR(s) as warnings thus avoiding 
      stopping the SQL Thread. Besides, it fixes the output of "SHOW VARIABLES LIKE 
      'slave_skip_errors'" which was showing nothing when the value "all" was assigned 
      to --slave-skip-errors.
                        
      @sql/log_event.cc
        skipped rbr errors when the option skip-slave-errors is set.
      @sql/slave.cc
        fixed the output of for SHOW VARIABLES LIKE 'slave_skip_errors'"
      @test-cases
        fixed the output of rpl.rpl_idempotency
        updated the test case rpl_skip_error
      fa51b569
  7. 03 Apr, 2009 4 commits
    • Serge Kozlov's avatar
      Bug#37716. · 8ca05360
      Serge Kozlov authored
      1. Test case was rewritten completely.
      2. Test covers 3 cases:
       a) do deadlock on slave, wait retries of transaction, unlock slave before lock
      timeout;
       b) do deadlock on slave and wait error 'lock timeout exceed' on slave;
       c) same as b) but if of max relay log size = 0;
      3. Added comments inline.
      4. Updated result file.
      8ca05360
    • Davi Arnaut's avatar
      Merge Bug#43230 into mysql-5.1-bugteam · 726fdda4
      Davi Arnaut authored
      726fdda4
    • Davi Arnaut's avatar
      Bug#43230: SELECT ... FOR UPDATE can hang with FLUSH TABLES WITH READ LOCK indefinitely · 8b3567d2
      Davi Arnaut authored
      The problem is that a SELECT .. FOR UPDATE statement might open
      a table and later wait for a impeding global read lock without
      noticing whether it is holding a table that is being waited upon
      the the flush phase of the process that took the global read
      lock.
      
      The same problem also affected the following statements:
      
      LOCK TABLES .. WRITE
      UPDATE .. SET (update and multi-table update)
      TRUNCATE TABLE ..
      LOAD DATA ..
      
      The solution is to make the above statements wait for a impending
      global read lock before opening the tables. If there is no
      impending global read lock, the statement raises a temporary
      protection against global read locks and progresses smoothly
      towards completion.
      
      Important notice: the patch does not try to address all possible
      cases, only those which are common and can be fixed unintrusively
      enough for 5.0.
      
      mysql-test/r/lock_multi.result:
        Add test case result for Bug#43230
      mysql-test/t/lock_multi.test:
        Add test case for Bug#43230
      sql/sql_lex.cc:
        Initialize flag.
      sql/sql_lex.h:
        Add a flag to the lexer.
      sql/sql_parse.cc:
        Wait for the global read lock is a write lock is going to be
        taken. The wait is done before opening tables.
      sql/sql_yacc.yy:
        Protect against the GRL if its a SELECT .. FOR UPDATE or LOCK TABLES
        .. WRITE statement.
      8b3567d2
    • Guangbao Ni's avatar
      AutoMerged from pushbuild mysql-5.1-bugteam · 48bd2c48
      Guangbao Ni authored
      48bd2c48