1. 21 Oct, 2010 1 commit
  2. 18 Oct, 2010 2 commits
    • Sergey Glukhov's avatar
      Bug#56814 Explain + subselect + fulltext crashes server · 210e6311
      Sergey Glukhov authored
      create_sort_index() function overwrites original JOIN_TAB::type field.
      At re-execution of subquery overwritten JOIN_TAB::type(JT_ALL) is
      used instead of JT_FT. It misleads test_if_skip_sort_order() and
      the function tries to find suitable key for the order that should
      not be allowed for FULLTEXT(JT_FT) table.
      The fix is to restore JOIN_TAB strucures for subselect on re-execution
      for EXPLAIN.
      Additional fix:
      Update TABLE::maybe_null field which
      affects list_contains_unique_index() behaviour as it
      could have the value(maybe_null==TRUE) based on the
      assumption that this join is outer
      (see setup_table_map() func).
      
      
      mysql-test/r/explain.result:
        test case
      mysql-test/t/explain.test:
        test case
      sql/item_subselect.cc:
        Make subquery uncacheable in case of EXPLAIN. It allows to keep
        original JOIN_TAB::type(see JOIN::save_join_tab) and restore it
        on re-execution.
      sql/sql_select.cc:
        -restore JOIN_TAB strucures for subselect on re-execution for EXPLAIN
        -Update TABLE::maybe_null field as it could have
         the value(maybe_null==TRUE) based on the assumption
         that this join is outer(see setup_table_map() func).
         This change is not related to the crash problem but
         affects EXPLAIN results in the test case.
      210e6311
    • Sergey Glukhov's avatar
      Bug#54484 explain + prepared statement: crash and Got error -1 from storage engine · 5060b387
      Sergey Glukhov authored
      Subquery executes twice, at top level JOIN::optimize and ::execute stages.
      At first execution create_sort_index() function is called and
      FT_SELECT object is created and destroyed. HANDLER::ft_handler is cleaned up
      in the object destructor and at second execution FT_SELECT::get_next() method
      returns error.
      The fix is to reinit HANDLER::ft_handler field before re-execution of subquery.
      
      
      mysql-test/r/fulltext.result:
        test case
      mysql-test/t/fulltext.test:
        test case
      sql/item_func.cc:
        reinit ft_handler before re-execution of subquery
      sql/item_func.h:
        Fixed method name
      sql/sql_select.cc:
        reinit ft_handler before re-execution of subquery
      5060b387
  3. 17 Oct, 2010 2 commits
  4. 15 Oct, 2010 2 commits
  5. 12 Oct, 2010 2 commits
    • Ramil Kalimullin's avatar
      Fix for bug#57283: inet_ntoa() crashes · bc84be59
      Ramil Kalimullin authored
      Problem: some call of INET_NTOA() function may lead 
      to a crash due to missing its character set initialization.
      
      Fix: explicitly set the character set.
      
      
      mysql-test/r/func_misc.result:
        Fix for bug#57283: inet_ntoa() crashes
          - test result.
      mysql-test/t/func_misc.test:
        Fix for bug#57283: inet_ntoa() crashes
          - test case.
      sql/item_strfunc.cc:
        Fix for bug#57283: inet_ntoa() crashes
          - explicitly set buffer's character set.
      bc84be59
    • Ramil Kalimullin's avatar
      Fix for bug#57272: crash in rpad() when using utf8 · b6346b44
      Ramil Kalimullin authored
      Problem: if multibyte and binary string arguments passed to 
      RPAD(), LPAD() or INSERT() functions, they might return 
      wrong results or even lead to a server crash due to missed
      character set convertion.
      
      Fix: perform the convertion if necessary.
      
      
      mysql-test/r/ctype_utf8.result:
        Fix for bug#57272: crash in rpad() when using utf8
          - test result.
      mysql-test/t/ctype_utf8.test:
        Fix for bug#57272: crash in rpad() when using utf8
          - test case.
      sql/item_strfunc.cc:
        Fix for bug#57272: crash in rpad() when using utf8
          - convert multibyte argument's character set to binary in case of
        FUNCTION(MULTIBYTE_ARG, .., BINARY_ARG,..) for RPAD(), LPAD() and 
        INSERT() functions.
      b6346b44
  6. 11 Oct, 2010 5 commits
  7. 07 Oct, 2010 1 commit
  8. 06 Oct, 2010 2 commits
  9. 05 Oct, 2010 9 commits
  10. 04 Oct, 2010 5 commits
  11. 03 Oct, 2010 2 commits
  12. 01 Oct, 2010 7 commits
    • Alexey Kopytov's avatar
      Automerge. · e7031816
      Alexey Kopytov authored
      e7031816
    • Mattias Jonsson's avatar
      merge · 43450523
      Mattias Jonsson authored
      43450523
    • Mattias Jonsson's avatar
      merge · a250cc89
      Mattias Jonsson authored
      a250cc89
    • Vasil Dimov's avatar
      Merge mysql-5.1-innodb -> mysql-5.1-bugteam · b74a1ff2
      Vasil Dimov authored
      b74a1ff2
    • Mattias Jonsson's avatar
      merge · 4ef9195e
      Mattias Jonsson authored
      4ef9195e
    • Mattias Jonsson's avatar
      Bug#51851: Server with SBR locks mutex twice on · 59dd4888
      Mattias Jonsson authored
      LOAD DATA into partitioned MyISAM table
      
      Problem was that both partitioning and myisam
      used the same table_share->mutex for different protections
      (auto inc and repair).
      
      Solved by adding a specific mutex for the partitioning
      auto_increment.
      
      Also adding destroying the ha_data structure in
      free_table_share (which is to be propagated
      into 5.5).
      
      This is a 5.1 ONLY patch, already fixed in 5.5+.
      59dd4888
    • Sergey Glukhov's avatar
      Bug#54488 crash when using explain and prepared statements with subqueries · e690fa28
      Sergey Glukhov authored
      The crash happens because original join table is replaced with temporary table
      at execution stage and later we attempt to use this temporary table in
      select_describe. It might happen that
      Item_subselect::update_used_tables() method which sets const_item flag
      is not called by some reasons (no where/having conditon in subquery for example).
      It prevents JOIN::join_tmp creation and breaks original join.
      The fix is to call ::update_used_tables() before ::const_item() check.
      
      
      mysql-test/r/ps.result:
        test case
      mysql-test/t/ps.test:
        test case
      sql/item_subselect.cc:
        call ::update_used_tables() before ::const_item() check.
      e690fa28