1. 04 Jan, 2017 1 commit
  2. 24 Dec, 2016 1 commit
  3. 22 Dec, 2016 7 commits
  4. 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
  5. 20 Dec, 2016 4 commits
  6. 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
  7. 17 Dec, 2016 1 commit
  8. 16 Dec, 2016 4 commits
  9. 10 Dec, 2016 1 commit
  10. 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
  11. 07 Dec, 2016 2 commits
  12. 06 Dec, 2016 4 commits
  13. 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
  14. 03 Dec, 2016 3 commits
  15. 28 Nov, 2016 2 commits
  16. 26 Nov, 2016 1 commit