1. 02 Jun, 2006 1 commit
    • igor@rurik.mysql.com's avatar
      Fixed bug #18206. · 37e049db
      igor@rurik.mysql.com authored
      The bug report revealed two problems related to min/max optimization:
      1. If the length of a constant key used in a SARGable condition for
      for the MIN/MAX fields is greater than the length of the field an 
      unwanted warning on key truncation is issued;
      2. If MIN/MAX optimization is applied to a partial index, like INDEX(b(4))
      than can lead to returning a wrong result set.
      37e049db
  2. 30 May, 2006 1 commit
  3. 29 May, 2006 1 commit
    • evgen@moonbone.local's avatar
      Fixed bug#18360: Incorrect type coercion in IN() results in false comparison · 641f852d
      evgen@moonbone.local authored
      The IN() function uses agg_cmp_type() to aggregate all types of its arguments
      to find out some common type for comparisons. In this particular case the 
      char() and the int was aggregated to double because char() can contain values
      like '1.5'. But all strings which do not start from a digit are converted to
      0. thus 'a' and 'z' become equal. 
      This behaviour is reasonable when all function arguments are constants. But 
      when there is a field or an expression this can lead to false comparisons. In
      this case it makes more sense to coerce constants to the type of the field
      argument.
      
      The agg_cmp_type() function now aggregates types of constant and non-constant
      items separately. If some non-constant items will be found then their
      aggregated type will be returned. Thus after the aggregation constants will be
      coerced to the aggregated type. 
      641f852d
  4. 28 May, 2006 1 commit
    • evgen@moonbone.local's avatar
      Fixed bug#19225: unchecked error results in server crash · 1f30bf5a
      evgen@moonbone.local authored
      In multi-table delete a table for delete can't be used for selecting in
      subselects. Appropriate error was raised but wasn't checked which leads to a
      crash at the execution phase.
      
      The mysql_execute_command() now checks for errors before executing select
      for multi-delete.
      1f30bf5a
  5. 23 May, 2006 3 commits
  6. 22 May, 2006 1 commit
  7. 21 May, 2006 1 commit
  8. 20 May, 2006 2 commits
  9. 19 May, 2006 4 commits
  10. 17 May, 2006 2 commits
  11. 16 May, 2006 9 commits
  12. 15 May, 2006 5 commits
  13. 14 May, 2006 3 commits
  14. 13 May, 2006 1 commit
  15. 12 May, 2006 5 commits