1. 17 Feb, 2008 1 commit
    • holyfoot/hf@mysql.com/hfmain.(none)'s avatar
      Bug #32942 now() - interval '7200' second NOT pre-calculated, causing "full table scan" · 7abba3b0
      holyfoot/hf@mysql.com/hfmain.(none) authored
      Problem is not about intervals and doesn't actually cause 'full table scan'.
      We have an optimization for DISTINCT when we have
      'DISTINCT field_from_first_join_table' we don't need to read all the
      rows from the JOIN-ed table if we found one conforming row.
      It stopped working in 5.0 as we return NESTED_LOOP_OK if we came upon
      that case in the evaluate_join_record() and that doesn't break the
      recordreading loop in sub_select().
      
      Fixed by returning NESTED_LOOP_NO_MORE_ROWS in this case.
      7abba3b0
  2. 13 Dec, 2007 8 commits
  3. 12 Dec, 2007 1 commit
  4. 11 Dec, 2007 3 commits
  5. 10 Dec, 2007 4 commits
  6. 09 Dec, 2007 2 commits
  7. 08 Dec, 2007 4 commits
    • igor@olga.mysql.com's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · be5485ce
      igor@olga.mysql.com authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug32815
      be5485ce
    • timour/tkatchaounov@lapi.mysql.com's avatar
      Fix for BUG#32694 "NOT NULL table field in a subquery produces invalid results" · 9be915e7
      timour/tkatchaounov@lapi.mysql.com authored
        
      The problem was that when convert_constant_item is called for subqueries,
      this happens when we already started executing the top-level query, and
      the field argument of convert_constant_item pointed to a valid table row.
      In turn convert_constant_item used the field buffer to compute the value
      of its item argument. This copied the item's value into the field,
      and made equalities with outer references always true.
        
      The fix saves/restores the original field's value when it belongs to an
      outer table.
      9be915e7
    • igor@olga.mysql.com's avatar
      Fixed bug #27545. · c04d3727
      igor@olga.mysql.com authored
      Both arguments of the function NAME_CONST must be constant expressions.
      This constraint is checked in the Item_name_const::fix_fields method. 
      Yet if the argument of the function was not a constant expression no
      error message was reported. As a result the client hanged waiting for a
      response.
      Now the function Item_name_const::fix_fields reports an error message
      when any of the additional context conditions imposed on the function
      NAME_CONST is not satisfied. 
      c04d3727
    • igor@olga.mysql.com's avatar
      Fixed bug #32815. · c394dbe1
      igor@olga.mysql.com authored
      The index (key_part_1, key_part-2) was erroneously considered as compatible
      with the required ordering in the function test_test_if_order_by_key when 
      a query with an ORDER BY clause contained a condition of the form
        key_part_1=const OR key_part_1 IS NULL 
      and the order list contained only key_part_2. This happened because the value
      of the const_key_parts field in the KEYUSE structure was not formed correctly
      for the keys that could be used for ref_or_null access. 
      This was fixed in the code of the update_ref_and_keys function.
      The problem could not manifest itself for MyISAM databases because the
      implementation of the keys_to_use_for_scanning() handler function always
      returns an empty bitmap for the MyISAM engine.
      c394dbe1
  8. 07 Dec, 2007 5 commits
  9. 06 Dec, 2007 4 commits
  10. 05 Dec, 2007 3 commits
  11. 04 Dec, 2007 1 commit
  12. 03 Dec, 2007 2 commits
  13. 02 Dec, 2007 2 commits