1. 15 May, 2009 18 commits
    • Georgi Kodinov's avatar
      merge · 0028a521
      Georgi Kodinov authored
      0028a521
    • Georgi Kodinov's avatar
      backported a change from 5.1 · c6ee9304
      Georgi Kodinov authored
      c6ee9304
    • Georgi Kodinov's avatar
      merged · a6c66929
      Georgi Kodinov authored
      a6c66929
    • Georgi Kodinov's avatar
      fixed a win32 compile error · dd9be1cd
      Georgi Kodinov authored
      dd9be1cd
    • Georgi Kodinov's avatar
      merged 5.1-main -> 5.1-bugteam · bfde0d89
      Georgi Kodinov authored
      bfde0d89
    • Georgi Kodinov's avatar
      merged 5.0-main -> 5.1-main · 788c742b
      Georgi Kodinov authored
      788c742b
    • Philip Stoev's avatar
      Bug #32651 grant_cache.test fails · 5afb285e
      Philip Stoev authored
        It turns out that this test case no longer fails with the discrepancy
        in numbers that was the original cause for disabling this test (and showed
        potential genuine issues with the query cache). Therefore
        this test is being enabled after some minor adjustment of error codes and
        messages.
      5afb285e
    • Georgi Kodinov's avatar
      merged 5.0-main -> 5.0-bugteam · 0a57cd13
      Georgi Kodinov authored
      0a57cd13
    • Kristofer Pettersson's avatar
      Automerge · c1a44dc9
      Kristofer Pettersson authored
      c1a44dc9
    • Alexey Kopytov's avatar
      Automerge. · 229d6458
      Alexey Kopytov authored
      229d6458
    • Alexey Kopytov's avatar
      Automerge. · 188a1e48
      Alexey Kopytov authored
      188a1e48
    • Alexey Kopytov's avatar
      Automerge. · 5b1ba507
      Alexey Kopytov authored
      5b1ba507
    • Alexey Kopytov's avatar
      Automerge. · 5de9d968
      Alexey Kopytov authored
      5de9d968
    • Alexey Kopytov's avatar
      Bug #44792: valgrind warning when casting from time to time · 81f2782b
      Alexey Kopytov authored
       
      Field_time::get_time() did not initialize some members of 
      MYSQL_TIME which led to valgrind warnings when those members 
      were accessed in Protocol_simple::store_time(). 
       
      It is unlikely that this bug could result in wrong data 
      being returned, since Field_time::get_time() initializes the 
      'day' member of MYSQL_TIME to 0, so the value of 'day' 
      in Protocol_simple::store_time() would be 0 regardless 
      of the values for 'year' and 'month'.
      
      mysql-test/r/type_time.result:
        Added a test case for bug #44792.
      mysql-test/t/type_time.test:
        Added a test case for bug #44792.
      sql/field.cc:
        Field_time::get_time() did not initialize some members of 
        MYSQL_TIME which led to valgrind warnings when those members 
        were accessed in Protocol_simple::store_time().
      81f2782b
    • Joerg Bruehe's avatar
      Fix a bad merge: · b0a7a5f1
      Joerg Bruehe authored
      Remove a cast (which shouldn't have got here anyway)
      which might lose significant bits beyond 4 GB RAM.
      
      
      mysys/safemalloc.c:
        Vlad's comment to the cast:
          pointless cast from size_t to uint that loses
          significant bits, when safe_malloc allocates more than 4GB Ram.
          safemalloc is not used in release binaries,
          so it is not absolutely critical.
        
        It got into the sources by a wrong merge resolution.
      b0a7a5f1
    • Kristofer Pettersson's avatar
      Auto merge · d5927d43
      Kristofer Pettersson authored
      d5927d43
    • Sergey Glukhov's avatar
      5.0-bugteam->5.1-bugteam merge · 58538d75
      Sergey Glukhov authored
      58538d75
    • Sergey Glukhov's avatar
      Bug#43612 crash with explain extended, union, order by · e5a22cc2
      Sergey Glukhov authored
      In UNION if we use last SELECT without braces and this
      SELECT have ORDER BY clause, such clause belongs to
      global UNION. It is parsed like last SELECT
      part and used further as 'unit->global_parameters->order_list' value.
      During DESCRIBE EXTENDED we call select_lex->print_order() for
      last SELECT where order fields refer to tmp table 
      which already freed. It leads to crash.
      The fix is clean up global_parameters->order_list
      instead of fake_select_lex->order_list.
      
      
      mysql-test/r/union.result:
        test result
      mysql-test/t/union.test:
        test case
      sql/sql_union.cc:
        In UNION if we use last SELECT without braces and this
        SELECT have ORDER BY clause, such clause belongs to
        global UNION. It is parsed like last SELECT
        part and used further as 'unit->global_parameters->order_list' value.
        During DESCRIBE EXTENDED we call select_lex->print_order() for
        last SELECT where order fields refer to tmp table 
        which already freed. It leads to crash.
        The fix is clean up global_parameters->order_list
        instead of fake_select_lex->order_list.
      e5a22cc2
  2. 14 May, 2009 9 commits
    • Philip Stoev's avatar
      null merge. fix not applicable to 5.1 · 3b5429f2
      Philip Stoev authored
      3b5429f2
    • Philip Stoev's avatar
      Bugs #44871 and #43894: · fef1dbe8
      Philip Stoev authored
        UNIX sockets need to be on a path shorter than 70 characters on some older platofrms.
        MTRv1 tries to fix this by moving the socket to the $TMPDIR, however this causes
        issues with certain tests on Windows.
      
        Fixed by not applying any hacks on Windows - Windows does not need them.
      fef1dbe8
    • Kristofer Pettersson's avatar
      Bug#19027 MySQL 5.0 starts even with Fatal InnoDB errors · cdf1bd73
      Kristofer Pettersson authored
      It is not possible to prevent the server from starting if a mandatory
      built-in plugin fails to start. This can in some cases lead to data
      corruption when the old table name space suddenly is used by a different
      storage engine.
      
      A boolean command line option in the form of --foobar is automatically
      created for every existing plugin "foobar". By changing this command line
      option from a boolean to a tristate { OFF, ON, FORCE } it is possible to
      specify the plugin loading policy for each plugin.
      
      The behavior is specified as follows:
         OFF   = Disable the plugin and start the server
         ON    = Enable the plugin and start the server even if an error occurrs
                 during plugin initialization.
         FORCE = Enable the plugin but don't start the server if an error occurrs
                 during plugin initialization.
      
      
      mysql-test/lib/mtr_cases.pm:
        * Changed --<pluginname> from a boolean to a tristate.
      mysys/my_getopt.c:
        * Changed --<pluginname> from boolean to tristate. Optional arguments
          must still work for tristates. It is praxis that disable means value 0
          and enable is value 1. Since plugin name is the only tristate with
          optional arguments this principle will still hold.
      sql/sql_plugin.cc:
        * Changed --<pluginname> option from a boolean type to a tristate.
          - FORCE will now terminate the server if the plugin fails to
            initialize properly.
        * Refactored prototypes for test_plugin_options() and construct_options()
          to get rid of the 'enable' value pointer.
        * Cleaned up code related to option name constructing.
        * Added documentation
      sql/sql_plugin.h:
        * Introduced new member to st_plugin_int structure.
      cdf1bd73
    • Luis Soares's avatar
      f50886a0
    • Philip Stoev's avatar
      Bugs #44871 and #43894: · 724dc27b
      Philip Stoev authored
      UNIX sockets need to be on a path shorter than 70 characters on some older platofrms.
      MTRv1 tries to fix this by moving the socket to the $TMPDIR, however this causes
      issues with certain tests on Windows.
      
      Fixed by not applying any hacks on Windows - Windows does not need them.
      724dc27b
    • Narayanan V's avatar
      merging with mysql-5.1-bugteam · 1b2eae9c
      Narayanan V authored
      1b2eae9c
    • Jonathan Perkin's avatar
      c9e31435
    • Narayanan V's avatar
      Bug#44232 Error msg should be improved when collation not supported. · 9eafd8ea
      Narayanan V authored
      checking in a test case that will reproduce
      the error on v5r4.
      
      mysql-test/suite/ibmdb2i/include/have_i54.inc:
        Bug#44232 Error msg should be improved when collation not supported.
      mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44232.result:
        Bug#44232 Error msg should be improved when collation not supported.
      mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44232.test:
        Bug#44232 Error msg should be improved when collation not supported.
      9eafd8ea
    • Anurag Shekhar's avatar
      merging with fix for compiler warnings. · 4c226da2
      Anurag Shekhar authored
      4c226da2
  3. 13 May, 2009 7 commits
    • Ramil Kalimullin's avatar
      Auto-merge. · 4f1eadac
      Ramil Kalimullin authored
      4f1eadac
    • Jim Winstead's avatar
      Merge from 5.1-bugteam · 7117c5f4
      Jim Winstead authored
      7117c5f4
    • Jim Winstead's avatar
      Merge from 5.0-bugteam · bcb650ea
      Jim Winstead authored
      bcb650ea
    • Martin Hansson's avatar
      Merge. · 5a0eaba9
      Martin Hansson authored
      5a0eaba9
    • Anurag Shekhar's avatar
      Bug #39802 On Windows, 32-bit time_t should be enforced · 8fd498bc
      Anurag Shekhar authored
      This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', 
      possible loss of data". 
      The fix is to typecast time_t to ulong before assigning it to ulong. 
      Backported this from 6.0-bugteam tree.
      
      
      storage/archive/ha_archive.cc:
        type casting time_t to ulong before assigning.
      storage/federated/ha_federated.cc:
        type casting time_t to ulong before assigning.
      storage/innobase/handler/ha_innodb.cc:
        type casting time_t to ulong before assigning.
      storage/myisam/ha_myisam.cc:
        type casting time_t to ulong before assigning.
      8fd498bc
    • Gleb Shchepa's avatar
      Bug #44290: explain crashes for subquery with distinct in · d91679a8
      Gleb Shchepa authored
                  SQL_SELECT::test_quick_select
      
      The crash was caused by an incomplete cleanup of JOIN_TAB::select
      during the filesort of rows for GROUP BY clause inside a subquery.
      Queries where a quick index access is replaced with filesort was
      was affected. For example:
      
        SELECT 1 FROM
          (SELECT COUNT(DISTINCT c1) FROM t1
             WHERE c2 IN (1, 1) AND c3 = 2 GROUP BY c2) x
      
      Quick index access related data in the SQL_SELECT::test_quick_select
      function was inconsistent after an incomplete cleanup.
      This function has been completed to prevent crashes in the
      SQL_SELECT::test_quick_select function.
      
      
      mysql-test/include/mix1.inc:
        Add test case for bug #44290.
      mysql-test/r/innodb_mysql.result:
        Add test case for bug #44290.
      sql/sql_select.cc:
        Bug #44290: explain crashes for subquery with distinct in
                    SQL_SELECT::test_quick_select
        
        Quick index access related data in the SQL_SELECT::test_quick_select
        function was inconsistent after an incomplete cleanup.
        This function has been completed to prevent crashes in the
        SQL_SELECT::test_quick_select function.
      d91679a8
    • Ramil Kalimullin's avatar
      Fix for bug#44774 merged. · 75e58fdd
      Ramil Kalimullin authored
      75e58fdd
  4. 12 May, 2009 6 commits
    • Jim Winstead's avatar
      Merge in approved bug-fixes · 9d764856
      Jim Winstead authored
      9d764856
    • Jim Winstead's avatar
      Merge from 5.0-bugteam · 0acb89dd
      Jim Winstead authored
      0acb89dd
    • Gleb Shchepa's avatar
      Bug #44290: explain crashes for subquery with distinct in · 555cbdb7
      Gleb Shchepa authored
                  SQL_SELECT::test_quick_select
      
      The crash was caused by an incomplete cleanup of JOIN_TAB::select
      during the filesort of rows for GROUP BY clause inside a subquery.
      Queries where a quick index access is replaced with filesort was
      was affected. For example:
      
        SELECT 1 FROM
          (SELECT COUNT(DISTINCT c1) FROM t1
             WHERE c2 IN (1, 1) AND c3 = 2 GROUP BY c2) x
      
      Quick index access related data in the SQL_SELECT::test_quick_select
      function was inconsistent after an incomplete cleanup.
      This function has been completed to prevent crashes in the
      SQL_SELECT::test_quick_select function.
      
      
      mysql-test/include/mix1.inc:
        Add test case for bug #44290.
      mysql-test/r/innodb_mysql.result:
        Add test case for bug #44290.
      sql/sql_select.cc:
        Bug #44290: explain crashes for subquery with distinct in
                    SQL_SELECT::test_quick_select
        
        Quick index access related data in the SQL_SELECT::test_quick_select
        function was inconsistent after an incomplete cleanup.
        This function has been completed to prevent crashes in the
        SQL_SELECT::test_quick_select function.
      555cbdb7
    • Chad MILLER's avatar
      Remove community-server only feature and place in its own test · e8f67477
      Chad MILLER authored
      with appropriate condition.
      e8f67477
    • Luis Soares's avatar
      BUG#42749: infinite loop writing to row based binlog - processlist shows · 1d406fba
      Luis Soares authored
      "freeing items"
      
      The calculation of the table map log event in the event constructor
      was one byte shorter than what would be actually written. This would
      lead to a mismatch between the number of bytes written and the event
      end_log_pos, causing bad event alignment in the binlog (corrupted
      binlog) or in the transaction cache while fixing positions
      (MYSQL_BIN_LOG::write_cache). This could lead to impossible to read
      binlog or even infinite loops in MYSQL_BIN_LOG::write_cache.
      
      This patch addresses this issue by correcting the expected event
      length in the Table_map_log_event constructor, when the field metadata
      size exceeds 255.
      
      sql/log_event.cc:
        Added the extra byte as net_store_length imposes.
      1d406fba
    • Ramil Kalimullin's avatar
      Fix for bug#44774: load_file function produces valgrind warnings · 9a3cf78b
      Ramil Kalimullin authored
      Problem: using LOAD_FILE() in some cases we pass a file name string
      without a trailing '\0' to fn_format() which relies on that however.
      That may lead to valgrind warnings.
      
      Fix: add a trailing '\0' to the file name passed to fn_format().
      
      
      mysql-test/r/func_str.result:
        Fix for bug#44774: load_file function produces valgrind warnings
          - test result.
      mysql-test/t/func_str.test:
        Fix for bug#44774: load_file function produces valgrind warnings
          - test case.
      sql/item_strfunc.cc:
        Fix for bug#44774: load_file function produces valgrind warnings
          - passing a file name to fn_format(), file_name->c_ptr() replaced
            with file_name->c_ptr_safe() to ensure we have a trailing '\0'.
      9a3cf78b