1. 16 Oct, 2006 1 commit
    • unknown's avatar
      Bug #22342: No results returned for query using max and group by · decf9082
      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.
      decf9082
  2. 20 Sep, 2006 6 commits
    • unknown's avatar
      Merge rurik.mysql.com:/home/igor/mysql-4.1-opt · 54bb1045
      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
      54bb1045
    • unknown's avatar
      Fixed bug #20108. · 0f50a8a7
      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.
      0f50a8a7
    • unknown's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · c358e322
      unknown authored
      into  rurik.mysql.com:/home/igor/mysql-5.0-opt
      
      
      c358e322
    • unknown's avatar
      Fixed bug #22015: crash with GROUP_CONCAT over a derived table · 1b5bd18d
      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.
      1b5bd18d
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · ea3dfa4a
      unknown authored
      into  rakia.(none):/home/kgeorge/mysql/autopush/B21540-5.0-opt
      
      
      ea3dfa4a
    • unknown's avatar
      fixed merge · a952b3fc
      unknown authored
      a952b3fc
  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 · c46151d9
      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.
      c46151d9
    • unknown's avatar
      Fixed bug #21493: crash for the second execution of a function · 58e178c5
      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.
      58e178c5
  6. 15 Sep, 2006 22 commits