1. 16 Oct, 2006 1 commit
    • unknown's avatar
      Bug #22342: No results returned for query using max and group by · 1d3a5f57
      unknown authored
       When using index for group by and range access the server isolates    
       a set of ranges based on the conditions over the key parts of the
       index used. Then it uses only the ranges over the GROUP BY fields to
       jump from one group to another. Since the GROUP BY fields may form a
       prefix over the index, we may use only a prefix of the ranges produced
       by the range optimizer.
       Each range contains a notion on whether it includes its border values.
       The problem is that when using a range prefix, the last range is open
       because it assumes that there is a range on the next keypart. Thus when
       we use a prefix range as it is, it excludes all border values.
       The solution is when ignoring the suffix of the range conditions 
       (to jump over the GROUP BY prefix only) the server must change the 
       remaining intervals so they always contain their borders, e.g. 
       if the whole range was :
       (1,-inf) <= (<group_by_col>,<min_max_arg_col>) < (1, 3) we must make
       (1) <= (<group_by_col>) <= (1) because (a,b) < (c1,c2) means :
       a < c1 OR (a = c1 AND b < c2).
      
      
      mysql-test/r/group_min_max.result:
        Bug #22342: No results returned for query using max and group by
         - test case
      mysql-test/t/group_min_max.test:
        Bug #22342: No results returned for query using max and group by
         - test case
      sql/opt_range.cc:
        Bug #22342: No results returned for query using max and group by
         - open the intervals for prefix select when there are more conditions
           than used for the prefix search.
      sql/opt_range.h:
        Bug #22342: No results returned for query using max and group by
         - open the intervals for prefix select when there are more conditions
           than used for the prefix search.
      1d3a5f57
  2. 20 Sep, 2006 6 commits
    • unknown's avatar
      Merge rurik.mysql.com:/home/igor/mysql-4.1-opt · 82703ea4
      unknown authored
      into  rurik.mysql.com:/home/igor/mysql-5.0-opt
      
      
      mysql-test/r/ctype_ucs.result:
        Auto merged
      mysql-test/t/ctype_ucs.test:
        Auto merged
      sql/field.h:
        Auto merged
      sql/unireg.cc:
        Auto merged
      82703ea4
    • unknown's avatar
      Fixed bug #20108. · 4017a533
      unknown authored
      Any default value for a enum fields over UCS2 charsets was corrupted
      when we put it into the frm file, as it had been overwritten by its
      HEX representation.
      To fix it now we save a copy of structure that represents the enum
      type and when putting the default values we use this copy. 
      
      
      mysql-test/r/ctype_ucs.result:
        Added a test case for bug #20108.
      mysql-test/t/ctype_ucs.test:
        Added a test case for bug #20108.
      4017a533
    • unknown's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 0464a219
      unknown authored
      into  rurik.mysql.com:/home/igor/mysql-5.0-opt
      
      0464a219
    • unknown's avatar
      Fixed bug #22015: crash with GROUP_CONCAT over a derived table · cc5e1972
      unknown authored
      that returns the results of aggregation by GROUP_CONCAT.
      The crash was due to an overflow happened for the field
      sortoder->length.
      The fix prevents this overflow exploiting the fact that the
      value of sortoder->length cannot be greater than the value of
      thd->variables.max_sort_length.   
      
      
      mysql-test/r/func_gconcat.result:
        Added a test case for bug #22015.
      mysql-test/t/func_gconcat.test:
        Added a test case for bug #22015.
      cc5e1972
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 36f8b3a8
      unknown authored
      into  rakia.(none):/home/kgeorge/mysql/autopush/B21540-5.0-opt
      
      36f8b3a8
    • unknown's avatar
      fixed merge · 151cb33e
      unknown authored
      151cb33e
  3. 19 Sep, 2006 4 commits
  4. 18 Sep, 2006 5 commits
  5. 16 Sep, 2006 2 commits
    • unknown's avatar
      Fixed bug #22085: Crash on the execution of a prepared · e229307a
      unknown authored
      statement that uses an aggregating IN subquery with 
      HAVING clause.
      A wrong order of the call of split_sum_func2 for the HAVING
      clause of the subquery and the transformation for the 
      subquery resulted in the creation of a andor structure
      that could not be restored at an execution of the prepared
      statement.
      
      
      mysql-test/r/ps.result:
        Added a test cases for bug #22085.
      mysql-test/t/ps.test:
        Added a test cases for bug #22085.
      e229307a
    • unknown's avatar
      Fixed bug #21493: crash for the second execution of a function · 48bafe40
      unknown authored
      containing a select statement that uses an aggregating IN subquery.
      Added a parameter to the function fix_prepare_information 
      to restore correctly the having clause for the second execution.
      Saved andor structure of the having conditions at the proper moment
      before any calls of split_sum_func2 that could modify the having structure
      adding new Item_ref objects. (These additions, are produced not with 
      the statement mem_root, but rather with the execution mem_root.)
      
      
      mysql-test/r/sp.result:
        Added a test case for bug #21493.
      mysql-test/t/sp.test:
        Added a test case for bug #21493.
      sql/sql_delete.cc:
        Fixed bug #21493: crash for the second execution of a function
        containing a select statement that uses an aggregating IN subquery.
        Added a parameter to the function fix_prepare_information 
        to restore correctly the having clause for the second execution.
      sql/sql_insert.cc:
        Fixed bug #21493: crash for the second execution of a function
        containing a select statement that uses an aggregating IN subquery.
        Added a parameter to the function fix_prepare_information 
        to restore correctly the having clause for the second execution.
      sql/sql_lex.cc:
        Fixed bug #21493: crash for the second execution of a function
        containing a select statement that uses an aggregating IN subquery.
        Added a parameter to the function fix_prepare_information 
        to restore correctly the having clause for the second execution.
      sql/sql_lex.h:
        Fixed bug #21493: crash for the second execution of a function
        containing a select statement that uses an aggregating IN subquery.
        Added a parameter to the function fix_prepare_information 
        to restore correctly the having clause for the second execution.
      sql/sql_update.cc:
        Fixed bug #21493: crash for the second execution of a function
        containing a select statement that uses an aggregating IN subquery.
        Added a parameter to the function fix_prepare_information 
        to restore correctly the having clause for the second execution.
      48bafe40
  6. 15 Sep, 2006 22 commits