1. 24 Jun, 2009 4 commits
    • 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 6 commits
    • Alexey Kopytov's avatar
      Automerge. · a7c28680
      Alexey Kopytov authored
      a7c28680
    • Alexey Kopytov's avatar
      Automerge. · ed559715
      Alexey Kopytov authored
      ed559715
    • Alexey Kopytov's avatar
      Automerge. · 50849529
      Alexey Kopytov authored
      50849529
    • Alexey Kopytov's avatar
      Manuel merge. · 938f0948
      Alexey Kopytov authored
      938f0948
    • Alexey Kopytov's avatar
      Fix for bug #43801: mysql.test takes too long, fails due to · 8d4d3e13
      Alexey Kopytov authored
                          expired timeout on debx86-b in PB 
      
      Moved the resource-intensive test case for bug #41486 into 
      a separate test file to reduce execution time for mysql.test. 
      
      
      mysql-test/include/wait_until_disconnected.inc:
        Used in mysql-bug41486.test.
      mysql-test/r/mysql-bug41486.result:
        Moved the resource-intensive test case for bug #41486 into 
        a separate test file to reduce execution time for mysql.test.
      mysql-test/r/mysql.result:
        Moved the resource-intensive test case for bug #41486 into 
        a separate test file to reduce execution time for mysql.test.
      mysql-test/t/mysql-bug41486.test:
        Moved the resource-intensive test case for bug #41486 into 
        a separate test file to reduce execution time for mysql.test.
      mysql-test/t/mysql.test:
        Moved the resource-intensive test case for bug #41486 into 
        a separate test file to reduce execution time for mysql.test.
      8d4d3e13
    • Luis Soares's avatar
      BUG#39701: Mixed binlog format does not switch to row mode on · ed1e9d21
      Luis Soares authored
      LOAD_FILE
                  
      LOAD_FILE is not safe to replicate in STATEMENT mode, because it
      depends on a file (which is loaded on master and may not exist in
      slave(s)). This leads to scenarios on which the slave replicates the
      statement with 'load_file' and it will try to load the file from local
      file system. Given that the file may not exist in the slave filesystem
      the operation will not succeed (probably returning NULL), causing
      master and slave(s) to diverge. However, when using MIXED mode
      replication, this can be made to work, if the statement including
      LOAD_FILE is marked as unsafe, triggering a switch to ROW mode,
      meaning that the contents of the file are written to binlog as row
      events. Consequently, the contents from the file in the master will
      reach the slave via the binlog.
                 
      This patch addresses this bug by marking the load_file function as
      unsafe. When in mixed mode and when LOAD_FILE is issued, there will be
      a switch to row mode. Furthermore, when in statement mode, the
      LOAD_FILE will raise a warning that the statement is unsafe in that
      mode.
      
      
      mysql-test/extra/rpl_tests/rpl_loadfile.test:
        Extra file that is "sourced" on both rpl_loadfile and rpl_stm_loadfile
        test files.
      mysql-test/suite/rpl/r/rpl_loadfile.result:
        Updated with the results from the test case added to this file.
      mysql-test/suite/rpl/r/rpl_stm_loadfile.result:
        Result file for rpl_loadfile test split with the warnings in statement
        mode.
      mysql-test/suite/rpl/t/rpl_loadfile.test:
        After splitting the original rpl_loadfile file, this one is only 
        required to be executed in mixed or row format.
        Appended the test for 39701 to this file.
      mysql-test/suite/rpl/t/rpl_stm_loadfile.test:
        Split the original rpl_loadfile test because load_file now raises
        a warning when in statement mode. The goal of this split is 
        two-fold: i) make the test case more resilient; ii) assert that 
        warnings are indeed raised when in statement mode.
      sql/item_create.cc:
        Added the set_stmt_unsafe call to lex.
      ed1e9d21