1. 12 Jan, 2007 2 commits
    • sergefp@mysql.com's avatar
      BUG#24127: (a,b) IN (SELECT c,d ...) can produce wrong results if a and/or b are NULLs: · c3f46e1f
      sergefp@mysql.com authored
      - Make the code produce correct result: use an array of triggers to turn on/off equalities for each
        compared column. Also turn on/off optimizations based on those equalities.
      - Make EXPLAIN output show "Full scan on NULL key" for tables for which we switch between
        ref/unique_subquery/index_subquery and ALL access.
      - index_subquery engine now has HAVING clause when it is needed, and it is
        displayed in EXPLAIN EXTENDED
      - Fix incorrect presense of "Using index" for index/unique-based subqueries (BUG#22930)
      // bk trigger note: this commit refers to BUG#24127
      c3f46e1f
    • sergefp@mysql.com's avatar
      BUG#24085: Wrong result for NULL IN (SELECT not_null_val FROM ...) · 52367948
      sergefp@mysql.com authored
      When transforming "oe IN (SELECT ie ...)" wrap the pushed-down predicates
      iff "oe can be null", not "ie can be null".
      The fix doesn't cover row-based subqueries, those will be fixed in #24127.
      52367948
  2. 10 Jan, 2007 6 commits
  3. 09 Jan, 2007 9 commits
  4. 05 Jan, 2007 1 commit
    • gkodinov/kgeorge@macbook.gmz's avatar
      Bug #15881: cast problems · a63df24a
      gkodinov/kgeorge@macbook.gmz authored
        The optimizer removes expressions from GROUP BY/DISTINCT
        if they happen to participate in a <expression> = <const>
        predicates of the WHERE clause (the idea being that if
        it's always equal to a constant it can't have multiple 
        values).
        However for predicates where the expression and the 
        constant item are of different result type this is not
        valid (e.g. a string column compared to 0).
        Fixed by additional check of the result types of the 
        expression and the constant and if they differ the 
        expression don't get removed from the group by list.
      a63df24a
  5. 04 Jan, 2007 2 commits
  6. 03 Jan, 2007 5 commits
  7. 02 Jan, 2007 11 commits
  8. 31 Dec, 2006 4 commits