1. 27 May, 2010 1 commit
    • Jimmy Yang's avatar
      Fix an assertion failure with UNIV_DEBUG is set. Initialize a · a51779c7
      Jimmy Yang authored
      dict_index_t structure to NULL in dict_load_index(), we could
      enter SYS_INDEXES and got table id value comparision failure
      for system tables such as SYS_TABLES. In addition, remove
      dict_sys mutex assertion when fill I_S table, as we no longer
      hold mutex accross the fill operation.
      
      rb://367 approved by Marko.
      a51779c7
  2. 26 May, 2010 1 commit
    • Jimmy Yang's avatar
      Check in the support for Information Schema System Table Views. Users · 00dfb12b
      Jimmy Yang authored
      can now view the content of InnoDB System Tables through following
      information schema tables:
      
      information_schema.INNODB_SYS_TABLES
      information_schema.INNODB_SYS_INDEXES
      information_schema.INNODB_SYS_COUMNS
      information_schema.INNODB_SYS_FIELDS
      information_schema.INNODB_SYS_FOREIGN
      information_schema.INNODB_SYS_FOREIGN_COLS
      information_schema.INNODB_SYS_TABLESTATS
      
      rb://330 Approved by Marko
      00dfb12b
  3. 25 May, 2010 2 commits
    • Vasil Dimov's avatar
      (second attempt) Disable the tests on embedded windows that fail due to · 7d50be10
      Vasil Dimov authored
      Bug #53947 InnoDB: Assertion failure in thread 4224 in file
      .\sync\sync0sync.c line 324
      
      This changeset should be reverted once the bug is fixed.
      7d50be10
    • Vasil Dimov's avatar
      Revert a changeset since it does not disable the tests: · c44ff049
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3116
        revision-id: vasil.dimov@oracle.com-20100524182209-sk114oipf1vhjbv5
        parent: vasil.dimov@oracle.com-20100524175802-twmwb29vvaehe6b8
        committer: Vasil Dimov <vasil.dimov@oracle.com>
        branch nick: mysql-trunk-innodb
        timestamp: Mon 2010-05-24 21:22:09 +0300
        message:
          Disable the tests on embedded windows that fail due to
          
          Bug #53947 InnoDB: Assertion failure in thread 4224 in file
          .\sync\sync0sync.c line 324
          
          This changeset should be reverted once the bug is fixed.
      c44ff049
  4. 24 May, 2010 4 commits
    • Vasil Dimov's avatar
      Merge a changeset from mysql-5.1-innodb: · 080a0aab
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3477
        revision-id: vasil.dimov@oracle.com-20100520132735-a120y85kqmhp7hxi
        parent: vasil.dimov@oracle.com-20100520125403-3u9ydcfu8vz8spls
        committer: Vasil Dimov <vasil.dimov@oracle.com>
        branch nick: mysql-5.1-innodb
        timestamp: Thu 2010-05-20 16:27:35 +0300
        message:
          Disable main.ps_3innodb for valgrind tests since it results in known
          failures, that are described in
          
          Bug#38999 valgrind warnings for update statement in function compare_record()
          
          At the time I am adding this the failures are:
          
          main.ps_3innodb                          [ fail ]  Found warnings/errors in server log file!
                  Test ended at 2010-05-20 01:17:34
          line
          ==31559== Thread 11:
          ==31559== Conditional jump or move depends on uninitialised value(s)
          ==31559==    at 0x75C5BD: compare_record(st_table*) (sql_update.cc:35)
          ==31559==    by 0x744732: write_record(THD*, st_table*, st_copy_info*) (sql_insert.cc:1486)
          ==31559==    by 0x74A0D7: mysql_insert(THD*, TABLE_LIST*, List<Item>&, List<List<Item> >&, List<Item>&, List<Item>&, enum_duplicates, bool) (sql_insert.cc:835)
          ==31559==    by 0x6A79B4: mysql_execute_command(THD*) (sql_parse.cc:3198)
          ==31559==    by 0x754998: Prepared_statement::execute(String*, bool) (sql_prepare.cc:3583)
          ==31559==    by 0x754C4F: Prepared_statement::execute_loop(String*, bool, unsigned char*, unsigned char*) (sql_prepare.cc:3258)
          ==31559==    by 0x754F33: mysql_sql_stmt_execute(THD*) (sql_prepare.cc:2529)
          ==31559==    by 0x6A5028: mysql_execute_command(THD*) (sql_parse.cc:2272)
          ==31559==    by 0x6ADAE8: mysql_parse(THD*, char const*, unsigned, char const**) (sql_parse.cc:5986)
          ==31559==    by 0x6AF3A4: dispatch_command(enum_server_command, THD*, char*, unsigned) (sql_parse.cc:1233)
          ==31559==    by 0x6B0800: do_command(THD*) (sql_parse.cc:874)
          ==31559==    by 0x69CB46: handle_one_connection (sql_connect.cc:1134)
          ==31559==    by 0x33EDA062F6: start_thread (in /lib64/libpthread-2.5.so)
          ==31559==    by 0x33ECED1B6C: clone (in /lib64/libc-2.5.so)
          ==31559== Conditional jump or move depends on uninitialised value(s)
          ==31559==    at 0x75C5D0: compare_record(st_table*) (sql_update.cc:35)
          ==31559==    by 0x744732: write_record(THD*, st_table*, st_copy_info*) (sql_insert.cc:1486)
          ==31559==    by 0x74A0D7: mysql_insert(THD*, TABLE_LIST*, List<Item>&, List<List<Item> >&, List<Item>&, List<Item>&, enum_duplicates, bool) (sql_insert.cc:835)
          ==31559==    by 0x6A79B4: mysql_execute_command(THD*) (sql_parse.cc:3198)
          ==31559==    by 0x754998: Prepared_statement::execute(String*, bool) (sql_prepare.cc:3583)
          ==31559==    by 0x754C4F: Prepared_statement::execute_loop(String*, bool, unsigned char*, unsigned char*) (sql_prepare.cc:3258)
          ==31559==    by 0x754F33: mysql_sql_stmt_execute(THD*) (sql_prepare.cc:2529)
          ==31559==    by 0x6A5028: mysql_execute_command(THD*) (sql_parse.cc:2272)
          ==31559==    by 0x6ADAE8: mysql_parse(THD*, char const*, unsigned, char const**) (sql_parse.cc:5986)
          ==31559==    by 0x6AF3A4: dispatch_command(enum_server_command, THD*, char*, unsigned) (sql_parse.cc:1233)
          ==31559==    by 0x6B0800: do_command(THD*) (sql_parse.cc:874)
          ==31559==    by 0x69CB46: handle_one_connection (sql_connect.cc:1134)
          ==31559==    by 0x33EDA062F6: start_thread (in /lib64/libpthread-2.5.so)
          ==31559==    by 0x33ECED1B6C: clone (in /lib64/libc-2.5.so)
          ^ Found warnings in /export/home4/pb2/test/sb_3-1827397-1274300957.87/mysql-5.1.48-linux-x86_64-test/mysql-test/var-n_mix/log/mysqld.1.err
      080a0aab
    • Vasil Dimov's avatar
      Disable the tests on embedded windows that fail due to · 9f42efeb
      Vasil Dimov authored
      Bug #53947 InnoDB: Assertion failure in thread 4224 in file
      .\sync\sync0sync.c line 324
      
      This changeset should be reverted once the bug is fixed.
      9f42efeb
    • Vasil Dimov's avatar
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · 42eff810
      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.
      42eff810
  5. 23 May, 2010 1 commit
  6. 21 May, 2010 10 commits
  7. 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
  8. 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
  9. 18 May, 2010 8 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