1. 15 Aug, 2013 4 commits
    • Igor Babaev's avatar
      Merge · 752d5d02
      Igor Babaev authored
      752d5d02
    • Igor Babaev's avatar
      Fixed bug mdev-4355. · fa7f6772
      Igor Babaev authored
      This patch almost totally revised the patch for bug mdev-4177.
      The latter had too many defects. In particular, it did not
      propagate multiple equalities formed when merging a degenerate
      disjunct into underlying AND formula.
      fa7f6772
    • Igor Babaev's avatar
      Merge 5.2->5.3 · 960720b1
      Igor Babaev authored
      960720b1
    • Igor Babaev's avatar
      Merge 5.1->5.2 · 7ba78277
      Igor Babaev authored
      7ba78277
  2. 13 Aug, 2013 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-4894. · 6dd9f049
      Igor Babaev authored
      This a an old legacy performance bug.
      When a very selective range scan existed for the second table in a join,
      and, at the same time, there was another range condition depending on the
      fields of the first table, the optimizer chose a plan with
      'Range checked for each record'. This plan was extremely inefficient in
      comparison with the regular selective range scan.
      As a matter of fact the range scan chosen for each record was the same as
      that selective range scan. 
      
      Changed the test case for bug 24776 to preserve the old output for explain.
       
      6dd9f049
  3. 12 Aug, 2013 1 commit
  4. 01 Aug, 2013 1 commit
  5. 08 Aug, 2013 2 commits
  6. 01 Aug, 2013 1 commit
  7. 21 Jul, 2013 1 commit
  8. 15 Jul, 2013 1 commit
  9. 09 Jul, 2013 3 commits
    • Vladislav Vaintroub's avatar
      MDEV-4409 - Fix deadlock in MySQL key cache code, that can happen if there is... · 6bef652d
      Vladislav Vaintroub authored
      MDEV-4409 - Fix deadlock in MySQL key cache code, that can happen if there is a key cache resize running in parallel with an update.
      
      If there is a key cache resize,a  thread writing to key cache, will pause waiting  until resize finishes. However this thread is won't be woken, because resize does not  signaling waiters anymore. This is a regression introduced in WL#86(segmented MyISAM key cache)
      The fix is to unconditionally release  threads waiting on resize_queue when resize  finishes, as in pre-WL#86 code.
      6bef652d
    • Alexander Barkov's avatar
      Merge from 5.2 · 8a732d5a
      Alexander Barkov authored
      modified:
        mysql-test/suite/plugins/r/fulltext_plugin.result
        mysql-test/suite/plugins/t/fulltext_plugin.test
        plugin/fulltext/plugin_example.c
        sql/sql_show.cc
      pending merges:
        Alexander Barkov 2013-07-09 [merge] Merge from 5.1
          Sergei Golubchik 2013-07-06 Bug #69682 - mysqld crashes after uninst...
          Sergei Golubchik 2013-05-24 MDEV-4575 MySQL client doesn't strip off...
      8a732d5a
    • Alexander Barkov's avatar
      Merge from 5.1 · 762d3cb8
      Alexander Barkov authored
      modified:
        mysql-test/suite/plugins/r/fulltext_plugin.result
        mysql-test/suite/plugins/t/fulltext_plugin.test
        plugin/fulltext/plugin_example.c
        sql/sql_show.cc
      pending merges:
        Sergei Golubchik 2013-07-06 Bug #69682 - mysqld crashes after uninstall ...
          Sergei Golubchik 2013-05-24 MDEV-4575 MySQL client doesn't strip off...
      762d3cb8
  10. 06 Jul, 2013 1 commit
  11. 05 Jul, 2013 3 commits
  12. 03 Jul, 2013 1 commit
  13. 28 Jun, 2013 2 commits
    • Alexander Barkov's avatar
      A clean-up for MDEV-4634 · cfae3065
      Alexander Barkov authored
      modified:
        sql/time.cc
      cfae3065
    • Alexander Barkov's avatar
      MDEV-4634 Crash in CONVERT_TZ · 0e44faf2
      Alexander Barkov authored
      Item_func_min_max::get_date() did not check the
      returned value against the fuzzy_date flags, so
      it could return a bad value to the caller that
      expects a good date (e.h. CONVERT_TZ).
      
      
      modified:
        mysql-test/r/type_date.result
        mysql-test/r/type_datetime.result
        mysql-test/r/type_time.result
        mysql-test/t/type_date.test
        mysql-test/t/type_datetime.test
        mysql-test/t/type_time.test
        sql/item_func.cc
        sql/item_timefunc.cc
        sql/mysql_priv.h
        sql/time.cc
      0e44faf2
  14. 17 Jun, 2013 2 commits
  15. 06 Jun, 2013 1 commit
  16. 24 May, 2013 1 commit
  17. 21 May, 2013 1 commit
  18. 20 May, 2013 2 commits
  19. 19 May, 2013 2 commits
  20. 11 May, 2013 3 commits
    • Michael Widenius's avatar
      Fixed compiler failure on solaris · 3b3f8709
      Michael Widenius authored
      3b3f8709
    • Michael Widenius's avatar
      Fixed compiler warning · 4b9a6c03
      Michael Widenius authored
      4b9a6c03
    • Michael Widenius's avatar
      MDEV-4280: Assertion `empty_size == empty_size_on_page' failure in... · 4e9bf37f
      Michael Widenius authored
      MDEV-4280: Assertion `empty_size == empty_size_on_page' failure in ma_blockrec.c or ER_NOT_KEYFILE on query with DISTINCT and GROUP BY
      This could happen when using Aria for internal temporary files (default case) and using DISTINCT.
      _ma_scan_restore_block_record() didn't work correctly if there was rows inserted, updated or deleted on the handler
      between calls to _ma_scan_remember_block_record() and _ma_scan_restore_block_record().
      The effect was that some DISTINCT queries that used remove_dup_with_compare() could fail.
      
      .bzrignore:
        Ignore sql_yacc.hh
      mysql-test/suite/maria/r/distinct.result:
        Test case for MDEV-4280
      mysql-test/suite/maria/t/distinct.test:
        Test case for MDEV-4280
      mysql-test/t/mysql.test:
        Fixed test suite (we could get error -1 in some cases)
      sql/sql_select.cc:
        Break loop if restart_rnd_next() gives an error
      storage/maria/ha_maria.cc:
        scan_restore_pos() can return disk fault error.
      storage/maria/ma_blockrec.c:
        _ma_scan_remember_block_record() did incorrectly update scan.dir instead of scan_save.dir .
        _ma_scan_restore_block_record() didn't work correctly if there was rows inserted,updated or deleted on the handler
        between calls to _ma_scan_remember_block_record() and _ma_scan_restore_block_record().
        Fixed by adding counters for row changes and reading the current scan page if changes had been made.
      storage/maria/ma_blockrec.h:
        scan_restore_pos() can return disk fault error.
      storage/maria/ma_delete.c:
        Increment row_changes
      storage/maria/ma_scan.c:
        scan_restore_pos() can return disk fault error.
      storage/maria/ma_update.c:
        Increment row_changes
      storage/maria/ma_write.c:
        Increment row_changes
      storage/maria/maria_def.h:
        scan_restore_pos() can return disk fault error.
      4e9bf37f
  21. 08 May, 2013 1 commit
  22. 03 May, 2013 1 commit
    • unknown's avatar
      MDEV-4290: · 682c8a36
      unknown authored
      Fix agregate function resolution in derived tables (no name resolution over a derived table border)
      682c8a36
  23. 05 May, 2013 2 commits
  24. 04 May, 2013 2 commits
    • Igor Babaev's avatar
      Fixed bug mdev-4336. · 920c479c
      Igor Babaev authored
      When iterating over a list of conditions using List_iterator
      the function remove_eq_conds should skip all predicates that
      replace a condition from the list. Otherwise it can come to
      an infinite recursion. 
      920c479c
    • Igor Babaev's avatar
      Made consistent handling of the predicates of the form · b249680f
      Igor Babaev authored
      <non-nullable datatime field> IS NULL in outer joins with
      that in inner joins.
      Previously such condition was transformed into the condition
      <non-nullable datatime field> = 0 unless the field belonged
      to an inner table of an outer join. In this case the predicate
      was interpreted as for any other field.
      Now if the field in the predicate <non-nullable datatime field> IS NULL
      belongs to an inner table of an outer join the predicate is 
      transformed into the disjunction
      <non-nullable datatime field> = 0 OR <non-nullable datatime field> IS NULL.
      This is fully compatible with the semantics of such predicates in 5.5.
      b249680f