1. 08 Jan, 2009 1 commit
    • Davi Arnaut's avatar
      Bug#41889: Test main.innodb_bug38231 is failing w/embedded server (server crash) · e39288b4
      Davi Arnaut authored
      The problem is that a mysql connection instance is not thread-safe
      and reentrant, meaning that it can't be used concurrently and can't
      be re-entered while it's already running. This applies for any form
      of the server (embedded or not), but this rule can be violated in a
      test case if the test sends a new command without waiting for the
      result of previous command that was sent asynchronously and this can
      lead to hangs when over a network or to crashes under embedded server
      as the server query execution path will be re-entered concurrently
      with the same connection structure.
      
      The solution is to rework the test case so that the aforementioned
      rule is obeyed.
      e39288b4
  2. 07 Jan, 2009 1 commit
  3. 05 Jan, 2009 4 commits
  4. 31 Dec, 2008 1 commit
    • Gleb Shchepa's avatar
      Bug #41363: crash of mysqld on windows with aggregate in case · 33cbf93c
      Gleb Shchepa authored
      Execution of queries containing the CASE function of
      aggregate function like in "SELECT ... CASE ARGV(...) WHEN ..."
      crashed the server.
      
      
      The CASE function caches pointers to concrete comparison
      functions for an each pair of types of CASE-WHERE clause
      parameters, i.e. for the "CASE INT_RESULT WHERE REAL_RESULT
      THEN ... WHERE DECIMAL_RESULT ... END" function call it
      caches comparisons for INT_RESULT with REAL_RESULT and
      for INT_RESULT with DECIMAL_RESULT. Usually a result
      type is known after a call to the fix_fields function,
      however, the setup_copy_fields function call may
      wrap aggregate items with Item_copy_string that has
      STRING_RESULT result type, so setup_copy_fields may
      change argument result types of the CASE function after
      call to Item_func_case::fix_fields/fix_length_and_dec.
      Then the Item_func_case::find_item function tries to
      use comparison function for unexpected pair of the
      STRING_RESULT and some other type - that caused
      an assertion failure of server crash.
      
      The Item_func_case::fix_length_and_dec function has
      been modified to take into account possible STRING_RESULT
      result type in the presence of aggregate arguments of
      the CASE function.
      33cbf93c
  5. 30 Dec, 2008 5 commits
  6. 29 Dec, 2008 4 commits
  7. 28 Dec, 2008 5 commits
  8. 24 Dec, 2008 8 commits
  9. 23 Dec, 2008 7 commits
  10. 22 Dec, 2008 1 commit
  11. 19 Dec, 2008 3 commits