1. 16 Nov, 2007 1 commit
  2. 14 Nov, 2007 4 commits
  3. 13 Nov, 2007 5 commits
  4. 12 Nov, 2007 10 commits
  5. 10 Nov, 2007 10 commits
  6. 09 Nov, 2007 3 commits
    • kaa@polly.(none)'s avatar
      Fix for bug #32202: ORDER BY not working with GROUP BY · 8c193678
      kaa@polly.(none) authored
      The bug is a regression introduced by the fix for bug30596. The problem
      was that in cases when groups in GROUP BY correspond to only one row,
      and there is ORDER BY, the GROUP BY was removed and the ORDER BY
      rewritten to ORDER BY <group_by_columns> without checking if the
      columns in GROUP BY and ORDER BY are compatible. This led to
      incorrect ordering of the result set as it was sorted using the
      GROUP BY columns. Additionaly, the code discarded ASC/DESC modifiers
      from ORDER BY even if its columns were compatible with the GROUP BY
      ones.
      
      This patch fixes the regression by checking if ORDER BY columns form a
      prefix of the GROUP BY ones, and rewriting ORDER BY only in that case,
      preserving the ASC/DESC modifiers. That check is sufficient, since the
      GROUP BY columns contain a unique index.
      8c193678
    • kaa@polly.(none)'s avatar
      Merge polly.(none):/home/kaa/src/opt/bug32020/my50-bug31445 · 6320cded
      kaa@polly.(none) authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
      6320cded
    • kaa@polly.(none)'s avatar
      Fix for bug #32020: loading udfs while --skip-grant-tables is enabled · e703c6a7
      kaa@polly.(none) authored
      causes out of memory errors
      
      The code in mysql_create_function() and mysql_drop_function() assumed
      that the only reason for UDFs being uninitialized at that point is an
      out-of-memory error during initialization. However, another possible 
      reason for that is the --skip-grant-tables option in which case UDF 
      initialization is skipped and UDFs are unavailable.
      
      The solution is to check whether mysqld is running with
      --skip-grant-tables and issue a proper error in such a case.
      e703c6a7
  7. 08 Nov, 2007 5 commits
  8. 07 Nov, 2007 2 commits
    • kaa@polly.(none)'s avatar
      Fix for bug #32103: optimizer crash when join on int and mediumint with · f1a3c364
      kaa@polly.(none) authored
      variable in where clause.
      
      Problem: the new_item() method of Item_uint used an incorrect
      constructor. "new Item_uint(name, max_length)" calls
      Item_uint::Item_uint(const char *str_arg, uint length) which assumes the
      first argument to be the string representation of the value, not the
      item's name. This could result in either a server crash or incorrect
      results depending on usage scenarios.
      
      Fixed by using the correct constructor in new_item():
      Item_uint::Item_uint(const char *str_arg, longlong i, uint length).
      f1a3c364
    • kaa@polly.(none)'s avatar
      Fix for bug #30666: Incorrect order when using range conditions on 2 · 4aa04022
      kaa@polly.(none) authored
      tables or more
      
      The problem was that the optimizer used the join buffer in cases when
      the result set is ordered by filesort. This resulted in the ORDER BY
      clause being ignored, and the records being returned in the order
      determined by the order of matching records in the last table in join.
      
      Fixed by relaxing the condition in make_join_readinfo() to take
      filesort-ordered result sets into account, not only index-ordered ones.
      4aa04022