An error occurred fetching the project authors.
  1. 19 Jul, 2006 1 commit
  2. 12 Jul, 2006 1 commit
  3. 26 Jun, 2006 1 commit
    • ingo@mysql.com's avatar
      Bug#16218 - Crash on insert delayed · 8728fbbc
      ingo@mysql.com authored
      Bug#17294 - INSERT DELAYED puting an \n before data
      Bug#16611 - INSERT DELAYED corrupts data
      Bug#13707 - Server crash with INSERT DELAYED on MyISAM table
      Combined as Bug#16218.
      
      INSERT DELAYED crashed in 5.0 on a table with a varchar that 
      could be NULL and was created pre-5.0 (Bugs 16218 and 13707).
      INSERT DELAYED corrupted data in 5.0 on a table with varchar 
      fields that was created pre-5.0 (Bugs 17294 and 16611).
      
      In case of INSERT DELAYED the open table is copied from the
      delayed insert thread to be able to create a record for the 
      queue. When copying the fields, a method was used that did 
      convert old varchar to new varchar fields and did not set up 
      some pointers into the record buffer of the table.
      
      The field conversion was guilty for the misinterpretation of 
      the record contents by the delayed insert thread. The wrong
      pointer setup was guilty for the crashes.
      
      For Bug 13707 (Server crash with INSERT DELAYED on MyISAM table)
      I fixed the above mentioned method to set up one of the pointers.
      For Bug 16218 I set up the other pointers too.
      
      But when looking at the corruptions I got aware that converting
      the field type was totally wrong for INSERT DELAYED. The copied
      table is used to create a record that is to be sent to the
      delayed insert thread. Of course it can interpret the record
      correctly only if all field types are the same in both table
      objects.
      
      So I revoked the fix for Bug 13707 and changed the new_field() 
      method so that it can suppress conversions.
      
      No test case as this is a migration problem. One needs to
      create a table with 4.x and use it with 5.x. I added two
      test scripts to the bug report.
      8728fbbc
  4. 21 Jun, 2006 1 commit
    • evgen@moonbone.local's avatar
      Fixed bug #14896. · 8d4a910a
      evgen@moonbone.local authored
      This bug in Field_string::cmp resulted in a wrong comparison 
      with keys in partial indexes over multi-byte character fields.
      Given field a is declared as a varchar(16) collate utf8_unicode_ci
      INDEX(a(4)) gives us an example of such an index.
        
      Wrong key comparisons could lead to wrong result sets if 
      the selected query execution plan used a range scan by 
      a partial index over a utf8 character field.
      This also caused wrong results in many other cases.
      8d4a910a
  5. 20 Jun, 2006 1 commit
    • evgen@moonbone.local's avatar
      field.cc, field.h: · 8c0aa356
      evgen@moonbone.local authored
        Additional fix for #16377 for bigendian platforms
      sql_select.cc, select.result, select.test:
        After merge fix
      8c0aa356
  6. 14 Jun, 2006 2 commits
    • evgen@moonbone.local's avatar
      Many files: · a2261d57
      evgen@moonbone.local authored
        After merge fix
      a2261d57
    • igor@rurik.mysql.com's avatar
      Fixed bug #14896. · 355753ba
      igor@rurik.mysql.com authored
      This bug in Field_string::cmp resulted in a wrong comparison 
      with keys in partial indexes over multi-byte character fields.
      Given field a is declared as 
        a varchar(16) collate utf8_unicode_ci
      INDEX(a(4)) gives us an example of such an index.
      
      Wrong key comparisons could lead to wrong result sets if 
      the selected query execution plan used a range scan by 
      a partial index over a utf8 character field.
      This also caused wrong results in many other cases.
      355753ba
  7. 13 Jun, 2006 1 commit
    • evgen@moonbone.local's avatar
      Fixed bug#16377: result of DATE/TIME functions were compared as strings which · 67de8c46
      evgen@moonbone.local 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.
      67de8c46
  8. 24 May, 2006 1 commit
    • monty@mysql.com's avatar
      Remove dflt_field from field structure as this was only needed when createing... · 97b941d9
      monty@mysql.com authored
      Remove dflt_field from field structure as this was only needed when createing temporary table and I found another soultion that doesn't increase the size of the field structure for all table instances. (Better fix for bug #19089)
      Fixed compiler warnings
      Fixed valgrind warning in Item_date_add_intervall::eq. (Recoding of bugfix #19490)
      97b941d9
  9. 22 May, 2006 1 commit
  10. 21 May, 2006 1 commit
    • igor@rurik.mysql.com's avatar
      Fixed bug #19089. · 12e53358
      igor@rurik.mysql.com authored
      When a CREATE TABLE command created a table from a materialized
      view id does not inherit default values from the underlying table.
      Moreover the temporary table used for the view materialization
      does not inherit those default values.
      In the case when the underlying table contained ENUM fields it caused
      misleading error messages. In other cases the created table contained
      wrong default values.
      The code was modified to ensure inheritance of default values for
      materialized views.
      12e53358
  11. 17 May, 2006 1 commit
  12. 05 Apr, 2006 1 commit
    • jimw@mysql.com's avatar
      Bug #13601: Wrong int type for bit · 1a59580d
      jimw@mysql.com authored
        The wrong value was being reported as the field_length for BIT
        fields, resulting in confusion for at least Connector/J. The
        field_length is now always the number of bits in the field, as
        it should be.
      1a59580d
  13. 29 Mar, 2006 1 commit
  14. 25 Feb, 2006 1 commit
  15. 23 Feb, 2006 1 commit
  16. 21 Feb, 2006 1 commit
  17. 20 Jan, 2006 1 commit
  18. 05 Jan, 2006 1 commit
    • monty@mysql.com's avatar
      Review fixes of new pushed code · 6e22e29d
      monty@mysql.com authored
      - Fixed tests
      - Optimized new code
      - Fixed some unlikely core dumps
      - Better bug fixes for:
        - #14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
        - #14850 (ERROR 1062 when a quering a view using a Group By on a column that can be null
      6e22e29d
  19. 03 Jan, 2006 1 commit
  20. 28 Dec, 2005 1 commit
  21. 19 Dec, 2005 1 commit
    • bar@mysql.com's avatar
      Bug#15581: COALESCE function truncates mutli-byte TINYTEXT values · f206a123
      bar@mysql.com authored
      field.cc:
        BLOB variations have number-in-bytes limit,
        unlike CHAR/VARCHAR which have number-of-characters limits.
        A tinyblob column can store up to 255 bytes.
        In the case of basic Latin letters (which use 1 byte per character)
        we can store up to 255 characters in a tinyblob column.
        When passing an utf8 tinyblob column as an argument into
        a function (e.g. COALESCE) we need to reserve 3*255 bytes.
        I.e. multiply length in bytes to mbcharlen for the character set.
        Although in reality a tinyblob column can never be 3*255 bytes long,
        we need to set max_length to multiply to make fix_length_and_dec()
        of the function-caller (e.g. COALESCE) calculate the correct max_length
        for the column being created.
      
      ctype_utf8.result, ctype_utf8.test:
        Adding test case.
      f206a123
  22. 07 Dec, 2005 1 commit
    • anozdrin@mysql.com's avatar
      Patch for WL#2894: Make stored routine variables work · 0ff8f60b
      anozdrin@mysql.com authored
      according to the standard.
      
      The idea is to use Field-classes to implement stored routines
      variables. Also, we should provide facade to Item-hierarchy
      by Item_field class (it is necessary, since SRVs take part
      in expressions).
      
      The patch fixes the following bugs:
        - BUG#8702: Stored Procedures: No Error/Warning shown for inappropriate data 
          type matching; 
       
        - BUG#8768: Functions: For any unsigned data type, -ve values can be passed 
          and returned; 
       
        - BUG#8769: Functions: For Int datatypes, out of range values can be passed 
          and returned; 
       
        - BUG#9078: STORED PROCDURE: Decimal digits are not displayed when we use 
          DECIMAL datatype; 
       
        - BUG#9572: Stored procedures: variable type declarations ignored; 
       
        - BUG#12903: upper function does not work inside a function; 
       
        - BUG#13705: parameters to stored procedures are not verified; 
       
        - BUG#13808: ENUM type stored procedure parameter accepts non-enumerated
          data; 
       
        - BUG#13909: Varchar Stored Procedure Parameter always BINARY string (ignores 
          CHARACTER SET); 
       
        - BUG#14161: Stored procedure cannot retrieve bigint unsigned;
      
        - BUG#14188: BINARY variables have no 0x00 padding;
      
        - BUG#15148: Stored procedure variables accept non-scalar values;
      0ff8f60b
  23. 06 Dec, 2005 1 commit
  24. 29 Nov, 2005 1 commit
  25. 20 Nov, 2005 1 commit
    • bell@sanja.is.com.ua's avatar
      Inefficient usage of String::append() fixed. · 806f9e24
      bell@sanja.is.com.ua authored
      Bad examples of usage of a string with its length fixed.
      The incorrect length in the trigger file configuration descriptor
        fixed (BUG#14090).
      A hook for unknown keys added to the parser to support old .TRG files.
      806f9e24
  26. 16 Nov, 2005 1 commit
  27. 14 Nov, 2005 1 commit
  28. 07 Nov, 2005 2 commits
  29. 01 Nov, 2005 1 commit
    • patg@krsna.patg.net's avatar
      BUG #14532 · 7b611b33
      patg@krsna.patg.net authored
      Added FIELD_TYPE_BIT to field method 'needs_quotes' to make BIT columns
      work.
      7b611b33
  30. 31 Oct, 2005 1 commit
  31. 25 Oct, 2005 1 commit
  32. 13 Oct, 2005 2 commits
    • monty@mysql.com's avatar
      Move handling of suffix_length from strnxfrm_bin() to filesort to ensure... · 3da5f1c2
      monty@mysql.com authored
      Move handling of suffix_length from strnxfrm_bin() to filesort to ensure proper sorting of all kind of binary objects
      field::sort_key() now adds length last for varbinary/blob
      VARBINARY/BLOB is now sorted by filesort so that shorter strings comes before longer ones
      Fixed issues in test cases from last merge
      
      3da5f1c2
    • bar@mysql.com's avatar
      type_binary.result, type_binary.test: · 39b0712c
      bar@mysql.com authored
        new file
      mysql_fix_privilege_tables.sql, mysql_create_system_tables.sh:
        Adding true BINARY/VARBINARY: fixing "password" type, not to be 0x00-padding.
      Many files:
        Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes.
        Adding true BINARY/VARBINARY: new pad_char structure member.
      ctype-bin.c:
        Adding true BINARY/VARBINARY: new pad_char structure member.
        New strnxfrm, with two trailing length bytes.
      field.cc:
        Adding true BINARY/VARBINARY.
      39b0712c
  33. 23 Sep, 2005 1 commit
  34. 21 Sep, 2005 1 commit
  35. 13 Sep, 2005 1 commit
    • monty@mishka.mysql.fi's avatar
      Added option --valgrind-mysqltest to mysql-test-run · f348f62c
      monty@mishka.mysql.fi authored
      Added flag to Field::store(longlong) to specify if value is unsigned.
      This fixes bug #12750: Incorrect storage of 9999999999999999999 in DECIMAL(19, 0)
      Fixed warning from valgrind in CREATE ... SELECT
      Fixed double free of mysql.options if reconnect failed
      f348f62c
  36. 31 Jul, 2005 1 commit
    • monty@mishka.local's avatar
      Fixes during review of new pushed code · 8437e9c1
      monty@mishka.local authored
      Change bool in C code to my_bool
      Added to mysqltest --enable_parsning and --disable_parsing to avoid to have to comment parts of tests
      Added comparison of LEX_STRING's and use this to compare file types for view and trigger files.
      8437e9c1
  37. 28 Jul, 2005 1 commit