1. 09 Feb, 2009 5 commits
    • Mats Kindahl's avatar
      Merging with 5.1-bugteam. · 8a98664d
      Mats Kindahl authored
      8a98664d
    • Davi Arnaut's avatar
      Merge from upstream 5.1-bugteam. · 86a11e6a
      Davi Arnaut authored
      86a11e6a
    • Davi Arnaut's avatar
      Bug#42634: % character in query can cause mysqld signal 11 segfault · bab4ff1a
      Davi Arnaut authored
      The problem is that a unfiltered user query was being passed as
      the format string parameter of sql_print_warning which later
      performs printf-like formatting, leading to crashes if the user
      query contains formatting instructions (ie: %s). Also, it was
      using THD::query as the source of the user query, but this
      variable is not meaningful in some situations -- in a delayed
      insert, it points to the table name.
      
      The solution is to pass the user query as a parameter for the
      format string and use the function parameter query_arg as the
      source of the user query.
      
      mysql-test/suite/binlog/r/binlog_unsafe.result:
        Add test case result for Bug#42634
      mysql-test/suite/binlog/t/binlog_unsafe.test:
        Add test case for Bug#42634
      sql/sql_class.cc:
        Don't pass the user query as a format string.
      bab4ff1a
    • Sergey Glukhov's avatar
      Bug#42610 Dynamic plugin broken in 5.1.31 · 4d0557a2
      Sergey Glukhov authored
      added ignore-builtin-innodb option which disabled
      initialization of builtin InnoDB plugin
      
      mysql-test/r/innodb_ignore_builtin.result:
        test case
      mysql-test/t/innodb_ignore_builtin-master.opt:
        test case
      mysql-test/t/innodb_ignore_builtin.test:
        test case
      sql/mysql_priv.h:
        added ignore-builtin-innodb option which disabled
        initialization of builtin InnoDB plugin
      sql/mysqld.cc:
        added ignore-builtin-innodb option which disabled
        initialization of builtin InnoDB plugin
      sql/set_var.cc:
        added ignore-builtin-innodb option which disabled
        initialization of builtin InnoDB plugin
      sql/sql_plugin.cc:
        added ignore-builtin-innodb option which disabled
        initialization of builtin InnoDB plugin
      4d0557a2
    • Vladislav Vaintroub's avatar
      Bug#42427 : MTR v2 fails with "can't write to /tmp/mysql-test-ports.sem" on Windows · 461cad77
      Vladislav Vaintroub authored
      - /tmp directory is not guaranteed to exist on Windows. 
      Use the value of environment variable TEMP here
      461cad77
  2. 07 Feb, 2009 5 commits
  3. 06 Feb, 2009 16 commits
    • Joerg Bruehe's avatar
      Merge main 5.0 into 5.0-build · 8bf1b125
      Joerg Bruehe authored
      8bf1b125
    • Joerg Bruehe's avatar
      Final merge of 5.0.72sp1 into 5.0-build · c27539b6
      Joerg Bruehe authored
      This involves just the tag, no file changes - they were all present before.
      c27539b6
    • Timothy Smith's avatar
      80b443f3
    • Tatiana A. Nurnberg's avatar
      auto-merge · 0eca4824
      Tatiana A. Nurnberg authored
      0eca4824
    • Tatiana A. Nurnberg's avatar
      Bug#42525: TIMEDIFF function · d66dc230
      Tatiana A. Nurnberg authored
      In 37553 we declared longlong results for
      class Item_str_timefunc as per comments/docs,
      but didn't add a method for that. And the
      default just wasn't good enough for some
      cases.
      
      Changeset adds dedicated val_int() to class.
      
      mysql-test/r/func_sapdb.result:
        More tests for casts of TIME() / TIMEDIFF() with negative results.
      mysql-test/t/func_sapdb.test:
        More tests for casts of TIME() / TIMEDIFF() with negative results.
      sql/item_timefunc.h:
        Since we claim to provide longlong results, we should have
        a suitable function to provide them (the default won't do).
        This one matches the val_real() variant.
      d66dc230
    • Mats Kindahl's avatar
      Bug #36763 · bd53d214
      Mats Kindahl authored
      TRUNCATE TABLE fails to replicate when stmt-based binlogging is not supported.
      
      There were two separate problems with the code, both of which are fixed with
      this patch:
      
      1. An error was printed by InnoDB for TRUNCATE TABLE in statement mode when
         the in isolation levels READ COMMITTED and READ UNCOMMITTED since InnoDB
         does permit statement-based replication for DML statements. However,
         the TRUNCATE TABLE is not transactional, but is a DDL, and should therefore
         be allowed to be replicated as a statement.
      
      2. The statement was not logged in mixed mode because of the error above, but
         the error was not reported to the client.
      
      This patch fixes the problem by treating TRUNCATE TABLE a DDL, that is, it is
      always logged as a statement and not reporting an error from InnoDB for TRUNCATE
      TABLE.
      
      
      mysql-test/extra/binlog_tests/binlog_truncate.test:
        Adding new test to check that TRUNCATE TABLE is written correctly
        to the binary log.
      mysql-test/extra/rpl_tests/rpl_truncate.test:
        Removing redundant testing by eliminating settings of BINLOG_FORMAT.
      mysql-test/extra/rpl_tests/rpl_truncate_helper.test:
        Replacing slave and master reset code with include file.
        Removing settings of BINLOG_FORMAT.
        Replacing printing of table contents to compare master and slave
        with diff_tables.inc.
      mysql-test/suite/binlog/t/binlog_truncate_innodb.test:
        Adding test for testing that TRUNCATE TABLE is logged correctly for InnoDB
        in all isolation levels.
      mysql-test/suite/binlog/t/binlog_truncate_myisam.test:
        Adding test for testing that TRUNCATE TABLE is logged correctly for MyISAM.
      mysql-test/suite/binlog/t/disabled.def:
        Disabling binlog_truncate_innodb since it does not work (yet).
      sql/sql_base.cc:
        Correcting setting of capabilities flags to make the comparison with 0
        later in the code work correctly.
      sql/sql_delete.cc:
        Re-organizing code to ensure that TRUNCATE TABLE is logged in statement
        format and that row format is not used unless there are rows to log (which
        there are not when delete_all_rows() is called, so this has to be logged
        as a statement).
      bd53d214
    • Timothy Smith's avatar
      Auto merge from main 5.0 · 41ce20ad
      Timothy Smith authored
      41ce20ad
    • Magnus Svensson's avatar
      Bug#42366 server-cert.pem expired: "Not After : Jan 27 08:54:13 2009 GMT · 0ea110d8
      Magnus Svensson authored
      - remove the disbling of all ssl_* tests now when certs are fixed.
      0ea110d8
    • Timothy Smith's avatar
      Handle renamed nwbootstrap -> nwbuild · 44ee0c10
      Timothy Smith authored
      44ee0c10
    • Georgi Kodinov's avatar
      merged 5.0-main -> 5.0-bugteam · 5b1277ec
      Georgi Kodinov authored
      5b1277ec
    • Magnus Svensson's avatar
      Merge · 0b439b30
      Magnus Svensson authored
      0b439b30
    • Davi Arnaut's avatar
      Bug#42524: Function pthread_setschedprio() is defined but seems broken on i5/OS PASE · ec849b19
      Davi Arnaut authored
      The problem is that MySQL use of pthread_setschedprio is not
      supported by i5/OS and the default system behavior for unsupported
      calls is to emit a SIGILL signal which causes the server to
      abort.
      
      The solution is to treat the pthread_setschedprio as inexistent
      when compiling binaries for i5/OS. This also does not invalidate
      the fix for bug 38477 as the only supported dispatch class is
      SCHED_OTHER (which is passed to pthread_setschedparam).
      
      configure.in:
        Skip pthread_setschedprio check on i5/OS.
      ec849b19
    • Alexey Kopytov's avatar
      Merge from team tree. · e27f6536
      Alexey Kopytov authored
      e27f6536
    • Alexey Kopytov's avatar
      a8c98eb9
    • Alexey Kopytov's avatar
    • Magnus Svensson's avatar
      Bug#42641 mtr.pl fails to run within JobObject · aca7ca6b
      Magnus Svensson authored
       - Allow the new process to break away from any job that this
         process is part of so that it can be assigned to the new JobObject
         we just created. This is safe since the new JobObject is created with
         the JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE flag, making sure it will be
         terminated when the last handle to it is closed(which is owned by
         this process).
      aca7ca6b
  4. 05 Feb, 2009 14 commits
    • unknown's avatar
      Merge from mysql-5.1.31-release · 5a4e3eaa
      unknown authored
      5a4e3eaa
    • Gleb Shchepa's avatar
      798f19e4
    • Matthias Leich's avatar
      Fix for Bug#42602 main.status: random failures · 09387431
      Matthias Leich authored
      + minor improvements
      09387431
    • Gleb Shchepa's avatar
      after-push test update (bug #39265) · a7435ddf
      Gleb Shchepa authored
      a7435ddf
    • Alexey Kopytov's avatar
      4cd0e2fa
    • Alexey Kopytov's avatar
      Merge to team tree. · 759b626d
      Alexey Kopytov authored
      759b626d
    • Alexey Kopytov's avatar
      Merge from team tree. · 20cdcaa3
      Alexey Kopytov authored
      20cdcaa3
    • 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