1. 31 May, 2007 9 commits
    • evgen@moonbone.local's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · df3b7082
      evgen@moonbone.local authored
      into  moonbone.local:/mnt/gentoo64/work/28494-bug-5.0-opt-mysql
      df3b7082
    • 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
    • gshchepa/uchum@gleb.loc's avatar
      Merge gleb.loc:/home/uchum/work/bk/mysql-5.0-opt · 55833d3a
      gshchepa/uchum@gleb.loc authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-28244
      55833d3a
    • gshchepa/uchum@gleb.loc's avatar
      sql_view.cc: · f690d759
      gshchepa/uchum@gleb.loc authored
        Patch to eliminate compilation warning.
      f690d759
    • gshchepa/uchum@gleb.loc's avatar
      Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 36244941
      gshchepa/uchum@gleb.loc authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt
      36244941
    • gshchepa/uchum@gleb.loc's avatar
      Merge gleb.loc:/home/uchum/work/bk/mysql-5.0-opt · 19d513de
      gshchepa/uchum@gleb.loc authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-28244
      19d513de
    • gshchepa/uchum@gleb.loc's avatar
      Fixed bug #28244. · 12d43d55
      gshchepa/uchum@gleb.loc authored
      When the same VIEW was created at the master side twice,
      malformed (truncated after the word 'AS') query string 
      was forwarded to client side, so error messages on the
      master and client was different, and replication was
      broken.
      
      The mysql_register_view function call failed
      too early: fields of `view' output argument of this 
      function was not filled yet with correct data required
      for query replication.
      The mysql_register_view function also copied pointers to 
      local buffers into a memory allocated by the caller.
      12d43d55
    • gshchepa/uchum@gleb.loc's avatar
      Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · be69f13d
      gshchepa/uchum@gleb.loc authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-28598
      be69f13d
    • gshchepa/uchum@gleb.loc's avatar
      Fixed bug #28598. · e16953df
      gshchepa/uchum@gleb.loc authored
      mysqld crashed when a long-running explain query was killed from
      another connection.
      
      When the current thread caught a kill signal executing the function
      best_extension_by_limited_search it just silently returned to  
      the calling function greedy_search without initializing elements of
      the join->best_positions array.
      However, the greedy_search function ignored thd->killed status
      after a calls to the best_extension_by_limited_search function, and
      after several calls the greedy_search function used an uninitialized
      data from the join->best_positions[idx] to search position in the
      join->best_ref array. 
      That search failed, and greedy_search tried to call swap_variables
      function with NULL argument - that caused a crash.
      e16953df
  2. 30 May, 2007 12 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 4 commits