1. 31 May, 2007 1 commit
    • evgen@moonbone.local's avatar
      Bug#28494: Grouping by Item_func_set_user_var produces incorrect result. · f70ae3a6
      evgen@moonbone.local authored
      The end_update() function uses the Item::save_org_in_field() function to
      save original values of items into the group buffer. But for the 
      Item_func_set_user_var this method was mapped to the save_in_field method.
      The latter function wrongly decides to use the result_field. This leads to
      saving incorrect value in the grouping buffer and wrong result of the whole
      query.
      
      The can_use_result_field argument of the bool type is added to the
      Item_func_set_user_var::save_in_field() function. If it is set to FALSE
      then the item's result field won't be used. Otherwise it will be detected
      whether the result field will be used (old behaviour).
      Two wrapping functions for the function above are added to the 
      Item_func_set_user_var class:
      the save_in_field(Field *field, bool no_conversions) - it calls the above
      function with the can_use_result_field set to TRUE.
      the save_org_in_field(Field *field) - same, but the can_use_result_field
      is set to FALSE.
      f70ae3a6
  2. 30 May, 2007 11 commits
  3. 29 May, 2007 2 commits
    • evgen@moonbone.local's avatar
      Bug#28450: The Item_date_add_interval in select list may fail the field · 268fdf5d
      evgen@moonbone.local authored
      type assertion.
      
      The bug was introduced by the patch for bug #16377.
      The "+ INTERVAL" (Item_date_add_interval) function detects its result type
      by the type of its first argument. But in some cases it returns STRING
      as the result type. This happens when, for example, the first argument is a 
      DATE represented as string. All this makes the get_datetime_value()
      function misinterpret such result and return wrong DATE/DATETIME value.
      To avoid such cases in the fix for #16377 the code that detects correct result
      field type on the first execution was added to the
      Item_date_add_interval::get_date() function. Due to this the result
      field type of the Item_date_add_interval item stored by the send_fields()
      function differs from item's result field type at the moment when
      the item is actually sent. It causes an assertion failure.
      
      Now the get_datetime_value() detects that the DATE value is returned by
      some item not only by checking the result field type but also by comparing
      the returned value with the 100000000L constant - any DATE value should be
      less than this value.
      Removed result field type adjusting code from the
      Item_date_add_interval::get_date() function.
      268fdf5d
    • gkodinov/kgeorge@magare.gmz's avatar
      Bug #28605: SHOW CREATE VIEW with views using stored_procedures no · a6ebd634
      gkodinov/kgeorge@magare.gmz authored
       longer showing SP names.
      SHOW CREATE VIEW uses Item::print() methods to reconstruct the 
      statement text from the parse tree.
      The print() method for stored procedure calls needs allocate 
      space to print the function's quoted name.
      It was incorrectly calculating the length of the buffer needed 
      (was too short).
      Fixed to reflect the actual space needed.
      a6ebd634
  4. 28 May, 2007 1 commit
  5. 27 May, 2007 1 commit
  6. 26 May, 2007 3 commits
  7. 25 May, 2007 3 commits
  8. 24 May, 2007 5 commits
  9. 23 May, 2007 8 commits
  10. 22 May, 2007 5 commits