1. 14 Nov, 2009 1 commit
  2. 12 Nov, 2009 1 commit
  3. 11 Nov, 2009 1 commit
    • Michael Widenius's avatar
      Merge with MySQL 5.1, with following additions: · edd792fe
      Michael Widenius authored
      - Moved some code from innodb_plugin to xtradb, to ensure that all tests runs
      - Did changes in pbxt and maria storage engines becasue of changes in thd->query
      - Reverted wrong code in sql_table.cc for how ROW_FORMAT is used.
      
      Todo before joining with main 5.1 tree:
      - Join test fails (Igor to investigate)
      - mysql-test-run shows warnings from tests; Some suppression rule is not working (Kristian to investiage)
      - Run through all buildbots
      
      
      
      sql/sql_table.cc:
        Reverted code for ROW_FORMAT is used. We must set the HA_CREATE_USED_ROW_FORMAT flag in alter table
        to signal the handler that it should not change row_type in update_create_info() (as happens for SHOW CREATE).
      storage/maria/ha_maria.cc:
        Update for change in defintion of thd->query
      storage/myisam/mi_check.c:
        Simplify code
      storage/pbxt/src/discover_xt.cc:
        Update for change in defintion of thd->query
      storage/xtradb/dict/dict0dict.c:
        Update for change in defintion of thd->query
      storage/xtradb/handler/ha_innodb.cc:
        Copy some critical changes from innodb_plugin to get tests to pass
      storage/xtradb/handler/ha_innodb.h:
        Copy some critical changes from innodb_plugin to get tests to pass
      storage/xtradb/handler/handler0alter.cc:
        Copy some critical changes from innodb_plugin to get tests to pass
      edd792fe
  4. 07 Nov, 2009 2 commits
  5. 06 Nov, 2009 2 commits
  6. 05 Nov, 2009 1 commit
  7. 04 Nov, 2009 7 commits
  8. 03 Nov, 2009 25 commits
    • Davi Arnaut's avatar
      Automerge. · cca9eeb6
      Davi Arnaut authored
      cca9eeb6
    • Davi Arnaut's avatar
      69859d8d
    • Konstantin Osipov's avatar
      A fix and a test case for · cb0cca86
      Konstantin Osipov authored
      Bug#41756 "Strange error messages about locks from InnoDB".
            
      In JT_EQ_REF (join_read_key()) access method, 
      don't try to unlock rows in the handler, unless certain that 
      a) they were locked
      b) they are not used.
      
      Unlocking of rows is done by the logic of the nested join loop,
      and is unaware of the possible caching that the access method may
      have. This could lead to double unlocking, when a row
      was unlocked first after reading into the cache, and then 
      when taken from cache, as well as to unlocking of rows which
      were actually used (but taken from cache).
            
      Delegate part of the unlocking logic to the access method,
      and in JT_EQ_REF count how many times a record was actually 
      used in the join. Unlock it only if it's usage count is 0.
      
      Implemented review comments.
      
      mysql-test/r/innodb_lock_wait_timeout_1.result:
        Update results (Bug41756).
      mysql-test/t/innodb_lock_wait_timeout_1.test:
        Add a test case (Bug#41756).
      sql/item_subselect.cc:
        Complete struct READ_RECORD initialization with a new
        member to unlock records.
      sql/records.cc:
        Extend READ_RECORD API with a method to unlock read records.
      sql/sql_select.cc:
        In JT_EQ_REF (join_read_key()) access method, 
        don't try to unlock rows in the handler, unless certain that 
        a) they were locked
        b) they are not used.
      sql/sql_select.h:
        Add members to TABLE_REF to count TABLE_REF buffer usage count.
      sql/structs.h:
        Update declarations.
      cb0cca86
    • Magnus Blåudd's avatar
      Merge bug#47867 to 5.1-bugteam · 7b7f0149
      Magnus Blåudd authored
      7b7f0149
    • Konstantin Osipov's avatar
      A fix and a test case for · 06c9d62a
      Konstantin Osipov authored
      Bug#41756 "Strange error messages about locks from InnoDB".
      
      In JT_EQ_REF (join_read_key()) access method,
      don't try to unlock rows in the handler, unless certain that
      a) they were locked
      b) they are not used.
      
      Unlocking of rows is done by the logic of the nested join loop,
      and is unaware of the possible caching that the access method may
      have. This could lead to double unlocking, when a row
      was unlocked first after reading into the cache, and then
      when taken from cache, as well as to unlocking of rows which
      were actually used (but taken from cache).
      
      Delegate part of the unlocking logic to the access method,
      and in JT_EQ_REF count how many times a record was actually
      used in the join. Unlock it only if it's usage count is 0.
      
      Implemented review comments.
      
      
      mysql-test/r/bug41756.result:
        Add result file (Bug#41756)
      mysql-test/t/bug41756-master.opt:
        Use --innodb-locks-unsafe-for-binlog, as in 5.0 just
        using read_committed isolation is not sufficient to 
        reproduce the bug.
      mysql-test/t/bug41756.test:
        Add a test file (Bug#41756)
      sql/item_subselect.cc:
        Complete struct READ_RECORD initialization with a new
        member to unlock records.
      sql/records.cc:
        Extend READ_RECORD API with a method to unlock read records.
      sql/sql_select.cc:
        In JT_EQ_REF (join_read_key()) access method,
        don't try to unlock rows in the handler, unless certain that
        a) they were locked
        b) they are not used.
      sql/sql_select.h:
        Add members to TABLE_REF to count TABLE_REF buffer usage count.
      sql/structs.h:
        Update declarations.
      06c9d62a
    • Kristofer Pettersson's avatar
      automerge · cafe3c7f
      Kristofer Pettersson authored
      cafe3c7f
    • Kristofer Pettersson's avatar
    • Sergey Vojtovich's avatar
      Merge of innodb-zip-ss6129 snapshot. · 0212e736
      Sergey Vojtovich authored
      0212e736
    • Sergey Vojtovich's avatar
      Clean-up after applying innodb-zip-ss6129 snapshot: · 7c4cae75
      Sergey Vojtovich authored
      - re-enabled main.innodb_bug44369;
      - re-enabled main.innodb_bug47777;
      - re-enabled innodb.innodb_information_schema.
      7c4cae75
    • unknown's avatar
      Add federatedx files for build · 716c0993
      unknown authored
      storage/federatedx/CMakeLists.txt:
        Add fedrated files for build
      716c0993
    • Jorgen Loland's avatar
      Bug#48177 - SELECTs with NOT IN subqueries containing NULL · bec35067
      Jorgen Loland authored
                  values return too many records
      
      WHERE clauses with "outer_value_list NOT IN subselect" were
      handled incorrectly if the outer value list contained multiple 
      items where at least one of these could be NULL. The first 
      outer record with NULL value was handled correctly, but if a 
      second record with NULL value existed, the optimizer would 
      choose to reuse the result it got on the last execution of the 
      subselect. This is incorrect if the outer value list has 
      multiple items.
           
      The fix is to make Item_in_optimizer::val_int (in 
      item_cmpfunc.cc) reuse the result of the latest execution
      for NULL values only if all values in the outer_value_list 
      are NULL.
      
      
      mysql-test/r/subselect3.result:
        Added test for BUG#48177
      mysql-test/t/subselect3.test:
        Added test for BUG#48177
      sql/item_cmpfunc.cc:
        Make Item_in_optimizer::val_int (in item_cmpfunc.cc) reuse the result of the latest execution for NULL values only if all values in the outer_value_list are NULL.
      bec35067
    • unknown's avatar
      Make federated compiling under windows · cea82db9
      unknown authored
      storage/federatedx/ha_federatedx.cc:
        lower_case_file_system do not suported for windows dll
      cea82db9
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · f24dd341
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6126 | vasil | 2009-10-30 10:36:07 +0200 (Fri, 30 Oct 2009) | 45 lines
      branches/zip: Merge r6112:6125 from branches/5.1:
      
      (skipping r6122 and r6123, Jimmy says these are already present and need
      not be merged):
      
        ------------------------------------------------------------------------
        r6122 | jyang | 2009-10-30 05:18:38 +0200 (Fri, 30 Oct 2009) | 7 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           M /branches/5.1/mysql-test/innodb_bug44369.result
           M /branches/5.1/mysql-test/innodb_bug44369.test
           M /branches/5.1/mysql-test/innodb_bug46000.result
           M /branches/5.1/mysql-test/innodb_bug46000.test
        
        branches/5.1: Chnage WARN_LEVEL_ERROR to WARN_LEVEL_WARN
        for push_warning_printf() call in innodb.
        Fix Bug#47233: Innodb calls push_warning(MYSQL_ERROR::WARN_LEVEL_ERROR)
        
        rb://170 approved by Marko.
        
        
        ------------------------------------------------------------------------
        r6123 | jyang | 2009-10-30 05:43:06 +0200 (Fri, 30 Oct 2009) | 8 lines
        Changed paths:
           M /branches/5.1/os/os0proc.c
        
        branches/5.1: In os_mem_alloc_large(), if we fail to attach
        the shared memory, reset memory pointer ptr to NULL, and
        allocate memory from conventional pool. This is a port
        from branches/zip.
        Bug #48237 Error handling in os_mem_alloc_large appears to be incorrect
        rb://198  Approved by: Marko
        
        
        ------------------------------------------------------------------------
        r6125 | vasil | 2009-10-30 10:31:23 +0200 (Fri, 30 Oct 2009) | 4 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
        
        branches/5.1:
        
        White-space fixup.
        
        ------------------------------------------------------------------------
      f24dd341
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · f73596ab
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6121 | sunny | 2009-10-30 01:42:11 +0200 (Fri, 30 Oct 2009) | 7 lines
      branches/zip: This test has been problematic for sometime now. The underlying
      bug is that the data dictionaries get out of sync. In the AUTOINC code we
      try and apply salve to the symptoms. In the past MySQL made some unrelated
      change and the dictionaries stopped getting out of sync and this test started
      to fail. Now, it seems they have reverted that changed and the test is
      passing again. I suspect this is not he last time that this test will change.
      
      r6124 | jyang | 2009-10-30 10:02:31 +0200 (Fri, 30 Oct 2009) | 5 lines
      branches/zip: Correct the bug number for -r6109 change
      from # 48273 to #48237
      f73596ab
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 676bf0b3
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6114 | vasil | 2009-10-29 18:43:51 +0200 (Thu, 29 Oct 2009) | 6 lines
      branches/zip:
      
      * Add ChangeLog entries for latest changes
      * Obey alphabetical order in the list of the files
      * White-space fixup
      676bf0b3
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 976696fe
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6113 | vasil | 2009-10-29 18:15:50 +0200 (Thu, 29 Oct 2009) | 93 lines
      branches/zip: Merge r5912:6112 from branches/5.1:
      
      (after this merge the innodb-autoinc test starts to fail, but
      I commit anyway because it would be easier to investigate the
      failure this way)
      
        ------------------------------------------------------------------------
        r5952 | calvin | 2009-09-22 19:45:07 +0300 (Tue, 22 Sep 2009) | 7 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
        
        branches/5.1: fix bug#42383: Can't create table 'test.bug39438'
        
        For embedded server, MySQL may pass in full path, which is
        currently disallowed. It is needed to relax the condition by
        accepting full paths in the embedded case.
        
        Approved by: Heikki (on IM)
        ------------------------------------------------------------------------
        r6032 | vasil | 2009-10-01 15:55:49 +0300 (Thu, 01 Oct 2009) | 8 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
        
        branches/5.1:
        
        Fix Bug#38996 Race condition in ANALYZE TABLE
        
        by serializing ANALYZE TABLE inside InnoDB.
        
        Approved by:	Heikki (rb://175)
        
        ------------------------------------------------------------------------
        r6045 | jyang | 2009-10-08 02:27:08 +0300 (Thu, 08 Oct 2009) | 7 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           A /branches/5.1/mysql-test/innodb_bug47777.result
           A /branches/5.1/mysql-test/innodb_bug47777.test
        
        branches/5.1: Fix bug #47777. Treat the Geometry data same as
        Binary BLOB in ha_innobase::store_key_val_for_row(), since the
        Geometry data is stored as Binary BLOB in Innodb.
        
        Review: rb://180 approved by Marko Makela.
        
        
        ------------------------------------------------------------------------
        r6051 | sunny | 2009-10-12 07:05:00 +0300 (Mon, 12 Oct 2009) | 6 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           M /branches/5.1/mysql-test/innodb-autoinc.result
           M /branches/5.1/mysql-test/innodb-autoinc.test
        
        branches/5.1: Ignore negative values supplied by the user when calculating the
        next value to store in dict_table_t. Setting autoincrement columns top negative
        values is undefined behavior and this change should bring the behavior of
        InnoDB closer to what users expect. Added several tests to check.
        rb://162
        
        ------------------------------------------------------------------------
        r6052 | sunny | 2009-10-12 07:09:56 +0300 (Mon, 12 Oct 2009) | 4 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           M /branches/5.1/mysql-test/innodb-autoinc.result
           M /branches/5.1/mysql-test/innodb-autoinc.test
        
        branches/5.1: Reset the statement level autoinc counter on ROLLBACK. Fix
        the test results too.
        rb://164
        
        ------------------------------------------------------------------------
        r6053 | sunny | 2009-10-12 07:37:49 +0300 (Mon, 12 Oct 2009) | 6 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           M /branches/5.1/mysql-test/innodb-autoinc.result
           M /branches/5.1/mysql-test/innodb-autoinc.test
        
        branches/5.1: Copy the maximum AUTOINC value from the old table to the new
        table when MySQL does a CREATE INDEX ON T. This is required because MySQL
        does a table copy, rename and drops the old table.
        Fix Bug#47125: auto_increment start value is ignored if an index is created and engine=innodb
        rb://168
        
        ------------------------------------------------------------------------
        r6076 | vasil | 2009-10-14 19:30:12 +0300 (Wed, 14 Oct 2009) | 4 lines
        Changed paths:
           M /branches/5.1/row/row0mysql.c
        
        branches/5.1:
        
        Fix typo.
        
        ------------------------------------------------------------------------
      976696fe
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · b58b72f6
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6112 | calvin | 2009-10-29 16:21:15 +0200 (Thu, 29 Oct 2009) | 4 lines
      branches/zip: consideration for icc compilers
      
      Proposed by MySQL, and approved by Marko.
      b58b72f6
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 640f1009
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6110 | marko | 2009-10-29 12:44:57 +0200 (Thu, 29 Oct 2009) | 2 lines
      branches/zip: Makefile.am (INCLUDES): Merge a change from MySQL:
      Use $(srcdir)/include instead of $(top_srcdir)/storage/innobase/include.
      r6111 | marko | 2009-10-29 13:04:11 +0200 (Thu, 29 Oct 2009) | 33 lines
      branches/zip: Fix corruption of buf_pool->LRU_old and improve debug assertions.
      This was reported as Issue #381.
      
      buf_page_set_old(): Assert that blocks may only be set old if
      buf_pool->LRU_old is initialized and buf_pool->LRU_old_len is nonzero.
      Assert that buf_pool->LRU_old points to the block at the old/new boundary.
      
      buf_LRU_old_adjust_len(): Invoke buf_page_set_old() after adjusting
      buf_pool->LRU_old and buf_pool->LRU_old_len, in order not to violate
      the added assertions.
      
      buf_LRU_old_init(): Replace buf_page_set_old() with a direct
      assignment to bpage->old, because these loops that initialize all the
      blocks would temporarily violate the assertions about
      buf_pool->LRU_old.
      
      buf_LRU_remove_block(): When setting buf_pool->LRU_old = NULL, also
      clear all bpage->old flags and set buf_pool->LRU_old_len = 0.
      
      buf_LRU_add_block_to_end_low(), buf_LRU_add_block_low(): Move the
      buf_page_set_old() call later in order not to violate the debug
      assertions.  If buf_pool->LRU_old is NULL, set old=FALSE.
      
      buf_LRU_free_block(): Replace the UNIV_LRU_DEBUG assertion with a
      dummy buf_page_set_old() call that performs more thorough checks.
      
      buf_LRU_validate(): Do not tolerate garbage in buf_pool->LRU_old_len
      even if buf_pool->LRU_old is NULL.  Check that bpage->old is monotonic.
      
      buf_relocate(): Make the UNIV_LRU_DEBUG checks stricter.
      
      buf0buf.h: Revise the documentation of buf_page_t::old and
      buf_pool_t::LRU_old_len.
      640f1009
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 5b62cd21
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6109 | jyang | 2009-10-29 10:37:32 +0200 (Thu, 29 Oct 2009) | 7 lines
      branches/zip: In os_mem_alloc_large(), if we fail to attach
      the shared memory, reset memory pointer ptr to NULL, and
       allocate memory from conventional pool.
      Bug #48237 Error handling in os_mem_alloc_large appears to be incorrect
      rb://198  Approved by: Marko
      5b62cd21
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · be3fd511
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6108 | calvin | 2009-10-29 07:58:04 +0200 (Thu, 29 Oct 2009) | 5 lines
      branches/zip: close file handle when building with UNIV_HOTBACKUP
      
      The change does not affect regular InnoDB engine. Confirmed by
      Marko.
      be3fd511
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · d927bc67
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6107 | marko | 2009-10-28 16:10:34 +0200 (Wed, 28 Oct 2009) | 5 lines
      branches/zip: buf_page_set_old(): Improve UNIV_LRU_DEBUG diagnostics
      in order to catch the buf_pool->LRU_old corruption reported in Issue #381.
      
      buf_LRU_old_init(): Set the property from the tail towards the front
      of the buf_pool->LRU list, in order not to trip the debug check.
      d927bc67
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 74d505db
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6105 | calvin | 2009-10-28 00:05:52 +0200 (Wed, 28 Oct 2009) | 6 lines
      branches/zip: backport r3848 from 6.0 branch
      
      ----
          branches/6.0: innobase_start_or_create_for_mysql(): Make the 10 MB
          minimum tablespace limit independent of UNIV_PAGE_SIZE. (Bug #41490)
      74d505db
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 57b74a02
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6103 | marko | 2009-10-26 15:46:18 +0200 (Mon, 26 Oct 2009) | 4 lines
      branches/zip: row_ins_alloc_sys_fields(): Zero out the system columns
      DB_TRX_ID, DB_ROLL_PTR and DB_ROW_ID, in order to avoid harmless
      Valgrind warnings about uninitialized data.  (The warnings were
      harmless, because the fields would be initialized at a later stage.)
      57b74a02
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 45846ff0
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6102 | marko | 2009-10-26 09:32:23 +0200 (Mon, 26 Oct 2009) | 1 line
      branches/zip: row_prebuilt_struct::prebuilts: Unused field, remove.
      45846ff0
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · e4a0641f
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6101 | jyang | 2009-10-23 11:45:50 +0300 (Fri, 23 Oct 2009) | 7 lines
      branches/zip: Update test result with the WARN_LEVEL_ERROR
      to WARN_LEVEL_WARN change. This is the same result as 
      submitted in rb://172 review, which approved by Sunny Bains
      and Marko.
      e4a0641f