1. 11 Feb, 2012 2 commits
  2. 23 Jan, 2012 1 commit
  3. 21 Jan, 2012 1 commit
    • Igor Babaev's avatar
      Fixed LP bug #919427. · 58026fee
      Igor Babaev authored
      The function subselect_uniquesubquery_engine::copy_ref_key has to take into
      account that when EXPLAIN is processed the array of store_key object created
      for any TABLE_REF may contain elements for constant items. These items should
      be ignored by thefunction.
      58026fee
  4. 12 Jan, 2012 4 commits
  5. 30 Dec, 2011 1 commit
  6. 29 Dec, 2011 1 commit
  7. 14 Jan, 2012 2 commits
  8. 13 Jan, 2012 1 commit
    • Igor Babaev's avatar
      Back-ported the test cases for bug #12763207 from mysql-5.6 code line into 5.2 · eed460cb
      Igor Babaev authored
      Completed the fix for this bug.
      Note: in 5.3 the affected 'if' statement in Item_in_subselect::single_value_transformer()
      starting with the  condition (thd->variables.sql_mode & MODE_ONLY_FULL_GROUP_BY)
      should be removed altogether. The change from table.cc is not needed either.
      This is because in 5.3
       - min/max transformation for subqueries are done at the optimization phase
       - evaluation of the expensive subqueries is done at the execution phase.
      
      Added an EXPLAIN EXTENDED to the test case for bug #12329653. 
      eed460cb
  9. 10 Jan, 2012 2 commits
  10. 08 Jan, 2012 1 commit
    • Michael Widenius's avatar
      Fixed compiler and test failures found by buildbot · 0f745de4
      Michael Widenius authored
      configure.in:
        Added testing of STRNDUP (not found on solaris)
      mysql-test/include/wait_until_connected_again.inc:
        Also test for error 2005 (can happen on windows)
      mysql-test/include/wait_until_disconnected.inc:
        Also test for error 2005 (can happen on windows)
      mysql-test/suite/innodb_plugin/r/innodb_bug30423.result:
        Number of rows is not stable (found difference on Solaris)
      mysql-test/suite/innodb_plugin/t/innodb_bug30423.test:
        Number of rows is not stable (found difference on Solaris)
      plugin/auth_pam/auth_pam.c:
        Use internal strndup if it doesn't exist on system (solaris)
        Changed code so that it should also compile on solaris.
      0f745de4
  11. 07 Jan, 2012 2 commits
  12. 05 Jan, 2012 1 commit
  13. 04 Jan, 2012 1 commit
  14. 02 Jan, 2012 1 commit
  15. 30 Dec, 2011 1 commit
  16. 29 Dec, 2011 2 commits
    • Igor Babaev's avatar
      Fixed LP bug #806057. · 4252d667
      Igor Babaev authored
      A table expression with a natural join or a USING clause is transformed
      into an equivalent expression with equi-join ON conditions. If a reference
      to a virtual column happened to occur only in these generated equi-join
      conditions then it was not erroneously marked in the TABLE::vcol_set bitmap.
      This could lead to wrong results for queries containing natural join
      expressions or USING clauses. 
      4252d667
    • Igor Babaev's avatar
      Fixed LP bug #777654. · f1c51e4c
      Igor Babaev authored
      The method Item_sum_num::fix_fields() calculated the value of
      the flag Item_sum_num::maybe_null in some cases incorrectly.
      f1c51e4c
  17. 28 Dec, 2011 1 commit
    • Igor Babaev's avatar
      Fixed LP bug #879860. · 0f2f895e
      Igor Babaev authored
      The MIN/MAX optimization cannot be applied to a subquery if its WHERE clause
      contains a conjunctive condition depending on an outer reference.
      0f2f895e
  18. 27 Dec, 2011 1 commit
    • Igor Babaev's avatar
      Fixed LP bug #904345. · c4b5c423
      Igor Babaev authored
      The MIN/MAX optimizer code from the function opt_sum_query erroneously
      did not take into account conjunctive conditions that did not depend on
      any table, yet were not identified as constant items. These could be
      items containing rand() or PS/SP parameters. These items are supposed
      to be evaluated at the execution phase. That's why if such conditions
      can be extracted from the WHERE condition the MIN/MAX optimization is
      not applied as currently it is always done at the optimization phase.
      
      (In 5.3 expensive subqueries are also evaluated only at the execution
      phase. So, if a constant condition with such subquery can be extracted
      from the WHERE clause the MIN/MAX optimization should not be applied 
      in 5.3.)
      
      IF an IN/ALL/SOME predicate with a constant left part is transformed
      into an EXISTS subquery the resulting subquery should not be considered
      uncacheable if the right part of the predicate is not uncacheable.
      
      Backported the function dbug_print_item() from 5.3. The function is used
      only for debugging.  
       
      c4b5c423
  19. 23 Dec, 2011 1 commit
  20. 22 Dec, 2011 2 commits
  21. 21 Dec, 2011 2 commits
  22. 20 Dec, 2011 1 commit
    • Igor Babaev's avatar
      Fixed LP bug #794005. · 55a34850
      Igor Babaev authored
      The function st_table::mark_virtual_columns_for_write() did not take into
      account the fact that for any table the value of st_table::vfield is 0
      when there are no virtual columns in the table definition.
      55a34850
  23. 19 Dec, 2011 1 commit
    • Igor Babaev's avatar
      Fixed LP bug #906322. · 4e34722f
      Igor Babaev authored
      If the sorted table belongs to a dependent subquery then the function
      create_sort_index() should not clear TABLE:: select and TABLE::select
      for this table after the sort of the table has been performed, because
      these members are needed for the second execution of the subquery.
      
       
      4e34722f
  24. 13 Dec, 2011 2 commits
    • Michael Widenius's avatar
      Merge with 5.1 · 0bb7d6e8
      Michael Widenius authored
      Updated version number in configure
      0bb7d6e8
    • Michael Widenius's avatar
      Fixed bug: lp:887051 ; Error in recovery with LOAD DATA + DELETE · b7de2b31
      Michael Widenius authored
      mysql-test/suite/maria/r/maria-recovery3.result:
        Added test case for recovery bug
      mysql-test/suite/maria/t/maria-recovery3.test:
        Added test case for recovery bug
      storage/maria/ha_maria.cc:
        Don't print query twice to log
      storage/maria/ma_delete.c:
        More DBUG_PRINT
      storage/maria/ma_key_recover.c:
        Added new asserts to detect errors earlier
      storage/maria/ma_recovery.c:
        Update all states when moving a non-transactional file to transactional. This fixes lp:887051
      b7de2b31
  25. 12 Dec, 2011 3 commits
    • Sergei Golubchik's avatar
      0636b67c
    • unknown's avatar
      206a8c32
    • unknown's avatar
      Fixed bug lp:900375 · f50cd8e5
      unknown authored
      The range optimizer incorrectly chose a loose scan for group by
      when there is a correlated WHERE condition. This range access
      method cannot be executed for correlated conditions also with the
      "range checked for each record" because generally the range access
      method can change for each outer record. Loose scan destructively
      changes the query plan and removes the GROUP operation, which will
      result in wrong query plans if another range access is chosen
      dynamically.
      f50cd8e5
  26. 11 Dec, 2011 1 commit
  27. 08 Dec, 2011 1 commit
    • unknown's avatar
      Fixed bug lp:888456 · a1aa89d8
      unknown authored
      Analysis:
      The class member QUICK_GROUP_MIN_MAX_SELECT::seen_first_key
      was not reset between subquery re-executions. Thus each
      subsequent execution continued from the group that was
      reached by the previous subquery execution. As a result
      loose scan reached end of file much earlier, and returned
      empty result where it shouldn't.
      
      Solution:
      Reset seen_first_key before each re-execution of the
      loose scan.
      a1aa89d8