1. 08 Aug, 2008 2 commits
  2. 31 Jul, 2008 4 commits
    • Timothy Smith's avatar
      NULL MERGE of innodb-5.0-ss2475 snapshot cherry-pick (bugs: 34286, 35352, 36600) · 00940891
      Timothy Smith authored
      These changes, where applicable, are available in 5.1-specific snapshots for MySQL 5.1+.
      00940891
    • Timothy Smith's avatar
      Cherry-pick InnoDB fixes for Bug#34286, Bug#35352, and Bug#36600 from snapshot · dc593c3e
      Timothy Smith authored
      innodb-5.0-ss2475.
      
      Bug #34286  Assertion failure in thread 2816 in file .\row\row0sel.c line 3500
      Since autoinc init performs a MySQL SELECT query to determine the auto-inc
      value, set prebuilt->sql_stat_start = TRUE so that it is performed like any
      normal SELECT, regardless of the context in which it was invoked.
      
      
      Bug #35352  If InnoDB crashes with UNDO slots full error the error persists on restart
      We've added a heuristic that checks the size of the UNDO slots cache lists
      (insert and upate). If either of cached lists has more than 500 entries then we
      add any UNDO slots that are freed, to the common free list instead of the cache
      list, this is to avoid the case where all the free slots end up in only one of
      the lists on startup after a crash.
      
      Tested with test case for 26590 and passes all mysql-test(s).
      
      Bug #36600  SHOW STATUS takes a lot of CPU in buf_get_latched_pages_number
      Fixed by removing the Innodb_buffer_pool_pages_latched variable from SHOW
      STATUS output in non-UNIV_DEBUG compilation.
      
      dc593c3e
    • Georgi Kodinov's avatar
      a3cd2e2d
    • Georgi Kodinov's avatar
      Bug#34159: mysql_install_db fails with sql_mode=TRADITIONAL · b1915525
      Georgi Kodinov authored
            
      Reset session sql_mode before creating system tables as it
      is done in the mysql_fix_privilege_tables.sql script.
      
      scripts/mysql_system_tables.sql:
        reset sql mode
      b1915525
  3. 30 Jul, 2008 1 commit
    • Georgi Kodinov's avatar
      Bug#37662 nested if() inside sum() is parsed in exponential time · ae4a35fd
      Georgi Kodinov authored
            
      min() and max() functions are implemented in MySQL as macros.
      This means that max(a,b) is expanded to: ((a) > (b) ? (a) : (b))
      Note how 'a' is quoted two times.
      Now imagine 'a' is a recursive function call that's several 10s of levels deep.
      And the recursive function does max() with a function arg as well to dive into
      recursion.
      This means that simple function call can take most of the clock time.
      Identified and fixed several such calls to max()/min() : including the IF() 
      sql function implementation.
      
      mysql-test/r/func_if.result:
        Bug#37662 test case
      mysql-test/t/func_if.test:
        Bug#37662 test case
      sql/item.cc:
        Bug#37662 don't call expensive functions as arguments to min/max
      sql/item_cmpfunc.cc:
        Bug#37662 don't call expensive functions as arguments to min/max
      sql/item_func.cc:
        Bug#37662 don't call expensive functions as arguments to min/max
      ae4a35fd
  4. 29 Jul, 2008 1 commit
  5. 28 Jul, 2008 1 commit
  6. 26 Jul, 2008 1 commit
    • Igor Babaev's avatar
      Fixed bug #38191. · b6e3a9e2
      Igor Babaev authored
      Calling List<Cached_item>::delete_elements for the same list twice
      caused a crash of the server in the function JOIN::cleaunup.
      Ensured that delete_elements() in JOIN::cleanup would be called only once.
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #38191.
      mysql-test/t/subselect.test:
        Added a test case for bug #38191.
      sql/sql_select.cc:
        Fixed bug #38191.
        Ensured that delete_elements() in JOIN::cleanup would be called only once.
      b6e3a9e2
  7. 25 Jul, 2008 4 commits
  8. 24 Jul, 2008 5 commits
  9. 23 Jul, 2008 5 commits
    • Sven Sandberg's avatar
      BUG#37733: rpl.rpl_flushlog_loop 'row' fails sporadically on pushbuild · d8c838c2
      Sven Sandberg authored
      BUG#37884: rpl_row_basic_2myisam and rpl_row_basic_3innodb fail sporadically in pushbuild
      These have been fixed in 5.1-rpl. Re-applying fix for BUG#37884
      in 5.1-bugteam, and disabling rpl_flushlog_loop for BUG#37733 in
      5.1-bugteam.
      
      
      mysql-test/extra/rpl_tests/rpl_row_basic.test:
        Missing sync_slave_with_master added.
      mysql-test/suite/rpl/t/disabled.def:
        Disabling rpl_flushlog_loop until the fixed version gets
        merged from 5.1-rpl
      d8c838c2
    • Horst Hunger's avatar
    • Georgi Kodinov's avatar
      Bug#37830 : ORDER BY ASC/DESC - no difference · dd85aa78
      Georgi Kodinov authored
                        
      Range scan in descending order for c <= <col> <= c type of
      ranges was ignoring the DESC flag.
      However some engines like InnoDB have the primary key parts 
      as a suffix for every secondary key.
      When such primary key suffix is used for ordering ignoring 
      the DESC is not valid.
      But we generally would like to do this because it's faster.
                  
      Fixed by performing only reverse scan if the primary key is used.
      Removed some dead code in the process.
      
      mysql-test/r/innodb_mysql.result:
        Bug#37830 : test case
      mysql-test/t/innodb_mysql.test:
        Bug#37830 : test case
      sql/opt_range.cc:
        Bug#37830 : 
        - preserve and use used_key_parts to
          distinguish when a primary key suffix is used
        - removed some dead code
      sql/opt_range.h:
        Bug#37830 : 
        - preserve used_key_parts
        - dead code removed
      sql/sql_select.cc:
        Bug#37830 : Do only reverse order traversal
        if the primary key suffix is used.
      dd85aa78
    • Horst Hunger's avatar
      cbbe2afd
    • Horst Hunger's avatar
      merge from parent · 75258f31
      Horst Hunger authored
      75258f31
  10. 22 Jul, 2008 16 commits