1. 20 Aug, 2006 1 commit
    • evgen@moonbone.local's avatar
      Fixed bug#21475: Wrongly applied constant propagation leads to a false comparison. · b4c2f3f8
      evgen@moonbone.local authored
      A date can be represented as an int (like 20060101) and as a string (like
      "2006.01.01"). When a DATE/TIME field is compared in one SELECT against both
      representations the constant propagation mechanism leads to comparison
      of DATE as a string and DATE as an int. In this example it compares 2006 and
      20060101 integers. Obviously it fails comparison although they represents the
      same date.
      
      
      Now the Item_bool_func2::fix_length_and_dec() function sets the comparison
      context for items being compared. I.e. if items compared as strings the
      comparison context is STRING.
      The constant propagation mechanism now doesn't mix items used in different
      comparison contexts. The context check is done in the
      Item_field::equal_fields_propagator() and in the change_cond_ref_to_const() 
      functions.
      
      Also the better fix for bug 21159 is introduced.
      b4c2f3f8
  2. 17 Aug, 2006 1 commit
  3. 16 Aug, 2006 3 commits
  4. 15 Aug, 2006 13 commits
  5. 14 Aug, 2006 3 commits
  6. 11 Aug, 2006 3 commits
  7. 10 Aug, 2006 4 commits
  8. 09 Aug, 2006 3 commits
  9. 08 Aug, 2006 3 commits
  10. 07 Aug, 2006 1 commit
  11. 06 Aug, 2006 3 commits
  12. 03 Aug, 2006 2 commits