1. 17 Dec, 2008 1 commit
    • Sergey Vojtovich's avatar
      BUG#39746 - Debug flag breaks struct definition · 3a42aab8
      Sergey Vojtovich authored
                  (server crash)
      
      Altering a table with fulltext index[es] which use
      pluggable fulltext parser may cause server crash
      in debug builds.
      
      The problem was that ALTER TABLE code wrongly assigned
      fulltext parser name.
      
      Also fixed that altering a table with fulltext index[es]
      leave stale fulltext parser locks, which prevent
      fulltext parsers from being uninstalled after
      ALTER TABLE.
      
      mysql-test/include/have_simple_parser.inc:
        Added support for testing simple fulltext parser.
      mysql-test/mysql-test-run.pl:
        Added support for testing simple fulltext parser.
      mysql-test/r/fulltext_plugin.result:
        A test case for BUG#39746.
      mysql-test/r/have_simple_parser.require:
        Added support for testing simple fulltext parser.
      mysql-test/t/fulltext_plugin-master.opt:
        A test case for BUG#39746.
      mysql-test/t/fulltext_plugin.test:
        A test case for BUG#39746.
      sql/sql_table.cc:
        Fixed that alter table wrongly assigns fulltext parser
        name. parser_name member is only available during
        table creation. When we open existing table we must
        get parser_name from plugin_ref, which is handled
        by plugin_name() macro.
      sql/table.cc:
        Moved code that releases fulltext parsers into
        free_table_share(). This fixes stale fulltext parser
        locks set by ALTER TABLE, which are preventing fulltext
        parsers from being uninstalled.
      3a42aab8
  2. 16 Dec, 2008 4 commits
    • Mattias Jonsson's avatar
      merge · 0077ba49
      Mattias Jonsson authored
      0077ba49
    • Davi Arnaut's avatar
      Fix warnings and bug spotted by gcc-4.3. · 3ce026ec
      Davi Arnaut authored
      Related to operator precedence and associativity.
      Make the expressions as explicit as possible.
      
      sql/field.h:
        Silence gcc-4.3 warning: be more explicit.
      sql/item.cc:
        Silence gcc-4.3 warning: be more explicit.
      sql/item_sum.cc:
        Silence gcc-4.3 warning: be more explicit.
      sql/log_event.cc:
        Silence gcc-4.3 warning: be more explicit.
      sql/spatial.h:
        Silence gcc-4.3 warning: be more explicit.
      sql/sql_lex.cc:
        Silence gcc-4.3 warning: be more explicit.
      sql/table.h:
        Silence gcc-4.3 warning: be more explicit.
      storage/federated/ha_federated.cc:
        Fix operator precedence bug.
      storage/heap/ha_heap.cc:
        Silence gcc-4.3 warning: be more explicit.
      3ce026ec
    • Mattias Jonsson's avatar
      merge · 5cf57aab
      Mattias Jonsson authored
      5cf57aab
    • Mattias Jonsson's avatar
      post push fix for bug#40595 · 23d569ed
      Mattias Jonsson authored
      Addition of hander function was_semi_consistent_read
      
      mysql-test/r/partition_innodb_semi_consistent.result:
        post push fix for bug#40595
        Addition of hander function was_semi_consistent_read
        
        Added test result
      mysql-test/t/partition_innodb_semi_consistent-master.opt:
        post push fix for bug#40595
        Addition of hander function was_semi_consistent_read
        
        Added test opt file
      mysql-test/t/partition_innodb_semi_consistent.test:
        post push fix for bug#40595
        Addition of hander function was_semi_consistent_read
        
        Added test case
      sql/ha_partition.cc:
        post push fix for bug#40595
        Addition of hander function was_semi_consistent_read
        
        The lack of was_semi_consistent_read opened a regression
        for bug-31310 when useing a partitioned InnoDB table
      23d569ed
  3. 15 Dec, 2008 1 commit
  4. 12 Dec, 2008 8 commits
    • Andrei Elkin's avatar
      6361df87
    • Andrei Elkin's avatar
      Bug #41003 log_bin_trust_function_creators_func test explicitly warns on a bug in it · 54bf3474
      Andrei Elkin authored
      The test 
      1. did not verify that CREATE FUNCTION shall fails in a case of active binlog
         and @@log_bin_trust_function_creators is zero if there is no DETERMINISTIC qualifier
         and super user privilege;
      2. contained an explit warning on that CREATE FUNCTION actually succeeded whereas
         it was supposed to fail;
      3. did not demand the bin-log be set ON even though it has contained the opt file
         explictily setting the name for the binlog file.
            
      Fixed 1-3 with modifying the test accordingly.
      
      
      mysql-test/r/log_bin_trust_function_creators_func.result:
        Bug #41003 changed results.
      mysql-test/t/log_bin_trust_function_creators_func-master.opt:
        removed unnecessary file, the specificly requested binlog file name was not used in
        the test.
      mysql-test/t/log_bin_trust_function_creators_func.test:
        corrected the test that previously: 1.  did not verify that CREATE FUNCTION shall fail
        in some cases; 2. contained an explit warning on that CREATE FUNCTION actually
      54bf3474
    • Andrei Elkin's avatar
      merge 5.1-bt repository to my local branch. · 6639a2ae
      Andrei Elkin authored
      6639a2ae
    • Gleb Shchepa's avatar
      cd42f4ba
    • Gleb Shchepa's avatar
      Bug #40761: Assert on sum function on · af5cf536
      Gleb Shchepa authored
                  IF(..., CAST(longtext AS UNSIGNED), signed_val)
                  (was: LEFT JOIN on inline view crashes server)
      
      Select from a LONGTEXT column wrapped with an expression
      like "IF(..., CAST(longtext_column AS UNSIGNED), smth_signed)"
      failed an assertion or crashed the server. IFNULL function was
      affected too.
      
      LONGTEXT column item has a maximum length of 32^2-1 bytes,
      at the same time this is a maximum possible length of any
      MySQL item. CAST(longtext_column AS UNSIGNED) returns some
      unsigned numeric result of length 32^2-1, so the result of
      IF/IFNULL function of this number and some other signed number
      will have text length of (32^2-1)+1=32^2 (one byte for the
      minus sign) - there is integer overflow, and the length is
      equal to zero. That caused assert/crash.
      
      CAST AS UNSIGNED function has been modified to limit maximal
      length of resulting number to 67 (maximal length of DECIMAL
      and two characters for minus sign and dot).
      
      
      mysql-test/r/func_if.result:
        Added test case for bug #40761.
      mysql-test/t/func_if.test:
        Added test case for bug #40761.
      sql/item_func.h:
        Bug #40761: Assert on sum function on
                    IF(..., CAST(longtext AS UNSIGNED), signed_val)
        
        CAST AS UNSIGNED function has been modified to limit maximal
        length of resulting number to 67 (maximal length of DECIMAL
        and two characters for minus sign and dot).
      af5cf536
    • Andrei Elkin's avatar
      Bug #41383 Test commit1_innodb fails with binlog-format=row · 5753307a
      Andrei Elkin authored
      The test explicitly warned on existence of a bug in its 27th part.
      The expected values of prepare and commit counters changed, corrected, by
      fixes to bug#40221.
      Notice, that binlog does not have to register for a statement with
      the statement binlog-format because the statement rollback does not need
      to do anything in that mode. It's not so with the ROW format which was
      bug#40221 concern.
      
      Fixed with correcting the expected values of the mentioned counters and
      explained that with comments in the test.
      
      mysql-test/include/commit.inc:
        Removing `Sic' that warned on a bug (The one is bug#40221).
        Correcting the expected values of prepare and commit counters due to fixes to bug#40221.
      mysql-test/r/commit_1innodb.result:
        results changed.
      5753307a
    • Gleb Shchepa's avatar
      rollback of bug #40761 fix · 74984768
      Gleb Shchepa authored
      74984768
    • Gleb Shchepa's avatar
      rollback of bug #40761 fix · 5ff1bcbc
      Gleb Shchepa authored
      5ff1bcbc
  5. 11 Dec, 2008 10 commits
    • Gleb Shchepa's avatar
      a4467c97
    • Gleb Shchepa's avatar
      Bug #40761: Assert on sum function on · ffe23f0e
      Gleb Shchepa authored
                  IF(..., CAST(longtext AS UNSIGNED), signed_val)
                  (was: LEFT JOIN on inline view crashes server)
      
      Select from a LONGTEXT column wrapped with an expression
      like "IF(..., CAST(longtext_column AS UNSIGNED), smth_signed)"
      failed an assertion or crashed the server. IFNULL function was
      affected too.
      
      LONGTEXT column item has a maximum length of 32^2-1 bytes,
      at the same time this is a maximum possible length of any
      MySQL item. CAST(longtext_column AS UNSIGNED) returns some
      unsigned numeric result of length 32^2-1, so the result of
      IF/IFNULL function of this number and some other signed number
      will have text length of (32^2-1)+1=32^2 (one byte for the
      minus sign) - there is integer overflow, and the length is
      equal to zero. That caused assert/crash.
      
      The bug has been fixed by the same solution as in the CASE
      function implementation.
      
      
      mysql-test/r/func_if.result:
        Added test case for bug #40761.
      mysql-test/t/func_if.test:
        Added test case for bug #40761.
      sql/item_cmpfunc.cc:
        Bug #40761: Assert on sum function on
                    IF(..., CAST(longtext AS UNSIGNED), signed_val)
        
        1. Item_func_case::agg_str_lengths method has been moved
           to the Item_func superclass.
        2. Item_func_ifnull/Item_func_if::fix_length_and_dec methods
           have been updated to calculate max_length, decimals and
           unsigned flag like Item_func_case.
      sql/item_cmpfunc.h:
        Bug #40761: Assert on sum function on
                    IF(..., CAST(longtext AS UNSIGNED), signed_val)
        
        Item_func_case::agg_str_lengths method has been moved to
        the Item_func superclass.
      sql/item_func.cc:
        Bug #40761: Assert on sum function on
                    IF(..., CAST(longtext AS UNSIGNED), signed_val)
        
        Item_func_case::agg_str_lengths method has been moved to
        the Item_func superclass.
      sql/item_func.h:
        Bug #40761: Assert on sum function on
                    IF(..., CAST(longtext AS UNSIGNED), signed_val)
        
        Item_func_case::agg_str_lengths method has been moved to
        the Item_func superclass.
      ffe23f0e
    • Chad MILLER's avatar
      Merge from bugteam trunk. · 0837c111
      Chad MILLER authored
      0837c111
    • Chad MILLER's avatar
      Merge fix for Bug 33812 from 5.0-bugteam. · a633e0b9
      Chad MILLER authored
      a633e0b9
    • Chad MILLER's avatar
      Bug#33812: mysql client incorrectly parsing DELIMITER · d84690c9
      Chad MILLER authored
      Fix parsing of mysql client commands, especially in relation to
      single-line comments when --comments was specified.
      
      This is a little tricky, because we need to allow single-line
      comments in the middle of statements, but we don't want to allow
      client commands in the middle of statements. So in
      comment-preservation mode, we go ahead and send single-line
      comments to the server immediately when we encounter them on their
      own. 
      
      This is still slightly flawed, in that it does not handle a
      single-line comment with leading spaces, followed by a client-side
      command when --comment has been enabled. But this isn't a new
      problem, and it is quite an edge condition. Fixing it would require
      a more extensive overall of how the mysql client parses commands. 
      d84690c9
    • Luis Soares's avatar
      BUG#38826 · 32c1790b
      Luis Soares authored
      Merge from 5.0-bugteam. Additional fix for unused ret variable warning.
      
      32c1790b
    • Luis Soares's avatar
      Fix PB warnings for parenthesis and valgrind leak report. · ac27e637
      Luis Soares authored
      BUG#38826
      ac27e637
    • Sergey Glukhov's avatar
      5.0-bugteam->5.1-bugteam merge · 54f65ef1
      Sergey Glukhov authored
      54f65ef1
    • Sergey Glukhov's avatar
      fix for pushbuild failure on 64 linux · d2cd545b
      Sergey Glukhov authored
      d2cd545b
    • Sergey Glukhov's avatar
  6. 10 Dec, 2008 16 commits