1. 15 May, 2009 1 commit
    • Joerg Bruehe's avatar
      Fix a bad merge: · 4469f0d3
      Joerg Bruehe authored
      Remove a cast (which shouldn't have got here anyway)
      which might lose significant bits beyond 4 GB RAM.
      
      
      mysys/safemalloc.c:
        Vlad's comment to the cast:
          pointless cast from size_t to uint that loses
          significant bits, when safe_malloc allocates more than 4GB Ram.
          safemalloc is not used in release binaries,
          so it is not absolutely critical.
        
        It got into the sources by a wrong merge resolution.
      4469f0d3
  2. 14 May, 2009 1 commit
  3. 13 May, 2009 1 commit
    • Gleb Shchepa's avatar
      Bug #44290: explain crashes for subquery with distinct in · 585cf08f
      Gleb Shchepa authored
                  SQL_SELECT::test_quick_select
      
      The crash was caused by an incomplete cleanup of JOIN_TAB::select
      during the filesort of rows for GROUP BY clause inside a subquery.
      Queries where a quick index access is replaced with filesort was
      was affected. For example:
      
        SELECT 1 FROM
          (SELECT COUNT(DISTINCT c1) FROM t1
             WHERE c2 IN (1, 1) AND c3 = 2 GROUP BY c2) x
      
      Quick index access related data in the SQL_SELECT::test_quick_select
      function was inconsistent after an incomplete cleanup.
      This function has been completed to prevent crashes in the
      SQL_SELECT::test_quick_select function.
      
      
      mysql-test/include/mix1.inc:
        Add test case for bug #44290.
      mysql-test/r/innodb_mysql.result:
        Add test case for bug #44290.
      sql/sql_select.cc:
        Bug #44290: explain crashes for subquery with distinct in
                    SQL_SELECT::test_quick_select
        
        Quick index access related data in the SQL_SELECT::test_quick_select
        function was inconsistent after an incomplete cleanup.
        This function has been completed to prevent crashes in the
        SQL_SELECT::test_quick_select function.
      585cf08f
  4. 08 May, 2009 1 commit
    • Joerg Bruehe's avatar
      Merge main 5.1 into 5.1-build · d2fe2a71
      Joerg Bruehe authored
      165 changesets with 23 conflicts:
      Text conflict in mysql-test/r/lock_multi.result
      Text conflict in mysql-test/t/lock_multi.test
      Text conflict in mysql-test/t/mysqldump.test
      Text conflict in sql/item_strfunc.cc
      Text conflict in sql/log.cc
      Text conflict in sql/log_event.cc
      Text conflict in sql/parse_file.cc
      Text conflict in sql/slave.cc
      Text conflict in sql/sp.cc
      Text conflict in sql/sp_head.cc
      Text conflict in sql/sql_acl.cc
      Text conflict in sql/sql_base.cc
      Text conflict in sql/sql_class.cc
      Text conflict in sql/sql_crypt.cc
      Text conflict in sql/sql_db.cc
      Text conflict in sql/sql_lex.cc
      Text conflict in sql/sql_parse.cc
      Text conflict in sql/sql_select.cc
      Text conflict in sql/sql_table.cc
      Text conflict in sql/sql_view.cc
      Text conflict in storage/innobase/handler/ha_innodb.cc
      Text conflict in storage/myisam/mi_packrec.c
      Text conflict in tests/mysql_client_test.c
      
      Updates to Innobase, taken from main 5.1:
      bzr: ERROR: Some change isn't sane:
      File mysql-test/r/innodb-semi-consistent.result is owned by Innobase and should not be updated.
      File mysql-test/t/innodb-semi-consistent.test is owned by Innobase and should not be updated.
      File storage/innobase/handler/ha_innodb.cc is owned by Innobase and should not be updated.
      File storage/innobase/ibuf/ibuf0ibuf.c is owned by Innobase and should not be updated.
      File storage/innobase/include/row0mysql.h is owned by Innobase and should not be updated.
      File storage/innobase/include/srv0srv.h is owned by Innobase and should not be updated.
      File storage/innobase/include/trx0trx.h is owned by Innobase and should not be updated.
      File storage/innobase/include/trx0trx.ic is owned by Innobase and should not be updated.
      File storage/innobase/lock/lock0lock.c is owned by Innobase and should not be updated.
      File storage/innobase/page/page0cur.c is owned by Innobase and should not be updated.
      File storage/innobase/row/row0mysql.c is owned by Innobase and should not be updated.
      File storage/innobase/row/row0sel.c is owned by Innobase and should not be updated.
      File storage/innobase/srv/srv0srv.c is owned by Innobase and should not be updated.
      File storage/innobase/trx/trx0trx.c is owned by Innobase and should not be updated.
      (Set env var 'ALLOW_UPDATE_INNOBASE_OWNED' to override.)
      d2fe2a71
  5. 05 May, 2009 3 commits
  6. 04 May, 2009 1 commit
  7. 30 Apr, 2009 23 commits
  8. 29 Apr, 2009 9 commits
    • Martin Hansson's avatar
      merge · 4ba05b50
      Martin Hansson authored
      4ba05b50
    • Vladislav Vaintroub's avatar
      merge · fbc38120
      Vladislav Vaintroub authored
      fbc38120
    • Martin Hansson's avatar
      Bug#43737: Select query return bad result · 45cbd326
      Martin Hansson authored
            
      A bug in the initialization of key segment information made it point
      to the wrong bit, since a bit index was used when its int value
      was needed. This lead to misinterpretation of bit columns
      read from MyISAM record format when a NULL bit pushed them over
      a byte boundary.
      Fixed by using the int value of the bit instead.
      
      
      mysql-test/r/myisam.result:
        Bug#43737: Test result.
      mysql-test/t/myisam.test:
        Bug#43737: Test case.
      storage/myisam/mi_open.c:
        Bug#43737: fix.
      45cbd326
    • Vladislav Vaintroub's avatar
      Bug#43932 myisam index corruption with large index and large · 73d3be94
      Vladislav Vaintroub authored
      key_buffer_size.
      
      The cause of corruption was number overflow when multiplying 
      two ulong values, number of used keycache blocks with size
      of a single block. The result of multiplication exceeded ulong 
      range (4G) and this lead to incorrectly calculated  buffer offset
      in the key cache.
      
      The fix is to use size_t for multiplication result.
      
      This patch also fixes pointless cast in safemalloc 
      (size of allocated block to uint), that creates lot of false
      alarm warnings when using big keycache (> 4GB) in debug mode.
      73d3be94
    • Narayanan V's avatar
      Bug#44337 Select query using index merge fails with MCH3601 · 70f53b1a
      Narayanan V authored
      The storage engine was not correctly handling the case in 
      which rnd_pos is executed for a handler without a preceding
      rnd_next or index read operation. As a result, an unitialized
      file handle was sometimes being passed to the QMY_READ API.
      
      The fix clears the rrnAssocHandle at the beginning of each
      read operation and then checks to see whether it has been
      set to a valid handle value before attempting to use it
      in rnd_pos. If rrnAssocHandle has not been set by a previous
      read operation, rnd_pos instead falls back to the use of the
      currently active handle.
      
      storage/ibmdb2i/ha_ibmdb2i.cc:
        Bug#44337 Select query using index merge fails with MCH3601
        
        - clear the rrnAssocHandle at the beginning of each
          read operation 
        - checks to see whether it has been set to a valid
          handle value before attempting to use it in rnd_pos
      70f53b1a
    • Alexey Botchkov's avatar
      merging · e7c4b2df
      Alexey Botchkov authored
      e7c4b2df
    • Alexey Botchkov's avatar
      merging · eed92880
      Alexey Botchkov authored
      eed92880
    • Alexey Botchkov's avatar
      merging · c471896f
      Alexey Botchkov authored
      c471896f
    • Alexey Botchkov's avatar
      merging · 0e88c805
      Alexey Botchkov authored
      0e88c805