1. 11 Jul, 2008 1 commit
  2. 09 Jul, 2008 1 commit
  3. 08 Jul, 2008 1 commit
  4. 01 Jul, 2008 2 commits
  5. 30 Jun, 2008 4 commits
    • Joerg Bruehe's avatar
      Version 5.1.26 is labeled "rc". · 828d6a19
      Joerg Bruehe authored
      828d6a19
    • Matthias Leich's avatar
      Fix for · 52fee16e
      Matthias Leich authored
         Bug#36787 Test funcs_1.charset_collation_1 failing
      Details:
      1. Skip charset_collation_1 if charset "ucs2_bin" is
         missing (property which distincts "vanilla" builds
         from the others)
      2. Let builds with version_comment LIKE "%Advanced%"
         (found them for 5.1) execute charset_collation_3.
      3. Update comments charset_collation.inc so that they
         reflect the current experiences.
      52fee16e
    • Mats Kindahl's avatar
      BUG#37426: RBR breaks for CHAR() UTF-8 fields > 85 chars · 711305e2
      Mats Kindahl authored
            
      In order to handle CHAR() fields, 8 bits were reserved for
      the size of the CHAR field. However, instead of denoting the
      number of characters in the field, field_length was used which
      denotes the number of bytes in the field.
      
      Since UTF-8 fields can have three bytes per character (and
      has been extended to have four bytes per character in 6.0),
      an extra two bits have been encoded in the field metadata
      work for fields of type Field_string (i.e., CHAR fields).
      
      Since the metadata word is filled, the extra bits have been
      encoded in the upper 4 bits of the real type (the most 
      significant byte of the metadata word) by computing the
      bitwise xor of the extra two bits. Since the upper 4 bits
      of the real type always is 1111 for Field_string, this 
      means that for fields of length <256, the encoding is
      identical to the encoding used in pre-5.1.26 servers, but
      for lengths of 256 or more, an unrecognized type is formed,
      causing an old slave (that does not handle lengths of 256
      or more) to stop.
      
      
      mysql-test/extra/rpl_tests/rpl_row_basic.test:
        Adding test cases for replicating UTF-8 fields of lengths
        of 256 or more (bytes).
      mysql-test/suite/binlog/r/binlog_base64_flag.result:
        Result file change.
      mysql-test/suite/binlog/t/binlog_base64_flag.test:
        Adding tests to trigger check that an error is generated when replicating from a
        5.1.25 server for tables with a CHAR(128) but not when replicating a table with a
        CHAR(63). Although the bug indicates that the limit is 83, we elected to use CHAR(63)
        since 6.0 uses 4-byte UTF-8, and anything exceeding 63 would then cause the test to fail
        when the patch is merged to 6.0.
      mysql-test/suite/bugs/combinations:
        Adding combinations file to run all bug reports in all binlog modes (where
        applicable).
      mysql-test/suite/bugs/r/rpl_bug37426.result:
        Result file change.
      mysql-test/suite/bugs/t/rpl_bug37426.test:
        Added test for reported bug.
      mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result:
        Result file change.
      mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result:
        Result file change.
      sql/field.cc:
        Encoding an extra two bits in the most significant nibble (4 bits)
        of the metadata word. Adding assertions to ensure that no attempt
        is made to use lengths longer than supported.
        
        Extending compatible_field_size() function with an extra parameter
        holding a Relay_log_instace for error reporting.
        
        Field_string::compatible_field_size() now reports an error if field
        size for a CHAR is >255.
      sql/field.h:
        Field length is now computed from most significant 4 bits
        of metadata word, or is equal to the row pack length if
        there is no metadata.
        
        Extending compatible_field_size() function with an extra parameter
        holding a Relay_log_instace for error reporting.
      sql/rpl_utility.cc:
        Adding relay log parameter to compatible_field_size().
        
        Minor refactoring to eliminate duplicate code.
      sql/slave.cc:
        Extending rpl_master_has_bug() with a single-argument predicate function and
        a parameter to the predicate function. The predicate function can be used to
        test for extra conditions for the bug before writing an error message.
      sql/slave.h:
        Extending rpl_master_has_bug() with a single-argument predicate function and
        a parameter to the predicate function. The predicate function can be used to
        test for extra conditions for the bug before writing an error message.
        
        Also removing gratuitous default argument.
      sql/sql_insert.cc:
        Changing calls to rpl_master_has_bug() to adapt to changed signature.
      711305e2
    • Joerg Bruehe's avatar
  6. 27 Jun, 2008 3 commits
    • Joerg Bruehe's avatar
      Merge the fix for bug#37623 (Suffix "-64bit" is duplicated) · 8a2f17d1
      Joerg Bruehe authored
      from 5.0 into the 5.1.26 release clone.
      8a2f17d1
    • Joerg Bruehe's avatar
      OS X 10.5 is now a supported platform, · 30339550
      Joerg Bruehe authored
      so Apple's internal name ("darwin9") must be translated to ours ("osx10.5").
      30339550
    • Gleb Shchepa's avatar
      buckport to 5.1.26 from 6.0 · dc0e959a
      Gleb Shchepa authored
      Bug#35658 (An empty binary value leads to mysqld crash)
        
      Before this fix, the following token
        b''
      caused the parser to crash when reading the binary value from the empty string.
      The crash was caused by:
        ptr+= max_length - 1;
      because max_length is unsigned and was 0, causing an overflow.
        
      With this fix, an empty binary literal b'' is parsed as a binary value 0,
      in Item_bin_string.
      
      mysql-test/r/varbinary.result:
        Bug#35658 (An empty binary value leads to mysqld crash)
      mysql-test/t/varbinary.test:
        Bug#35658 (An empty binary value leads to mysqld crash)
      sql/item.cc:
        Bug#35658 (An empty binary value leads to mysqld crash)
      dc0e959a
  7. 26 Jun, 2008 4 commits
  8. 25 Jun, 2008 3 commits
  9. 24 Jun, 2008 5 commits
  10. 21 Jun, 2008 1 commit
    • Tatiana A. Nurnberg's avatar
      auto merge · 32089863
      Tatiana A. Nurnberg authored
      configure.in:
        auto-merge
      mysql-test/suite/bugs/r/rpl_bug33029.result:
        auto-merge
      mysql-test/suite/bugs/t/rpl_bug33029.test:
        auto-merge
      sql/slave.cc:
        auto-merge
      sql/sql_class.cc:
        auto-merge
      sql/structs.h:
        auto-merge
      32089863
  11. 20 Jun, 2008 8 commits
  12. 19 Jun, 2008 7 commits
    • Andrei Elkin's avatar
      Bug#36443 Server crashes when executing insert when insert trigger on table · e66ba2a7
      Andrei Elkin authored
                              
            The crash appeared to be a result of allocating an instance of Discrete_interval 
            automatically that that was referred in out-of-declaration scope.
                              
            Fixed with correcting backing up and restoring scheme of
            auto_inc_intervals_forced, introduced by bug#33029, by means of shallow copying;
            added simulation code that forces executing those fixes of the former bug that
            targeted at master-and-slave having incompatible bug#33029-prone versions.
      
      mysql-test/suite/bugs/r/rpl_bug33029.result:
        new results file
      mysql-test/suite/bugs/t/rpl_bug33029.test:
        test merely checks no crash happens on slave.
      sql/slave.cc:
        forcing to execute special logics implemented for bug#33029 if
        simulate_bug33029 the debug option is set.
      sql/sql_class.cc:
        swaps of backed and the actual auto_inc_intervals_forced basing on shallow coping.
      sql/structs.h:
        Removing the deep _copy() and methods associated with it;
        adding methods to Discrete_intervals_list:
            
        private `=', copy constructor to prevent using;
        private set_members();
        public  copy_shallow(), swap(), get_{head, tail, current}();
                empty_no_free() through set_members().
      e66ba2a7
    • Davi Arnaut's avatar
      Silence unused variable warning by printing the variables value. · 1d00bbe0
      Davi Arnaut authored
      mysys/stacktrace.c:
        Print stack bottom and thread stack values as they might be useful.
      1d00bbe0
    • Joerg Bruehe's avatar
      Pull main tree into build team tree. · 01ae49b1
      Joerg Bruehe authored
      01ae49b1
    • Gleb Shchepa's avatar
      auto merge · 666cc691
      Gleb Shchepa authored
      666cc691
    • Davi Arnaut's avatar
      Bug#37003 Tests sporadically crashes with embedded server · fcaaee63
      Davi Arnaut authored
      Another problem is that the backtrace facility wasn't being
      enabled for non-Linux targets even if the target OS has the
      backtrace functions. Also, the stacktrace functions inside
      mysqltest were being used without proper checks for their
      presence in the build.
      
      
      client/mysqltest.c:
        Only use stacktrace functions if they are available.
      configure.in:
        Check if the compiler defines __bss_start
      include/my_stacktrace.h:
        Enable stacktrace if system has backtrace functions.
      mysys/stacktrace.c:
        Use backtrace functions if the system supports it.
      sql/mysqld.cc:
        Only use stacktrace functions if they are available.
      fcaaee63
    • Gleb Shchepa's avatar
      auto merge with local tree (bug #37076) · b870be7b
      Gleb Shchepa authored
      b870be7b
    • Gleb Shchepa's avatar
      Fixed bug #37076: TIMESTAMP/DATETIME/DATE values are not · c8bc6a5d
      Gleb Shchepa authored
                        replicated correctly between machines with
                        mixed endiannes
      
      
      mysql-test/extra/rpl_tests/rpl_row_basic.test:
        Added regression test for bug#37076.
      mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result:
        Added regression test for bug#37076.
      mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result:
        Added regression test for bug#37076.
      mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result:
        Added regression test for bug#37076.
      sql/field.h:
        Fixed bug #37076: TIMESTAMP/DATETIME/DATE values are not
                          replicated correctly between machines with
                          mixed endiannes
        
        pack and unpack virtual methods have been overloaded for
        Field_timestamp (TIMESTAMP domain), Field_datetime (DATETIME
        domain) and Field_date (DATE domain) classes to replicate data
        between platforms with different endiannes in a correct way
        like in Field_long and Field_longlong classes.
        
        Common code have been moved to private handle_int32 and 
        handle_int64 private methods.
      c8bc6a5d