1. 15 Mar, 2010 5 commits
    • Alexander Nozdrin's avatar
      A patch for Bug#52071 (rpl_ndb.rpl_ndb_ctype_ucs2_def fails). · 3c21280b
      Alexander Nozdrin authored
      Use new command line options instead of deprecated and removed ones.
      3c21280b
    • Magnus Blåudd's avatar
      Merge · 465637d4
      Magnus Blåudd authored
      465637d4
    • Magnus Blåudd's avatar
      Merge in fix for bug#42589 · c2a15cc3
      Magnus Blåudd authored
      c2a15cc3
    • Jon Olav Hauglid's avatar
      Bug #51160 Deadlock around SET GLOBAL EVENT_SCHEDULER = ON|OFF · 7a69d82f
      Jon Olav Hauglid authored
      This deadlock could occour betweeen one connection executing
      SET GLOBAL EVENT_SCHEDULER= ON and another executing SET GLOBAL
      EVENT_SCHEDULER= OFF. The bug was introduced by WL#4738.
      
      The first connection would hold LOCK_event_metadata (protecting
      the global variable) while trying to lock LOCK_global_system_variables
      starting the event scheduler thread (in THD:init()).
      
      The second connection would hold LOCK_global_system_variables
      while trying to get LOCK_event_scheduler after stopping the event
      scheduler inside event_scheduler_update().
      
      This patch fixes the problem by not using LOCK_event_metadata to
      protect the event_scheduler variable. It is still protected using
      LOCK_global_system_variables. This fixes the deadlock as it removes 
      one of the two mutexes used to produce it.
      
      However, this patch opens up the possibility that the event_scheduler
      variable and the real event_scheduler state can become out of sync
      (e.g. variable = OFF, but scheduler running). But this can only
      happen under very unlikely conditions - two concurrent SET GLOBAL
      statments, with one thread interrupted at the exact wrong moment.
      This is preferable to having the possibility of a deadlock.
      
      This patch also fixes a bug where it was possible to exit create_event()
      without releasing LOCK_event_metadata if running out of memory during
      its exection.
      
      No test case added since a repeatable test case would have required
      excessive use of new sync points. Instead we rely on the fact that
      this bug was easily reproduceable using RGQ tests.
      7a69d82f
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-trunk. · f73ca78c
      Alexander Nozdrin authored
      f73ca78c
  2. 12 Mar, 2010 8 commits
  3. 11 Mar, 2010 7 commits
  4. 10 Mar, 2010 18 commits
    • Luis Soares's avatar
      Fix for BUG#51716 and BUG#51787: test case improvements. · a7c0e6e4
      Luis Soares authored
      Split rpl_row_charset into:
      
        - rpl_row_utf16.
        - rpl_row_utf32.
      
      This way these tests can run independently if server supports
      either one of the charsets but not both.
      
      Cleaned up rpl_row_utf32 which had a spurious instruction:
      -- let $reset_slave_type_conversions= 0
      a7c0e6e4
    • Davi Arnaut's avatar
      Automatic merge. · 9a08e823
      Davi Arnaut authored
      9a08e823
    • Luis Soares's avatar
      Fix for BUG#51716 and BUG#51787. · 496562f1
      Luis Soares authored
      In BUG#51787 we were using the wrong charset to print out the
      data. We were using the field charset for the string that would
      hold the information. This caused the assertion, because the
      string length was not aligned with UTF32 bytes requirements for
      storage.
      
      We fix this by using &my_charset_latin1 in the string object
      instead of the field->charset(). As a side-effect, we needed to
      extend the show_sql_type interface so that it took the field
      charset is now passed as a parameter, so that one is able to
      calculate the correct field size.
      
      In BUG#51716 we had issues with Field_string::pack and
      Field_string::unpack. When packing, the length was incorrectly
      calculated. When unpacking, the padding the string would be
      padded with the wrong bytes (a few bytes less than it should).
      
      We fix this by resorting to charset abstractions (functions) that
      calculate the correct length when packing and pad correctly the
      string when unpacking.
      496562f1
    • Joerg Bruehe's avatar
      Automerge into next-mr-bugfixing. · 9ce490c8
      Joerg Bruehe authored
      9ce490c8
    • Alexander Nozdrin's avatar
      5bdd80fa
    • Konstantin Osipov's avatar
      A fix and a test case for Bug#51710 FLUSH TABLES <view> WITH READ · a8838f14
      Konstantin Osipov authored
      LOCK kills the server.
      
      Prohibit FLUSH TABLES WITH READ LOCK application to views or
      temporary tables.
      Fix a subtle bug in the implementation when we actually
      did not remove table share objects from the table cache after 
      acquiring exclusive locks.
      
      mysql-test/r/flush.result:
        Update results (Bug#51710)
      mysql-test/t/flush.test:
        Add a test case for Bug#51710.
      sql/sql_parse.cc:
        Fix Bug#51710 "FLUSH TABLES <view> WITH READ LOCK
        killes the server.
        Ensure we don't open views and temporary tables.
        Fix a yet another bug in the implementation which 
        did not actually remove the tables from cache after acquiring
        exclusive locks.
      a8838f14
    • Davi Arnaut's avatar
      Bug#33669: Transactional temporary tables do not work under --read-only · 6f9a684a
      Davi Arnaut authored
      The problem was that in read only mode (read_only enabled),
      the server would mistakenly deny data modification attempts
      for temporary tables which belong to a transactional storage
      engine (eg. InnoDB).
      
      The solution is to allow transactional temporary tables to be
      modified under read only mode. As a whole, the read only mode
      does not apply to any kind of temporary table.
      
      
      mysql-test/r/read_only_innodb.result:
        Add test case result for Bug#33669
      mysql-test/t/read_only_innodb.test:
        Add test case for Bug#33669
      sql/lock.cc:
        Rename mysql_lock_tables_check to lock_tables_check and make
        it static. Move locking related checks from get_lock_data to
        lock_tables_check. Allow write locks to temporary tables even
        under read-only.
      6f9a684a
    • Joerg Bruehe's avatar
      Part of the fixes for bug#49022 · df457dea
      Joerg Bruehe authored
          Plugins included into bin release cannot be
          installed on debug version of server
      
      Ensure that the plugin files of the debug build
      get into the optimized tree, so that they find
      their way into the final RPMs.
      
      
      support-files/mysql.spec.sh:
        Use "make install" in the debug build tree to get the debug
        plugin files to a temporary location,
        then move them to "plugin/debug/" in the optimized build tree
        so that the install hook in "plugin/Makefile.am" forwards them
        into the final installation.
        
        This fixes bug#49022 for the generic RPMs.
        
        Unrelated:
        The plugin objects were listed twice in the file list,
        do a cleanup.
      df457dea
    • Alexander Nozdrin's avatar
      9d72b5f6
    • Alexander Nozdrin's avatar
      Auto-merge (empty) from mysql-next-mr. · 67d43e6d
      Alexander Nozdrin authored
      67d43e6d
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-trunk. · f5d5e36c
      Alexander Nozdrin authored
      f5d5e36c
    • Alexander Nozdrin's avatar
      Auto-merge (empty) from mysql-trunk. · 95103b95
      Alexander Nozdrin authored
      95103b95
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-next-mr. · 8c0a0ec3
      Alexander Nozdrin authored
      8c0a0ec3
    • Alexander Nozdrin's avatar
      156c4e56
    • Joerg Bruehe's avatar
    • He Zhenxing's avatar
      Post fix for Bug#49557 · b151c878
      He Zhenxing authored
      b151c878
    • Joerg Bruehe's avatar
      Part of the fixes for bug#49022 · 7dc4b08a
      Joerg Bruehe authored
          Plugins included into bin release cannot be
          installed on debug version of server
      
      IF    the build process was split into separate "debug" and
            "optimized" builds
         AND
            the plugin files of the debug build got copied into
            "plugin/debug/"
      (both is done for MySQL release builds starting from 5.5.3),
      THEN these debug plugin files are to be included in the
           final binary package.
      
      This change deals with the inclusion only,
      the other parts are done in different changesets.
      
      
      plugin/Makefile.am:
        The "install" rule must not assume that "debug" files are
        present, this depends on the preceding steps in the build.
        
        If they are present, we cannot copy them by simply using
        "libtool install" (as we could do during an ordinary build)
        because they are already kept in "plugin/debug/".
        
        When doing the copy to the destination hierarchy, we must
        ensure that symlinks are not expanded but rather copied
        as symlinks.
        "cp -d" is specific to GNU, the portable way would use
        "cp -P", but that is not fully specified with recursion.
        So we fall back on "tar c | tar x", which is known to
        keep symlinks unchanged (and un-expanded).
        
        Using "$(TAR)" is just a precaution in case of weird path
        settings or other portability issues.
      7dc4b08a
    • Mats Kindahl's avatar
      Merging with mysql-next-mr-bugfixing · 8cae01a4
      Mats Kindahl authored
      8cae01a4
  5. 09 Mar, 2010 2 commits
    • Marc Alff's avatar
      Bug#51878 Build break in HPUX involving mysql_prlock on a client · db71e5e6
      Marc Alff authored
      This is a fix specific for HPUX,
      for which the compiler does not resolve properly dependencies
      involving unused inline functions.
      (See existing comments in mysql_thread.h)
      
      In include/mysql/psi/mysql_thread.h,
      the instrumentation helpers for mysql_prlock_*
      uses the pr lock apis.
      
      These apis are implemented in mysys/thr_rwlock.c,
      which is not linked to client code.
      
      As a result, the code does not link in libmysql_r, on HPUX.
      
      The fix is to cut dependencies explicitely,
      by introducing -DDISABLE_MYSQL_RWLOCK_H,
      when building client code.
      
      db71e5e6
    • Tor Didriksen's avatar
      Bug#50888 valgrind warnings in Field_timestamp::val_str · e370ad1e
      Tor Didriksen authored
      Ensure that we store the correct cached_field_type whenever we cache Field items
      (in this case it allows us to compare dates as dates, rather than strings)
      
      
      mysql-test/r/type_timestamp.result:
        Add test case.
      mysql-test/t/type_timestamp.test:
        Add test case.
      sql/item.h:
        Initialize cached_field_type from the Field item.
      e370ad1e