1. 24 Jun, 2009 6 commits
    • MySQL Build Team's avatar
      Backport into build-200906240007-5.1.34sp1 · cf1f35a1
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 2852.2.1
      > revision-id: gni@mysql.com-20090403182157-de6ecrtzlgvpl5mk
      > parent: timothy.smith@sun.com-20090402083720-b7i3jr4dmvwjakcj
      > committer: Guangbao Ni <gni@mysql.com>
      > branch nick: bugteam-5.1-bug42640
      > timestamp: Fri 2009-04-03 18:21:57 +0000
      > message:
      >   BUG#42640 mysqld crashes when unsafe statements are executed (STRICT_TRANS_TABLESmode)
      >   
      >   Mysql server crashes because unsafe statements warning is wrongly elevated to error,
      >   which is set the error status of Diagnostics_area of the thread in THD::binlog_query().
      >   Yet the caller believes that binary logging shouldn't touch the status, so it will
      >   set the status also later by my_ok(), my_error() or my_message() seperately
      >   according to the execution result of the statement or transaction.
      >   But the status of Diagnostics_area of the thread is allowed to set only once.
      >   
      >   Fixed to clear the error wrongly set by binary logging, but keep the warning message.
      cf1f35a1
    • MySQL Build Team's avatar
      Backport into build-200906240007-5.1.34sp1 · f5883e8d
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 2852.12.6
      > tags: clone-5.1.35-build, mysql-5.1.35
      > revision-id: gshchepa@mysql.com-20090513075139-g50shsfjaf1dstdn
      > parent: joerg@mysql.com-20090508190407-ymqxmp6daeta6fdj
      > committer: Gleb Shchepa <gshchepa@mysql.com>
      > branch nick: mysql-5.1
      > timestamp: Wed 2009-05-13 12:51:39 +0500
      > message:
      >   Bug #44290: explain crashes for subquery with distinct in
      >               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.
      f5883e8d
    • MySQL Build Team's avatar
      Backport into build-200906240007-5.1.34sp1 · 38094c04
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 2852.1.15
      > revision-id: davi.arnaut@sun.com-20090409152525-b4vnj9atidmjh0mf
      > parent: luis.soares@sun.com-20090409113044-2072kufy5efeohpp
      > committer: Davi Arnaut <Davi.Arnaut@Sun.COM>
      > branch nick: 43706-5.1
      > timestamp: Thu 2009-04-09 12:25:25 -0300
      > message:
      >   Bug#43706: libmysqld segfaults when re-intialised
      >   Bug#44091: libmysqld gets stuck waiting on mutex on initialization
      >   
      >   The problem was that libmysqld wasn't enforcing a certain
      >   initialization and deinitialization order for the mysys
      >   library. Another problem was that the global object used
      >   for management of log event handlers (aka LOGGER) wasn't
      >   being prepared for a possible reutilization.
      >   
      >   What leads to the hang/crash reported is that a failure
      >   to load the language file triggers a double call of the
      >   cleanup functions, causing an already destroyed mutex to
      >   be used.
      >   
      >   The solution is enforce a order on the initialization and
      >   deinitialization of the mysys library within the libmysqld
      >   library and to ensure that the global LOGGER object reset
      >   it's internal state during cleanup.
      38094c04
    • MySQL Build Team's avatar
      Backport into build-200906240007-5.1.34sp1 · 4ce94d93
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 2852.1.10
      > revision-id: sergey.glukhov@sun.com-20090409093850-z3vgmz8fqogv8o1o
      > parent: v.narayanan@sun.com-20090409081823-zsw611isjcorl63b
      > parent: sergey.glukhov@sun.com-20090409091931-2zhtgonllfmsxjex
      > committer: Sergey Glukhov <Sergey.Glukhov@sun.com>
      > branch nick: mysql-5.1-bugteam
      > timestamp: Thu 2009-04-09 14:38:50 +0500
      > message:
      >   5.0-bugteam->5.1-bugteam merge
      >     ------------------------------------------------------------
      >     revno: 1810.3882.6
      >     revision-id: sergey.glukhov@sun.com-20090409091931-2zhtgonllfmsxjex
      >     parent: anurag.shekhar@sun.com-20090409080004-xvxy663jan45tb3c
      >     committer: Sergey Glukhov <Sergey.Glukhov@sun.com>
      >     branch nick: mysql-5.0-bugteam
      >     timestamp: Thu 2009-04-09 14:19:31 +0500
      >     message:
      >       Bug#43833 Simple INSERT crashes the server
      >       The crash happens due to wrong 'digits' variable value(0),
      >       'digits' can not be 0, so the fix is use 1 as min allowed value.
      4ce94d93
    • MySQL Build Team's avatar
      Backport into mysql-5.1.34sp1-release · 92c64f15
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 2841.1.1
      > revision-id: sergey.glukhov@sun.com-20090401084033-161k4f8qucafy6mj
      > parent: ramil@mysql.com-20090401053459-07x8z2pw2ev94xck
      > committer: Sergey Glukhov <Sergey.Glukhov@sun.com>
      > branch nick: mysql-5.1-bugteam
      > timestamp: Wed 2009-04-01 13:40:33 +0500
      > message:
      >   Bug#43183 ExctractValue() brings result list in missorder
      >   The problem is that XML functions(items) do not reset null_value
      >   before their execution and further item excution may use
      >   null_value value of the previous result.
      >   The fix is to reset null_value.
      92c64f15
    • MySQL Build Team's avatar
      Backport into mysql-5.1.34sp1-release · f7b9700a
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 1810.3885.1
      > revision-id: holyfoot@mysql.com-20090428094726-i4j7z985mxr43jym
      > parent: gshchepa@mysql.com-20090428001913-plzojd1pwplior44
      > committer: Alexey Botchkov <holyfoot@mysql.com>
      > branch nick: 50mrg
      > timestamp: Tue 2009-04-28 14:47:26 +0500
      > message:
      >   Bug#38990 Arbitrary data input plus GIS functions causes mysql server crash 
      >      the Point() and Linestring() functions create WKB representation of an
      >      object instead of an real geometry object.
      >      That produced bugs when these were inserted into tables.
      >   
      >      GIS tests fixed accordingly.
      >               
      >   per-file messages:
      >     mysql-test/r/gis-rtree.result
      >   Bug#38990 Arbitrary data input plus GIS functions causes mysql server crash 
      >       test result
      >     mysql-test/r/gis.result
      >   Bug#38990 Arbitrary data input plus GIS functions causes mysql server crash 
      >       test result
      >     mysql-test/t/gis-rtree.test
      >   Bug#38990 Arbitrary data input plus GIS functions causes mysql server crash 
      >       test fixed - GeomFromWKB invocations removed
      >     mysql-test/t/gis.test
      >   Bug#38990 Arbitrary data input plus GIS functions causes mysql server crash 
      >       test fixed - AsWKB invocations added
      >     sql/item_geofunc.cc
      >   Bug#38990 Arbitrary data input plus GIS functions causes mysql server crash 
      >        Point() and similar functions to create a proper object
      f7b9700a
  2. 02 Apr, 2009 1 commit
  3. 01 Apr, 2009 1 commit
  4. 31 Mar, 2009 1 commit
  5. 27 Mar, 2009 9 commits
  6. 26 Mar, 2009 5 commits
  7. 25 Mar, 2009 13 commits
    • Ramil Kalimullin's avatar
      Manual merge. · aca1a83f
      Ramil Kalimullin authored
      aca1a83f
    • Ramil Kalimullin's avatar
      Auto-merge · eccad3f2
      Ramil Kalimullin authored
      eccad3f2
    • Ramil Kalimullin's avatar
      Fix for bug#35383: binlog playback and replication breaks · bce4c76a
      Ramil Kalimullin authored
      due to name_const substitution
      
      Problem:
      "In general, statements executed within a stored procedure
      are written to the binary log using the same rules that
      would apply were the statements to be executed in standalone
      fashion. Some special care is taken when logging procedure
      statements because statement execution within procedures
      is not quite the same as in non-procedure context".
      
      For example, each reference to a local variable in SP's
      statements is replaced by NAME_CONST(var_name, var_value).
      Queries like
      "CREATE TABLE ... SELECT FUNC(local_var ..."
      are logged as
      "CREATE TABLE ... SELECT FUNC(NAME_CONST("local_var", var_value) ..."
      that leads to differrent field names and
      might result in "Incorrect column name" if var_value is long enough.
      
      Fix: in 5.x we'll issue a warning in such a case.
      In 6.0 we should get rid of NAME_CONST().
      
      Note: this issue and change should be described in the documentation
      ("Binary Logging of Stored Programs").
      
      
      mysql-test/r/binlog.result:
        Fix for bug#35383: binlog playback and replication breaks
        due to name_const substitution
          - test result.
      mysql-test/t/binlog.test:
        Fix for bug#35383: binlog playback and replication breaks
        due to name_const substitution
          - test case.
      sql/sp_head.cc:
        Fix for bug#35383: binlog playback and replication breaks 
        due to name_const substitution
          - set thd->query_name_consts if there's NAME_CONST()
        substitution(s).
      sql/sql_parse.cc:
        Fix for bug#35383: binlog playback and replication breaks 
        due to name_const substitution
          - issue a warning if there's NAME_CONST() substitution and
        binary logging is on for "CREATE TABLE ... SELECT ...".
      bce4c76a
    • Tatiana A. Nurnberg's avatar
      Bug#43748: crash when non-super user tries to kill the replication threads · 4f5f7f35
      Tatiana A. Nurnberg authored
      manual merge. also adds test specific to 5.1+
      
      mysql-test/suite/rpl/r/rpl_temporary.result:
        show that a non-privileged user trying to
        kill system-threads no longer crashes the
        server. test in 5.1+ only.
      mysql-test/suite/rpl/t/rpl_temporary.test:
        show that a non-privileged user trying to
        kill system-threads no longer crashes the
        server. test in 5.1+ only.
      sql/sql_class.cc:
        manual merge
      sql/sql_class.h:
        manual merge
      sql/sql_parse.cc:
        manual merge
      4f5f7f35
    • Tatiana A. Nurnberg's avatar
      Bug#43748: crash when non-super user tries to kill the replication threads · e46c139d
      Tatiana A. Nurnberg authored
      Fine-tuning. Broke out comparison into method by
      suggestion of Davi. Clarified comments. Reverting
      test-case which I find too brittle; proper test
      case in 5.1+.
      e46c139d
    • Georgi Kodinov's avatar
      Bug#43748: crash when non-super user tries to kill the replication threads · 9536bd65
      Georgi Kodinov authored
      (Pushing for Azundris)
            
      We allow security-contexts with NULL users (for
      system-threads and for unauthenticated users).
      If a non-SUPER-user tried to KILL such a thread,
      we tried to compare the user-fields to see whether
      they owned that thread. Comparing against NULL was
      not a good idea.
            
      If KILLer does not have SUPER-privilege, we
      specifically check whether both KILLer and KILLee
      have a non-NULL user before testing for string-
      equality. If either is NULL, we reject the KILL.
      
      mysql-test/r/rpl_temporary.result:
        Try to have a non-SUPER user KILL a system thread.
      mysql-test/t/rpl_temporary.test:
        Try to have a non-SUPER user KILL a system thread.
      sql/sql_parse.cc:
        Make sure security contexts of both KILLer *and*
                KILLee are non-NULL before testing for string-equality!
      9536bd65
    • Andrei Elkin's avatar
      Bug#42977 RBR logs for rows with more than 250 column results in corrupt binlog · 67f9a6d1
      Andrei Elkin authored
                  
      The issue happened to be two-fold.
      The table map event was recorded into binlog having
      an incorrect size when number of columns exceeded 251. 
      The Row-based event had incorrect recording and restoring m_width member within
      the same as above conditions.
      
      Fixed with correcting m_data_size and m_width.
      
      
      mysql-test/suite/rpl/r/rpl_row_wide_table.result:
        the new test results.
      mysql-test/suite/rpl/t/rpl_row_wide_table.test:
        regression test for bug#42977.
      sql/log_event.cc:
        0. all buffers that used in net_store_length() are augmented with 1 for safety
        to be able to contain the magic and the content of ulonglong as well;
        1. Rows_log_event::get_data_size() yieled incorrect size |m_width/8| whereas 
           it should be m_width;
        2. Table_map_log_event::Table_map_log_event yieled incorrect value for
           `m_data_size' probably presuming 1-byte integer max for the column number;
      sql/rpl_utility.h:
        DBUG_PRINT_BITSET() macro is left 256-cols limited but has made safe and commented.
      67f9a6d1
    • Leonard Zhou's avatar
      Merge · 6c0abff9
      Leonard Zhou authored
      6c0abff9
    • Alexey Kopytov's avatar
    • Leonard Zhou's avatar
      Empty merge for fixing only in 5.0 · a47fa1c5
      Leonard Zhou authored
      a47fa1c5
    • Leonard Zhou's avatar
      Fix the test case error in PB. · 79ad0a2c
      Leonard Zhou authored
      79ad0a2c
    • Alexey Kopytov's avatar
      Fix for bug #43801: mysql.test takes too long, fails due to · d61ae816
      Alexey Kopytov authored
                          expired timeout on debx86-b in PB
      
      Turned off general log when importing DB dump in the test 
      case for bug #41486 due to the bug in CSV engine code that 
      makes logging long SQL query too slow.
      
      mysql-test/r/mysql-bug41486.result:
        Turned off general log when importing DB dump in the test 
        case for bug #41486 due to the bug in CSV engine code that 
        makes logging long SQL query too slow.
      mysql-test/t/mysql-bug41486.test:
        Turned off general log when importing DB dump in the test 
        case for bug #41486 due to the bug in CSV engine code that 
        makes logging long SQL query too slow.
      d61ae816
    • Leonard Zhou's avatar
      Fix test case erro in sles10-ia64-a. · a49b057d
      Leonard Zhou authored
      Reset master before next test.
      
      mysql-test/suite/rpl/r/rpl_timezone.result:
        Test result.
      mysql-test/suite/rpl/t/rpl_timezone.test:
        Reset master before next test.
      a49b057d
  8. 24 Mar, 2009 4 commits