1. 08 Jan, 2009 3 commits
    • Mattias Jonsson's avatar
      merge · ec9f8852
      Mattias Jonsson authored
      ec9f8852
    • Timothy Smith's avatar
      Auto-merge from upstream 5.1-bugteam · 72982373
      Timothy Smith authored
      72982373
    • Timothy Smith's avatar
      Fix a few problems after latest bunch of InnoDB snapshot changes: · e6100a22
      Timothy Smith authored
      The binlog_innodb test was sensitive to what tests ran before it.  Now run
      FLUSH STATUS before performing operations that need to be checked.
      
      sys_var_thd_ulong::update() was improperly casting an option value from
      ulonglong to ulong before comparing it to the max allowed value.  On systems
      where ulong and ulonglong are of different size, this caused values greater
      than ULONG_MAX to wrap around (not be truncated to ULONG_MAX, which appears to
      have been the intention of the original coder), and caused some checks to work
      incorrectly.  This wasn't generally visible to the user, because later checks
      would prevent the wrapped-around value from being used.  But it caused warning
      messages to differ between 32- and 64-bit platforms.  Fix is to just remove the
      cast.  Also added a DBUG_ASSERT to ensure that the value really is capped
      properly before finally stuffing it into the ulong.
      e6100a22
  2. 07 Jan, 2009 4 commits
  3. 05 Jan, 2009 6 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 6 commits
  8. 24 Dec, 2008 8 commits
  9. 23 Dec, 2008 3 commits
    • Sergey Glukhov's avatar
      Bug#40104 regression with table names? · c61c1a0d
      Sergey Glukhov authored
      On Winodws FN_DEVCHAR is ':' symbol.
      There is a check in mysql_create_table_no_lock() func
      on FN_DEVCHAR presence but this code is obsolete and
      unnecessary. So the fix is to remove unnecessary code.
      c61c1a0d
    • Sergey Glukhov's avatar
      5.0-bugteam->5.1-bugteam merge · d02d2143
      Sergey Glukhov authored
      d02d2143
    • Sergey Glukhov's avatar
      Bug#41079 information_schema.schema_privileges is limited to 7680 records. · b5f005f6
      Sergey Glukhov authored
      The problem is that we cannot insert new record into memory table
      when table size exceeds max memory table size.
      The fix is to use schema_table_store_record() function which
      converts memory table into MyISAM in case of table size exceeding.
      
      Note:
      There is no test case for this bug, the reason is that
      1. The code  that was added already is checked(i.e. works) with existing tests
      2. Correct work of schema_table_store_record() is checked with other test cases
         (information_schema tests)
      So new code is fully covered with existing test cases.
      b5f005f6