1. 21 Oct, 2010 1 commit
  2. 18 Oct, 2010 2 commits
    • Sergey Glukhov's avatar
      Bug#56814 Explain + subselect + fulltext crashes server · d0ac4e2c
      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.
      d0ac4e2c
    • Sergey Glukhov's avatar
      Bug#54484 explain + prepared statement: crash and Got error -1 from storage engine · 127c721c
      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
      127c721c
  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 · b001a522
      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.
      b001a522
    • Ramil Kalimullin's avatar
      Fix for bug#57272: crash in rpad() when using utf8 · 42550e21
      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.
      42550e21
  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. · 00677a80
      Alexey Kopytov authored
      00677a80
    • Mattias Jonsson's avatar
      merge · 36e0ca0d
      Mattias Jonsson authored
      36e0ca0d
    • Mattias Jonsson's avatar
      merge · 3c555b6c
      Mattias Jonsson authored
      3c555b6c
    • Vasil Dimov's avatar
      Merge mysql-5.1-innodb -> mysql-5.1-bugteam · 4a9b4ed0
      Vasil Dimov authored
      4a9b4ed0
    • Mattias Jonsson's avatar
      merge · cfcf51b7
      Mattias Jonsson authored
      cfcf51b7
    • Mattias Jonsson's avatar
      Bug#51851: Server with SBR locks mutex twice on · 814fbc5b
      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+.
      814fbc5b
    • Sergey Glukhov's avatar
      Bug#54488 crash when using explain and prepared statements with subqueries · 233e4d80
      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.
      233e4d80