1. 05 Feb, 2009 7 commits
    • Gleb Shchepa's avatar
      Bug #39265: fix for the bug 33699 should be reverted · b9d02d46
      Gleb Shchepa authored
      Documented behaviour was broken by the patch for bug 33699
      that actually is not a bug.
      
      This fix reverts patch for bug 33699 and reverts the
      UPDATE of NOT NULL field with NULL query to old
      behavior.
      
      
      mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test:
        Bug #39265: fix for the bug 33699 should be reverted
      mysql-test/include/ps_modify.inc:
        Bug #39265: fix for the bug 33699 should be reverted
      mysql-test/r/auto_increment.result:
        Bug #39265: fix for the bug 33699 should be reverted
      mysql-test/r/csv_not_null.result:
        Bug #39265: fix for the bug 33699 should be reverted
      mysql-test/r/null.result:
        Bug #39265: fix for the bug 33699 should be reverted
      mysql-test/r/ps_2myisam.result:
        Bug #39265: fix for the bug 33699 should be reverted
      mysql-test/r/ps_3innodb.result:
        Bug #39265: fix for the bug 33699 should be reverted
      mysql-test/r/ps_4heap.result:
        Bug #39265: fix for the bug 33699 should be reverted
      mysql-test/r/ps_5merge.result:
        Bug #39265: fix for the bug 33699 should be reverted
      mysql-test/r/warnings.result:
        Bug #39265: fix for the bug 33699 should be reverted
      mysql-test/suite/ndb/r/ps_7ndb.result:
        Bug #39265: fix for the bug 33699 should be reverted
      mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result:
        Bug #39265: fix for the bug 33699 should be reverted
      mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result:
        Bug #39265: fix for the bug 33699 should be reverted
      mysql-test/suite/rpl/t/rpl_err_ignoredtable.test:
        Bug #39265: fix for the bug 33699 should be reverted
      mysql-test/t/auto_increment.test:
        Bug #39265: fix for the bug 33699 should be reverted
      mysql-test/t/csv_not_null.test:
        Bug #39265: fix for the bug 33699 should be reverted
      mysql-test/t/null.test:
        Bug #39265: fix for the bug 33699 should be reverted
      mysql-test/t/warnings.test:
        Bug #39265: fix for the bug 33699 should be reverted
      sql/sql_update.cc:
        Bug #39265: fix for the bug 33699 should be reverted
      b9d02d46
    • Gleb Shchepa's avatar
      ea15ebbb
    • Gleb Shchepa's avatar
      Bug #42037: Queries containing a subquery with DISTINCT and · 061bf717
      Gleb Shchepa authored
                  ORDER BY could cause a server crash
      
      Dependent subqueries like
      
        SELECT COUNT(*) FROM t1, t2 WHERE t2.b
         IN (SELECT DISTINCT t2.b FROM t2 WHERE t2.b = t1.a)
      
      caused a memory leak proportional to the
      number of outer rows.
      
      
      The make_simple_join() function has been modified to
      JOIN class method to store join_tab_reexec and
      table_reexec values in the parent join only
      (make_simple_join of tmp_join may access these values
      via 'this' pointer of the parent JOIN).
      
      NOTE: this patch doesn't include standard test case (this is
      "out of memory" bug). See bug #42037 page for test cases.
      
      
      sql/sql_select.cc:
        Bug #42037: Queries containing a subquery with DISTINCT and
                    ORDER BY could cause a server crash
        
        The make_simple_join() function has been modified to
        JOIN class method to store join_tab_reexec and
        table_reexec values in the parent join only.
      sql/sql_select.h:
        Bug #42037: Queries containing a subquery with DISTINCT and
                    ORDER BY could cause a server crash
        
        1. The make_simple_join() function has been modified to
           JOIN class method.
        
        2. Type of JOIN::table_reexec field has been changed from
           TABLE** to TABLE *table_reexec[1]: this field always was
           NULL or a pointer to one-element array of pointers, so
           a pointer to a pointer has been replaced with one pointer
           and unnecessary memory allocation has been eliminated.
      061bf717
    • Ramil Kalimullin's avatar
      Fix for bug#42014: Crash, name_const with collate · 31d908d7
      Ramil Kalimullin authored
      Problem: some queries using NAME_CONST(.. COLLATE ...)
      lead to server crash due to failed type cast.
      
      Fix: return the underlying item's type in case of
      NAME_CONST(.. COLLATE ...) to avoid wrong casting.
      
      
      mysql-test/r/func_misc.result:
        Fix for bug#42014: Crash, name_const with coll
          - test result.
      mysql-test/t/func_misc.test:
        Fix for bug#42014: Crash, name_const with coll
          - test case.
      sql/item.cc:
        Fix for bug#42014: Crash, name_const with coll
          - in case of NAME_CONST('name', 'value' COLLATE collation)
        Item_name_const::type() returns type of 'value' argument 
        to awoid wrong type casting of the Item_name_const items.
      31d908d7
    • Alexey Botchkov's avatar
      merging · aa964b79
      Alexey Botchkov authored
      aa964b79
    • Ramil Kalimullin's avatar
      Auto-merge · 9ee53cbc
      Ramil Kalimullin authored
      9ee53cbc
    • Alexey Botchkov's avatar
      Bug#37995 Error message truncation in test "innodb" in embedded mode. · 9036f1aa
      Alexey Botchkov authored
         code backported from 6.0
      
      
      per-file messages:
        include/my_global.h
          Remove SC_MAXWIDTH. This is unused and irrelevant nowadays.
        include/my_sys.h
          Remove errbuf declaration and unused definitions.
        mysys/my_error.c
          Remove errbuf definition and move and adjust ERRMSGSIZE.
        mysys/my_init.c
          Declare buffer on the stack and use my_snprintf.
        mysys/safemalloc.c
          Use size explicitly. It's more than enough for the message at hand.
        sql/sql_error.cc
          Use size explicitly. It's more than enough for the message at hand.
        sql/sql_parse.cc
          Declare buffer on the stack. Use my_snprintf as it will result in
          less stack space being used than by a system provided sprintf --
          this allows us to put the buffer on the stack without causing much
          trouble. Also, the use of errbuff here was not thread-safe as the
          function can be entered concurrently from multiple threads.
        sql/sql_table.cc
          Use MYSQL_ERRMSG_SIZE. Extra space is not needed as my_snprintf will
          nul terminate strings.
        storage/myisam/ha_myisam.cc
      Use MYSQL_ERRMSG_SIZE.
        sql/share/errmsg.txt
          Error message truncation in test "innodb" in embedded mode
          filename in the error message can safely take up to 210 symbols.
      9036f1aa
  2. 04 Feb, 2009 18 commits
    • Chad MILLER's avatar
      Merge from team tree. · dc0f210a
      Chad MILLER authored
      dc0f210a
    • Chad MILLER's avatar
      Merge from 5.0-bugteam. · 078e413e
      Chad MILLER authored
      078e413e
    • Alfranio Correia's avatar
      auto-merge for BUG#42445. · 0f577611
      Alfranio Correia authored
      0f577611
    • Chad MILLER's avatar
      Merge from bug tree. · 243b2639
      Chad MILLER authored
      243b2639
    • Matthias Leich's avatar
    • Matthias Leich's avatar
      6f19c0fc
    • Sergey Vojtovich's avatar
      Merge 5.0-bugteam -> 5.1-bugteam. · aa13a4b9
      Sergey Vojtovich authored
      aa13a4b9
    • Matthias Leich's avatar
      Automatic merge, no conflicts · 7957622b
      Matthias Leich authored
      7957622b
    • Magnus Svensson's avatar
      Merge · 11774053
      Magnus Svensson authored
      11774053
    • Matthias Leich's avatar
      Merge last changesets, no conflicts · 2df0beee
      Matthias Leich authored
      2df0beee
    • Staale Smedseng's avatar
      merge from upstream 5.1-bugteam · dc3dcf4f
      Staale Smedseng authored
      dc3dcf4f
    • Sergey Vojtovich's avatar
      BUG#32047 - 'Spurious' errors while opening MERGE tables · 97bd7635
      Sergey Vojtovich authored
      Accessing well defined MERGE table may return an error
      stating that the merge table is incorrectly defined. This
      happens if MERGE child tables were accessed before and we
      failed to open another incorrectly defined MERGE table in
      this connection.
      
      myrg_open() internally used my_errno as a variable for determining
      failure, and thus could be tricked into a wrong decision by other
      uses of my_errno.
      
      With this fix we use function local boolean flag instead of my_errno
      to determine failure.
      
      myisammrg/myrg_open.c:
        There are two requirement for accessing/setting my_errno variable,
        which were not followed by myrg_open():
        - it must be checked immediately after a function returned an error. There
          must be no calls to other functions that may change it's value between.
        - my_errno value must be set right before a function is going to return an
          error. There must be no calls to other functions that may change it's
          value between (that's why we have these tricks with save_errno at the
          bottom of myrg_open()).
        
        myrg_open() internally used my_errno as a variable for determining
        failure, and thus could be tricked into a wrong decision by other
        uses of my_errno.
      mysql-test/r/merge.result:
        A test case for BUG#32047.
      mysql-test/t/merge.test:
        A test case for BUG#32047.
      97bd7635
    • Sergey Glukhov's avatar
      Bug#42495 updatexml: Assertion failed: xpath->context, file .\item_xmlfunc.cc, line 2507 · 1d09ec62
      Sergey Glukhov authored
      Problem:
         RelativeLocationPath can appear only after a node-set expression
         in the third and the fourth branches of this rule:
           PathExpr :: =  LocationPath
                          | FilterExpr
                          | FilterExpr '/' RelativeLocationPath
                          | FilterExpr '//' RelativeLocationPath
         XPatch code didn't check the type of FilterExpr and crashed.
      Fix:
         If FilterExpr is a scalar expression
         (variable reference, literal, number, scalar function call)
         return error.
      
      
      mysql-test/r/xml.result:
        test result
      mysql-test/t/xml.test:
        test case
      sql/item_xmlfunc.cc:
        Problem:
           RelativeLocationPath can appear only after a node-set expression
           in the third and the fourth branches of this rule:
             PathExpr :: =  LocationPath
                            | FilterExpr
                            | FilterExpr '/' RelativeLocationPath
                            | FilterExpr '//' RelativeLocationPath
           XPatch code didn't check the type of FilterExpr and crashed.
        Fix:
           If FilterExpr is a scalar expression
           (variable reference, literal, number, scalar function call)
           return error.
      1d09ec62
    • Davi Arnaut's avatar
      Merge from upstream 5.1-bugteam · ffdb6ac4
      Davi Arnaut authored
      ffdb6ac4
    • Andrei Elkin's avatar
      Bug #41183 rpl_ndb_circular, rpl_ndb_circular_simplex need maintenance, crash · 5aef51b5
      Andrei Elkin authored
      fixing build issue, caused by the previous push.
      
      sql/log_event.cc:
        moving a new declaration out of mysqlbinlog compilation scope.
      5aef51b5
    • Matthias Leich's avatar
      Merge of latest changesets into GCA tree · da304a17
      Matthias Leich authored
      da304a17
    • Andrei Elkin's avatar
      Bug #41183 rpl_ndb_circular, rpl_ndb_circular_simplex need maintenance, crash · 9b11bc02
      Andrei Elkin authored
                  
      The bug happened because filtering-out a STMT_END_F-flagged event so that
      the transaction COMMIT finds traces of incomplete statement commit.
      Such situation is only possible with ndb circular replication. The filtered-out
      rows event is one that immediately preceeds the COMMIT query event.
            
      Fixed with deploying an the rows-log-event statement commit at executing
      of the transaction COMMIT event. 
      Resources that were allocated by other than STMT_END_F-flagged event of
      the last statement are clean up prior execution of the commit logics.
      
      
      mysql-test/suite/rpl_ndb/t/disabled.def:
        re-enabling two tests.
      sql/log_event.cc:
        Adding the statement cleanup to execute at the transaction commit time.
        The statement might not be ended with execution of STMT_END_F-flagged event because of
        the event was filtered out by SERVER_ID rules.
        Small refactoring for Rows_log_event::do_update_pos() to be split on two parts:
        the statement commit that releases its execution time allocated resources, and
        the relay log update.
      9b11bc02
    • Magnus Svensson's avatar
      Bug#42588 system_mysql_db_fix30020 fails when run from bin dist with mtr2 · 4561831b
      Magnus Svensson authored
       - Properly set --bindir=$path_client_bindir and --basedir=$basedir by adding %s format specifier
      4561831b
  3. 03 Feb, 2009 4 commits
    • Davi Arnaut's avatar
      Bug#40536: SELECT is blocked by INSERT DELAYED waiting on · c9dc936a
      Davi Arnaut authored
                 upgrading lock, even with low_priority_updates
      
      The problem is that there is no mechanism to control whether a
      delayed insert takes a high or low priority lock on a table.
      
      The solution is to modify the delayed insert thread ("handler")
      to take into account the global value of low_priority_updates
      when taking table locks. The value of low_priority_updates is
      retrieved when the insert delayed thread is created and will
      remain the same for the duration of the thread.
      
      
      include/thr_lock.h:
        Update prototype.
      mysql-test/r/delayed.result:
        Add test case result for Bug#40536
      mysql-test/t/delayed.test:
        Add test case for Bug#40536
      mysys/thr_lock.c:
        Add function parameter which specifies the write lock type.
      sql/sql_insert.cc:
        Take a low priority write lock if global value of low_priority_updates
        was ON when the thread was created.
      c9dc936a
    • Matthias Leich's avatar
      Merge 5.0 -> 5.1 · 99685a0b
      Matthias Leich authored
      + fix wrong resultfile have_outfile.require
      99685a0b
    • Staale Smedseng's avatar
      Bug #41580 opt_threads option is not used anywhere at all · 40eec6c5
      Staale Smedseng authored
      Option opt_threads is deprecated in 5.1, and a warning is
      printed when used. Will remove in 6.0.
      40eec6c5
    • Alfranio Correia's avatar
      BUG#42445 Warning messages in innobase/handler/ha_innodb.cc · c29994ed
      Alfranio Correia authored
            
      There was a type casting problem in the storage/innobase/handler/ha_innodb.cc,
      (int ha_innobase::write_row(...)). Innobase uses has an internal error variable
      of type 'ulint' while mysql uses an 'int'. 
            
      To fix the problem the function manipulates an error variable of
      type 'ulint' and only casts it into 'int' when needs to return the value.
      c29994ed
  4. 02 Feb, 2009 11 commits
    • Patrick Crews's avatar
      merge 5.0 -> 5.1 · a07a7afe
      Patrick Crews authored
      a07a7afe
    • Patrick Crews's avatar
      Bug#39369: execution of "variables.test" with "check-testcases" show differences. · 9a3afd1a
      Patrick Crews authored
      The original symptoms of this bug have been fixed as a consequence of other bug fixes.
      Taking this time to correct some formatting, such as replacing error numbers with names.
      Beginning this with 5.0
      9a3afd1a
    • Serge Kozlov's avatar
      Bug#38603: · 84a237b9
      Serge Kozlov authored
      The patch adds restart of mysql server and replacing of binlog file 
      when mysql server is stopped.
      84a237b9
    • Matthias Leich's avatar
      1. Slice of fix for Bug#42003 tests missing the disconnect of connections <> default · 1a04fc03
      Matthias Leich authored
         - If missing: add "disconnect <session>"
         - If physical disconnect of non "default" sessions is not finished
           at test end: add routine which waits till this happened
      + additional improvements like
        - remove superfluous files created by the test
        - replace error numbers by error names
        - remove trailing spaces, replace tabs by spaces
        - unify writing of bugs within comments
        - correct comments
        - minor changes of formatting
      Modifications according to the code review are included.
      Fixed tests:
      grant2
      grant3
      lock_tables_lost_commit
      mysqldump
      openssl_1
      outfile
      1a04fc03
    • Andrei Elkin's avatar
      Bug #41732 rpl_ndb_circular_2ch needs an updated configuration file · d34ae8c7
      Andrei Elkin authored
      There are two issues: 
            1. 6.0 uses the obsolate master-*** server options;
            2. the test is not deterministic in that although master vs slave consistency is
               fine, two runs of the test can have different results. The reason of the
               non-determinism is the combination of 
               a chosen way to demo results and the ndb_autoincrement_prefetch_sz feature.
      
      The current patch fixes the 2nd issue by putting out results via diff_table macro
      instead of the former run-sensitive method.
      The 1st issue is going to be fixed by a separate patch to 6.0.
      
      mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result:
        results changed
      mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test:
        Test is refined to put out results via diff_table macro instead of the former run-sensitive
        method.
      d34ae8c7
    • Tatiana A. Nurnberg's avatar
      auto-merge · 9186df24
      Tatiana A. Nurnberg authored
      9186df24
    • Alexander Barkov's avatar
      Bug#41084 full-text index added to custom UCA collation not working · 9a64fc52
      Alexander Barkov authored
      Problem:
      Custom UCA collations didn't set the MY_CS_STRNXFRM flag,
      which resulted in "prefix_search" method instead of
      the required "seq_search".
      
      Problem2: (not metioned in the bug report)
      Custom UCA collations didn't also set the MY_CS_UNICODE flag,
      so an attempt to compare a column with a custom UCA collation
      to another column with a non-Unicode character set led to
      the "illegal mix of collation" error.
      
      Fix:
      the two missing flags was added into collation initialization.
      
        Upgrade:
      
        - All fulltext indexes with custom UCA collations should be rebuilt.
      
        - Non-fulltext custom UCA indexes should likely be rebuild as well.
      9a64fc52
    • Tatiana A. Nurnberg's avatar
      auto-merge · a73d9f3f
      Tatiana A. Nurnberg authored
      a73d9f3f
    • Serge Kozlov's avatar
      post-merge push with patch for rpl_ndb_log · da44c301
      Serge Kozlov authored
      da44c301
    • Serge Kozlov's avatar
      Post-merge patch for extra/rpl_test/rpl_log.test: · 56fa0959
      Serge Kozlov authored
      Remove size of binlog file from SHOW BINARY LOGS. 
      Changing size of binlog file is an affect of adding or removing events to/from
      binlog and it can be checked in next command of test: SHOW BINLOG EVENTS.
      For SHOW BINARY LOGS statement enough to show the list of file names.
      56fa0959
    • Georgi Kodinov's avatar
      fixed system_mysql_db_fix30020 test faiilure · 8fe7b7ef
      Georgi Kodinov authored
      fixed federated warnings
      8fe7b7ef