1. 21 May, 2010 7 commits
  2. 20 May, 2010 4 commits
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · 8344f58a
      Marko Mäkelä authored
      ------------------------------------------------------------
      revno: 3475
      revision-id: marko.makela@oracle.com-20100520130734-ueow9mn60czp7o4m
      parent: marko.makela@oracle.com-20100520104042-ma2nsscqdvwoph8k
      committer: Marko Mäkelä <marko.makela@oracle.com>
      branch nick: 5.1-innodb
      timestamp: Thu 2010-05-20 16:07:34 +0300
      message:
        buf_LRU_free_block(): Correct an error in the comment.
      8344f58a
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · 525768dd
      Marko Mäkelä authored
      TO DO: Enable this in CMake-based builds.
      
      ------------------------------------------------------------
      revno: 3474
      revision-id: marko.makela@oracle.com-20100520104042-ma2nsscqdvwoph8k
      parent: marko.makela@oracle.com-20100519081618-h38q02qxuvcowbtk
      committer: Marko Mäkelä <marko.makela@oracle.com>
      branch nick: 5.1-innodb
      timestamp: Thu 2010-05-20 13:40:42 +0300
      message:
        Bug#53593: Add some instrumentation to improve Valgrind sensitivity
      
        BUILD/*: Add valgrind_configs=--with-valgrind.
        BUILD/*: Remove -USAFEMALLOC from valgrind_flags.
      
        configure.in: Add AC_ARG_WITH(valgrind) and HAVE_VALGRIND.
      
        include/my_sys.h: Define a number of MEM_ wrappers for VALGRIND_ functions.
        include/my_sys.h: Make TRASH do MEM_UNDEFINED().
      
        include/m_string.h: Remove unused macro bzero_if_purify(A,B).
      
        _mymalloc(): Declare MEM_UNDEFINED() on the allocated memory.
      
        _myfree(): Declare MEM_NOACCESS() on the freed memory.
      
        storage/innobase/include/univ.i: Enable UNIV_DEBUG_VALGRIND based on
        HAVE_VALGRIND rather than HAVE_purify.
      
        Possible things to do:
         * In my_global.h, remove the defined(HAVE_purify) condition
           from the _WIN32 uint3korr().
         * In my_global.h *int*korr(), use | instead of +
           in order to keep the Valgrind V bits accurate
         * Consider replacing HAVE_purify with HAVE_VALGRIND
         * Use VALGRIND_CREATE_BLOCK, VALGRIND_DISCARD in mem_root and similar places
      525768dd
    • Alexander Nozdrin's avatar
      Empty merge from mysql-trunk. · 534b3a52
      Alexander Nozdrin authored
      534b3a52
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-trunk-bugfixing. · d8b33c52
      Alexander Nozdrin authored
      d8b33c52
  3. 19 May, 2010 9 commits
    • Vasil Dimov's avatar
      456130f3
    • Alexander Nozdrin's avatar
      Another incarnation of the patch for Bug#30708 · 091bcacc
      Alexander Nozdrin authored
      (make relies GNU extentions). The patch was partially
      backport from 6.0.
      
      Original comment:
      bug#30708: make relies GNU extensions.  Now that we no longer use
      BitKeeper we can safely remove the SCCS handling with no loss of
      functionality.
      091bcacc
    • Alexander Nozdrin's avatar
    • Alexander Nozdrin's avatar
      Backport test cases for Bug#46198 and Bug#38054 · 796fd24e
      Alexander Nozdrin authored
      from 6.0 to trunk-bugfixing.
      796fd24e
    • Jon Olav Hauglid's avatar
      Bug #53798 OPTIMIZE TABLE breaks repeatable read · c09eb2af
      Jon Olav Hauglid authored
      The problem was that OPTMIZE TABLE was allowed to run on a table
      in use by a transaction in a different connection. This caused
      repeatable read to break.
      
      This bug was fixed by the introduction of metadata locking, WL#4284.
      OPTIMIZE TABLE will now be blocked until the transaction using the
      table, has ended.
      
      This patch contains a regression test added to innodb_mysql_lock.test
      and no code changes.
      c09eb2af
    • Sunny Bains's avatar
      Merge changes from parent. · 0cf28dbc
      Sunny Bains authored
      0cf28dbc
    • Sunny Bains's avatar
      Fix a bug reported by PushBuild on OSX 10.6.3. It turned out to be a compiler · 33e6fc1f
      Sunny Bains authored
      bug. The code has been changed to work around it. To reprocude the bug simply
      revert this change and build the binary with:
      
      GCC Using built-in specs.
      Target: i686-apple-darwin10
      Configured with: /var/tmp/gcc/gcc-5659~1/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
      Thread model: posix
      gcc version 4.2.1 (Apple Inc. build 5659)
      
      export LDFLAGS='-g -arch i386'
      export CFLAGS='-g -no-cpp-precomp -arch i386 -O2'
      export CXXFLAGS='-g -no-cpp-precomp -arch i386 -O2'
      
      ./configure --enable-thread-safe-client --enable-local-infile --with-pic --with-client-ldflags=-static --with-mysqld-ldflags=-static --with-zlib-dir=bundled --without-ndb-debug --with-big-tables --with-ssl --with-readline --with-embedded-server --with-archive-storage-engine --with-blackhole-storage-engine --with-csv-storage-engine --with-example-storage-engine --with-federated-storage-engine --with-partition --with-extra-charsets=all --with-innodb --with-ndbcluster --with-libevent --target=i386-apple-darwin --program-transform-name=
      
      Approved by Marko on IM.
      33e6fc1f
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · b93c394e
      Marko Mäkelä authored
      ------------------------------------------------------------
      revno: 3472
      revision-id: marko.makela@oracle.com-20100519080743-5myf1g7v6pfysidt
      parent: marko.makela@oracle.com-20100519080152-h3555oqmu3wo95so
      committer: Marko Mäkelä <marko.makela@oracle.com>
      branch nick: 5.1-innodb
      timestamp: Wed 2010-05-19 11:07:43 +0300
      message:
        Make UNIV_DEBUG Valgrind friendly. Use | instead of +,
        and mask out the dont-care bits in debug assertions.
      b93c394e
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · 86bd3125
      Marko Mäkelä authored
      ------------------------------------------------------------
      revno: 3471
      revision-id: marko.makela@oracle.com-20100519080152-h3555oqmu3wo95so
      parent: marko.makela@oracle.com-20100519075843-4gl3uijo6cwjtcf9
      committer: Marko Mäkelä <marko.makela@oracle.com>
      branch nick: 5.1-innodb
      timestamp: Wed 2010-05-19 11:01:52 +0300
      message:
        Silence some more bogus Valgrind warnings on non-32-bit systems. (Bug #53307)
      86bd3125
  4. 18 May, 2010 10 commits
    • Inaam Rana's avatar
      7ac44b5d
    • Andrei Elkin's avatar
      b530d566
    • Vasil Dimov's avatar
    • Vasil Dimov's avatar
      Add more valgrind checks for initialized memory. · 0667657a
      Vasil Dimov authored
      Author:	Marko
      0667657a
    • Vasil Dimov's avatar
      Silence a valgrind warning caused by zlib: · b686ebae
      Vasil Dimov authored
      ==31182== Conditional jump or move depends on uninitialised value(s)
      ==31182==    at 0xA9188B: longest_match (deflate.c:1143)
      ==31182==    by 0xA92C19: deflate_slow (deflate.c:1595)
      ==31182==    by 0xA90C6B: deflate (deflate.c:790)
      ==31182==    by 0x9B447B: page_zip_compress (page0zip.c:1342)
      ==31182==    by 0x9A8540: page_cur_insert_rec_zip_reorg (page0cur.c:1174)
      ==31182==    by 0x9A8998: page_cur_insert_rec_zip (page0cur.c:1279)
      ==31182==    by 0x9214F9: page_cur_tuple_insert (page0cur.ic:264)
      ==31182==    by 0x9221A2: btr_cur_optimistic_insert (btr0cur.c:1314)
      ==31182==    by 0x9C99EB: row_ins_index_entry_low (row0ins.c:2087)
      ==31182==    by 0x9C9DFB: row_ins_index_entry (row0ins.c:2167)
      ==31182==    by 0x9CA057: row_ins_index_entry_step (row0ins.c:2252)
      ==31182==    by 0x9CA0FD: row_ins (row0ins.c:2384)
      ==31182==    by 0x9CA760: row_ins_step (row0ins.c:2494)
      ==31182==    by 0x8CBF7E: row_insert_for_mysql (row0mysql.c:1138)
      ==31182==    by 0x8BCF32: ha_innobase::write_row(unsigned char*) (ha_innodb.cc:4929)
      ==31182==    by 0x736E03: handler::ha_write_row(unsigned char*) (handler.cc:4682)
      b686ebae
    • Vasil Dimov's avatar
      Silence a valgrind warning caused by zlib: · c1ac191c
      Vasil Dimov authored
      innodb.innodb-zip                        [ fail ]  Found warnings/errors in server log file!
              Test ended at 2010-05-17 16:41:25
      line
      ==31182== Thread 13:
      ==31182== Conditional jump or move depends on uninitialised value(s)
      ==31182==    at 0xA9193F: longest_match (deflate.c:1143)
      ==31182==    by 0xA92C19: deflate_slow (deflate.c:1595)
      ==31182==    by 0xA90C6B: deflate (deflate.c:790)
      ==31182==    by 0x928A07: btr_store_big_rec_extern_fields (btr0cur.c:4092)
      ==31182==    by 0x9C9B90: row_ins_index_entry_low (row0ins.c:2119)
      ==31182==    by 0x9C9DFB: row_ins_index_entry (row0ins.c:2167)
      ==31182==    by 0x9CA057: row_ins_index_entry_step (row0ins.c:2252)
      ==31182==    by 0x9CA0FD: row_ins (row0ins.c:2384)
      ==31182==    by 0x9CA760: row_ins_step (row0ins.c:2494)
      ==31182==    by 0x8CBF7E: row_insert_for_mysql (row0mysql.c:1138)
      ==31182==    by 0x8BCF32: ha_innobase::write_row(unsigned char*) (ha_innodb.cc:4929)
      ==31182==    by 0x736E03: handler::ha_write_row(unsigned char*) (handler.cc:4682)
      ==31182==    by 0x5B0EEE: write_record(THD*, TABLE*, st_copy_info*) (sql_insert.cc:1670)
      ==31182==    by 0x5B129D: select_insert::send_data(List<Item>&) (sql_insert.cc:3279)
      ==31182==    by 0x5F31ED: end_send(JOIN*, st_join_table*, bool) (sql_select.cc:12428)
      ==31182==    by 0x5F9B9B: evaluate_join_record(JOIN*, st_join_table*, int) (sql_select.cc:11632)
      c1ac191c
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · c6c16043
      Marko Mäkelä authored
        ------------------------------------------------------------
        revno: 3468
        revision-id: marko.makela@oracle.com-20100518130658-rd00ql7h02ooakh1
        parent: marko.makela@oracle.com-20100514131050-mkhlvlui1u52irob
        committer: Marko Mäkelä <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Tue 2010-05-18 16:06:58 +0300
        message:
          Work around Bug #53750 in innodb_bug48024.test
      c6c16043
    • Jon Olav Hauglid's avatar
      manual merge from mysql-trunk-bugfixing · 1c02ed3e
      Jon Olav Hauglid authored
      1c02ed3e
    • Andrei Elkin's avatar
    • Andrei Elkin's avatar
      merging bug#50316 fixes · 2c966ddd
      Andrei Elkin authored
      2c966ddd
  5. 17 May, 2010 4 commits
  6. 16 May, 2010 2 commits
  7. 14 May, 2010 4 commits
    • Alexander Nozdrin's avatar
      Patch for Bug#27863 (excessive memory usage for many small queries in a · 5c4333bc
      Alexander Nozdrin authored
      multiquery packet).
      
      Background:
      
        - a query can contain multiple SQL statements;
      
        - the server frees resources allocated to process a query when the
          whole query is handled. In other words, resources allocated to process
          one SQL statement from a multi-statement query are freed when all SQL
          statements are handled.
      
      The problem was that the parser allocated a buffer of size of the whole
      query for each SQL statement in a multi-statement query. Thus, if a query
      had many SQL-statements (so, the query was long), but each SQL statement
      was short, ther parser tried to allocate huge amount of memory (number of
      small SQL statements * length of the whole query).
      
      The memory was allocated for a so-called "cpp buffer", which is intended to
      store pre-processed SQL statement -- SQL text without version specific
      comments.
      
      The fix is to allocate memory for the "cpp buffer" once for all SQL
      statements (once for a query).
      5c4333bc
    • Konstantin Osipov's avatar
      Committing on behalf of Valdislav Vaintroub (reviewed and · d63caa0c
      Konstantin Osipov authored
      approved):
      
      3161 Vladislav Vaintroub       2010-04-29                 
       Bug#53196 : CMake builds don't support 'make tags' and 
      'make ctags' targets.  
         - Added tags and ctags targets
      d63caa0c
    • Vasil Dimov's avatar
    • Vasil Dimov's avatar
      Add a debug assertion to make it clear that we expect · 16968abb
      Vasil Dimov authored
      to own the kernel mutex in fill_trx_row().
      16968abb