1. 21 Oct, 2015 2 commits
  2. 19 Oct, 2015 1 commit
  3. 11 Oct, 2015 2 commits
  4. 10 Oct, 2015 1 commit
  5. 09 Oct, 2015 15 commits
  6. 08 Oct, 2015 9 commits
  7. 06 Oct, 2015 8 commits
    • Sergei Petrunia's avatar
      MDEV-8903: Buildbot valgrind failure: Invalid read of size 1 in sql_memdup... · 4a602046
      Sergei Petrunia authored
      When we calculate max_key_len for RANGE_OPT_PARAM::min_key/max_key, take
      into account that QUICK_RANGE::QUICK_RANGE for some reason assumes
      that there is one more byte there:
      
            max_key((uchar*) sql_memdup(max_key_arg,max_length_arg+1)),
      4a602046
    • Sergei Petrunia's avatar
      Fix for MDEV-8321, MDEV-6223 · 12897947
      Sergei Petrunia authored
      EXPLAIN INSERT ... SELECT tried to use SELECT's execution path. This
      caused a collection of problems:
      - SELECT_DESCRIBE flag was not put into select_lex->options, which
        means it was not in JOIN::select_options either (except for the first
        member of the UNION).
      - This caused UNION members to be executed. They would attempt to write
        join output rows to the output.
      - (Actual cause of the crash) second join sibling would call
        result->send_eof() when finished execution. Then,
        Explain_query::print_explain would attempt to write to query output
        again, and cause an assertion due to non-empty query output.
      12897947
    • Oleksandr Byelkin's avatar
      MDEV-7846: postreview fix · 504802f3
      Oleksandr Byelkin authored
      504802f3
    • Oleksandr Byelkin's avatar
      MDEV-7846: Server crashes in Item_subselect::fix_fields or fails with Thread stack overrun · 54b99817
      Oleksandr Byelkin authored
      Substitute into transformed subselects original left expression and than register its change in case it was substituted.
      54b99817
    • Oleksandr Byelkin's avatar
      MDEV-7445:Server crash with Signal 6 · 0ab93fd6
      Oleksandr Byelkin authored
      MDEV-7565: Server crash with Signal 6 (part 2)
      
      followup test suite and its fix.
      0ab93fd6
    • Oleksandr Byelkin's avatar
      MDEV-7445: Server crash with Signal 6 · 2e3e8180
      Oleksandr Byelkin authored
      Problem was in rewriting left expression which had 2 references on it. Solved with making subselect reference main.
      
      Item_in_optimized can have not Item_in_subselect reference in left part so type casting with no check is dangerous.
      
      Item::cols() should be checked after Item::fix_fields().
      2e3e8180
    • Oleksandr Byelkin's avatar
      MDEV-7565: Server crash with Signal 6 (part 2) · 7ccde2cb
      Oleksandr Byelkin authored
      Preparation of subselect moved earlier (before checks which needs it prepared).
      7ccde2cb
    • Sergei Petrunia's avatar
      MDEV-8299: MyISAM or Aria table gets corrupted after EXPLAIN INSERT and INSERT · a7dd24cd
      Sergei Petrunia authored
      [EXPLAIN] INSERT .. SELECT creates a select_insert object.
      select_insert calls handler->start_bulk_insert() during
      initialization.
      
      For MyISAM/Aria this requires that a matching call to
      handler->end_bulk_insert() call is made.
      
      Regular INSERT .. SELECT accomplishes this by calling either
      select_result->send_eof() or select_result->abort_result_set().
      
      EXPLAIN INSERT ... SELECT didn't call either, which resulted in
      improper de-initializaiton of handler object. Make it call
      abort_result_set(), which invokes handler->end_bulk_insert().
      a7dd24cd
  8. 01 Oct, 2015 2 commits
    • Sergey Vojtovich's avatar
      MDEV-8379 - SUSE mariadb patches · bb22eb55
      Sergey Vojtovich authored
      Corrected variable name in dead code for consistency.
      
      Patch contributed by Michal Hrusecky.
      bb22eb55
    • Sergey Vojtovich's avatar
      MDEV-8379 - SUSE mariadb patches · 727da9c8
      Sergey Vojtovich authored
      Fixed unclean prototype declaration. According to ISO/IEC 9899:TC2:
      ...
      10. The special case of an unnamed parameter of type void as the only item in
          the list specifies that the function has no parameters.
      ...
      14. An identifier list declares only the identifiers of the parameters of the
          function. An empty list in a function declarator that is part of a
          definition of that function specifies that the function has no parameters.
          The empty list in a function declarator that is not part of a definition of
          that function specifies that no information about the number or types of the
          parameters is supplied. 124)
      ...
      6.11.6 Function declarators
      
      The use of function declarators with empty parentheses (not prototype-format
      parameter type declarators) is an obsolescent feature.
      ...
      
      Patch contributed by Michal Hrusecky.
      727da9c8