1. 26 Feb, 2010 3 commits
    • Andrei Elkin's avatar
      merging fixes of bug@51089 to 5.1-bt · 9adb2241
      Andrei Elkin authored
      9adb2241
    • Evgeny Potemkin's avatar
      Auto-merged fox for the bug#50843. · 6025d0ba
      Evgeny Potemkin authored
      6025d0ba
    • Evgeny Potemkin's avatar
      Bug#50843: Filesort used instead of clustered index led to · 2d4db52e
      Evgeny Potemkin authored
      performance degradation.
      
      Filesort + join cache combination is preferred to full index scan because it
      is usually faster. But it's not the case when the index is clustered one.
      
      Now test_if_skip_sort_order function prefers filesort only if index isn't
      clustered.
      
      mysql-test/r/innodb_mysql.result:
        Added a test case for the bug#50843.
      mysql-test/t/innodb_mysql.test:
        Added a test case for the bug#50843.
      sql/sql_select.cc:
        Bug#50843: Filesort used instead of clustered index led to
        performance degradation.
        Now test_if_skip_sort_order function prefers filesort only if index isn't
        clustered.
      2d4db52e
  2. 25 Feb, 2010 6 commits
    • Gleb Shchepa's avatar
      Bug #45360: wrong results · 936ed6ca
      Gleb Shchepa authored
      Propagation of a large unsigned numeric constant
      in the WHERE expression led to wrong result.
      
      For example,
      "WHERE a = CAST(0xFFFFFFFFFFFFFFFF AS USIGNED) AND FOO(a)",
      where a is an UNSIGNED BIGINT, and FOO() accepts strings,
      was transformed to "... AND FOO('-1')".
      
      That has been fixed.
      
      Also EXPLAIN EXTENDED printed incorrect numeric constants in
      transformed WHERE expressions like above. That has been
      fixed too.
      
      
      mysql-test/r/bigint.result:
        Added test case for bug #45360.
      mysql-test/t/bigint.test:
        Added test case for bug #45360.
      sql/item.cc:
        Bug #45360: wrong results
        
        As far as Item_int_with_ref (and underlaying Item_int)
        class accepts both signed and unsigned 64bit values,
        Item_int::val_str and Item_int::print methods have been
        modified to take into account unsigned_flag.
      936ed6ca
    • Alexey Kopytov's avatar
      Automerge. · 1935327e
      Alexey Kopytov authored
      1935327e
    • Alexey Kopytov's avatar
      Bug #50335: Assertion `!(order->used & map)' in eq_ref_table · 9201bff1
      Alexey Kopytov authored
       
      The problem was in an incorrect debug assertion. The expression 
      used in the failing assertion states that when finding 
      references matching ORDER BY expressions, there can be only one 
      reference to a single table. But that does not make any sense, 
      all test cases for this bug are valid examples with multiple 
      identical WHERE expressions referencing the same table which
      are also present in the ORDER BY list. 
       
      Fixed by removing the failing assertion. We also have to take 
      care of the 'found' counter so that we count multiple 
      references only once. We rely on this fact later in 
      eq_ref_table(). 
      
      mysql-test/r/join.result:
        Added a test case for bug #50335.
      mysql-test/t/join.test:
        Added a test case for bug #50335.
      sql/sql_select.cc:
        Removing the assertion in eq_ref_table() as it does not make
        any sense. We also have to take care of the 'found' counter so 
        that we count multiple references only once. We rely on this 
        fact later in eq_ref_table().
      9201bff1
    • Georgi Kodinov's avatar
      merge · 6b6c2635
      Georgi Kodinov authored
      6b6c2635
    • Georgi Kodinov's avatar
      e3d0b6d7
    • Andrei Elkin's avatar
      Bug #51089 SHOW STATUS LIKE 'Slave_running' is not compatible with `SHOW SLAVE STATUS' · 9a29bd54
      Andrei Elkin authored
      backporting of bug@30703 to 5.1.
      The fixes are backed up with a regression test.
      
      
      
      mysql-test/include/test_fieldsize.inc:
        waiting to stop is to be actually exclusively for SQL thread.
      mysql-test/suite/rpl/r/rpl_show_slave_running.result:
        new results file is added.
      mysql-test/suite/rpl/t/rpl_show_slave_running.test:
        regression test for bug#30703 is added.
      sql/mysqld.cc:
        refining `show status like slave_running' handler to correspond to one of
        `show slave status'.
      sql/slave.cc:
        A dbug-sync point is added to complement the regression test.
      9a29bd54
  3. 23 Feb, 2010 2 commits
    • Magne Mahre's avatar
      Clean-up in the sys_vars test suite after · 6f78ef71
      Magne Mahre authored
      WL#5154 and WL5182
      
      Two result files in the sys_vars suite wasn't 
      properly updated after the change in
      deprecation text
      
      6f78ef71
    • Magne Mahre's avatar
      Revert of a change introduced by Bug#47974 · 710d5710
      Magne Mahre authored
      "TYPE=storage_engine" is deprecated, and will be removed
      in the Celosia release of MySQL.  Since the option is
      present in the Betony release and the version number of
      Celosia is still not decided, we need to bump the
      deprecation version number back up to "6.0".
      710d5710
  4. 22 Feb, 2010 8 commits
  5. 20 Feb, 2010 2 commits
  6. 19 Feb, 2010 3 commits
    • Tatiana A. Nurnberg's avatar
      manual merge · 60a114d8
      Tatiana A. Nurnberg authored
      60a114d8
    • Tatiana A. Nurnberg's avatar
      Bug#49487: crash with explain extended and group_concat in a derived table · 1fc1f462
      Tatiana A. Nurnberg authored
      When EXPLAIN EXTENDED tries to print column names, it checks whether the
      referenced table is CONST (in which case, the column's value rather than
      its name will be printed). If no proper table is reference (i.e. because
      a derived table was used that has since gone out of scope), this will fail
      spectacularly.
      
      This ports an equivalent of the fix for Bug 43354.
      
      mysql-test/r/func_gconcat.result:
        Show that EXPLAIN EXTENDED on a GROUP_CONCAT() on a derived table
        no longer crashes the server.
      mysql-test/t/func_gconcat.test:
        Show that EXPLAIN EXTENDED on a GROUP_CONCAT() on a derived table
        no longer crashes the server.
      sql/item_sum.cc:
        Do not de-ref what cannot be, that is, temp-tables that have gone away.
        This is of questionable utility anyway, since our deref has the sole
        purpose of checking whether the table is const (in which case, we'll
        substitute the column with its value in EXPLAIN EXTENDED - that is all).
      1fc1f462
    • Bjorn Munch's avatar
  7. 18 Feb, 2010 2 commits
    • Tatiana A. Nurnberg's avatar
      Bug#48525: trigger changes "Column 'id' cannot be null" behaviour · e0fbc5d2
      Tatiana A. Nurnberg authored
      CHECK_FIELD_IGNORE was treated as CHECK_FIELD_ERROR_FOR_NULL;
      UPDATE...SET...NULL on NOT NULL fields behaved differently after
      a trigger.
      
      Now distinguishes between IGNORE and ERROR_FOR_NULL and save/restores
      check-field options.
      
      mysql-test/r/trigger.result:
        Show that UPDATE...SET...NULL on NOT NULL columns doesn't behave differently
        when run after a trigger.
      mysql-test/t/trigger.test:
        Show that UPDATE...SET...NULL on NOT NULL columns doesn't behave differently
        when run after a trigger.
      sql/field_conv.cc:
        CHECK_FIELD_IGNORE was treated as CHECK_FIELD_ERROR_FOR_NULL.
        Distinguish between the two.
      sql/sp_head.cc:
        raise error as needed
      sql/sql_class.cc:
        Save and restore check-fields options.
      sql/sql_class.h:
        Make room so we can save check-fields options.
      sql/sql_insert.cc:
        raise error as needed
      e0fbc5d2
    • Georgi Kodinov's avatar
      Bug #51049: main.bug39022 fails in mysql-trunk-merge · 20dfd709
      Georgi Kodinov authored
      Fixed the test to behave correctly with ps-protocol
      and binlog format row.
      20dfd709
  8. 17 Feb, 2010 9 commits
  9. 16 Feb, 2010 4 commits
    • Mattias Jonsson's avatar
      post push fix for bug#42438, did not compile on non debug, · 6cb7abe6
      Mattias Jonsson authored
      due to ifdef of include file
      
      sql/sql_table.cc:
        removed if defined since DEBUG_SYNC macro is defined in that
        include file.
      6cb7abe6
    • Sergey Glukhov's avatar
      automerge · b6d36087
      Sergey Glukhov authored
      b6d36087
    • Sergey Glukhov's avatar
      Bug#50591 bit(31) causes Duplicate entry '1-NULL' for key 'group_key' · 82e2d858
      Sergey Glukhov authored
      The problem is that during temporary table creation uneven bits
      are not taken into account for hidden fields. It leads to incorrect
      calculation&allocation of null bytes size for table record. And
      if grouped value is null we set wrong bit for this value(see end_update()).
      Fixed by adding separate calculation of uneven bit for hidden fields.
      
      
      mysql-test/r/type_bit.result:
        test case
      mysql-test/t/type_bit.test:
        test case
      sql/sql_select.cc:
        added separate calculation of uneven bit for hidden fields
      82e2d858
    • Mattias Jonsson's avatar
      merge · e32414df
      Mattias Jonsson authored
      e32414df
  10. 15 Feb, 2010 1 commit