An error occurred fetching the project authors.
  1. 03 Apr, 2007 1 commit
    • unknown's avatar
      Fixed bug #27532: wrong results with ORDER/GROUP BY queries containing · 0ee34b1c
      unknown authored
      IN/BETWEEN predicates in sorting expressions.
      Wrong results may occur when the select list contains an expression
      with IN/BETWEEN predicate that differs from a sorting expression by
      an additional NOT only.
       
      Added the method Item_func_opt_neg::eq to compare correctly expressions
      containing [NOT] IN/BETWEEN.
      The eq method inherited from the Item_func returns TRUE when comparing
      'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.  
      
      
      mysql-test/r/order_by.result:
        Added a test case for bug #27532.
      mysql-test/t/order_by.test:
        Added a test case for bug #27532.
      sql/item_cmpfunc.cc:
        Fixed bug #27532.
        Added the method Item_func_opt_neg::eq to compare correctly expressions
        containing [NOT] IN/BETWEEN.
        The eq method inherited from the Item_func returns TRUE when comparing
        'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.
      sql/item_cmpfunc.h:
        Added the method Item_func_opt_neg::eq to compare correctly expressions
        containing [NOT] IN/BETWEEN.
        The eq method inherited from the Item_func returns TRUE when comparing
        'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.
      0ee34b1c
  2. 31 Jan, 2007 1 commit
    • unknown's avatar
      fix for bug #19690: ORDER BY eliminates rows from the result · faad7355
      unknown authored
      Depending on the queries we use different data processing methods
      and can lose some data in case of double (and decimal in 4.1) fields.
      
      The fix consists of two parts:
      1. double comparison changed, now double a is equal to double b 
      if (a-b) is less than 5*0.1^(1 + max(a->decimals, b->decimals)). 
      For example, if a->decimals==1, b->decimals==2, a==b if (a-b)<0.005
      2. if we use a temporary table, store double values there as is 
      to avoid any data conversion (rounding).
      
      
      mysql-test/r/type_float.result:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - test result
      mysql-test/t/type_float.test:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - test case
      sql/field.cc:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - use not_fixed flag instead of dec to check bounds.
      sql/field.h:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - Field_Double::not_fixed flag introduced, which is set if dec == NOT_FIXED_DEC
            and is used in the ::store() to check bounds. 
          - new constructor introduced (with not_fixed_arg parameter).
      sql/init.cc:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - fill log_01[] array with 0.1 powers.
      sql/item_cmpfunc.cc:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - compare_real_fixed() and compare_e_real_fixed() introduced,
            they consider double a == double b if a-b is less than 'precision',
            'precision' is set to 5*0.1^(1 + max(a->decimals, b->decimals)), 
            for example, if a->decimals==1, b->decimals==2, 'precision' is 0.005
          - use the above functions if both arguments are fixed.
      sql/item_cmpfunc.h:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - Arg_comparator::presision introduced.
          - Arg_comparator::compare_real_fixed(), Arg_comparator::compare_e_real_fixed() introduced.
      sql/mysql_priv.h:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - log_01 array of 0.1 powers added.
      sql/mysqld.cc:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - log_01 array of 0.1 powers added.
      sql/sql_select.cc:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - if we create double field in a temporary table, set not_fixed flag
            (use proper constructor) to avoid data conversion 
            in the Field_double::store(). Otherwise we can lose some data.
      faad7355
  3. 26 Jan, 2007 1 commit
    • unknown's avatar
      Fixed bug #24653. · da561a80
      unknown authored
      The bug report has demonstrated the following two problems.
      1. If an ORDER/GROUP BY list includes a constant expression being 
      optimized away and, at the same time, containing single-row
      subselects that return more that one row, no error is reported.
      Strictly speaking the standard allows to ignore error in this case.
      Yet, now a corresponding fatal error is reported in this case.
      2. If a query requires sorting by expressions containing single-row
      subselects that, however, return more than one row, then the execution
      of the query may cause a server crash. 
      To fix this some code has been added that blocks execution of a subselect
      item in case of a fatal error in the method Item_subselect::exec.
      
      
      mysql-test/r/subselect.result:
        Added a test cases for bug #24653.
      mysql-test/t/subselect.test:
        Added a test cases for bug #24653.
      sql/filesort.cc:
        Fixed bug #24653.
        Added a check for fatal error after reading the next row from the table
        in the function find_all_keys.
      sql/item.cc:
        Fixed bug #24653.
        Down-ported calculation of the attribute with_subselect of for Item objects.
      sql/item.h:
        Fixed bug #24653.
        Down-ported calculation of the attribute with_subselect of for Item objects.
      sql/item_cmpfunc.cc:
        Fixed bug #24653.
        Down-ported calculation of the attribute with_subselect of for Item objects.
      sql/item_cmpfunc.h:
        Fixed bug #24653.
        Down-ported calculation of the attribute with_subselect of for Item objects.
      sql/item_func.cc:
        Fixed bug #24653.
        Down-ported calculation of the attribute with_subselect of for Item objects.
      sql/item_subselect.cc:
        Fixed bug #24653.
        Added a check for fatal error in the method Item_subselect::exec
        to block evaluation of subselects in erroneous situations.
        Down-ported calculation of the attribute with_subselect of for Item objects.
      sql/sql_select.cc:
        Fixed bug #24653.
        Added a check to verify that any constant expression used
        in ORDER BY and/or GROUP BY lists which is optimized away
        does not contain subselects returning more than one row.
        If it does a fatal error is reported.
      da561a80
  4. 16 Nov, 2006 1 commit
    • unknown's avatar
      BUG#17047: CHAR() and IN() can return NULL without signaling NULL result · e40e8052
      unknown authored
      The problem was that some functions (namely IN() starting with 4.1, and
      CHAR() starting with 5.0) were returning NULL in certain conditions,
      while they didn't set their maybe_null flag.  Because of that there could
      be some problems with 'IS NULL' check, and statements that depend on the
      function value domain, like CREATE TABLE t1 SELECT 1 IN (2, NULL);.
      
      The fix is to set maybe_null correctly.
      
      
      mysql-test/r/func_in.result:
        Add result for bug#17047: CHAR() and IN() can return NULL without
        signaling NULL result.
      mysql-test/t/func_in.test:
        Add test case for bug#17047: CHAR() and IN() can return NULL without
        signaling NULL result.
      sql/item_cmpfunc.cc:
        Remove assignment to maybe_null, as it was already set in fix_fields()
        based on all arguments, not only on the first.
      e40e8052
  5. 13 Sep, 2006 1 commit
    • unknown's avatar
      Cset exclude: kaa@polly.local|ChangeSet|20060912122540|09861 · 418ae41b
      unknown authored
      Cset exclude: kaa@polly.local|ChangeSet|20060908100829|09983
      
      
      sql/item_cmpfunc.cc:
        Exclude
      sql/item_cmpfunc.h:
        Exclude
      sql/item_func.cc:
        Exclude
      sql/item_func.h:
        Exclude
      sql/log_event.cc:
        Exclude
      sql/sql_class.h:
        Exclude
      mysql-test/r/case.result:
        Exclude
      mysql-test/r/func_if.result:
        Exclude
      mysql-test/r/func_test.result:
        Exclude
      mysql-test/r/user_var.result:
        Exclude
      mysql-test/t/case.test:
        Exclude
      mysql-test/t/func_if.test:
        Exclude
      mysql-test/t/func_test.test:
        Exclude
      mysql-test/t/user_var.test:
        Exclude
      418ae41b
  6. 12 Sep, 2006 1 commit
    • unknown's avatar
      item_cmpfunc.cc: · f3e83870
      unknown authored
        Removed changes to the Item_func_between::fix_length_and_dec() made in the fix for bug#16377
      query_cache.result:
        Corrected a test case after removing a fix for bug#16377
      
      
      mysql-test/r/query_cache.result:
        Corrected a test case after removing a fix for bug#16377
      sql/item_cmpfunc.cc:
        Removed changes to the Item_func_between::fix_length_and_dec() made in the fix for bug#16377
      f3e83870
  7. 08 Sep, 2006 1 commit
    • unknown's avatar
      Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions · f64483cb
      unknown authored
      - Honor unsigned_flag in the corresponding functions
      - Use compare_int_signed_unsigned()/compare_int_unsigned_signed() instead of explicit comparison in GREATEST() and LEAST()
      
      
      mysql-test/r/case.result:
        Added test case for bug #20924
      mysql-test/r/func_if.result:
        Added test case for bug #20924
      mysql-test/r/func_test.result:
        Added test case for bug #20924
      mysql-test/r/user_var.result:
        Added test case for bug #20924
      mysql-test/t/case.test:
        Added test case for bug #20924
      mysql-test/t/func_if.test:
        Added test case for bug #20924
      mysql-test/t/func_test.test:
        Added test case for bug #20924
      mysql-test/t/user_var.test:
        Added test case for bug #20924
      sql/item_cmpfunc.cc:
        Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
        
        - Moved some code out of Arg_comparator to external functions to be reused in Item_func_min_max
        - Fixed IFNULL(), IF(), CASE() and COALESCE()
      sql/item_cmpfunc.h:
        Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
        
        - Moved some code out of Arg_comparator to external functions to be reused in Item_func_min_max
      sql/item_func.cc:
        Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
        
        Fixed LEAST(), GREATEST() and "SET @A=..." parts
      sql/item_func.h:
        Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
        
        Fixed "SET @A=..." part
      sql/sql_class.h:
        Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
        
        Fixed "SET @A=..." part
      f64483cb
  8. 07 Sep, 2006 1 commit
    • unknown's avatar
      query_cache.result, func_time.test, type_date.result, func_time.result: · aa840645
      unknown authored
        Corrected test case after removal of fix for bug#16377         
      type_date.test:
        Corrected test case after removal of fix for bug#16377
      item_cmpfunc.cc:
        Removed changes to the agg_cmp_type() made in the for bug#16377
      
      
      mysql-test/t/type_date.test:
        Corrected test case after removal of fix for bug#16377
      mysql-test/t/func_time.test:
        Corrected test case after removal of fix for bug#16377
      mysql-test/r/type_date.result:
        Corrected test case after removal of fix for bug#16377
      mysql-test/r/query_cache.result:
        Corrected test case after removal of fix for bug#16377
      mysql-test/r/func_time.result:
        Corrected test case after removal of fix for bug#16377
      sql/item_cmpfunc.cc:
        Removed changes to the agg_cmp_type() made in the for bug#16377
      aa840645
  9. 20 Jul, 2006 1 commit
    • unknown's avatar
      BUG#20975: Incorrect query result for NOT (subquery): · 68698c04
      unknown authored
        Add implementations of Item_func_{nop,not}_all::neg_transformer
      
      
      mysql-test/r/subselect.result:
        BUG#20975: testcase
      mysql-test/t/subselect.test:
        BUG#20975: testcase
      sql/mysql_priv.h:
        Make chooser_compare_func_creator visible in item.h
      68698c04
  10. 20 Jun, 2006 1 commit
    • unknown's avatar
      select.result: · 3e7d68b1
      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.
      3e7d68b1
  11. 19 Jun, 2006 1 commit
    • unknown's avatar
      item_cmpfunc.cc, func_in.result, func_in.test: · 028fa1e4
      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
      028fa1e4
  12. 16 Jun, 2006 1 commit
    • unknown's avatar
      item_strfunc.cc: · ca22a81b
      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.
      ca22a81b
  13. 13 Jun, 2006 1 commit
    • unknown's avatar
      Fixed bug#16377: result of DATE/TIME functions were compared as strings which · 47311e8e
      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.
      47311e8e
  14. 29 May, 2006 1 commit
    • unknown's avatar
      Fixed bug#18360: Incorrect type coercion in IN() results in false comparison · c007daba
      unknown authored
      The IN() function uses agg_cmp_type() to aggregate all types of its arguments
      to find out some common type for comparisons. In this particular case the 
      char() and the int was aggregated to double because char() can contain values
      like '1.5'. But all strings which do not start from a digit are converted to
      0. thus 'a' and 'z' become equal. 
      This behaviour is reasonable when all function arguments are constants. But 
      when there is a field or an expression this can lead to false comparisons. In
      this case it makes more sense to coerce constants to the type of the field
      argument.
      
      The agg_cmp_type() function now aggregates types of constant and non-constant
      items separately. If some non-constant items will be found then their
      aggregated type will be returned. Thus after the aggregation constants will be
      coerced to the aggregated type. 
      
      
      mysql-test/t/func_in.test:
        Added test case for bug#18360: Incorrect type coercion in IN() results in false comparison.
      mysql-test/r/func_in.result:
        Added test case for bug#18360: Incorrect type coercion in IN() results in false comparison.
      sql/item_cmpfunc.cc:
        Fixed bug#18360: Incorrect type coercion in IN() results in false comparison.
        The agg_cmp_type() function now aggregates types of constant and non-constant
        items separately. If some non-constant items will be found then their
        aggregated type will be returned. Thus after the aggregation constants will
        be coerced to the aggregated type.
      c007daba
  15. 21 Apr, 2006 1 commit
  16. 06 Mar, 2006 1 commit
  17. 14 Jan, 2006 1 commit
    • unknown's avatar
      A fix and a test case for Bug#12734 " prepared statement may · 04a78106
      unknown authored
      return incorrect result set for a select SQL request"
      
      
      mysql-test/r/ps.result:
        Test results fixed (Bug#12734)
      mysql-test/t/ps.test:
        A test case for Bug#12734
      sql/item_cmpfunc.cc:
        Reset canDoTurboBM in Item_func_like::cleanup()
      sql/item_cmpfunc.h:
        Add Item_func_like::cleanup()
      04a78106
  18. 06 Jan, 2006 1 commit
    • unknown's avatar
      Fixes during review of new pushed code: · 2dcedd9c
      unknown authored
      Remove wrong fix for Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
      Safety fix for bug #13855 "select distinct with group by caused server crash"
      
      
      client/mysqlimport.c:
        Remove not used variable
      myisam/myisam_ftdump.c:
        Fixed compiler warning
      sql/item_cmpfunc.cc:
        Removed compiler warning
      sql/sql_handler.cc:
        Remove wrong fix for Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash.
        It's better to let mysql_lock_tables reopen the TABLE object in case of OPTIMIZE TABLE and fix items AFTER mysql_lock_table() instead of before
      sql/sql_select.cc:
        Safety fix for bug #13855 "select distinct with group by caused server crash"
        The previous patch only removed the symptomps, this fix removed the cause of the problem
        (Which was that not all hidden_fields was stored in the temporary table)
      2dcedd9c
  19. 06 Oct, 2005 1 commit
    • unknown's avatar
      item_cmpfunc.cc: · e6ec5794
      unknown authored
        Wrong variable.
      
      
      sql/item_cmpfunc.cc:
        Wrong variable.
      e6ec5794
  20. 05 Oct, 2005 2 commits
    • unknown's avatar
      item_cmpfunc.cc: · 99ca39de
      unknown authored
        sorry, another wrong variable
      
      
      sql/item_cmpfunc.cc:
        sorry, another wrong variable
      99ca39de
    • unknown's avatar
      item_cmpfunc.cc: · 068a15bb
      unknown authored
        wrong variable.
      
      
      sql/item_cmpfunc.cc:
        wrong variable.
      068a15bb
  21. 29 Sep, 2005 1 commit
    • unknown's avatar
      Many files: · 72340d67
      unknown authored
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      my_regex.h:
        Rename: regex/regex.h -> regex/my_regex.h
      
      
      client/mysqltest.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      os2/MySQL-Source.icc:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/Makefile.am:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/debug.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/debug.ih:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/engine.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/engine.ih:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/main.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/main.ih:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/regcomp.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/regerror.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/regerror.ih:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/my_regex.h:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/regexec.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/regfree.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/reginit.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      sql/item_cmpfunc.cc:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      sql/item_cmpfunc.h:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      sql/mysqld.cc:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      72340d67
  22. 21 Sep, 2005 1 commit
    • unknown's avatar
      Bug#13046: LIKE pattern matching using prefix · 14912660
      unknown authored
                   index doesn't return correct result
      item_cmpfunc.cc:
        Use charset of LIKE to decide whether
        to use 8bit or Unicode "escape" value.
        But use charset of "escape" to scan escape character.
      strings/ctype-xxx.c:
        We cannot reduce "end" pointer using charpos(),
        because of possible escape characters in the string.
        Limit the loop using count of written characters instead.
      ctype_like_escape.inc:
        new file
      mysql-test/t/ctype_xxx:
      mysql-test/r/ctype_xxx:
        Adding test case.
      
      
      strings/ctype-big5.c:
        Bug#13046: LIKE pattern matching using prefix index doesn't return correct result
        We cannot change "end" pointer using charpos(),
        because of possible escape characters.
        Use limit by count of written characters instead.
      strings/ctype-cp932.c:
        Bug#13046: LIKE pattern matching using prefix index doesn't return correct
        result
        We cannot change "end" pointer using charpos(),
        because of possible escape characters.
        Use limit by count of written characters instead
      strings/ctype-gbk.c:
        Bug#13046: LIKE pattern matching using prefix index doesn't return correct
        result
        We cannot change "end" pointer using charpos(),
        because of possible escape characters.
        Use limit by count of written characters instead
      strings/ctype-mb.c:
        Bug#13046: LIKE pattern matching using prefix index doesn't return correct
        result
        We cannot change "end" pointer using charpos(),
        because of possible escape characters.
        Use limit by count of written characters instead
      strings/ctype-simple.c:
        Bug#13046: LIKE pattern matching using prefix index doesn't return correct
        result
        We cannot change "end" pointer using charpos(),
        because of possible escape characters.
        Use limit by count of written characters instead
      strings/ctype-sjis.c:
        Bug#13046: LIKE pattern matching using prefix index doesn't return correct
        result
        We cannot change "end" pointer using charpos(),
        because of possible escape characters.
        Use limit by count of written characters instead
      strings/ctype-tis620.c:
        Bug#13046: LIKE pattern matching using prefix index doesn't return correct
        result
        We cannot change "end" pointer using charpos(),
        because of possible escape characters.
        Use limit by count of written characters instead
      strings/ctype-ucs2.c:
        Bug#13046: LIKE pattern matching using prefix index doesn't return correct
        result
        We cannot change "end" pointer using charpos(),
        because of possible escape characters.
        Use limit by count of written characters instead
      mysql-test/t/ctype_big5.test:
        Adding test case.
      mysql-test/t/ctype_cp932.test:
        Adding test case.
      mysql-test/t/ctype_gbk.test:
        Adding test case.
      mysql-test/t/ctype_latin1.test:
        Adding test case.
      mysql-test/t/ctype_sjis.test:
        Adding test case.
      mysql-test/t/ctype_tis620.test:
        Adding test case.
      mysql-test/t/ctype_uca.test:
        Adding test case.
      mysql-test/t/ctype_ucs.test:
        Adding test case.
      mysql-test/t/ctype_ujis.test:
        Adding test case.
      mysql-test/t/ctype_utf8.test:
        Adding test case.
      mysql-test/r/ctype_big5.result:
        Adding test case.
      mysql-test/r/ctype_cp932.result:
        Adding test case.
      mysql-test/r/ctype_gbk.result:
        Adding test case.
      mysql-test/r/ctype_latin1.result:
        Adding test case.
      mysql-test/r/ctype_sjis.result:
        Adding test case.
      mysql-test/r/ctype_tis620.result:
        Adding test case.
      mysql-test/r/ctype_uca.result:
        Adding test case.
      mysql-test/r/ctype_ucs.result:
        Adding test case.
      mysql-test/r/ctype_ujis.result:
        Adding test case.
      mysql-test/r/ctype_utf8.result:
        Adding test case.
      sql/item_cmpfunc.cc:
        More fixes.
      14912660
  23. 12 Sep, 2005 1 commit
    • unknown's avatar
      Review fixes since last pull · 90ca6d15
      unknown authored
      Fix for bug #13025; Server crash in filesort because wrong call to handler::position()
      
      
      client/mysqltest.c:
        Code cleanup during review
      mysql-test/r/innodb.result:
        Added test case for bug #13025; Server crash in filesort because wrong call to handler::position()
      mysql-test/t/innodb.test:
        Added test case for bug #13025; Server crash in filesort because wrong call to handler::position()
      sql/filesort.cc:
        Don't call handler::position() if row was not found
      sql/item_cmpfunc.cc:
        Indentation changes
      sql/sql_select.cc:
        Moved variable to outer level
      90ca6d15
  24. 09 Sep, 2005 1 commit
    • unknown's avatar
      BUG #12101: Additional fix. · 26f8e9c9
      unknown authored
      sql/item_cmpfunc.cc:
        Modified Item_func_between::print(), Item_func_in::print().
        Item_func_between/in objects represent now [NOT]BETWEEN/IN expressions.
      26f8e9c9
  25. 06 Sep, 2005 2 commits
    • unknown's avatar
      item_cmpfunc.h: · f1cc5049
      unknown authored
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         The classes Item_func_between, Item_func_if, Item_func_in are modified.
         Item_func_between/in objects can represent now [NOT]BETWEEN/IN expressions.
         The class Item_func_opt_neg is added to factor out the functionality
         common for the modified classes Item_func_between and Item_func_in.
      item_cmpfunc.cc:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         Added Item_func_between::fix_fields(), Item_func_if::fix_fields(),
         Item_func_in::fix_fields(). They correct generic calculation of
         the not_null_tables attribute when it is needed.
         Modified Item_func_between::val_int(), Item_func_in::val_int().
      opt_range.cc:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         The function get_mm_tree() is modified. There cannot be NOT before
         BETWEEN/IN anymore. Rather Item_func_between/in objects can represent
         now [NOT]BETWEEN/IN expressions.
      sql_yacc.yy:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         Item_func_between/in objects can represent now [NOT]BETWEEN/IN expresions.
      join_outer.result:
        Fixed some testcases results (bugs #12101, #12102)
      join_outer.test:
        Added testcases for bugs #12101, #12102
      
      
      mysql-test/t/join_outer.test:
        Added testcases for bugs #12101, #12102
      mysql-test/r/join_outer.result:
        Fixed some testcases results (bugs #12101, #12102)
      sql/sql_yacc.yy:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         Item_func_between/in objects can represent now [NOT]BETWEEN/IN expresions.
      sql/opt_range.cc:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         The function get_mm_tree() is modified. There cannot be NOT before
         BETWEEN/IN anymore. Rather Item_func_between/in objects can represent
         now [NOT]BETWEEN/IN expressions.
      sql/item_cmpfunc.cc:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         Added Item_func_between::fix_fields(), Item_func_if::fix_fields(),
         Item_func_in::fix_fields(). They correct generic calculation of
         the not_null_tables attribute when it is needed.
         Modified Item_func_between::val_int(), Item_func_in::val_int().
      sql/item_cmpfunc.h:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         The classes Item_func_between, Item_func_if, Item_func_in are modified.
         Item_func_between/in objects can represent now [NOT]BETWEEN/IN expressions.
         The class Item_func_opt_neg is added to factor out the functionality
         common for the modified classes Item_func_between and Item_func_in.
      f1cc5049
    • unknown's avatar
      func_like.result, func_like.test: · 965afd45
      unknown authored
        adding test case.
      item_cmpfunc.cc:
        Bug#12611
        ESCAPE + LIKE do not work when the escape char is a multibyte one
        Additional fix for 8bit character sets:
        escape character must be converted into
        operation character set.
      
      
      sql/item_cmpfunc.cc:
        Bug#12611
        ESCAPE + LIKE do not work when the escape char is a multibyte one
        Additional fix for 8bit character sets:
        escape character must be converted into
        operation character set.
      mysql-test/t/func_like.test:
        adding test case.
      mysql-test/r/func_like.result:
        adding test case.
      965afd45
  26. 31 Aug, 2005 1 commit
    • unknown's avatar
      Bug#12611: ESCAPE + LIKE do not work when the escape char is a multibyte one · d02ec2b5
      unknown authored
      item_cmpfunc.cc:
        Pass unicode value as "escape" argument to my_wildcmp
        if a multibyte character set is used.
        For single byte character set nothing has changed:
        native (non-unicode) character code is still passed.
      
      ctype_utf8.result, ctype_utf8.test:
        adding test case
      
      
      sql/item_cmpfunc.cc:
        Bug#12611: ESCAPE + LIKE do not work when the escape char is a multibyte one
        Pass unicode code instead of native code as
        "escape" argument to my_wildcmp.
      mysql-test/t/ctype_utf8.test:
        adding test
      mysql-test/r/ctype_utf8.result:
        adding test
      d02ec2b5
  27. 08 Aug, 2005 1 commit
    • unknown's avatar
      subselect.test, subselect.result: · 6f0a6260
      unknown authored
        Added a test case for bug #12392.
      item_cmpfunc.cc:
        Fixed bug #12392.
        Missing handling of rows containing NULL components
        when evaluating IN predicates caused a crash.
      
      
      sql/item_cmpfunc.cc:
        Fixed bug #12392.
        Missing handling of rows containing NULL components
        when evaluating IN predicates caused a crash.
      mysql-test/r/subselect.result:
        Added a test case for bug #12392.
      mysql-test/t/subselect.test:
        Added a test case for bug #12392.
      6f0a6260
  28. 20 Jun, 2005 1 commit
  29. 13 Jun, 2005 1 commit
    • unknown's avatar
      func_if.result, func_if.test: · 89906482
      unknown authored
        Added a test case for bug #11142.
      item_cmpfunc.cc:
        Fixed bug #11142.
        Implementation of Item_func_nullif::is_null was corrected.
      
      
      sql/item_cmpfunc.cc:
        Fixed bug #11142.
        Implementation of Item_func_nullif::is_null was corrected.
      mysql-test/t/func_if.test:
        Added a test case for bug #11142.
      mysql-test/r/func_if.result:
        Added a test case for bug #11142.
      89906482
  30. 05 Jun, 2005 1 commit
  31. 03 Jun, 2005 1 commit
    • unknown's avatar
      Move USE_PRAGMA_IMPLEMENTATION to proper place · 72dd44b9
      unknown authored
      Ensure that 'null_value' is not accessed before val() is called in FIELD() functions
      Fixed initialization of key maps. This fixes some problems with keys when you have more than 64 keys
      Fixed that ROLLUP don't always create a temporary table. This fix ensures that func_gconcat.test results are now predictable
      
      
      mysql-test/r/func_gconcat.result:
        Move innodb specific test to innodb.test
        Changed table name r2 -> t2
        More test to see how ROLLUP was optimized
      mysql-test/r/innodb.result:
        Moved test here form func_gconcat
      mysql-test/r/olap.result:
        New test results after optimization
      mysql-test/t/func_gconcat.test:
        Move innodb specific test to innodb.test
        Changed table name r2 -> t2
        More test to see how ROLLUP was optimized
      mysql-test/t/innodb.test:
        Moved test here form func_gconcat
      sql/field.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_berkeley.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_blackhole.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_heap.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_innodb.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_isam.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_isammrg.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_myisam.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_myisammrg.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_ndbcluster.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/handler.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/hash_filo.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_cmpfunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_func.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
        Ensure that 'null_value' is not accessed before val() is called
      sql/item_geofunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_strfunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_subselect.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_sum.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_timefunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_uniq.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/log_event.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/mysql_priv.h:
        Change key_map_full to not be const as we are giving it a proper value on startup
      sql/mysqld.cc:
        Move key_map variables here and initialize key_map_full properly
      sql/opt_range.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/opt_range.h:
        Fix that test_quick_select() works with any ammount of keys
      sql/procedure.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/protocol.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/protocol_cursor.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/set_var.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_analyse.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_class.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_crypt.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_insert.cc:
        Fixed that max_rows is ulong
      sql/sql_list.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_map.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_olap.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_select.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
        Fixed that ROLLUP don't have to always create a temporary table
        Added new argument to remove_const() to make above possible
        Fixed some errors that creapt up when we don't always do a temporary table for ROLLUP
      sql/sql_string.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_table.cc:
        Simple optimizations
        Fixed wrong checking of build_table_path() in undef-ed code
      sql/sql_udf.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_yacc.yy:
        removed extra {}
      72dd44b9
  32. 02 Jun, 2005 1 commit
    • unknown's avatar
      tztime.cc: · cee10f97
      unknown authored
        Set #pragma implementation" earlier
      Many files:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      
      
      client/sql_string.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      mysys/raid.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/field.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_berkeley.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_blackhole.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_heap.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_innodb.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_isam.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_isammrg.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_myisam.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_myisammrg.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_ndbcluster.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/handler.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/hash_filo.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_cmpfunc.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_func.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_geofunc.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_strfunc.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_subselect.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_sum.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_timefunc.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_uniq.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/log_event.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/opt_range.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/procedure.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/protocol.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/protocol_cursor.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/set_var.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_analyse.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_class.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_crypt.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_list.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_map.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_olap.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/examples/ha_archive.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_select.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_string.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_udf.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/examples/ha_example.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/examples/ha_tina.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/tztime.cc:
        Set #pragma implementation" earlier
      cee10f97
  33. 26 May, 2005 1 commit
    • unknown's avatar
      Add ifdefs to control when "#pragma implementation" should be used · 22944a95
      unknown authored
      Added some more ifdefs for "#pragma interface"
      
      
      client/sql_string.cc:
        USE_PRAGMA_IMPLEMENTATION
      client/sql_string.h:
        USE_PRAGMA_INTERFACE
      include/my_global.h:
        Use pragma implementation for gcc pre version 3
      mysys/raid.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/field.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_berkeley.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_blackhole.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_heap.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_innodb.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_isam.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_isammrg.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_myisam.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_myisammrg.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_ndbcluster.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/handler.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/hash_filo.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_cmpfunc.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_func.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_geofunc.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_strfunc.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_subselect.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_sum.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_timefunc.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_uniq.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_uniq.h:
        USE_PRAGMA_INTERFACE
      sql/log_event.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/log_event.h:
        USE_PRAGMA_INTERFACE
      sql/opt_range.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/procedure.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/protocol.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/protocol_cursor.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/set_var.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_analyse.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_analyse.h:
        USE_PRAGMA_INTERFACE
      sql/sql_class.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_crypt.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_crypt.h:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_list.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_map.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_map.h:
        USE_PRAGMA_INTERFACE
      sql/sql_olap.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_select.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_string.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_udf.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/tztime.cc:
        USE_PRAGMA_IMPLEMENTATION
      22944a95
  34. 30 Mar, 2005 1 commit
    • unknown's avatar
      A fix for Bug#9443 "mysql_client_test fails on linux and some solaris · f485db42
      unknown authored
      platforms": yet another issue with floating pointer comparisons.
      The fix uses the workaround with volatiles.
      
      
      sql/item_cmpfunc.cc:
        A fix for the failing mysql_client_test on some Intel platforms
        when compiled with optimization.
        We don't use -ffloat-store compileation as it may slow all
        floating point operations.
      f485db42
  35. 28 Feb, 2005 1 commit
    • unknown's avatar
      Fixed wrong memory references found by purify · 8b8c9452
      unknown authored
      (No really critical errors found, but a few possible wrong results)
      
      
      innobase/dict/dict0dict.c:
        Replace memcmp with comparison of characters to avoid warnings from purify when 'sptr' points to a very short string
      mysql-test/r/select_found.result:
        Add missing drop table
      mysql-test/r/type_set.result:
        More tests
      mysql-test/t/select_found.test:
        Add missing drop table
      mysql-test/t/type_set.test:
        More tests
      mysys/my_init.c:
        Avoid warning from purify (purify doesn't handle getrusage() properly)
      sql/field.h:
        enum & set are sorted as numbers. This fixes an access to uninitialized memory when enum/set are multi-byte characters
      sql/filesort.cc:
        enum & set are sorted as numbers. This fixes an access to uninitialized memory when enum/set are multi-byte characters
      sql/item_cmpfunc.cc:
        Fixed warning from purify. (Not critical as the arguments are passed to a function but not used)
        Allocate Arg_comparator() with 'new' instead of sql_alloc() to ensure proper initialization
      sql/mysqld.cc:
        Wait for signal handler to stop when running --bootstrap
        (Fixes warning from purify)
      sql/sql_insert.cc:
        Initialize slot used by innodb.cc (not critical)
      sql/sql_lex.h:
        Better comments
      sql/sql_repl.cc:
        memcmp -> bcmp() to avoid warning from purify
      sql/sql_select.cc:
        Fix for out-of-bound memory reference when doing DISTINCT on const expressions
      strings/ctype-simple.c:
        Fixes to not access uninitialized memory
        (Not critical)
      8b8c9452
  36. 09 Feb, 2005 1 commit
  37. 08 Feb, 2005 1 commit
    • unknown's avatar
      Better bugfix for "HAVING when refering to RAND()" (Bug #8216) · 63982db9
      unknown authored
      Ensure that references in HAVING, ORDER BY or GROUP BY are calculated after fields in SELECT.
      This will ensure that any reference to these has a valid value.
      Generalized the code for split_sum_func()
      
      
      BitKeeper/etc/ignore:
        added support-files/ndb-config-2-node.ini
      mysql-test/r/group_by.result:
        More complicated test to assure that rand() is only calulated once
      mysql-test/r/user_var.result:
        Back to old results :(  (ok but not perfect)
      mysql-test/t/group_by.test:
        More complicated test to assure that rand() is only calulated once
      sql/item.cc:
        Better bugfix for "HAVING when refering to RAND()"
        This will ensure that when refering to things like RAND() in HAVING through an alias we will not recalculate that rand() value in the HAVING part but use the value in the row
        Generalize split_sum_func()
      sql/item.h:
        Better bugfix for "HAVING when refering to RAND()"
        T
      sql/item_cmpfunc.cc:
        Better bugfix for "HAVING when refering to RAND()"
        Use generalized split_sum_func2() function
      sql/item_func.cc:
        Better bugfix for "HAVING when refering to RAND()"
        Use generalized split_sum_func2() function
      sql/item_row.cc:
        Better bugfix for "HAVING when refering to RAND()"
        Use generalized split_sum_func2() function
      sql/item_strfunc.cc:
        Better bugfix for "HAVING when refering to RAND()"
        Use generalized split_sum_func2() function
      sql/sql_list.h:
        Add functions to concatenate lists
      sql/sql_select.cc:
        Better bugfix for "HAVING when refering to RAND()"
        Ensure that references in HAVING, ORDER BY or GROUP BY are calculated after fields in SELECT.
        This will ensure that any reference to these has a valid value.
      63982db9
  38. 07 Feb, 2005 1 commit
    • unknown's avatar
      Fixed bug in HAVING when refering to RAND() through alias · d6ed8cd7
      unknown authored
      (BUG 8216)
      
      
      mysql-test/r/group_by.result:
        New test case
      mysql-test/r/user_var.result:
        Test changed (to be more correct) with bug fix
      mysql-test/t/group_by.test:
        Added test for HAVING bug
      sql/item_cmpfunc.cc:
        Fixed bug in HAVING when refering to RAND()
      sql/item_func.cc:
        Fixed bug in HAVING when refering to RAND()
      sql/item_row.cc:
        Fixed bug in HAVING when refering to RAND()
      sql/item_strfunc.cc:
        Fixed bug in HAVING when refering to RAND()
      sql/unireg.h:
        Added PSEUDO_TABLES_BITS for easy testing of real table reference
      d6ed8cd7