1. 28 Jan, 2014 1 commit
  2. 23 Jan, 2014 1 commit
    • unknown's avatar
      MDEV-5356: Server crashes in Item_equal::contains on 2nd execution of a PS · 5f5f7bef
      unknown authored
      THD::thd->activate_stmt_arena_if_needed() should be used to temporary activating statement arena instead of direct usage of THD::set_n_backup_active_arena() because possible such scenario:
        1) func1 saves current arena and activates copy1 of statement arena
        2) func2 saves copy1 of statement arena setup by func1 and activates copy2
        3) some changes made for copy 2
        4) func2 stores changed copy2 back to statenet arena and activates copy1
        5) func1 store unchanged copy1 back to statemnt arena (rewrite changed copy 2 so changes become lost) and activates arena which was before.
      5f5f7bef
  3. 20 Jan, 2014 2 commits
  4. 20 Dec, 2013 1 commit
  5. 29 Nov, 2013 1 commit
  6. 14 Nov, 2013 1 commit
  7. 13 Nov, 2013 1 commit
  8. 08 Nov, 2013 1 commit
  9. 21 Oct, 2013 1 commit
  10. 16 Oct, 2013 1 commit
  11. 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
  12. 21 Jul, 2013 1 commit
  13. 06 Jul, 2013 1 commit
  14. 24 May, 2013 1 commit
  15. 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
  16. 09 Apr, 2013 1 commit
    • unknown's avatar
      MDEV-4326 fix. · 80c08915
      unknown authored
      Removed "optimization" which caused preoblems on second execution of PS with string parameter in LIMIT clause.
      
      Fixed test_bug43560 to be able to skipp it if connection is UNIX socket.
      80c08915
  17. 06 Apr, 2013 1 commit
  18. 04 Apr, 2013 1 commit
    • Sergei Golubchik's avatar
      MDEV-4088 Replication 10.0 -> 5.5 fails · 87a452f6
      Sergei Golubchik authored
      update 5.1 to replicate from 10.0 and
      to show the server version (as of 10.0) correctly
      
      sql-common/client.c:
        mdev:4088
      sql/slave.cc:
        use the version number, not just the first character of the version string
        (we want 10 > 4 not "10" < "4").
      87a452f6
  19. 20 Mar, 2013 1 commit
  20. 19 Mar, 2013 2 commits
  21. 18 Mar, 2013 3 commits
    • unknown's avatar
      MDEV-4269 fix. · 2cd7cf8f
      unknown authored
      Item_default_value inherited form Item_field so should create temporary table field similary.
      2cd7cf8f
    • Alexey Botchkov's avatar
      MDEV-4252 geometry query crashes server. · 589247ae
      Alexey Botchkov authored
          Additional fixes for possible overflows in length-related
          calculations in 'spatial' implementations.
          Checks added to the ::get_data_size() methods.
          max_n_points decreased to occupy less 2G size. An
          object of that size is practically inoperable anyway.
      589247ae
    • Sergei Golubchik's avatar
      MDEV-4289 Assertion `0' fails in make_sortkey with GROUP_CONCAT, MAKE_SET, GROUP BY · a4a18e0c
      Sergei Golubchik authored
      Item_func_make_set wasn't taking into account the first argument when
      calculating maybe_null.
      
      sql/item_strfunc.cc:
        rewrite Item_func_make_set, removing separate storage of the first argument
      sql/item_strfunc.h:
        rewrite Item_func_make_set, removing separate storage of the first argument
      a4a18e0c
  22. 10 Mar, 2013 1 commit
    • Alexey Botchkov's avatar
      MDEV-4252 geometry query crashes server. · 511b9432
      Alexey Botchkov authored
            The bug was found by Alyssa Milburn.
            If the number of points of a geometry feature read from
            binary representation is greater than 0x10000000, then
            the (uint32) (num_points * 16) will cut the higher byte,
            which leads to various errors.
            Fixed by additional check if (num_points > max_n_points).
      511b9432
  23. 28 Feb, 2013 3 commits
    • Sergei Golubchik's avatar
      a simpler fix for · 027e34e1
      Sergei Golubchik authored
      MySQL Bug #12408412: GROUP_CONCAT + ORDER BY + INPUT/OUTPUT SAME USER VARIABLE = CRASH
      and
      MySQL Bug#14664077 SEVERE PERFORMANCE DEGRADATION IN SOME CASES WHEN USER VARIABLES ARE USED
      
      
      sql/item_func.cc:
        don't use anything from Item_func_set_user_var::fix_fields()
        in Item_func_set_user_var::save_item_result()
      sql/sql_class.cc:
        Call suv->save_item_result(item) *before* doing suv->fix_fields(), because
        the former evaluates the item (and caches its value), while the latter marks
        the user variable as non-const. The problem is that the item was fix_field'ed
        when the user variable was const, and it doesn't expect it to change to non-const
        in the middle of the execution.
      027e34e1
    • Michael Widenius's avatar
    • Sergei Golubchik's avatar
      mysql-5.1 merge · 08ba2578
      Sergei Golubchik authored
      mysys/errors.c:
        revert upstream's fix. use a much simpler one
      mysys/my_write.c:
        revert upstream's fix. use a simpler one
      sql/item_xmlfunc.cc:
        useless, but ok
      sql/mysqld.cc:
        simplify upstream's fix
      storage/heap/hp_delete.c:
        remove upstream's fix.
        we'll use a much less expensive approach.
      08ba2578
  24. 26 Feb, 2013 1 commit
  25. 21 Feb, 2013 1 commit
  26. 14 Feb, 2013 1 commit
  27. 31 Jan, 2013 1 commit
    • unknown's avatar
      Fix bug MDEV-641 · 768b62fe
      unknown authored
      Analysis:
      Range analysis discoveres that the query can be executed via loose index scan for GROUP BY.
      Later, GROUP BY analysis fails to confirm that the GROUP operation can be computed via an
      index because there is no logic to handle duplicate field references in the GROUP clause.
      As a result the optimizer produces an inconsistent plan. It constructs a temporary table,
      but on the other hand the group fields are not set to point there.
          
      Solution:
      Make loose scan analysis work in sync with order by analysis. In the case of duplicate
      columns loose scan will not be applicable. This limitation will be lifted in 10.0 by
      removing duplicate columns.
      768b62fe
  28. 25 Jan, 2013 2 commits
  29. 21 Jan, 2013 3 commits
    • Igor Babaev's avatar
      Merge. · 82fe8a4e
      Igor Babaev authored
      82fe8a4e
    • Igor Babaev's avatar
      Fixed bug mdev-4063 (bug #56927). · fade3647
      Igor Babaev authored
      This bug could result in returning 0 for the expressions of the form 
      <aggregate_function>(distinct field) when the system variable  
      max_heap_table_size was set to a small enough number.
      It happened because the method Unique::walk() did not support
      the case when more than one pass was needed to merge the trees
      of distinct values saved in an external file.
      
      Backported a fix in grant_lowercase.test from mariadb 5.5.
      fade3647
    • Sergei Golubchik's avatar
      MDEV-4029 SELECT on information_schema using a subquery locks up the... · 43c6953f
      Sergei Golubchik authored
      MDEV-4029 SELECT on information_schema using a subquery locks up the information_schema table due to incorrect mutexes handling
        
      Early evaluation of subqueries in the WHERE conditions on I_S.*_STATUS tables,
      otherwise the subquery on this same table will try to acquire LOCK_status twice.
      43c6953f