1. 08 Nov, 2010 2 commits
  2. 07 Nov, 2010 3 commits
    • Dmitry Shulga's avatar
      7cd6bb26
    • Dmitry Shulga's avatar
      A fix and a test case for Bug#47924 -main.log_tables times out · 8f237f58
      Dmitry Shulga authored
      sporadically.
      
      The cause of the sporadic time out was a leaking protection
      against the global read lock, taken by the RENAME statement,
      and not released in case of an error occurred during RENAME.
      The leaking protection counter would lead to the value of
      protect_against_global_read never dropping to 0.
      Consequently FLUSH TABLES in all connections, including the
      one that leaked the protection, could not proceed.
       
      The fix is to ensure that all branchesin RENAME code properly
      release GRL protection.
      
      mysql-test/r/log_tables.result:
        Added results for test for bug#47924.
      mysql-test/t/log_tables.test:
        Added test for bug#47924.
      sql/sql_rename.cc:
        mysql_rename_tables() modified: replaced return from function
        to goto to clean up code block in case of error.
      8f237f58
    • He Zhenxing's avatar
  3. 05 Nov, 2010 7 commits
  4. 04 Nov, 2010 6 commits
    • Jorgen Loland's avatar
      Bug#57882 - Item_func_conv_charset::val_str(String*): · f0ce6787
      Jorgen Loland authored
                  Assertion `fixed == 1' failed
      
      Followup patch. Test case relied on system variable that is
      only available if replication is compiled in. Replaced with
      variable available in all builds.
      
      mysql-test/r/errors.result:
        Test case relied on system variable that is only available if
        replication is compiled in. Replaced with variable available in
        all builds.
      mysql-test/t/errors.test:
        Test case relied on system variable that is only available if
        replication is compiled in. Replaced with variable available in
        all builds.
      f0ce6787
    • smenon's avatar
      merge · a9a6cd13
      smenon authored
      a9a6cd13
    • smenon's avatar
      Bug #57746: Win directory of source distribution - out-of-date files / support for new files · 0752b54a
      smenon authored
      (win/README updated with some more changes)
      0752b54a
    • Mats Kindahl's avatar
      BUG#57108: mysqld crashes when I attempt to install plugin · f8d2154c
      Mats Kindahl authored
      If a relative path is supplied to option --defaults-file or
      --defaults-extra-file, the server will crash when executing
      an INSTALL PLUGIN command. The reason is that the defaults
      file is initially read relative the current working directory
      when the server is started, but when INSTALL PLUGIN is executed,
      the server has changed working directory to the data directory.
      Since there is no check that the call to my_load_defaults()
      inside mysql_install_plugin(), the subsequence call to
      free_defaults() will crash the server.
      
      This patch fixes the problem by:
      
      - Prepending the current working directory to the file name when
        a relative path is given to the --defaults-file or --defaults-
        extra-file option the first time my_load_defaults() is called,
        which is just after the server has started in main().
      
      - Adding a check of the return value of my_load_defaults() inside
        mysql_install_plugin() and aborting command (with an error) if
        an error is returned.
      
      - It also adds a check of the return value for load_defaults in
        lib_sql.cc for the embedded server since that was missing.
      
      To test that the relative files for the options --defaults-file and
      --defaults-extra-file is handled properly, mysql-test-run.pl is also
      changed to not add a --defaults-file option if one is provided in the
      tests *.opt file.
      f8d2154c
    • Jorgen Loland's avatar
      Bug#57882 - Item_func_conv_charset::val_str(String*): · 64bee6fd
      Jorgen Loland authored
                  Assertion `fixed == 1' failed
      
      (also fixes duplicate bug 57515)
      
      agg_item_set_converter() (item.cc) handles conversion of 
      character sets by creating a new Item. fix_fields() is then 
      called on this newly created item. Prior to this patch, it was
      not checked whether fix_fields() was successful or not. Thus, 
      agg_item_set_converter() would return success even when an 
      error occured. This patch makes it return error (TRUE) if 
      fix_fields() fails.
      
      mysql-test/r/errors.result:
        Add test for BUG#57882
      mysql-test/t/errors.test:
        Add test for BUG#57882
      sql/item.cc:
        Make agg_item_set_converter() return with error if fix_fields() 
        on the newly created converted item fails.
      64bee6fd
    • He Zhenxing's avatar
      BUG#47027 delegates_init() failure is not user friendly (usability issue) · 6429e7d3
      He Zhenxing authored
            
      Function delegetas_init() did not report proper error messages
      when there are failures, which made it hard to know where the problem
      occurred.
      
      Fixed the problem by adding specific error message for every possible
      place that can fail. And since these failures are supposed to never
      happen, ask the user to report a bug if they happened.
      6429e7d3
  5. 03 Nov, 2010 9 commits
  6. 02 Nov, 2010 5 commits
  7. 01 Nov, 2010 5 commits
  8. 31 Oct, 2010 2 commits
    • Gleb Shchepa's avatar
      71082fd1
    • Gleb Shchepa's avatar
      Bug #52160: crash and inconsistent results when grouping · 20d70497
      Gleb Shchepa authored
                  by a function and column
      
      The bugreport reveals two different bugs about grouping
      on a function:
      
      1) grouping by the TIME_TO_SEC function result caused
         a server crash or wrong results and
      2) grouping by the function returning a blob caused
         an unexpected "Duplicate entry" error and wrong
         result.
      
      Details for the 1st bug:
      
      TIME_TO_SEC() returns NULL if its argument is invalid (empty
      string for example). Thus its nullability depends not only
      on the nullability of its arguments but also on their values.
      Fixed by (overoptimistically) setting TIME_TO_SEC() to be
      nullable despite the nullability of its arguments.
      
      Details for the 2nd bug:
      
      The server is unable to create indices on blobs without
      explicit blob key part length. However, this fact was
      ignored for blob function result fields of GROUP BY
      intermediate tables.
      Fixed by disabling GROUP BY index creation for blob
      function result fields like regular blob fields.
      
      
      mysql-test/r/func_time.result:
        Test case for bug #52160.
      mysql-test/r/type_blob.result:
        Test case for bug #52160.
      mysql-test/t/func_time.test:
        Test case for bug #52160.
      mysql-test/t/type_blob.test:
        Test case for bug #52160.
      sql/item_timefunc.h:
        Bug #52160: crash and inconsistent results when grouping
                    by a function and column
        
        TIME_TO_SEC() returns NULL if its argument is invalid (empty
        string for example). Thus its nullability depends not only
        Fixed by (overoptimistically) setting TIME_TO_SEC() to be
        nullable despite the nullability of its arguments.
      sql/sql_select.cc:
        Bug #52160: crash and inconsistent results when grouping
                    by a function and column
        
        The server is unable to create indices on blobs without
        explicit blob key part length. However, this fact was
        ignored for blob function result fields of GROUP BY
        intermediate tables.
        Fixed by disabling GROUP BY index creation for blob
        function result fields like regular blob fields.
      20d70497
  9. 29 Oct, 2010 1 commit
    • Sven Sandberg's avatar
      wL#5625: Deprecate mysqlbinlog options --base64-output=always and --base64-output · c4a41198
      Sven Sandberg authored
      Adds deprecation warning for the mysqlbinlog options
      --base64-output=always and --base64-output.
      A warning is printed when the flags are used,
      and also when running mysqlbinlog --help.
      
      
      client/mysqlbinlog.cc:
        Give a warning for --base64-output=always and --base64-output,
        and print warning in mysqlbinlog --help.
      mysql-test/r/mysqlbinlog.result:
        updated result file
      mysql-test/t/mysqlbinlog.test:
        Test that mysqlbinlog --base64-output=always gives a warning.
      c4a41198