1. 30 Apr, 2009 5 commits
  2. 29 Apr, 2009 1 commit
  3. 28 Apr, 2009 7 commits
    • Matthias Leich's avatar
      Merge latest changes into local GCA tree · a6a7a281
      Matthias Leich authored
      no conflicts
      a6a7a281
    • Matthias Leich's avatar
      Fix for Bug#43546 Several 5.0 tests do not pass MTR's --check option · 7cbc9173
      Matthias Leich authored
                        (moved from Bug 42308)
      
      Details:
      - insert_update
        Add DROP TABLE which was missing, error numbers -> names
      - varbinary
        Add DROP TABLE which was missing
      - sp_trans_log
        Add missing DROP function, improved formatting
      7cbc9173
    • Staale Smedseng's avatar
      Bug#35769 typo in mysqlhotcopy documentation · e773c1c6
      Staale Smedseng authored
            
      Fixed a number of typos, and made punctuation and
      capitalization more consistent in documentation
      and help.
      e773c1c6
    • Andrei Elkin's avatar
      Bug #38694 Race condition in replication thread shutdown · 1a1a0bbb
      Andrei Elkin authored
      The issue of the current bug is unguarded access to mi->slave_running 
      by the shutdown thread calling end_slave() that is bug#29968 
      (alas happened not to be cross-linked with the current bug)
      
      Fixed:
      
      with removing the unguarded read of the running status
      and perform reading it in terminate_slave_thread()
      at time run_lock is taken (mostly bug#29968 backporting, still with some
      improvements over that patch - see the error reporting from 
      terminate_slave_thread()).
      Issue of bug#38716 is fixed here for 5.0 branch as well.
      
      Note:
      
      There has been a separate artifact identified - 
      a race condition between init_slave() and  end_slave() - 
      reported as  Bug#44467.
      
      mysql-test/r/rpl_bug38694.result:
        a new results file is added.
      mysql-test/t/rpl_bug38694-slave.opt:
        simulating delay at slave threads shutdown.
      mysql-test/t/rpl_bug38694.test:
        A new test to check if a delay at the termination phase of slave threads
        could cause any issue.
      sql/slave.cc:
        The unguarded read of the running status is removed. Its reading is done in
        terminate_slave_thread() at time run_lock is taken;
        Calling terminate_slave_threads(skip_lock := !need_slave_mutex) in the failing branch of start_slave_threads() which is bug#38716 issue.
      sql/slave.h:
        removing terminate_slave_thread() out of the global interface scope.
      1a1a0bbb
    • Alexey Botchkov's avatar
      merging · 93d2da48
      Alexey Botchkov authored
      93d2da48
    • Alexey Botchkov's avatar
      Bug#38990 Arbitrary data input plus GIS functions causes mysql server crash · b3cf9cd9
      Alexey Botchkov authored
         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
      b3cf9cd9
    • Gleb Shchepa's avatar
      backport from 6.0: · 5e2fe847
      Gleb Shchepa authored
      Bug #40925: Equality propagation takes non indexed attribute
      
      Query execution plans and execution time of queries like
      
        select a, b, c from t1
          where a > '2008-11-21' and b = a limit 10
      
      depended on the order of equality operator parameters:
      "b = a" and "a = b" are not same. 
      
      
      An equality propagation algorithm has been fixed:
      the substitute_for_best_equal_field function should not
      substitute a field for an equal field if both fields belong
      to the same table.
      
      
      mysql-test/r/select.result:
        Added test case for bug #40925.
      mysql-test/t/select.test:
        Added test case for bug #40925.
      sql/item.cc:
        Bug #40925: Equality propagation takes non indexed attribute
        
        An equality propagation algorithm has been fixed:
        the substitute_for_best_equal_field function should not 
        substitute a field for an equal field if both fields belong
        to the same table.
      5e2fe847
  4. 24 Apr, 2009 5 commits
  5. 23 Apr, 2009 1 commit
  6. 21 Apr, 2009 1 commit
    • Sergey Vojtovich's avatar
      BUG#36966 - mysqldump.test fails in pushbuild · d7457701
      Sergey Vojtovich authored
      mysqldump.test is designed to run with concurrent inserts
      disabled. It is disabling concurrent inserts at the very
      beginning of the test case, and re-enables them at the
      bottom of the test. But for some reason (likely incorrect
      merge) we enable concurrent inserts in the middle of the test.
      
      The problem is fixed by enabling concurrent inserts only
      at the bottom of the test case.
      d7457701
  7. 17 Apr, 2009 2 commits
    • Georgi Kodinov's avatar
      Bug #35087: Inserting duplicate values at one time with DES_ENCRYPT leads · 731df24d
      Georgi Kodinov authored
        to wrong results
            
      3 problems found with DES_ENCRYPT/DES_DECRYPT :
      
      1. The max length was not calculated properly. Fixed in fix_length_and_dec()
      2. DES_ENCRYPT had a side effect of sometimes reallocating and changing 
      the value of its argument. Fixed by explicitly pre-allocating the necessary
      space to pad the argument with trailing '*' (stars) when calculating the 
      DES digest.
      3. in DES_ENCRYPT the string buffer for the result value was not 
      reallocated to the correct size and only string length was assigned to it. 
      Fixed by making sure there's enough space to hold the result.
      731df24d
    • Sergey Glukhov's avatar
      Bug#44151 using handler commands on information_schema tables crashes server · d6ee44b0
      Sergey Glukhov authored
      information schema tables are based on internal tmp tables which are removed
      after each statement execution. So HANDLER comands can not be used with
      information schema.
      
      
      mysql-test/r/handler.result:
        test result
      mysql-test/t/handler.test:
        test case
      sql/sql_handler.cc:
        information schema tables are based on internal tmp tables which are removed
        after each statement execution. So HANDLER comands can not be used with
        information schema.
      d6ee44b0
  8. 16 Apr, 2009 3 commits
  9. 14 Apr, 2009 1 commit
  10. 13 Apr, 2009 2 commits
  11. 09 Apr, 2009 6 commits
    • Luis Soares's avatar
      BUG#13684: SP: DROP PROCEDURE|FUNCTION IF EXISTS not binlogged if · d9c3f98b
      Luis Soares authored
      routine does not exist 
            
      There is an inconsistency with DROP DATABASE IF EXISTS, DROP TABLE IF
      EXISTS and DROP VIEW IF EXISTS: those are binlogged even if the DB or
      TABLE does not exist, whereas DROP PROCEDURE IF EXISTS does not. It
      would be nice or at least consistent if DROP PROCEDURE/STATEMENT
      worked the same too.
            
      Fixed DROP PROCEDURE|FUNCTION IF EXISTS by adding a call to
      mysql_bin_log.write in mysql_execute_command. Checked also if all 
      documented "DROP (...) IF EXISTS" get binlogged.
            
      NOTE: This is a 5.0 backport patch as requested by support.
      
      mysql-test/r/rpl_drop_if_exists.result:
        Result file for test case added.
      mysql-test/r/rpl_sp.result:
        Updated result file for existing test case that has now extra events in
        binary log (the ones from drop if exists procedure/function).
      mysql-test/t/rpl_drop_if_exists.test:
        Added test case for asserting validity of proposed patch.
      sql/sql_parse.cc:
        Added call mysql_bin_log.write when lex has drop_if_exists enabled for 
        stored procedures.
      d9c3f98b
    • Sergey Glukhov's avatar
      auotmerge · 70c6fa2d
      Sergey Glukhov authored
      70c6fa2d
    • Sergey Glukhov's avatar
      Bug#43833 Simple INSERT crashes the server · dd603b18
      Sergey Glukhov authored
      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.
      
      
      mysql-test/r/insert.result:
        test result
      mysql-test/t/insert.test:
        test case
      sql/field.cc:
        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.
      dd603b18
    • He Zhenxing's avatar
      8d30839c
    • Anurag Shekhar's avatar
      merging with 5.0-bugteam tree. · e9acb283
      Anurag Shekhar authored
      e9acb283
    • He Zhenxing's avatar
  12. 08 Apr, 2009 3 commits
    • He Zhenxing's avatar
      auto merge · bac93f8a
      He Zhenxing authored
      bac93f8a
    • Anurag Shekhar's avatar
      Bug #43950 myisamchk shows negative value for 'Max keyfile length' · 70eaf737
      Anurag Shekhar authored
      While printing the Max keyfile length 'llstr' call was used which 
      was treating the max_key_file_length as negative.
      
      Changing this to ullstr fixes the problem. 
      myisamchk output will differ in 32 bit and 64 bit Operating systems 
      so its not possible to have test case for this bug.
      
      
      myisam/myisamchk.c:
        Replaced llstr by ullstr, while converting 
        share->base.max_key_file_length-1 to string.
      70eaf737
    • He Zhenxing's avatar
      Auto merge · 78d40a97
      He Zhenxing authored
      78d40a97
  13. 07 Apr, 2009 2 commits
    • Satya B's avatar
      merge to latest 5.0-bugteam · 93cb3751
      Satya B authored
      93cb3751
    • Satya B's avatar
      Fix for Bug #43973 - backup_myisam.test fails on 6.0-bugteam · f9291794
      Satya B authored
            
      The test started failing following the push for BUG#41541.
      Some of the algorithms access bytes beyond the input data
      and this can affect up to one byte less than "word size"
      which is BITS_SAVED / 8. 
            
      Fixed by adding (BITS_SAVED / 8) -1 bytes to buffer size
      (i.e. Memory Segment #2) to avoid accessing un-allocated data.
      
      myisam/mi_packrec.c:
        Fixed _mi_read_pack_info() method to allocate (BITS_SAVED/8) - 1 
        bytes to the Memory Segment #2
      mysql-test/r/myisampack.result:
        Result file for BUG#43973
      mysql-test/t/myisampack.test:
        Testcase for BUG#43973
      f9291794
  14. 03 Apr, 2009 1 commit
    • Davi Arnaut's avatar
      Bug#43230: SELECT ... FOR UPDATE can hang with FLUSH TABLES WITH READ LOCK indefinitely · 8b3567d2
      Davi Arnaut authored
      The problem is that a SELECT .. FOR UPDATE statement might open
      a table and later wait for a impeding global read lock without
      noticing whether it is holding a table that is being waited upon
      the the flush phase of the process that took the global read
      lock.
      
      The same problem also affected the following statements:
      
      LOCK TABLES .. WRITE
      UPDATE .. SET (update and multi-table update)
      TRUNCATE TABLE ..
      LOAD DATA ..
      
      The solution is to make the above statements wait for a impending
      global read lock before opening the tables. If there is no
      impending global read lock, the statement raises a temporary
      protection against global read locks and progresses smoothly
      towards completion.
      
      Important notice: the patch does not try to address all possible
      cases, only those which are common and can be fixed unintrusively
      enough for 5.0.
      
      mysql-test/r/lock_multi.result:
        Add test case result for Bug#43230
      mysql-test/t/lock_multi.test:
        Add test case for Bug#43230
      sql/sql_lex.cc:
        Initialize flag.
      sql/sql_lex.h:
        Add a flag to the lexer.
      sql/sql_parse.cc:
        Wait for the global read lock is a write lock is going to be
        taken. The wait is done before opening tables.
      sql/sql_yacc.yy:
        Protect against the GRL if its a SELECT .. FOR UPDATE or LOCK TABLES
        .. WRITE statement.
      8b3567d2