1. 21 Jun, 2006 2 commits
    • unknown's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · 08005d2d
      unknown authored
      into  rurik.mysql.com:/home/igor/mysql-4.1-opt
      
      08005d2d
    • unknown's avatar
      Fixed bug #16674. · dcb5b45e
      unknown authored
      The length of the prefix of the pattern string in the LIKE predicate that 
      determined the index range to be scanned was calculated incorrectly for
      multi-byte character sets. 
      As a result of this in 4. 1 the the scanned range was wider then necessary
      if the prefix contained not only one-byte characters.  
      In 5.0 additionally it caused missing some rows from the result set.
      
      
      mysql-test/r/ctype_utf8.result:
        Added test cases for bug #16674.
      mysql-test/t/ctype_utf8.test:
        Added test cases for bug #16674.
      strings/ctype-mb.c:
        Fixed bug #16674.
        The length of the prefix of the pattern string in the LIKE predicate that 
        determined the index range to be scanned was calculated incorrectly for
        multi-byte character sets. 
        As a result of this in 4. 1 the the scanned range was wider then necessary
        if the prefix contained not only one-byte characters.  
        In 5.0 additionally it caused missing some rows from the result set.
            
        The function my_like_range_mb was fixed to calculate the length of
        the prefix in a pattern string correctly in all cases.
      dcb5b45e
  2. 20 Jun, 2006 1 commit
    • unknown's avatar
      select.result: · 503d2023
      unknown authored
        Added test case for bug#18759 Incorrect string to numeric conversion.  
      select.test:
        Added test case for bug#18759 Incorrect string to numeric conversion.
      item_cmpfunc.cc:
        Cleanup after fix for bug#18360 removal
      
      
      sql/item_cmpfunc.cc:
        Cleanup after fix for bug#18360 removal
      mysql-test/t/select.test:
        Added test case for bug#18759 Incorrect string to numeric conversion.
      mysql-test/r/select.result:
        Added test case for bug#18759 Incorrect string to numeric conversion.
      503d2023
  3. 19 Jun, 2006 7 commits
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · c9b93f98
      unknown authored
      into moonbone.local:/work/tmp_merge-4.1-opt-mysql
      
      c9b93f98
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1 · 2cc6bdee
      unknown authored
      into moonbone.local:/work/tmp_merge-4.1-opt-mysql
      
      2cc6bdee
    • unknown's avatar
      item_cmpfunc.cc, func_in.result, func_in.test: · 4d4a181a
      unknown authored
        Reverted fix for bug#18360
      
      
      mysql-test/t/func_in.test:
        Reverted fix for bug#18360
      mysql-test/r/func_in.result:
        Reverted fix for bug#18360
      sql/item_cmpfunc.cc:
        Reverted fix for bug#18360
      4d4a181a
    • unknown's avatar
      Merge mysql.com:/home/kgeorge/mysql/4.1/teamclean · 521fdc7a
      unknown authored
      into  mysql.com:/home/kgeorge/mysql/4.1/B9676
      
      521fdc7a
    • unknown's avatar
      * Bug #9676: INSERT INTO x SELECT .. FROM x LIMIT 1; slows down with big · 4be0169e
      unknown authored
                    tables
      Currently in INSERT ... SELECT ... LIMIT ... the compiler uses a 
      temporary table to store the results of SELECT ... LIMIT .. and then
      uses that table as a source for INSERT. The problem is that in some cases
      it actually skips the LIMIT clause in doing that and materializes the 
      whole SELECT result set regardless of the LIMIT.
      This fix is limiting the process of filling up the temp table with only 
      that much rows that will be actually used by propagating the LIMIT value.
      
      
      mysql-test/r/insert_select.result:
        * Bug #9676: INSERT INTO x SELECT .. FROM x LIMIT 1; slows down with big
                      tables
        - a test demonstrating the code path
      mysql-test/t/insert_select.test:
        * Bug #9676: INSERT INTO x SELECT .. FROM x LIMIT 1; slows down with big
                      tables
        - a test demonstrating the code path
      sql/sql_select.cc:
        * Bug #9676: INSERT INTO x SELECT .. FROM x LIMIT 1; slows down with big
                      tables
        - pass through the real LIMIT number if the temp table is created for
          buffering results.
        - set the counter for all the cases when the temp table is not used for
          grouping
      4be0169e
    • unknown's avatar
      Merge april:devel/BitKeeper/mysql-4.1 · 71cb9b68
      unknown authored
      into  may.pils.ru:/home/svoj/devel/mysql/BUG18036/mysql-4.1
      
      71cb9b68
    • unknown's avatar
      BUG#18036 - update of table joined to self reports table as crashed · b424c584
      unknown authored
      Certain updates of table joined to self results in unexpected
      behavior.
      
      The problem was that record cache was mistakenly enabled for
      self-joined table updates. Normally record cache must be disabled
      for such updates.
      
      Fixed wrong condition in code that determines whether to use
      record cache for self-joined table updates.
      
      Only MyISAM tables were affected.
      
      
      mysql-test/r/myisam.result:
        Test case for BUG#18036.
      mysql-test/t/myisam.test:
        Test case for BUG#18036.
      sql/sql_update.cc:
        Fixed wrong condition in code that determines whether to use
        record cache for self-joined table updates.
      b424c584
  4. 18 Jun, 2006 1 commit
  5. 17 Jun, 2006 3 commits
    • unknown's avatar
      Makefile.am: · fbc6b181
      unknown authored
        Avoid error message trying 'windoze-dsp' in obsolete directory
      compile-dist:
        Avoid error message for target 'distclean' and no Makefile
      
      
      BUILD/compile-dist:
        Avoid error message for target 'distclean' and no Makefile
      ndb/Makefile.am:
        Avoid error message trying 'windoze-dsp' in obsolete directory
      fbc6b181
    • unknown's avatar
      make_win_src_distribution.sh: · b8bed644
      unknown authored
        Make output less verbose
        Make temporary directory name unique
        Remove temporary directory on interrupt
      
      
      scripts/make_win_src_distribution.sh:
        Make output less verbose
        Make temporary directory name unique
        Remove temporary directory on interrupt
      b8bed644
    • unknown's avatar
      make_win_src_distribution.sh: · 0f1824af
      unknown authored
        Include "sql_yacc.yy" for completeness (bug#20387)
      
      
      scripts/make_win_src_distribution.sh:
        Include "sql_yacc.yy" for completeness (bug#20387)
        Improved error handling
        Don't list all files packed with tar/zip unless debugging
      0f1824af
  6. 16 Jun, 2006 3 commits
    • unknown's avatar
      Manually merged · 6b8b4816
      unknown authored
      
      sql/item_timefunc.cc:
        Auto merged
      sql/item_timefunc.h:
        Auto merged
      6b8b4816
    • unknown's avatar
      .del-mysql_install.def~8da659e7c0f7e571: · 9e4d8e99
      unknown authored
        Delete: netware/mysql_install.def
      Makefile.am:
        Removed obsolete "mysql_install.def"
      
      
      netware/Makefile.am:
        Removed obsolete "mysql_install.def"
      BitKeeper/deleted/.del-mysql_install.def~8da659e7c0f7e571:
        Delete: netware/mysql_install.def
      9e4d8e99
    • unknown's avatar
      item_strfunc.cc: · 6ca6756b
      unknown authored
        Fix for bug#16716 for --ps-protocol mode.
      item_cmpfunc.cc:
        Fix for a memory allocation/freeing problem in agg_cmp_type() after fix
      for bug#16377. Few language corrections.
      
      
      sql/item_cmpfunc.cc:
        Fix for a memory allocation/freeing problem in agg_cmp_type(). Few language corrections.
      sql/item_strfunc.cc:
        Fix for bug#16716 for --ps-protocol mode.
      6ca6756b
  7. 15 Jun, 2006 4 commits
  8. 14 Jun, 2006 12 commits
  9. 13 Jun, 2006 3 commits
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · f75a8a9c
      unknown authored
      into moonbone.local:/home/evgen/bk-trees/mysql-4.1-opt
      
      f75a8a9c
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · 4fed8070
      unknown authored
      into moonbone.local:/work/16377-bug-4.1-opt-mysql
      
      4fed8070
    • unknown's avatar
      Fixed bug#16377: result of DATE/TIME functions were compared as strings which · e3df0745
      unknown authored
      can lead to a wrong result.
      
      All date/time functions has the STRING result type thus their results are
      compared as strings. The string date representation allows a user to skip 
      some of leading zeros. This can lead to wrong comparison result if a date/time 
      function result is compared to such a string constant.
      
      The idea behind this bug fix is to compare results of date/time functions
      and data/time constants as ints, because that date/time representation is 
      more exact. To achieve this the agg_cmp_type() is changed to take in the
      account that a date/time field or an date/time item should be compared 
      as ints.
      
      This bug fix is partially back ported from 5.0.
      
      The agg_cmp_type() function now accepts THD as one of parameters. 
      In addition, it now checks if a date/time field/function is present in the
      list. If so, it tries to coerce all constants to INT to make date/time
      comparison return correct result. The field for the constant coercion is
      taken from the Item_field or constructed from the Item_func. In latter case
      the constructed field will be freed after conversion of all constant items.
      Otherwise the result is same as before - aggregated with help of the
      item_cmp_type() function.
      
      From the Item_func_between::fix_length_and_dec() function removed the part
      which was converting date/time constants to int if possible. Now this is 
      done by the agg_cmp_type() function.
      
      The new function result_as_longlong() is added to the Item class. 
      It indicates that the item is a date/time item and result of it can be
      compared as int. Such items are date/time fields/functions.
      
      Correct val_int() methods are implemented for classes Item_date_typecast, 
      Item_func_makedate, Item_time_typecast, Item_datetime_typecast. All these
      classes are derived from Item_str_func and Item_str_func::val_int() converts
      its string value to int without regard to the date/time type of these items.
      
      Arg_comparator::set_compare_func() and Arg_comparator::set_cmp_func()
      functions are changed to substitute result type of an item with the INT_RESULT
      if the item is a date/time item and another item is a constant. This is done
      to get a correct result of comparisons like date_time_function() = string_constant.
      
      
      mysql-test/r/cast.result:
        Fixed wrong test case result after bug fix#16377.
      sql/item_timefunc.h:
        Fixed bug#16377: result of DATE/TIME functions were compared as strings which
        can lead to a wrong result.
        The result_as_longlong() function is set to return TRUE for these classes:
        Item_date, Item_date_func, Item_func_curtime, Item_func_sec_to_time,
        Item_date_typecast, Item_time_typecast, Item_datetime_typecast,
        Item_func_makedate.
      sql/item_timefunc.cc:
        Fixed bug#16377: result of DATE/TIME functions were compared as strings which
        can lead to a wrong result.Correct val_int() methods are implemented for classes Item_date_typecast, 
        Item_func_makedate, Item_time_typecast, Item_datetime_typecast.
      sql/item_cmpfunc.h:
        Fixed bug#16377: result of DATE/TIME functions were compared as strings which
        can lead to a wrong result.
        Arg_comparator::set_compare_func() and Arg_comparator::set_cmp_func()
        functions are changed to substitute result type of an item with the INT_RESULT
        if the item is a date/time item and another item is a constant.
      sql/field.cc:
        Fixed bug#16377: result of DATE/TIME functions were compared as strings which
        can lead to a wrong result.
        Field::set_warning(), Field::set_datetime_warning() now use current_thd to get thd if table isn't set.
      sql/item_cmpfunc.cc:
        Fixed bug#16377: result of DATE/TIME functions were compared as strings which
        can lead to a wrong result.
        The agg_cmp_type() function now accepts THD as one of parameters. 
        In addition, it now checks if a date/time field/function is present in the
        list. If so, it tries to coerce all constants to INT to make date/time
        comparison return correct result. The field for the constant coercion is
        taken from the Item_field or constructed from the Item_func. In latter case
        the constructed field will be freed after conversion of all constant items.
        Otherwise the result is same as before - aggregated with help of the
        item_cmp_type() function.
      sql/item.h:
        The new function result_as_longlong() is added to the Item class. 
        It indicates that the item is a date/time item and result of it can be
        compared as int. Such items are date/time fields/functions.
      mysql-test/t/func_time.test:
        Added test case fot bug#16377: result of DATE/TIME functions were compared as strings which
        can lead to a wrong result.
      mysql-test/r/func_time.result:
        Added test case fot bug#16377: result of DATE/TIME functions were compared as strings which
        can lead to a wrong result.
      e3df0745
  10. 12 Jun, 2006 4 commits