1. 30 Aug, 2010 1 commit
    • 's avatar
      Bug #54579 Wrong unsafe warning for INSERT DELAYED in SBR · 0688c086
      authored
            
      The lock_type is upgrade to TL_WRITE from TL_WRITE_DELAYED for
      INSERT DELAYED when inserting multi values in one statement.
      It's safe. But it causes an unsafe warning in SBR.
            
      Make INSERT DELAYED safe by logging it as INSERT without DELAYED.
      0688c086
  2. 28 Aug, 2010 1 commit
  3. 27 Aug, 2010 3 commits
  4. 26 Aug, 2010 6 commits
  5. 25 Aug, 2010 9 commits
  6. 24 Aug, 2010 4 commits
  7. 23 Aug, 2010 7 commits
    • Alfranio Correia's avatar
      Post-fix push for BUG#53452. · 037958bf
      Alfranio Correia authored
      037958bf
    • Evgeny Potemkin's avatar
      Bug#56120: Failed assertion on MIX/MAX on negative time value · 137ede4a
      Evgeny Potemkin authored
      The Item_cache_datetime::val_str function wasn't taking into account that time
      could be negative. This led to failed assertion.
      Now Item_cache_datetime::val_str correctly converts negative time values
      from integer to string representation.
      137ede4a
    • Jon Olav Hauglid's avatar
      Bug #54332 Deadlock with two connections doing LOCK TABLE+INSERT DELAYED · d2210981
      Jon Olav Hauglid authored
      The problem was that deadlocks involving INSERT DELAYED were not detected.
      
      The reason for this is that two threads are involved in INSERT DELAYED:
      the connection thread and the handler thread. The connection thread would
      wait while the handler thread acquired locks and opened the table.
      In essence, this adds an edge to the wait-for-graph between the 
      connection thread and the handler thread that the deadlock detector is
      unaware of. Therefore many deadlocks involving INSERT DELAYED were not 
      detected.
      
      This patch fixes the problem by having the connection thread acquire the
      metadata lock the table before starting the handler thread. This allows the
      deadlock detector to detect any possible deadlocks resulting from trying to
      acquire a metadata lock the table. If a metadata lock is successfully acquired,
      the handler thread is started and given a copy of the ticket representing the
      metadata lock. When the handler thread then tries to lock and open the table,
      it will find that it already has the metadata lock and therefore not acquire
      any new metadata locks.
      
      Test cases added to delayed.test.
      d2210981
    • Christopher Powers's avatar
      merge · 6e7687dd
      Christopher Powers authored
      6e7687dd
    • Alexander Barkov's avatar
      Bug#52121 partition by key on utf32 enum field cause debug assertion: (length % 4) == 0 · 622250cb
      Alexander Barkov authored
            
      Problem: ENUM columns are sorted and distributed according to their
      numeric value, but Field::hash() incorrectly passed string character set
      (utf32) in combination with numeric value to the hash function,
      which made assertion fail.
      
      Fix: pass "binary" character set in combination with numeric value
      to the hash function.
      
        mysql-test/suite/parts/r/part_ctype_utf32.result
        Adding tests
      
        mysql-test/suite/parts/t/part_ctype_utf32.test
        Adding test
      
        sql/field.cc
        Pass correct character set pointer to the hash function.
      622250cb
    • Sergey Vojtovich's avatar
      db48aac6
    • Alexey Botchkov's avatar
      mysqlhotcopy tests fixed. · 46fe17c5
      Alexey Botchkov authored
      The include/mysqlhotcopy.inc had an error in the 'if' condition, so it failed
      if the mysqlhotcopy tool was found.
      
      per-file comments:
        mysql-test/include/mysqlhotcopy.inc
              test should proceed exactly if the mysqlhotcopy was set.
        mysql-test/mysql-test-run.pl
              don't set the MYSQL_HOTCOPY variable if no mysqlhotcopy was found.
      46fe17c5
  8. 24 Aug, 2010 1 commit
  9. 23 Aug, 2010 2 commits
  10. 20 Aug, 2010 3 commits
    • Mattias Jonsson's avatar
      Bug#54747: Deadlock between REORGANIZE PARTITION and SELECT is not detected · 0c2b883d
      Mattias Jonsson authored
      The ALTER PARTITION and SELECT seemed to be deadlocked
      when having innodb_thread_concurrency = 1.
      
      Problem was that there was unreleased latches
      in the ALTER PARTITION thread which was needed
      by the SELECT thread to be able to continue.
      
      Solution was to release the latches by commit 
      before requesting upgrade to exclusive MDL lock.
      
      Updated according to reviewers comments (3).
      0c2b883d
    • Christopher Powers's avatar
      merge · a32b74cf
      Christopher Powers authored
      a32b74cf
    • Sergey Vojtovich's avatar
      BUG#54989 - With null_audit installed, server hangs on an · b8aceb70
      Sergey Vojtovich authored
                  attempt to install a plugin twice
      
      Server crashes when [UN]INSTALL PLUGIN fails (returns an
      error) and general log is disabled and there are audit
      plugins interested in MYSQL_AUDIT_GENERAL_CLASS. 
      
      When audit event is triggered, audit subsystem acquires interested
      plugins by walking through plugin list. Evidently plugin list
      iterator protects plugin list by acquiring LOCK_plugin, see
      plugin_foreach_with_mask().
      
      On the other hand [UN]INSTALL PLUGIN is acquiring LOCK_plugin
      rather for a long time.
      
      When audit event is triggered during [UN]INSTALL PLUGIN, plugin
      list iterator acquires the same lock (within the same thread)
      second time.
      
      Repeatable only with general_log disabled, because general_log
      triggers MYSQL_AUDIT_GENERAL_LOG event, which acquires audit
      plugins before [UN]INSTALL PLUGIN acquired LOCK_plugin.
      
      With this fix we pre-acquire audit plugins for events that
      may potentially occur during [UN]INSTALL PLUGIN.
      
      This hack should be removed when LOCK_plugin is fixed so it
      protects only what it supposed to protect.
      
      No test case for this fix - we do not have facility to test
      audit plugins yet.
      b8aceb70
  11. 19 Aug, 2010 3 commits