1. 22 Dec, 2016 1 commit
    • Varun Gupta's avatar
      MDEV-10927: Crash When Using sort_union Optimization · 706fb790
      Varun Gupta authored
      In file sql/filesort.cc,when merge_buffers() is called then
      - queue_remove(&queue,0) is called
      - For the function queue_remove there is assertion states that the element to be removed should have index >=1
      - this is causing the assertion to fail.
      
      Fixed by removing the top element.
      706fb790
  2. 21 Dec, 2016 1 commit
    • Alexander Barkov's avatar
      MDEV-10386 Assertion `fixed == 1' failed in virtual String*... · 5e051bfa
      Alexander Barkov authored
      MDEV-10386 Assertion `fixed == 1' failed in virtual String* Item_func_conv_charset::val_str(String*)
      
      The patch b96c196f added a new call for
      safe_charset_converter() without a corresponding fix_fields().
      In case of a sub-query the created Item remained in non-fixed state.
      The problem did not show up with literal derived expressions, only
      subselects were affected. This patch adds a corresponding fix_fields()
      to the previously added safe_charset_converter().
      5e051bfa
  3. 20 Dec, 2016 4 commits
  4. 19 Dec, 2016 4 commits
    • Sergei Petrunia's avatar
      MDEV-10148: Database crashes in the query to the View · f23b41b9
      Sergei Petrunia authored
      Fix st_select_lex::is_merged_child_of to work across merged views or
      derived tables.
      f23b41b9
    • Sergei Petrunia's avatar
      MDEV-7691: Assertion `outer_context || !*from_field || *from_field == not_found_field' ... · 268bb69b
      Sergei Petrunia authored
      The bug occurred when a subquery
      - has a reference to outside, to grand-parent query or further up
      - is converted to a semi-join (i.e. merged into its parent).
      
      Then the reference to outside had form Item_ref(Item_field(...)).
      - Conversion to semi-join would call item->fix_after_pullout() for the
        outside reference.
      - Item_ref::fix_after_pullout would call Item_field->fix_after_pullout
      - The Item_field would construct a new Name_resolution_context object
        This process ignored the fact that the Item_field does not belong to
        any of the subselects being flattened.
      The result was crash in the next call to Item_field::fix_fields(), where
      we would try to use an invalid Name_resolution_context object.
      
      Fixed by not creating Name_resolution_context object if the Item_field's
      context does not belong to the subselect(s) that were flattened.
      268bb69b
    • Alexey Botchkov's avatar
      MDEV-10274 Bundling insert with create statement for table with unsigned... · 19896d4b
      Alexey Botchkov authored
      MDEV-10274 Bundling insert with create statement for table with unsigned Decimal primary key issues warning 1194.
      
              Flags are important for key_length calculations, so them should
              be set before it, not after.
      19896d4b
    • Alexander Barkov's avatar
      MDEV-10524 Assertion `arg1_int >= 0' failed in Item_func_additive_op::result_precision() · 2f6fede8
      Alexander Barkov authored
      This change is a backport from 10.0 to 5.5 for:
      1. The full patch for:
           MDEV-4841 Wrong character set of ADDTIME() and DATE_ADD()
           9adb6e99
      
      2. A small fragment of:
           MDEV-5298 Illegal mix of collations on timestamp
           03f6778d
         which overrides Item_temporal_hybrid_func::cmp_type(),
         and adds a new line into cache_temporal_4265.result.
      2f6fede8
  5. 17 Dec, 2016 1 commit
  6. 16 Dec, 2016 4 commits
  7. 10 Dec, 2016 1 commit
  8. 08 Dec, 2016 2 commits
    • Sergei Golubchik's avatar
      MDEV-10713: signal 11 error on multi-table update - crash in... · 03dabfa8
      Sergei Golubchik authored
      MDEV-10713: signal 11 error on multi-table update - crash in handler::increment_statistics or in make_select or assertion failure pfs_thread == ((PFS_thread*) pthread_getspecific((THR_PFS)))
      
      Different fix. Don't allow Item_func_sp to be evaluated unless
      all tables are prelocked.
      
      Extend the test case to make sure Item_func_sp::val_str is called
      (the table must have at least one row for that).
      03dabfa8
    • Sergei Golubchik's avatar
      Revert "MDEV-10713: signal 11 error on multi-table update - crash in... · ab65db6d
      Sergei Golubchik authored
      Revert "MDEV-10713: signal 11 error on multi-table update - crash in handler::increment_statistics or in make_select or assertion failure pfs_thread == ((PFS_thread*) pthread_getspecific((THR_PFS)))"
      
      This reverts commit 035a5ac6.
      
      Two minor problems and one regression:
      1. caching the value in str_result. Other Item methods may use it,
         destroying the cache. See, for example, Item::save_in_field, where
         str_result is moved to use a local buffer (this failed main.grant)
      2. Item_func_conv_charset::safe is now set too late, it's initialized
         only in val_str() but checked before that, this failed many tests
         in optimized builds.
      
      to fix 1 - use tmp_result instead of str_result, to fix 2, use
      the else branch in the Item_func_conv_charset constructor to set
      safe purely from charset properties.
      
      But this introduces a regression, constant strings can no longer be
      converted, say, from utf8 to latin1 (because 'safe' will be false).
      This fails few tests too. There is no way to fix it without reverting
      the commit and converting constants, as before, in the constructor.
      ab65db6d
  9. 07 Dec, 2016 2 commits
  10. 06 Dec, 2016 4 commits
  11. 05 Dec, 2016 2 commits
    • Sergei Golubchik's avatar
      MDEV-10293 'setupterm' was not declared in this scope · 18cdff67
      Sergei Golubchik authored
      Check for readline before checking for curses headers, because
      MYSQL_CHECK_READLINE fails when curses is not found, but
      CHECK_INCLUDE_FILES simply remembers the fact and continues.  So if
      there's no curses, MYSQL_CHECK_READLINE will abort, the user will then
      installs curses and continue the build. Thus, CHECK_INCLUDE_HEADERS
      will remember that there is no curses, but other checks from
      MYSQL_CHECK_READLINE will remember that curses are there. It will
      result in inconsistent HAVE_xxx defines.
      18cdff67
    • Sergei Golubchik's avatar
      02d153c7
  12. 03 Dec, 2016 3 commits
  13. 28 Nov, 2016 1 commit
  14. 14 Nov, 2016 1 commit
  15. 12 Nov, 2016 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-11161. · 96b62b55
      Igor Babaev authored
      The flag TABLE_LIST::fill_me must be reset to false at the prepare
      phase for any materialized derived table used in the executed query.
      Otherwise if the optimizer decides to generate a key for such a table
      it is generated only for the first execution of the query.
      96b62b55
  16. 10 Nov, 2016 1 commit
  17. 03 Nov, 2016 1 commit
  18. 27 Oct, 2016 3 commits
  19. 17 Oct, 2016 2 commits
  20. 14 Oct, 2016 1 commit