1. 21 Jul, 2009 4 commits
    • MySQL Build Team's avatar
      Backport into build-200907211706-5.0.82sp1 · f6435cbf
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 2772
      > revision-id: joro@sun.com-20090615133815-eb007p5793in33p5
      > parent: joro@sun.com-20090612140659-4hj1tta9p8wvcw4k
      > committer: Georgi Kodinov <joro@sun.com>
      > branch nick: B44810-5.0-bugteam
      > timestamp: Mon 2009-06-15 16:38:15 +0300
      > message:
      >   Bug #44810: index merge and order by with low sort_buffer_size
      >   crashes server!
      >   
      >   The problem affects the scenario when index merge is followed by a filesort
      >   and the sort buffer is not big enough for all the sort keys.
      >   In this case the filesort function will read the data to the end through the 
      >   index merge quick access method (and thus closing the cursor etc), 
      >   but will leave the pointer to the quick select method in place.
      >   It will then create a temporary file to hold the results of the filesort and
      >   will add it as a sort output file (in sort.io_cache).
      >   Note that filesort will copy the original 'sort' structure in an automatic
      >   variable and restore it after it's done.
      >   As a result at exiting filesort() we have a sort.io_cache filled in and 
      >   nothing else (as a result of close of the cursors at end of reading data 
      >   through index merge).
      >   Now create_sort_index() will note that there is a select and will clean it up
      >   (as it's been used already by filesort() reading the data in). While doing that
      >   a special case in the index merge destructor will clean up the sort.io_cache,
      >   assuming it's an output of the index merge method and is not needed anymore.
      >   As a result the code that tries to read the data back from the filesort output 
      >   will get no data in both memory and disk and will crash.
      >         
      >   Fixed similarly to how filesort() does it : by copying the sort.io_cache structure
      >   to a local variable, removing the pointer to the io_cache (so that it's not freed 
      >   by QUICK_INDEX_MERGE_SELECT::~QUICK_INDEX_MERGE_SELECT) and restoring the original 
      >   structure (together with the valid pointer) after the cleanup is done.
      >   This is a safe thing to do because all the structures are already cleaned up by
      >   hitting the end of the index merge's read method (QUICK_INDEX_MERGE_SELECT::get_next()) 
      >   and the cleanup code being written in a way that tolerates repeating cleanups.
      f6435cbf
    • MySQL Build Team's avatar
      Backport into build-200907211706-5.0.82sp1 · ae238045
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 2763
      > revision-id: sergey.glukhov@sun.com-20090602063813-33mh88cz5vpa2jqe
      > parent: alexey.kopytov@sun.com-20090601124224-zgt3yov9wou590e9
      > committer: Sergey Glukhov <Sergey.Glukhov@sun.com>
      > branch nick: mysql-5.0-bugteam
      > timestamp: Tue 2009-06-02 11:38:13 +0500
      > message:
      >   Bug#45152 crash with round() function on longtext column in a derived table
      >   The crash happens due to wrong max_length value which is set on
      >   Item_func_round::fix_length_and_dec() stage. The value is set to
      >   args[0]->max_length which is too big in case of LONGTEXT(LONGBLOB) fields.
      >   The fix is to set max_length using float_length() function.
      ae238045
    • MySQL Build Team's avatar
      Backport into build-200907211706-5.0.82sp1 · ce72b2dd
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 2733
      > revision-id: gshchepa@mysql.com-20090430192037-9p1etcynkglte2j3
      > parent: aelkin@mysql.com-20090430143246-zfqaz0t7uoluzdz2
      > committer: Gleb Shchepa <gshchepa@mysql.com>
      > branch nick: mysql-5.0-bugteam
      > timestamp: Fri 2009-05-01 00:20:37 +0500
      > message:
      >   Bug #37362: Crash in do_field_eq
      >   
      >   EXPLAIN EXTENDED of nested query containing a error:
      >   
      >      1054 Unknown column '...' in 'field list'
      >   
      >   may cause a server crash.
      >   
      >   
      >   Parse error like described above forces a call to
      >   JOIN::destroy() on malformed subquery.
      >   That JOIN::destroy function closes and frees temporary
      >   tables. However, temporary fields of these tables
      >   may be listed in st_select_lex::group_list of outer
      >   query, and that st_select_lex may not cleanup them
      >   properly. So, after the JOIN::destroy call that
      >   st_select_lex::group_list may have Item_field
      >   objects with dangling pointers to freed temporary
      >   table Field objects. That caused a crash.
      ce72b2dd
    • unknown's avatar
      Set version number for mysql-5.0.82sp1 release · a5c7edf7
      unknown authored
      a5c7edf7
  2. 20 May, 2009 1 commit
  3. 07 May, 2009 1 commit
  4. 06 May, 2009 1 commit
  5. 05 May, 2009 2 commits
  6. 01 May, 2009 3 commits
  7. 30 Apr, 2009 5 commits
  8. 29 Apr, 2009 1 commit
  9. 28 Apr, 2009 7 commits
    • Matthias Leich's avatar
      Merge latest changes into local GCA tree · ae154dca
      Matthias Leich authored
      no conflicts
      ae154dca
    • Matthias Leich's avatar
      Fix for Bug#43546 Several 5.0 tests do not pass MTR's --check option · 2328f9b1
      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
      2328f9b1
    • Staale Smedseng's avatar
      Bug#35769 typo in mysqlhotcopy documentation · 9f04d270
      Staale Smedseng authored
            
      Fixed a number of typos, and made punctuation and
      capitalization more consistent in documentation
      and help.
      9f04d270
    • Andrei Elkin's avatar
      Bug #38694 Race condition in replication thread shutdown · d38e6263
      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.
      d38e6263
    • Alexey Botchkov's avatar
      merging · ddc9a195
      Alexey Botchkov authored
      ddc9a195
    • Alexey Botchkov's avatar
      Bug#38990 Arbitrary data input plus GIS functions causes mysql server crash · 620fb880
      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
      620fb880
    • Gleb Shchepa's avatar
      backport from 6.0: · def04705
      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.
      def04705
  10. 24 Apr, 2009 5 commits
  11. 23 Apr, 2009 1 commit
  12. 21 Apr, 2009 1 commit
    • Sergey Vojtovich's avatar
      BUG#36966 - mysqldump.test fails in pushbuild · f8b219ee
      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.
      f8b219ee
  13. 17 Apr, 2009 2 commits
    • Georgi Kodinov's avatar
      Bug #35087: Inserting duplicate values at one time with DES_ENCRYPT leads · 08044795
      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.
      08044795
    • Sergey Glukhov's avatar
      Bug#44151 using handler commands on information_schema tables crashes server · ff923cc8
      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.
      ff923cc8
  14. 16 Apr, 2009 4 commits
  15. 14 Apr, 2009 2 commits