1. 25 Jul, 2006 1 commit
    • evgen@moonbone.local's avatar
      Fixed bug#19862: Sort with filesort by function evaluates function twice · 4ee2e07c
      evgen@moonbone.local authored
      When there is no index defined filesort is used to sort the result of a
      query. If there is a function in the select list and the result set should be
      ordered by it's value then this function will be evaluated twice. First time to
      get the value of the sort key and second time to send its value to a user.
      This happens because filesort when sorts a table remembers only values of its
      fields but not values of functions.
      All functions are affected. But taking into account that SP and UDF functions
      can be both expensive and non-deterministic a temporary table should be used 
      to store their results and then sort it to avoid twice SP evaluation and to 
      get a correct result.
      
      If an expression referenced in an ORDER clause contains a SP or UDF 
      function, force the use of a temporary table.
      
      A new Item_processor function called func_type_checker_processor is added
      to check whether the expression contains a function of a particular type.
      4ee2e07c
  2. 19 Jul, 2006 3 commits
    • igor@olga.mysql.com's avatar
      8b7fc77a
    • igor@olga.mysql.com's avatar
      Merge olga.mysql.com:/home/igor/mysql-4.1-opt · d1c109ef
      igor@olga.mysql.com authored
      into  olga.mysql.com:/home/igor/mysql-5.0-opt
      d1c109ef
    • igor@olga.mysql.com's avatar
      Fixed bug #17526: incorrect print method · f201828d
      igor@olga.mysql.com authored
      for class Item_func_trim. 
      For 4.1 it caused wrong output for EXPLAIN EXTENDED commands
      if expressions with the TRIM function of two arguments were used.
      For 5.0 it caused an error message when trying to select
      from a view with the TRIM function of two arguments.
      This unexpected error message was due to the fact that the
      print method for the class Item_func_trim was inherited from
      the class Item_func. Yet the TRIM function does not take a list
      of its arguments. Rather it takes the arguments in the form:
        [{BOTH | LEADING | TRAILING} [remstr] FROM] str) |
        [remstr FROM] str
      f201828d
  3. 18 Jul, 2006 3 commits
  4. 17 Jul, 2006 5 commits
  5. 16 Jul, 2006 1 commit
  6. 15 Jul, 2006 4 commits
    • evgen@moonbone.local's avatar
      errmsg.txt: · 5431805c
      evgen@moonbone.local authored
        Fixed bug#10977: No warning issued if a column name is truncated
        New warning message is added.
      5431805c
    • evgen@moonbone.local's avatar
      Fixed bug#10977: No warning issued if a column name is truncated · f1346cf8
      evgen@moonbone.local authored
      When an alias is set to a column leading spaces are removed from the alias.
      But when this is done on aliases set by user this can lead to confusion.
      
      Now Item::set_name() method issues the warning if leading spaces were removed
      from an alias set by user.
      
      New warning message is added.
      f1346cf8
    • igor@rurik.mysql.com's avatar
      Fixed bug #20869. · 38cd55a7
      igor@rurik.mysql.com authored
      The bug caused a crash of the server if a subquery with
      ORDER BY DESC used the range access method.
      The bug happened because the method QUICK_SELECT_DESC::reset
      was not reworked after MRR interface had been introduced.
      38cd55a7
    • igor@olga.mysql.com's avatar
      Fixed bug #20519. · 4de3186a
      igor@olga.mysql.com authored
      The bug was due to a loss happened during a refactoring made
      on May 30 2005 that modified the function JOIN::reinit.
      As a result of it for any subquery the value of offset_limit_cnt
      was not restored for the following executions. Yet the first 
      execution of the subquery made it equal to 0.
      The fix restores this value in the function JOIN::reinit.  
      4de3186a
  7. 14 Jul, 2006 6 commits
  8. 13 Jul, 2006 4 commits
  9. 12 Jul, 2006 4 commits
  10. 11 Jul, 2006 9 commits