1. 21 Oct, 2010 10 commits
    • Jon Olav Hauglid's avatar
      Merge from mysql-5.5-innodb to mysql-5.5-bugteam · 67ecb9d9
      Jon Olav Hauglid authored
      No conflicts
      67ecb9d9
    • Vladislav Vaintroub's avatar
      merge · 8069325f
      Vladislav Vaintroub authored
      8069325f
    • Sunny Bains's avatar
      Bug #57243 Inconsistent use of trans_register_ha() API in InnoDB · 30d5e327
      Sunny Bains authored
      Remove trx_t::active_trans. Split into two separate fields with distinct
      responsibilities. trx_t::is_registered and trx_t::owns_prepare_mutex.
      There are wrapper functions for using this fields in ha_innodb.cc. The
      wrapper functions check for invariants.
      
      Fix some formatting to conform to InnoDB guidelines.
      
      Remove innobase_register_stmt() and innobase_register_trx_and_stmt().
      
      Add:
      trx_is_started()
      trx_deregister_from_2pc()
      trx_register_for_2pc()
      trx_is_registered_for_2pc()
      trx_owns_prepare_commit_mutex_set()
      trx_has_prepare_commit_mutex()
      
      rb://479, Approved by Jimmy Yang.
      30d5e327
    • Marko Mäkelä's avatar
      Fix a sys_vars.all_vars failure caused by Bug #56680 instrumentation. · 7ee0551f
      Marko Mäkelä authored
      The variable innodb_change_buffering_debug is only present in debug builds.
      Hide it from the test, so that the test passes in both debug and non-debug.
      7ee0551f
    • Marko Mäkelä's avatar
      Remove files that are no longer needed. · 731344d3
      Marko Mäkelä authored
      These files were needed when InnoDB Plugin was maintained and distributed
      separately from the MySQL 5.1 source tree. They have never been needed in
      MySQL 5.5.
      
      storage/innobase/mysql-test:
       Patches to the test suite.
      
      storage/innobase/handler/mysql_addons.cc:
       Wrappers for private MySQL functions.
      731344d3
    • Marko Mäkelä's avatar
      lock_rec_validate_page(): Disable the debug printout. · 3e2e7575
      Marko Mäkelä authored
      It is filling the error log when testing the debug version of the server.
      The printout only seems to be useful when debugging a crash, not when
      testing an instrumented version of the server.
      3e2e7575
    • 's avatar
      Manual Merge · 9c2c4648
      authored
      9c2c4648
    • 's avatar
      Bug#55478 Row events wrongly apply on the temporary table of the same name · aa235b1b
      authored
      Rows events were applied wrongly on the temporary table with the same name.
      But rows events are generated only for base tables. As temporary
      table's data never be binlogged on row mode. Normally, base table of the
      same name cannot be updated if a temporary table has the same name.
      But there are two cases which can generate rows events on 
      the base table of same name.
            
      Case1: 'CREATE TABLE ... SELECT' statement.
      In mixed format, it will generate rows events if it is unsafe.
            
      Case2: Drop a transactional temporary table in a transaction
             (happens only on 5.5+).
      BEGIN;
      DROP TEMPORARY TABLE t1;       # t1 is a InnoDB table
      INSERT INTO t1 VALUES(rand()); # t1 is a MyISAM table
      COMMIT;
      'DROP TEMPORARY TABLE' will be put in the transaction cache and
      binlogged after the rows events generated by the 'INSERT' statement.
            
      After this patch, slave opens only base table when applying a rows event.
      aa235b1b
    • Jimmy Yang's avatar
      45e815f9
    • Jimmy Yang's avatar
      Fix Bug #57616 Sig 11 in dict_load_table() when failed to load · 59f35ce8
      Jimmy Yang authored
      index or foreign key
      
      Approved by Sunny Bains
      59f35ce8
  2. 20 Oct, 2010 11 commits
  3. 19 Oct, 2010 19 commits
    • Davi Arnaut's avatar
      69aea87d
    • Davi Arnaut's avatar
      Bug#45288: pb2 returns a lot of compilation warnings · 39e9bde2
      Davi Arnaut authored
      Tag or remove unused arguments and variables.
      39e9bde2
    • Davi Arnaut's avatar
      3d047323
    • Davi Arnaut's avatar
      Bug#45288: pb2 returns a lot of compilation warnings · 71a8764a
      Davi Arnaut authored
      Ensure that fdatasync is properly declared as on Mac OS X, the
      function is available but there is no prototype. Also, port a
      fix for a warning from the InnoDB plugin over to the builtin. 
      71a8764a
    • Vasil Dimov's avatar
      Fix Bug#53916 storage/innodb_plugin does not compile on NetBSD/sparc64 · e9eeebc5
      Vasil Dimov authored
      Just check for all the functions that we are going to use, not a subset
      of them.
      
      Reviewed by:	Davi (via IRC)
      e9eeebc5
    • Davi Arnaut's avatar
      15d10459
    • Davi Arnaut's avatar
      Bug#45288: pb2 returns a lot of compilation warnings on linux · 162dd506
      Davi Arnaut authored
      Tag unused arguments.
            
      Approved by: Marko (via IRC)
      162dd506
    • Davi Arnaut's avatar
      Bug#45288: pb2 returns a lot of compilation warnings on linux · 2cebd47e
      Davi Arnaut authored
      Tag unused arguments.
      
      Approved by: Marko (via IRC)
      2cebd47e
    • Davi Arnaut's avatar
      Bug#45288: pb2 returns a lot of compilation warnings on linux · d6204eca
      Davi Arnaut authored
      Fix assorted compiler warnings on Mac OS X.
      d6204eca
    • Magne Mahre's avatar
      Bug #46941 crash with lower_case_table_names=2 and foreign key · 1c68d2ef
      Magne Mahre authored
                 data dictionary confusion
      
      On file systems with case insensitive file names, and
      lower_case_table_names set to '2', the server could crash
      due to a table definition cache inconsistency.  This is 
      the default setting on MacOSX, but may also be set and
      used on MS Windows.
      
      The bug is caused by using two different strategies for
      creating the hash key for the table definition cache, resulting
      in failure to look up an entry which is present in the cache,
      or failure to delete an existing entry.  One strategy was to
      use the real table name (with case preserved), and the other
      to use a normalized table name (i.e a lower case version).
      
      This is manifested in two cases.  One is  during 'DROP DATABASE', 
      where all known files are removed.  The removal from
      the table definition cache is done via a generated list of
      TABLE_LIST with keys (wrongly) created using the case preserved 
      name.  The other is during CREATE TABLE, where the cache lookup
      is also (wrongly) based on the case preserved name.
         
      The fix was to use only the normalized table name when
      creating hash keys.
      1c68d2ef
    • Jon Olav Hauglid's avatar
      Bug #57274 SET GLOBAL debug crashes on Solaris in embedded server mode · 6da8a65b
      Jon Olav Hauglid authored
                 (variables_debug fails)
      
      The problem was that "SET GLOBAL debug" could cause a crash on Solaris.
      The crash happened if the server failed to open the trace file given in 
      the "SET GLOBAL debug" statement. This caused an error message to be
      printed to stderr containing the process name. However, printing to
      stderr crashed the server since the pointer to the process name had
      not been initialized.
      
      This patch fixes the problem by initializing the process name 
      properly when doing "SET GLOBAL debug".
      
      No test case added as this bug was repeatable with existing test
      coverage in variables_debug.test.
      6da8a65b
    • Tor Didriksen's avatar
      a3357b55
    • Tor Didriksen's avatar
      Bug #57203 Assertion `field_length <= 255' failed. · acaede73
      Tor Didriksen authored
      After the fix for
      Bug #55077 Assertion failed: width > 0 && to != ((void *)0), file .\dtoa.c
      we no longer try to allocate a string of length 'field_length'
      so the asserts are relevant only for ZEROFILL columns.
      acaede73
    • Magne Mahre's avatar
      Merge from mysql-5.1-bugteam to mysql-5.5-bugteam · 5b8efc8e
      Magne Mahre authored
      Only test case is merged, as the fix was already
      present in 5.5 code
      5b8efc8e
    • Jon Olav Hauglid's avatar
      Merge from mysql-5.1-bugteam to mysql-5.5-bugteam · 77238531
      Jon Olav Hauglid authored
      No conflicts
      77238531
    • Tor Didriksen's avatar
    • Marko Mäkelä's avatar
      ibuf_set_del_mark(): Do not complain about already delete-marked records. · e8a709a6
      Marko Mäkelä authored
      According to a comment in row_upd_sec_index_entry(), it is a
      legitimate situation that can be caused by a lock wait.
      e8a709a6
    • Marko Mäkelä's avatar
      Merge Bug #56680 from mysql-5.1. · e85e1206
      Marko Mäkelä authored
      Additional fixes in 5.5:
      
      ibuf_set_del_mark(): Add diagnostics when setting a buffered delete-mark fails.
      
      ibuf_delete(): Correct a misleading comment about non-found records.
      
      rec_print(): Add a const qualifier to the index parameter.
      
      Bug #56680 wrong InnoDB results from a case-insensitive covering index
      
      row_search_for_mysql(): When a secondary index record might not be
      visible in the current transaction's read view and we consult the
      clustered index and optionally some undo log records, return the
      relevant columns of the clustered index record to MySQL instead of the
      secondary index record.
      
      ibuf_insert_to_index_page_low(): New function, refactored from
      ibuf_insert_to_index_page().
      
      ibuf_insert_to_index_page(): When we are inserting a record in place
      of a delete-marked record and some fields of the record differ, update
      that record just like row_ins_sec_index_entry_by_modify() would do.
      
      btr_cur_update_alloc_zip(): Make the function public.
      
      mysql_row_templ_t: Add clust_rec_field_no.
      
      row_sel_store_mysql_rec(), row_sel_push_cache_row_for_mysql(): Add the
      flag rec_clust, for returning data at clust_rec_field_no instead of
      rec_field_no. Resurrect the debug assertion that the record not be
      marked for deletion. (Bug #55626)
      
      [UNIV_DEBUG || UNIV_IBUF_DEBUG] ibuf_debug, buf_page_get_gen(),
      buf_flush_page_try():
      Implement innodb_change_buffering_debug=1 for evicting pages from the
      buffer pool, so that change buffering will be attempted more
      frequently.
      e85e1206
    • Marko Mäkelä's avatar
      Bug #56680 wrong InnoDB results from a case-insensitive covering index · b568369d
      Marko Mäkelä authored
      row_search_for_mysql(): When a secondary index record might not be
      visible in the current transaction's read view and we consult the
      clustered index and optionally some undo log records, return the
      relevant columns of the clustered index record to MySQL instead of the
      secondary index record.
      
      ibuf_insert_to_index_page_low(): New function, refactored from
      ibuf_insert_to_index_page().
      
      ibuf_insert_to_index_page(): When we are inserting a record in place
      of a delete-marked record and some fields of the record differ, update
      that record just like row_ins_sec_index_entry_by_modify() would do.
      
      btr_cur_update_alloc_zip(): Make the function public.
      
      mysql_row_templ_t: Add clust_rec_field_no.
      
      row_sel_store_mysql_rec(), row_sel_push_cache_row_for_mysql(): Add the
      flag rec_clust, for returning data at clust_rec_field_no instead of
      rec_field_no. Resurrect the debug assertion that the record not be
      marked for deletion. (Bug #55626)
      
      [UNIV_DEBUG || UNIV_IBUF_DEBUG] ibuf_debug, buf_page_get_gen(),
      buf_flush_page_try():
      Implement innodb_change_buffering_debug=1 for evicting pages from the
      buffer pool, so that change buffering will be attempted more
      frequently.
      b568369d