1. 21 May, 2010 5 commits
  2. 20 May, 2010 2 commits
  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 6 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
    • Marko Mäkelä's avatar
      Merge from mysql-5.1-innodb: · 2a3db4b9
      Marko Mäkelä authored
      Post-merge fixes: Remove the MYSQL_VERSION_ID checks, because they only
      apply to the InnoDB Plugin. Fix potential race condition accessing
      trx->op_info and trx->detailed_error.
      ------------------------------------------------------------
      revno: 3466
      revision-id: marko.makela@oracle.com-20100514130815-ym7j7cfu88ro6km4
      parent: marko.makela@oracle.com-20100514130228-n3n42nw7ht78k0wn
      committer: Marko Mäkelä <marko.makela@oracle.com>
      branch nick: mysql-5.1-innodb2
      timestamp: Fri 2010-05-14 16:08:15 +0300
      message:
        Make the InnoDB FOREIGN KEY parser understand multi-statements. (Bug #48024)
        Also make InnoDB thinks that /*/ only starts a comment. (Bug #53644).
      
        This fixes the bugs in the InnoDB Plugin.
      
        ha_innodb.h: Use trx_query_string() instead of trx_query() when
        available (MySQL 5.1.42 or later).
      
        innobase_get_stmt(): New function, to retrieve the currently running
        SQL statement.
      
        struct trx_struct: Remove mysql_query_str. Use innobase_get_stmt() instead.
      
        dict_strip_comments(): Add and observe the parameter sql_length. Treat
        /*/ as the start of a comment.
      
        dict_create_foreign_constraints(), row_table_add_foreign_constraints():
        Add the parameter sql_length.
      2a3db4b9
    • Alexander Nozdrin's avatar
      Patch for Bug#21818 (Return value of ROW_COUNT() is incorrect · 7752ccec
      Alexander Nozdrin authored
      for ALTER TABLE, LOAD DATA).
      
      ROW_COUNT is now assigned according to the following rules:
      
        - In my_ok():
          - for DML statements: to the number of affected rows;
          - for DDL statements: to 0.
      
        - In my_eof(): to -1 to indicate that there was a result set.
      
          We derive this semantics from the JDBC specification, where int
          java.sql.Statement.getUpdateCount() is defined to (sic) "return the
          current result as an update count; if the result is a ResultSet
          object or there are no more results, -1 is returned".
      
        - In my_error(): to -1 to be compatible with the MySQL C API and
          MySQL ODBC driver.
      
        - For SIGNAL statements: to 0 per WL#2110 specification. Zero is used
          since that's the "default" value of ROW_COUNT in the diagnostics area.
      7752ccec
  8. 13 May, 2010 2 commits