1. 24 May, 2010 2 commits
    • Vasil Dimov's avatar
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · b59e03bb
      Marko Mäkelä authored
      ------------------------------------------------------------
      revno: 3479
      revision-id: marko.makela@oracle.com-20100524110439-fazi70rlmt07tzd9
      parent: vasil.dimov@oracle.com-20100520133157-42uk5q3pp0vsinac
      committer: Marko Mäkelä <marko.makela@oracle.com>
      branch nick: 5.1-innodb
      timestamp: Mon 2010-05-24 14:04:39 +0300
      message:
        Bug#53578: assert on invalid page access, in fil_io()
      
        Store the max_space_id in the data dictionary header in order to avoid
        space_id reuse.
      
        DICT_HDR_MIX_ID: Renamed to DICT_HDR_MAX_SPACE_ID, DICT_HDR_MIX_ID_LOW.
      
        dict_hdr_get_new_id(): Return table_id, index_id, space_id or a subset of them.
      
        fil_system_t: Add ibool space_id_reuse_warned.
      
        fil_create_new_single_table_tablespace(): Get the space_id from the caller.
      
        fil_space_create(): Issue a warning if the fil_system->max_assigned_id
        is exceeded.
      
        fil_assign_new_space_id(): Return TRUE/FALSE and take a pointer to the
        space_id as a parameter. Make the function public.
      
        fil_init(): Initialize all fil_system fields by mem_zalloc(). Remove
        explicit initializations of certain fields to 0 or NULL.
      b59e03bb
  2. 23 May, 2010 1 commit
  3. 21 May, 2010 10 commits
    • Calvin Sun's avatar
    • Vasil Dimov's avatar
      Use the correct len instead of sizeof(void) in posix_fadvise() · 159c30e2
      Vasil Dimov authored
      Also explain in the comment the units of the "offset" parameter
      159c30e2
    • Vasil Dimov's avatar
      Move os_file_write() before posix_fadvise(POSIX_FADV_DONTNEED). · e9f2fa40
      Vasil Dimov authored
      It is wrong to tell the OS that a block is not going to be accessed and
      write to it immediately afterwards.
      e9f2fa40
    • Vasil Dimov's avatar
      Fix comment on row_merge_write() · 282cce2b
      Vasil Dimov authored
      282cce2b
    • Vasil Dimov's avatar
    • Vasil Dimov's avatar
      0a1b298c
    • Jon Olav Hauglid's avatar
      merge from mysql-trunk-runtime · e9c007eb
      Jon Olav Hauglid authored
      e9c007eb
    • Alexander Nozdrin's avatar
      Backporting a test case for Bug#30036 (SHOW TABLE TYPES causes the debug client · 360d26f8
      Alexander Nozdrin authored
      to crash) from mysql-6.0-codebase.
      360d26f8
    • Alexander Nozdrin's avatar
      Fix for Bug#52923 (Inadequate documentation of "Can't get hostname for your address" error). · af7bb6a5
      Alexander Nozdrin authored
      The thing is that on some platforms (e.g. Mac OS X) sockaddr_in / sockaddr_in6
      contain a non-standard field (sin_len / sin6_len), that must be set.
      
      The problem was that only standard fields were set, thus getnameinfo() returned
      EAI_SYSTEM instead of EAI_NONAME.
      
      The fix is to introduce configure-time checks (for GNU auto-tools and CMake) for
      those additional fields and to set them if they are available.
      af7bb6a5
    • Dmitry Lenev's avatar
      Follow-up for the fix for bug #46947 "Embedded SELECT without · 5af3b013
      Dmitry Lenev authored
      FOR UPDATE is causing a lock".
       
      This patch tries to address problems which were exposed 
      during backporting of original patch to 5.1 tree.
       
      - It ensures that we don't change locking behavior of simple
        SELECT statements on InnoDB tables when they are executed
        under LOCK TABLES ... READ and with @@innodb_table_locks=0.
        Also we no longer pass TL_READ_DEFAULT/TL_WRITE_DEFAULT 
        lock types, which are supposed to be parser-only, to 
        handler::start_stmt() method.
      - It makes check_/no_concurrent_insert.inc auxiliary scripts 
        more robust against changes in test cases that use them
        and also ensures that they don't unnecessarily change 
        environment of caller.
      
      mysql-test/include/check_concurrent_insert.inc:
        Reset DEBUG_SYNC facility before and after using it in
        auxiliary script. This makes this script more robust against
        changes in test cases calling it. It also ensures that script
        does not unnecessarily change environment of caller.
      mysql-test/include/check_no_concurrent_insert.inc:
        Reset DEBUG_SYNC facility before and after using it in
        auxiliary script. This makes this script more robust against
        changes in test cases calling it. It also ensures that script
        does not unnecessarily change environment of caller.
      mysql-test/r/innodb-lock.result:
        Added coverage for LOCK TABLES ... READ behavior in
        @@innodb_table_locks = 0 mode. This test also checks
        that an appropriate type of lock is passed to
        handler::start_stmt() method.
      mysql-test/t/innodb-lock.test:
        Added coverage for LOCK TABLES ... READ behavior in
        @@innodb_table_locks = 0 mode. This test also checks
        that an appropriate type of lock is passed to
        handler::start_stmt() method.
      sql/sql_base.cc:
        Since we no longer set TL_READ as lock type for tables used  
        in simple SELECT right in the parser, in order to preserve  
        behavior for such statements on InnoDB tables when in  
        LOCK TABLES mode with @innodb_table_locks = 0,  
        check_lock_and_start_stmt() had to be changed to convert  
        TL_READ_DEFAULT to an appropriate type of read lock before  
        passing it to handler::start_stmt() method.  
        We do similar thing for TL_WRITE_DEFAULT as this lock type  
        is also supposed to be parser-only type.  
        As consequence read_lock_type_for_table() had to be  
        adjusted to behave properly when it is called from  
        check_lock_and_start_stmt() in prelocked mode.
      5af3b013
  4. 20 May, 2010 4 commits
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · be62aeb3
      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.
      be62aeb3
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · e4be8421
      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
      e4be8421
    • Alexander Nozdrin's avatar
      Empty merge from mysql-trunk. · a0c2efe0
      Alexander Nozdrin authored
      a0c2efe0
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-trunk-bugfixing. · 8e2c0264
      Alexander Nozdrin authored
      8e2c0264
  5. 19 May, 2010 9 commits
    • Vasil Dimov's avatar
      8f1aaa45
    • Alexander Nozdrin's avatar
      Another incarnation of the patch for Bug#30708 · ee9a495b
      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.
      ee9a495b
    • Alexander Nozdrin's avatar
    • Alexander Nozdrin's avatar
      Backport test cases for Bug#46198 and Bug#38054 · 76e6cf90
      Alexander Nozdrin authored
      from 6.0 to trunk-bugfixing.
      76e6cf90
    • Jon Olav Hauglid's avatar
      Bug #53798 OPTIMIZE TABLE breaks repeatable read · e7e5118f
      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.
      e7e5118f
    • Sunny Bains's avatar
      Merge changes from parent. · 10ac84db
      Sunny Bains authored
      10ac84db
    • Sunny Bains's avatar
      Fix a bug reported by PushBuild on OSX 10.6.3. It turned out to be a compiler · 36b50240
      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.
      36b50240
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · c433f0a4
      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.
      c433f0a4
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · 8d8d03a0
      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)
      8d8d03a0
  6. 18 May, 2010 10 commits
    • Inaam Rana's avatar
      fc06569d
    • Andrei Elkin's avatar
      10517056
    • Vasil Dimov's avatar
    • Vasil Dimov's avatar
      Add more valgrind checks for initialized memory. · 57828917
      Vasil Dimov authored
      Author:	Marko
      57828917
    • Vasil Dimov's avatar
      Silence a valgrind warning caused by zlib: · 497b67ab
      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)
      497b67ab
    • Vasil Dimov's avatar
      Silence a valgrind warning caused by zlib: · bd391cb9
      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)
      bd391cb9
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · f5c8db64
      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
      f5c8db64
    • Jon Olav Hauglid's avatar
      manual merge from mysql-trunk-bugfixing · b13b2808
      Jon Olav Hauglid authored
      b13b2808
    • Andrei Elkin's avatar
    • Andrei Elkin's avatar
      merging bug#50316 fixes · 6fec028e
      Andrei Elkin authored
      6fec028e
  7. 17 May, 2010 4 commits