1. 10 Feb, 2009 1 commit
  2. 28 Jan, 2009 1 commit
    • Alexey Kopytov's avatar
      Fix for bug #21205: Different number of digits for float/double/real in --ps-protocol · a0194637
      Alexey Kopytov authored
      Various parts of code used different 'precision' arguments for sprintf("%g") when converting
      floating point numbers to a string. This led to differences in results in some cases 
      depending on whether the text-based or prepared statements protocol is used for a query.
      
      Fixed by changing arguments to sprintf("%g") to always be 15 (DBL_DIG) so that results are
      consistent regardless of the protocol.
      
      This patch will be null-merged to 6.0 as the problem does not exists there (fixed by the
      patch for WL#2934).
      
      client/sql_string.cc:
        Use 15 (DBL_DIG) as a precision argument for sprintf(), as Field_double::val_str() does.
      libmysql/libmysql.c:
        Use 15 (DBL_DIG) as a precision argument for sprintf(), as Field_double::val_str() does.
      mysql-test/r/archive_gis.result:
        Fixed test results to take additional precision into account.
      mysql-test/r/func_group.result:
        Fixed test results to take additional precision into account.
      mysql-test/r/func_math.result:
        Fixed test results to take additional precision into account.
      mysql-test/r/func_str.result:
        Fixed test results to take additional precision into account.
      mysql-test/r/gis.result:
        Fixed test results to take additional precision into account.
      mysql-test/r/innodb_gis.result:
        Fixed test results to take additional precision into account.
      mysql-test/r/select.result:
        Fixed test results to take additional precision into account.
      mysql-test/r/sp.result:
        Fixed test results to take additional precision into account.
      mysql-test/r/type_float.result:
        Fixed test results to take additional precision into account.
      mysql-test/t/type_float.test:
        Fixed test results to take additional precision into account.
      sql/sql_string.cc:
        Use 15 (DBL_DIG) as a precision argument for sprintf(), as Field_double::val_str() does.
      a0194637
  3. 27 Jan, 2009 1 commit
    • Alfranio Correia's avatar
      BUG#36391: "mysqlbinlog creates invalid charset statements" · 0888d7c0
      Alfranio Correia authored
            
      The fix for BUG#20103 "Escaping with backslash does not work as expected"
      was implemented too greedy though in that it not only changes the behavior
      of backslashes within strings but in general, so disabling command shortcuts
      like \G or \C (which in turn leads to Bug #36391: "mysqlbinlog creates invalid charset
      statements").
            
      The fix allows the escaping with backslash to take place only inside a string, 
      thus enabling the execution of command shortcuts and presevering the fix for
      BUG#20103.
      0888d7c0
  4. 26 Jan, 2009 2 commits
    • Chad MILLER's avatar
      Merge fix for bug 38145 from 5.0. · 34dabc06
      Chad MILLER authored
      34dabc06
    • Ramil Kalimullin's avatar
      Fix for bug #37756: enabling fulltext indexes with · 80fe6268
      Ramil Kalimullin authored
        myisam_repair_threads > 1 causes crash
      
      Problem: parallel repair (myisam_repair_threads > 1) of a myisam
      table with two or more fulltext keys that use the same parser may
      lead to a server crash. ALTER TABLE ENABLE KEYS is affected as well.
      
      Fix: properly initialize fulltext structures for parallel repair.
      
      Note: 1. there's no deterministic test case.
      2. now we call parser->init() for each fulltext key
      (not for each fulltext parser used).
      
      
      storage/myisam/ft_parser.c:
        Fix for bug #37756: enabling fulltext indexes with
          myisam_repair_threads > 1 causes crash
        
        In ftparser_call_initializer() we "group" parsers
        and allocate parameters for each unique parser used.
        In case of parallel repairing we may have a bunch
        of parsers that use the only MI_INFO structure.
        Each of these parsers must have its own parameter
        structure in order not to interfere with others.
        
        Moreover, the allocation is done without mutex
        lock so parallel ftparser_call_initializer() calls
        are unsafe.
        
        Now we don't "group" the fulltext parsers.
        Parameter allocation code moved to ftparser_alloc_param()
        function which is called from mi_repair_parallel() as well
        to allocate parameters for each parser used.
      storage/myisam/ftdefs.h:
        Fix for bug #37756: enabling fulltext indexes with
          myisam_repair_threads > 1 causes crash
        
        ftparser_alloc_param(MI_INFO *info) added.
      storage/myisam/mi_check.c:
        Fix for bug #37756: enabling fulltext indexes with
          myisam_repair_threads > 1 causes crash
        
        ftparser_alloc_param(info) called in case of parallel
        repair to allocate fulltext parser parameters.
      storage/myisam/mi_open.c:
        Fix for bug #37756: enabling fulltext indexes with
          myisam_repair_threads > 1 causes crash
        
        set keyinfo->ftkey_nr and share->ftkeys.
      80fe6268
  5. 24 Jan, 2009 1 commit
  6. 23 Jan, 2009 6 commits
    • Horst Hunger's avatar
      due to merge · 02c57a12
      Horst Hunger authored
      02c57a12
    • Horst Hunger's avatar
      due to merge. · 2775f867
      Horst Hunger authored
      2775f867
    • Gleb Shchepa's avatar
      Bug#42188: crash and/or memory corruption with user variables · 93991b6b
      Gleb Shchepa authored
                 in trigger
      
      Interchangeable calls to the mysql_change_user client function
      and invocations of a trigger changing some user variable caused
      a memory corruption and a crash.
      
      The mysql_change_user API call forces TDH::cleanup() on a server
      that frees user variable entries.
      However it didn't reset Item_func_set_user_var::entry to NULL
      because Item_func_set_user_var::cleanup() was not overloaded.
      So, Item_func_set_user_var::entry held a pointer to freed memory,
      that caused a crash.
      
      The Item_func_set_user_var::cleanup method has been overloaded
      to cleanup the Item_func_set_user_var::entry field.
      
      
      mysql-test/r/user_var.result:
        Added test case for bug #42188.
      mysql-test/t/user_var.test:
        Added test case for bug #42188.
      sql/item_func.cc:
        Bug#42188: crash and/or memory corruption with user variables
                   in trigger
        
        The Item_func_set_user_var::cleanup method has been overloaded
        to cleanup the Item_func_set_user_var::entry field.
      sql/item_func.h:
        Bug#42188: crash and/or memory corruption with user variables
                   in trigger
        
        The Item_func_set_user_var::cleanup method has been overloaded
        to cleanup the Item_func_set_user_var::entry field.
      93991b6b
    • Horst Hunger's avatar
      Fix for bug#39108: Set global wait timeout within the test, not more via opt file. · d5741428
      Horst Hunger authored
      Deleted the opt file. Replaced the sleeps by wait condition. Made some beautyfications.
      Inserted review results.   
      d5741428
    • Andrei Elkin's avatar
      Bug #31240 load data infile replication between (4.0 or 4.1) and 5.1 fails · db337eb8
      Andrei Elkin authored
      an additional changeset to remove printing a path name.
      
      mysql-test/suite/rpl/r/rpl_cross_version.result:
        removing a local exec env dependency
      mysql-test/suite/rpl/t/rpl_cross_version.test:
        refining a test to not have local exec env dependency.
      db337eb8
    • Andrei Elkin's avatar
      merge from 5.1-bt to a local tree. · 00ca9099
      Andrei Elkin authored
      00ca9099
  7. 22 Jan, 2009 5 commits
    • Andrei Elkin's avatar
      Bug #31240 load data infile replication between (4.0 or 4.1) and 5.1 fails · 8c3389f3
      Andrei Elkin authored
      It's a regression issue.
      The reason of the bug appeared to be an error introduced into 5.1 source code.
      A piece of code in Create_file_log_event::do_apply_event() did not have test
      coverage which made make test and pb unaware.
            
      Fixed with inverting the old value of the return value from 
      Create_file_log_event::do_apply_event().
      The rpl test suite is extended with `rpl_cross_version' the file to hold 
      regression cases similar to the current.
      
      
      mysql-test/suite/rpl/r/rpl_cross_version.result:
        new results file
      mysql-test/suite/rpl/t/rpl_cross_version-master.opt:
        options to the server to be able to start replication to itself
      mysql-test/suite/rpl/t/rpl_cross_version.test:
        regression test for bug#31240.
      sql/log_event.cc:
        Correcting the return value from  Create_file_log_event::do_apply_event()
      8c3389f3
    • Satya B's avatar
      updating to the latest bugteam-5.1 branch · 2e3422fa
      Satya B authored
      2e3422fa
    • Davi Arnaut's avatar
      Merge test case of Bug#40264 to mysql-5.1-bugteam · 6157433b
      Davi Arnaut authored
      sql/sql_cache.cc:
        Assert that results are always complete.
      6157433b
    • Davi Arnaut's avatar
      Bug#40264: Aborted cached query causes query to hang indefinitely on next cache hit · ecfdc356
      Davi Arnaut authored
      The problem is that the query cache was storing partial results
      if the statement failed when sending the results to the client.
      This could cause clients to hang when trying to read the results
      from the cache as they would, for example, wait indefinitely for
      a eof packet that wasn't saved.
      
      The solution is to always discard the caching of a query that
      failed to send its results to the associated client.
      
      mysql-test/r/query_cache_notembedded.result:
        Add test case result for Bug#40264
      mysql-test/t/query_cache_notembedded.test:
        Add test case for Bug#40264
      sql/sql_cache.cc:
        Abort if a unreported error was raised.
      ecfdc356
    • Satya B's avatar
      TestCase for BUG#41574 - REPAIR TABLE: crashes for compressed tables · 4a3e9851
      Satya B authored
      Extending the existing testcase written for BUG#40949 to verify
      repair table operation for compressed tables
      
      
      
      mysql-test/r/myisampack.result:
        Modified result file for myisampack.test
      mysql-test/t/myisampack.test:
        Modified Testcase to test repair operation for compressed tables
      4a3e9851
  8. 21 Jan, 2009 1 commit
  9. 20 Jan, 2009 1 commit
  10. 16 Jan, 2009 10 commits
  11. 15 Jan, 2009 11 commits