1. 16 Feb, 2007 1 commit
    • gkodinov/kgeorge@macbook.gmz's avatar
      BUG#20420: optimizer reports wrong keys on left join with IN · 138e9c40
      gkodinov/kgeorge@macbook.gmz authored
       When checking if an IN predicate can be evaluated using a key
       the optimizer makes sure that all the arguments of IN are of
       the same result type. To assure that it check whether 
       Item_func_in::array is filled in. 
       However Item_func_in::array is set if the types are
       the same AND all the arguments are compile time constants.
       Fixed by introducing Item_func_in::arg_types_compatible
       flag to allow correct checking of the desired condition.
      138e9c40
  2. 24 Jan, 2007 3 commits
  3. 23 Jan, 2007 3 commits
  4. 22 Jan, 2007 5 commits
  5. 19 Jan, 2007 6 commits
  6. 18 Jan, 2007 3 commits
    • gkodinov/kgeorge@rakia.gmz's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 0d665bd5
      gkodinov/kgeorge@rakia.gmz authored
      into  rakia.gmz:/home/kgeorge/mysql/autopush/B25382-5.0-opt
      0d665bd5
    • gkodinov/kgeorge@macbook.gmz's avatar
      Bug #25382: Passing NULL to an UDF called from stored procedures · 20d94f11
      gkodinov/kgeorge@macbook.gmz authored
       crashes server
       Check for null value is reliable only after calling some of the 
       val_xxx() methods. If the val_xxx() method is not called
       the null_value flag will be set only for certain types of NULL
       values (like SQL constant NULLs for example).
       This caused a crash while trying to dereference a NULL pointer
       that is returned by val_str() for NULL values.
       Fixed by swapping the order of val_xxx() and null_value check.
      20d94f11
    • igor@olga.mysql.com's avatar
      Fixed bug #25580: incorrect stored representations of views in cases · c1927e9a
      igor@olga.mysql.com authored
      when they contain the '!' operator.
      Added an implementation for the method Item_func_not::print. 
      The method encloses any NOT expression into extra parentheses to avoid
      incorrect stored representations of views that use the '!' operators.
      Without this change when a view was created that contained
      the expression !0*5  its stored representation contained not this
      expression but rather the expression not(0)*5 . 
      The operator '!' is of a higher precedence than '*', while NOT is 
      of a lower precedence than '*'. That's why the expression !0*5 
      is interpreted as not(0)*5, while the expression not(0)*5 is interpreted
      as not((0)*5) unless sql_mode is set to HIGH_NOT_PRECEDENCE.
      Now we translate !0*5 into (not(0))*5. 
      c1927e9a
  7. 15 Jan, 2007 8 commits
  8. 14 Jan, 2007 1 commit
  9. 13 Jan, 2007 1 commit
  10. 12 Jan, 2007 9 commits