1. 08 Jul, 2009 3 commits
    • Staale Smedseng's avatar
      Bug #43397 mysql headers redefine pthread_mutex_init · ab2f3dd2
      Staale Smedseng authored
      unnecessarily
            
      The problem is that libmysqlclient.so is built with THREAD
      undefined, while a client compiling against the same header
      files will see THREAD as defined and definitions in
      my_pthread.h will be included, possibly resulting in undefined
      symbols that cannot be resolved with libmysqlclient.so.
            
      The suggested solution is to require that clients wanting to
      link with libmysqlclient.so should be built with
      MYSQL_CLIENT_NO_THREADS defined. This requires a documentation
      change, and more details for this will be supplied if this
      patch is approved.
            
      The MYSQL_CLIENT_NO_THREADS define was renamed from
      UNDEF_THREADS_HACK, to get a more suitable (less suspicious)
      name for the define. (The UNDEF_THREADS_HACK is retained for
      backwards compatibility, though.)
            
      This patch is also in anticipation of WL#4958, which will
      remove this problem altogether by dropping the building of
      libmysqlclient.
      ab2f3dd2
    • Georgi Kodinov's avatar
      Addendum to the fix for bug 45807 : initialize a member needed in · ead1ce94
      Georgi Kodinov authored
      Item_field::fix_fields()
      ead1ce94
    • Georgi Kodinov's avatar
  2. 07 Jul, 2009 10 commits
  3. 06 Jul, 2009 19 commits
    • Patrick Crews's avatar
      Bug#44920: MTR2 is not processing master.opt input properly on Windows. · 869e6bd1
      Patrick Crews authored
      Had attempted to disable this test on Windows only, but the nature of this bug
      does not allow for this.  The master.opt file is processed before anything in 
      in the actual test.  As a result, we must use disabled.def files to ensure
      these tests are skipped on the problematic platforms.
      
      Removed Windows-only code and updated the proper disabled.def files accordingly.
      869e6bd1
    • Georgi Kodinov's avatar
    • Georgi Kodinov's avatar
    • Georgi Kodinov's avatar
      ba83235f
    • Georgi Kodinov's avatar
    • Georgi Kodinov's avatar
      Bug#45972: disable the test case in 5.0 · 9d94015b
      Georgi Kodinov authored
      9d94015b
    • Georgi Kodinov's avatar
      null-merged the disabled test cases. · 13306216
      Georgi Kodinov authored
      13306216
    • Georgi Kodinov's avatar
    • Georgi Kodinov's avatar
      Bug #35148: ndb_autodiscover3 disabled · 2a17098a
      Georgi Kodinov authored
      2a17098a
    • Georgi Kodinov's avatar
      07e69e29
    • Georgi Kodinov's avatar
      Bug #45521: disabled the test case · fd709c84
      Georgi Kodinov authored
      fd709c84
    • Georgi Kodinov's avatar
    • Georgi Kodinov's avatar
      automerge · 6286f620
      Georgi Kodinov authored
      6286f620
    • Georgi Kodinov's avatar
      null-merged test cases disablement · cba730d7
      Georgi Kodinov authored
      cba730d7
    • Georgi Kodinov's avatar
    • V Narayanan's avatar
      Bug#45803 Inaccurate estimates for partial key values with IBMDB2I · 0c66f4a6
      V Narayanan authored
      Some collations were causing IBMDB2I to report
      inaccurate key range estimations to the optimizer
      for LIKE clauses that select substrings. This can
      be seen by running EXPLAIN. This problem primarily
      affects multi-byte and unicode character sets.
      
      This patch involves substantial changes to several
      modules. There are a number of problems with the
      character set and collation handling. These problems
      have been or are being fixed,  and a comprehensive
      test has been included which should provide much
      better coverage than there was before. This test
      is enabled only for IBM i 6.1, because that version
      has support for the greatest number of collations.
      
      mysql-test/suite/ibmdb2i/r/ibmdb2i_collations.result:
        Bug#45803 Inaccurate estimates for partial key values with IBMDB2I
        
        result file for test case.
      mysql-test/suite/ibmdb2i/t/ibmdb2i_collations.test:
        Bug#45803 Inaccurate estimates for partial key values with IBMDB2I
        
        Tests for character sets and collations. This test
        is enabled only for IBM i 6.1, because that version
        has support for the greatest number of collations.
      storage/ibmdb2i/db2i_conversion.cc:
        Bug#45803 Inaccurate estimates for partial key values with IBMDB2I
        
        - Added support in convertFieldChars to enable records_in_range
          to determine how many substitute characters were inserted and
          to suppress conversion warnings.
        
        - Fixed bug which was causing all multi-byte and Unicode fields
          to be created as UTF16 (CCSID 1200) fields in DB2. The corrected
          code will now create UCS2 fields as UCS2 (CCSID 13488), UTF8
          fields (except for utf8_general_ci) as UTF8 (CCSID 1208), and
          all other multi-byte or Unicode fields as UTF16.  This will only
          affect tables that are newly created through the IBMDB2I storage
          engine. Existing IBMDB2I tables will retain the original CCSID
          until recreated. The existing behavior is believed to be
          functionally correct, but it may negatively impact performance
          by causing unnecessary character conversion. Additionally, users
          accessing IBMDB2I tables through DB2 should be aware that mixing 
          tables created before and after this change may require extra type
          casts or other workarounds.  For this reason, users who have
          existing IBMDB2I tables using a Unicode collation other than
          utf8_general_ci are encouraged to recreate their tables (e.g.
          ALTER TABLE t1 ENGINE=IBMDB2I) in order to get the updated CCSIDs
          associated with their DB2 tables.
        
        - Improved error reporting for unsupported character sets by forcing
          a check for the iconv conversion table at table creation time,
          rather than at data access time.
      storage/ibmdb2i/db2i_myconv.h:
        Bug#45803 Inaccurate estimates for partial key values with IBMDB2I
        
        Fix to set errno when iconv fails.
      storage/ibmdb2i/db2i_rir.cc:
        Bug#45803 Inaccurate estimates for partial key values with IBMDB2I
        
        Significant improvements were made to the records_in_range code
        that handles partial length string data in keys for optimizer plan
        estimation. Previously, to obtain an estimate for a partial key
        value, the implementation would perform any necessary character
        conversion and then attempt to determine the unpadded length of
        the partial key by searching for the minimum or maximum sort
        character. While this algorithm was sufficient for most single-byte
        character sets, it did not treat Unicode and multi-byte strings
        correctly. Furthermore, due to an operating system limitation,
        partial keys having UTF8 collations (ICU sort sequences in DB2)
        could not be estimated with this method.
        
        With this patch, the code no longer attempts to explicitly determine
        the unpadded length of the key. Instead, the entire key is converted
        (if necessary), including padding, and then passed to the operating
        system for estimation. Depending on the source and target character
        sets and collations, additional logic is required to correctly
        handle cases in which MySQL uses unconvertible or differently
        -weighted values to pad the key. The bulk of the patch exists
        to implement this additional logic.
      storage/ibmdb2i/ha_ibmdb2i.h:
        Bug#45803 Inaccurate estimates for partial key values with IBMDB2I
        
        The convertFieldChars declaration was updated to support additional 
        optional behaviors.
      0c66f4a6
    • Alfranio Correia's avatar
    • Alfranio Correia's avatar
      BUG#44581 Slave stops when transaction with non-transactional table gets lock wait · 8ba57fa3
      Alfranio Correia authored
      timeout
                  
      In STMT and MIXED modes, a statement that changes both non-transactional and
      transactional tables must be written to the binary log whenever there are
      changes to non-transactional tables. This means that the statement gets into the
      binary log even when the changes to the transactional tables fail. In particular
      , in the presence of a failure such statement is annotated with the error number
      and wrapped in a begin/rollback. On the slave, while applying the statement, it
      is expected the same failure and the rollback prevents the transactional changes
      to be persisted.
                  
      Unfortunately, statements that fail due to concurrency issues (e.g. deadlocks,
      timeouts) are logged in the same way causing the slave to stop as the statements
      are applied sequentially by the SQL Thread. To fix this bug, we automatically
      ignore concurrency failures on the slave. Specifically, the following failures
      are ignored: ER_LOCK_WAIT_TIMEOUT, ER_LOCK_DEADLOCK and ER_XA_RBDEADLOCK.
      8ba57fa3
    • Ramil Kalimullin's avatar
      Fix for bug#42364 reverted. · 345e8347
      Ramil Kalimullin authored
      345e8347
  4. 03 Jul, 2009 8 commits