1. 05 Nov, 2009 1 commit
    • unknown's avatar
      Bug #34739 unexpected binlog file name when --log-bin is set to a directory name · 8d239410
      unknown authored
      If --log-bin is set to a directory name with the trailing 'FN_LIBCHAR', 
      which will be '/' on Unix like systems, and '\\' on Windows like systems. 
      the basename of the binlog is empty so that the created files named 
      '.000001' and '.index'. It is not expected. 
      The same thing happened to --log-bin-index, --relay-log and 
      --relay-log-index options.
      
      To resolve the problem, in these cases the program should report an error 
      and abort.
      
      
      sql/mysqld.cc:
        Added a check for the value of the --log-bin and --log-bin-index arguments, 
        if it's a directory, reports an error and aborts.
      sql/rpl_rli.cc:
        Added a check for the value of the --relay-log and --relay-log-index arguments, 
        if it's a directory, reports an error and aborts.
      8d239410
  2. 04 Nov, 2009 7 commits
  3. 03 Nov, 2009 32 commits
    • Timothy Smith's avatar
    • Timothy Smith's avatar
      Bug#48031: mysql_secure_installation -- bash bug regarding passwords with · d252b366
      Timothy Smith authored
        special chars
      
      This script failed when the user tried passwords with multiple spaces, \, # or
      ' characters.  Now proper escaping and quoting is used in all contexts.
      
      This problem occurs in the Perl version of this script, too, so fix it in both
      places.
      d252b366
    • Timothy Smith's avatar
      Bug#48086: mysql_secure_installation does NOT work on Solaris · 0c565113
      Timothy Smith authored
      Remove a bash-ism (if ! ...).
      0c565113
    • Davi Arnaut's avatar
      Automerge. · f9ad9fbb
      Davi Arnaut authored
      f9ad9fbb
    • Davi Arnaut's avatar
      4d13b2c2
    • Konstantin Osipov's avatar
      A fix and a test case for · a8429e84
      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.
      a8429e84
    • Magnus Blåudd's avatar
      Merge bug#47867 to 5.1-bugteam · bb177df0
      Magnus Blåudd authored
      bb177df0
    • Konstantin Osipov's avatar
      A fix and a test case for · 37501b07
      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.
      37501b07
    • Kristofer Pettersson's avatar
      automerge · de14d1eb
      Kristofer Pettersson authored
      de14d1eb
    • Kristofer Pettersson's avatar
    • Sergey Vojtovich's avatar
      Merge of innodb-zip-ss6129 snapshot. · c8df4ffe
      Sergey Vojtovich authored
      c8df4ffe
    • Sergey Vojtovich's avatar
      Clean-up after applying innodb-zip-ss6129 snapshot: · 8247dcee
      Sergey Vojtovich authored
      - re-enabled main.innodb_bug44369;
      - re-enabled main.innodb_bug47777;
      - re-enabled innodb.innodb_information_schema.
      8247dcee
    • Jorgen Loland's avatar
      Bug#48177 - SELECTs with NOT IN subqueries containing NULL · e11daabf
      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.
      e11daabf
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · dd83da97
      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.
        
        ------------------------------------------------------------------------
      dd83da97
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 54dcdc1b
      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
      54dcdc1b
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · a83f1b03
      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
      a83f1b03
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 2e63e93c
      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.
        
        ------------------------------------------------------------------------
      2e63e93c
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · c1cb0847
      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.
      c1cb0847
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 668f3ecb
      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.
      668f3ecb
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · cc646ea3
      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
      cc646ea3
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · f4a120bf
      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.
      f4a120bf
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · aebc0311
      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.
      aebc0311
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 9ef027a3
      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)
      9ef027a3
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 10c2a508
      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.)
      10c2a508
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · d5ef3eae
      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.
      d5ef3eae
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 36be2921
      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.
      36be2921
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 5a9b7eab
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6100 | jyang | 2009-10-22 06:51:07 +0300 (Thu, 22 Oct 2009) | 6 lines
      branches/zip: As a request from mysql, WARN_LEVEL_ERROR cannot
      be used for push_warning_* call any more. Switch to 
      WARN_LEVEL_WARN. Bug #47233.
      rb://172 approved by Sunny Bains and Marko.
      5a9b7eab
    • unknown's avatar
      Manual Merge · 145ba500
      unknown authored
      145ba500
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · edc89c3d
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6099 | jyang | 2009-10-22 05:58:39 +0300 (Thu, 22 Oct 2009) | 7 lines
      branches/zip: Port bug #46000 related changes from 5.1 to zip
      branch. Due to different code path for creating index in zip
      branch comparing to 5.1), the index reserved name check function
      is extended to be used in ha_innobase::add_index(). 
      rb://190  Approved by: Marko
      edc89c3d
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 9e129d24
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6096 | vasil | 2009-10-19 16:06:09 +0300 (Mon, 19 Oct 2009) | 4 lines
      branches/zip:
      
      Add ChangeLog entry for r6095.
      9e129d24
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 5b2f6cee
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6095 | vasil | 2009-10-19 16:04:59 +0300 (Mon, 19 Oct 2009) | 7 lines
      branches/zip:
      
      Fix Bug#47808 innodb_information_schema.test fails when run under valgrind 
      
      by using the wait_until_rows_count macro that loops until the number of
      rows becomes 14 instead of sleep 0.1, which is obviously very fragile.
      5b2f6cee
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 628ceddb
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6084 | vasil | 2009-10-15 08:21:17 +0300 (Thu, 15 Oct 2009) | 4 lines
      branches/zip:
      
      Add ChangeLog entry for r6080.
      628ceddb