1. 07 Sep, 2011 4 commits
    • Chuck Bell's avatar
      Merge with main · f83839a4
      Chuck Bell authored
      f83839a4
    • Chuck Bell's avatar
      BUG#12929631 : Execute crashes with --verbose output (Windows) · b7478b96
      Chuck Bell authored
      This patch corrects an unsafe string concatenation in the Windows
      specific code for building the bootstrap command to enable or
      disable the plugin. 
      b7478b96
    • Georgi Kodinov's avatar
      Bug #12944747: MYSQL PROXY CAN'T DISTINGUISH WIN-AUTH DATA · 7822b78d
      Georgi Kodinov authored
      FROM OK PACKET
        
      There's no reliable way (without knowing the protocol variants that each
      plugin pair implements) to find out when does the authentication exchange
      end.
      The server is changed to send all the extra authentication packets that 
      server plugins need to send prefixed with the \x1 command.
      7822b78d
    • Mats Kindahl's avatar
      WL#5973: Support marking plugins as not possible · b5c334ef
      Mats Kindahl authored
               to install or uninstall dynamically
      
      This patch does the following:
      - Step the plugin interface version.
      - A flag field to the st_mysql_plugin structure that is
        used by plugins to provide basic information about the
        plugin.
      - Two new flags to mark that a plugin cannot be loaded
        or unloaded dynamically (from a running server) but
        has to be installed or uninstalled offline.
      - Two new error messages for reporting error when trying
        to install or uninstall a plugin marked as not instal-
        lable or not uninstallable.
      - Update all plugins to initialize the new flags field
        to 0 explicitly.
      
      This is a missing commit message for revision:
      
        mats.kindahl@oracle.com-20110815181211-4l94m162xs1mtrei
      b5c334ef
  2. 24 Aug, 2011 2 commits
  3. 19 Aug, 2011 1 commit
  4. 18 Aug, 2011 1 commit
  5. 15 Aug, 2011 6 commits
    • Mats Kindahl's avatar
      Merging into mysql-5.5.16-release. · cf5e5f83
      Mats Kindahl authored
      cf5e5f83
    • Alexander Nozdrin's avatar
      Cherry-picking patch for 12777649 from mysql-5.5 · cfb4a7c2
      Alexander Nozdrin authored
      to mysql-5.5.16-release.
      
      Original revision:
      # revision-id: georgi.kodinov@oracle.com-20110812135004-3z3yjy7krf374clu
      # parent: georgi.kodinov@oracle.com-20110812112536-dmh9i67tm8pqvz1a
      # committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
      # branch nick: B12777649-5.5
      # timestamp: Fri 2011-08-12 16:50:04 +0300
      # message:
      #   Bug #12777649: "OS THREAD ID" REMOVED 
      #   
      #   Pushed Calvin's patch.
      cfb4a7c2
    • Alexander Nozdrin's avatar
      Cherry-picking follow-up patch for WL 5710 · 4a660222
      Alexander Nozdrin authored
      from mysql-5.5 to mysql-5.5.16-release.
      
      Original revision:
      # revision-id: bjorn.munch@oracle.com-20110812104938-peswzao46f4lvm9p
      # parent: dmitry.lenev@oracle.com-20110811155849-feyt3h7tj48padiu
      # committer: Bjorn Munch <bjorn.munch@oracle.com>
      # branch nick: main-55
      # timestamp: Fri 2011-08-12 12:49:38 +0200
      # message:
      #   Small followup fix to WL 5710:
      #     Test mysql_plugin failed if version string ended in -mN
      4a660222
    • Alexander Nozdrin's avatar
      Cherry-picking a patch from Bug 12828477 from mysql-5.5 · 457cbab0
      Alexander Nozdrin authored
      to mysql-5.5.16-release.
      
      Original revision:
      # revision-id: dmitry.lenev@oracle.com-20110811155849-feyt3h7tj48padiu
      # parent: tatjana.nuernberg@oracle.com-20110811120945-c6x9a5d2du8s9oj2
      # committer: Dmitry Lenev <Dmitry.Lenev@oracle.com>
      # branch nick: mysql-5.5-12828477
      # timestamp: Thu 2011-08-11 19:58:49 +0400
      # message:
      #   Fix for bug #12828477 - "MDL SUBSYSTEM CREATES BIG OVERHEAD 
      #   FOR CERTAIN QUERIES TO INFORMATION_SCHEMA".
      #   
      #   The problem was that metadata locking subsystem introduced
      #   too much overhead for queries to I_S which were processed by
      #   opening only .FRM or .TRG files and had to scanned a lot of
      #   tables (e.g. SELECT COUNT(*) FROM I_S.TRIGGERS was affected). 
      #   The same effect was not observed for similar queries which 
      #   performed full-blown table open in order to fill I_S table.
      #   
      #   The problem stemmed from the fact that in case when I_S 
      #   implementation opened only .FRM or .TRG file for each table 
      #   processed it didn't release metadata lock it has acquired on 
      #   the table after finishing its processing. As result, list
      #   of acquired metadata locks were growing until the end of 
      #   statement. Since acquisition of each new lock required 
      #   search in the list of already acquired locks performance
      #   degraded.
      #   
      #   The same effect is not observed when I_S implementation
      #   performs full-blown table open for each table being
      #   processed, as in the latter cases metadata lock on the
      #   table is released right after table processing.
      #   
      #   This fix addressed the problem by ensuring that I_S 
      #   implementation releases metadata lock after processing
      #   the table in both cases of full-blown table open and in 
      #   case when only .FRM or .TRG file is read.
      457cbab0
    • Alexander Nozdrin's avatar
      Cherry-picking WL#5710 from mysql-5.5 to mysql-5.5.16-release. · 6e5bbf51
      Alexander Nozdrin authored
      Original revision id:
      # revno: 3489 [merge]
      # revision-id: tatjana.nuernberg@oracle.com-20110811120945-c6x9a5d2du8s9oj2
      # parent: tatjana.nuernberg@oracle.com-20110811112736-so8r813hs8dmf7nr
      # parent: chuck.bell@oracle.com-20110810183949-2s9uxcuoux2p668e
      # committer: Tatjana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
      # branch nick: 55-9
      # timestamp: Thu 2011-08-11 13:09:45 +0100
      # message:
      #   auto-merge
      
      This merge revision also has a patch for Bug 12664445, which has been also
      taken to 5.5.16.
      6e5bbf51
    • Daniel Fischer's avatar
  6. 12 Aug, 2011 2 commits
  7. 10 Aug, 2011 4 commits
  8. 09 Aug, 2011 3 commits
  9. 08 Aug, 2011 2 commits
  10. 05 Aug, 2011 1 commit
  11. 03 Aug, 2011 1 commit
    • Gleb Shchepa's avatar
      backport from mysql-trunk · 22c2d06d
      Gleb Shchepa authored
      BUG #11754979 - 46675: ON DUPLICATE KEY UPDATE AND UPDATECOUNT() POSSIBLY WRONG 
      
      The mysql_affected_rows() client call returns 3 instead of 2 on
      INSERT ... ON DUPLICATE KEY UPDATE query with a duplicated key value.
      
      The fix for the old bug #29692 was incomplete: unnecessary double
      increment of "touched" rows still happened.
      
      This bugfix removes:
      1) unneeded increment of "touched" rows and
      2) useless double resetting of auto-increment value.
      
      
      sql/sql_insert.cc:
        write_record() function:
        Unneeded increment of "touched" rows and useless double resetting
        of auto-increment value has been removed.
      tests/mysql_client_test.c:
        New test case.
      22c2d06d
  12. 02 Aug, 2011 2 commits
    • Sergey Glukhov's avatar
      5.1 -> 5.5 merge · 53fb954d
      Sergey Glukhov authored
      53fb954d
    • Sergey Glukhov's avatar
      Bug#11766594 59736: SELECT DISTINCT.. INCORRECT RESULT WITH DETERMINISTIC FUNCTION IN WHERE C · 3468b55a
      Sergey Glukhov authored
      There is an optimization of DISTINCT in JOIN::optimize()
      which depends on THD::used_tables value. Each SELECT statement
      inside SP resets used_tables value(see mysql_select()) and it
      leads to wrong result. The fix is to replace THD::used_tables
      with LEX::used_tables.
      
      
      mysql-test/r/sp.result:
        test case
      mysql-test/t/sp.test:
        test case
      sql/sql_base.cc:
        THD::used_tables is replaced with LEX::used_tables
      sql/sql_class.cc:
        THD::used_tables is replaced with LEX::used_tables
      sql/sql_class.h:
        THD::used_tables is replaced with LEX::used_tables
      sql/sql_insert.cc:
        THD::used_tables is replaced with LEX::used_tables
      sql/sql_lex.cc:
        THD::used_tables is replaced with LEX::used_tables
      sql/sql_lex.h:
        THD::used_tables is replaced with LEX::used_tables
      sql/sql_prepare.cc:
        THD::used_tables is replaced with LEX::used_tables
      sql/sql_select.cc:
        THD::used_tables is replaced with LEX::used_tables
      3468b55a
  13. 28 Jul, 2011 1 commit
  14. 27 Jul, 2011 5 commits
  15. 24 Jul, 2011 1 commit
    • Alfranio Correia's avatar
      Post-push fix for BUG#11809016. · 111570df
      Alfranio Correia authored
      In 5.5, REFRESH SLAVE is used as an alias for RESET SLAVE and
      was removed in 5.6. Reseting a slave through REFRESH SLAVE was
      causing errors in the valgrind platform since reset_slave_info
      was undefined.
      
      To fix the problem, we have set reset_slave_info while calling
      REFRESH SLAVE.
      111570df
  16. 22 Jul, 2011 4 commits
    • Georgi Kodinov's avatar
      Bug #12319710: INVALID MEMORY READ AND/OR CRASH IN MY_UCA_CHARCMP · 50af230e
      Georgi Kodinov authored
      WITH UTF32
      
      The 5.5 version of the UTF32 collation was not enforcing the BMP range that 
      it currently supports when comparing with LIKE. 
      Fixed by backporting the checks for the BMP from trunk.
      Added a named constant for the maximum character that can have a weight
      in the weight table.
      50af230e
    • Dmitry Lenev's avatar
      Fix for bug #11754210 - "45777: CHECK TABLE DOESN'T · 0b5b1dd1
      Dmitry Lenev authored
      SHOW ALL PROBLEMS FOR MERGE TABLE COMPLIANCE IN 5.1".
      
      The problem was that CHECK/REPAIR TABLE for a MERGE table which
      had several children missing or in wrong engine reported only
      issue with the first such table in its result-set. While in 5.0
      this statement returned the whole list of problematic tables.
      
      Ability to report problems for all children was lost during
      significant refactorings of MERGE code which were done as part
      of work on 5.1 and 5.5 releases.
      
      This patch restores status quo ante refactorings by changing
      code in such a way that:
      1) Failure to open child table due to its absence during CHECK/
         REPAIR TABLE for a MERGE table is not reported immediately
         when its absence is discovered in open_tables(). Instead
         handling/error reporting in such a situation is postponed
         until the moment when children are attached.
      2) Code performing attaching of children no longer stops when
         it encounters first problem with one of the children during
         CHECK/REPAIR TABLE. Instead it continues iteration through
         the child list until all problems caused by child absence/
         wrong engine are reported.
      
      Note that even after this change problem with mismatch of
      child/parent definition won't be reported if there is also
      another child missing, but this is how it was in 5.0 as well.
      
      mysql-test/r/merge.result:
        Added test case for bug #11754210 - "45777: CHECK TABLE DOESN'T
        SHOW ALL PROBLEMS FOR MERGE TABLE COMPLIANCE IN 5.1".
        Adjusted results of existing tests to the fact that CHECK/REPAIR
        TABLE statements now try to report problems about missing table/
        wrong engine for all underlying tables, and to the fact that
        mismatch of parent/child definitions is always reported as an
        error and not a warning.
      mysql-test/t/merge.test:
        Added test case for bug #11754210 - "45777: CHECK TABLE DOESN'T
        SHOW ALL PROBLEMS FOR MERGE TABLE COMPLIANCE IN 5.1".
      sql/sql_base.cc:
        Changed code responsible for opening tables to ignore the fact
        that underlying tables of a MERGE table are missing, if this
        table is opened for CHECK/REPAIR TABLE.
        The absence of underlying tables in this case is now detected and
        appropriate error is reported at the point when child tables are
        attached. At this point we can produce full list of problematic
        child tables/errors to be returned as part of CHECK/REPAIR TABLE
        result-set.
      storage/myisammrg/ha_myisammrg.cc:
        Changed myisammrg_attach_children_callback() to handle new
        situation, when during CHECK/REPAIR TABLE we do not report 
        error about missing child immediately when this fact is 
        discovered during open_tables() but postpone error-reporting
        till the time when children are attached. 
        Also this callback is now responsible for pushing an error
        mentioning problematic child table to the list of errors to 
        be reported by CHECK/REPAIR TABLE statements.
        Finally, since now myrg_attach_children() no longer relies on
        return value from callback to determine the end of the children
        list, callback no longer needs to set my_errno value and can
        be simplified.
        
        Changed myrg_print_wrong_table() to always report a problem
        with child table as an error and not as a warning. This makes
        reporting for different types of issues with child tables
        more consistent and compatible with 5.0 behavior.
      storage/myisammrg/myrg_open.c:
        Changed code in myrg_attach_children() not to abort on the
        first problem with a child table when attaching children to
        parent MERGE table during CHECK/REPAIR TABLE statement 
        execution. This allows CHECK/REPAIR TABLE to report problems 
        about absence/wrong engine for all underlying tables as
        part of their result-set.
      0b5b1dd1
    • Georgi Kodinov's avatar
      4ba30341
    • Sunanda Menon's avatar
      bcb4a861