1. 26 Jun, 2009 4 commits
    • Luis Soares's avatar
      a48020ac
    • Luis Soares's avatar
      BUG#44270: Post-push fix · 0fdebc8c
      Luis Soares authored
      The test case added failed sporadically on PB. This is due to the
      fact that the user thread in some cases is waiting for slave IO
      to stop and then check the error number. Thence, sometimes the
      user thread would race for the error number with IO thread.
      
      This post push fix addresses this by replacing the wait for slave
      io to stop with a wait for slave io error (as it seems it was
      added in 6.0 also after patch on which this is based was
      pushed). This implied backporting wait_for_slave_io_error.inc
      from 6.0 also.
      0fdebc8c
    • Alexey Kopytov's avatar
      Automerge. · 59947ae6
      Alexey Kopytov authored
      59947ae6
    • Staale Smedseng's avatar
      Merge from 5.1-bugteam · 717a5c59
      Staale Smedseng authored
      717a5c59
  2. 25 Jun, 2009 11 commits
    • Luis Soares's avatar
      626d3e1d
    • Staale Smedseng's avatar
      Bug #34002 uninitialized Rows_examined for some admin queries · b828da99
      Staale Smedseng authored
      such as quit and shutdown
      
      Logging to slow log can produce an undetermined value for
      Rows_examined in special cases. In debug mode this manifests
      itself as any of the various marker values used to mark
      uninitialized memory on various platforms.
      
      If logging happens on a THD object that hasn't performed any
      row reads (on this or any previous connections), the
      THD::examined_row_count may be uninitialized. This patch adds
      initialization for this attribute.
      
      No automated test cases are added, as for this to be
      meaningful, we need to ensure that we're using a THD
      fulfilling the above conditions. This is hard to do in the
      mysql-test-run framework. The patch has been verified
      manually, however, by restarting mysqld and running the test
      included with the bug report.
      b828da99
    • Kristofer Pettersson's avatar
      Automerge · 42aaea8c
      Kristofer Pettersson authored
      42aaea8c
    • Kristofer Pettersson's avatar
      Bug#45336 --enable-foobar doesn't work for any plugin foobar. · de91a33d
      Kristofer Pettersson authored
      Because of a regression introduced by bug#19027 the option --enable-foobar
      doesn't work anymore for any plugin 'foobar'. The reason is that plugin
      names are tristate options variables with optional parameters and integer
      values are not accepted. Since the 'enable' prefix attempts to assign '1'
      to the option the operation fails.
      
      This patch translates any number n assigned to a plugin variable of type ENUM
      to be the corresponding enumerated item. As a side effect --enable-foobar and
      --disable-foobar will also start working again.
      
      mysys/my_getopt.c:
        * setval now accepts integer values for option variables of type ENUM.
      de91a33d
    • Sergey Glukhov's avatar
      Bug#45412 SHOW CREATE TRIGGER does not require privileges to disclose trigger data · 5eab9716
      Sergey Glukhov authored
      Added privilege checking to SHOW CREATE TRIGGER code.
      
      
      
      mysql-test/r/trigger_notembedded.result:
        test result
      mysql-test/t/trigger_notembedded.test:
        test case
      sql/sql_show.cc:
        Added privilege checking to SHOW CREATE TRIGGER code.
      5eab9716
    • Sergey Glukhov's avatar
      automerge · 1d9b7877
      Sergey Glukhov authored
      1d9b7877
    • Satya B's avatar
      10def422
    • Satya B's avatar
      Applying InnoDB snashot 5.0-ss5406, part 2. Fixes BUG#40565 · faaa9e08
      Satya B authored
      BUG#40565 - Update Query Results in "1 Row Affected" But Should Be "Zero Rows"
      
      Detailed revision comments:
      
      r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines
      branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565
      (Update Query Results in "1 Row Affected" But Should Be "Zero Rows").
      
      Also, add a test case for Bug #40565.
      
      rb://128 approved by Heikki Tuuri
        ------------------------------------------------------------------------
        r3590 | marko | 2008-12-18 15:33:36 +0200 (Thu, 18 Dec 2008) | 11 lines
      
        branches/5.1: When converting a record to MySQL format, copy the default
        column values for columns that are SQL NULL.  This addresses failures in
        row-based replication (Bug #39648).
      
        row_prebuilt_t: Add default_rec, for the default values of the columns in
        MySQL format.
      
        row_sel_store_mysql_rec(): Use prebuilt->default_rec instead of
        padding columns.
      
        rb://64 approved by Heikki Tuuri
        ------------------------------------------------------------------------
      faaa9e08
    • Satya B's avatar
      Applying InnoDB snashot 5.0-ss5406, part 1. Fixes BUG#38479 · 0158cafa
      Satya B authored
      BUG#38479 - valgrind warnings in show table status for innodb tables
      
      Detailed revision comments:
      
      r5080 | vasil | 2009-05-22 14:45:34 +0300 (Fri, 22 May 2009) | 6 lines
      branches/5.0:
      
      Fix Bug#38479 valgrind warnings in show table status for innodb tables
      
      by initializing prebuilt->hint_need_to_fetch_extra_cols.
      
      0158cafa
    • Sergey Glukhov's avatar
      test case fix · d5f8459b
      Sergey Glukhov authored
      mysql-test/r/ctype_cp932_binlog_stm.result:
        result fix
      mysql-test/t/ctype_gbk_binlog.test:
        test fix
      d5f8459b
    • Sergey Glukhov's avatar
      Bug#45485 replication different between master/slaver using procedure with gbk · bebc9875
      Sergey Glukhov authored
      In Item_param::set_from_user_var
      value.cs_info.character_set_client is set
      to 'fromcs' value. It's wrong, it should be set to
      thd->variables.character_set_client.
      
      
      
      mysql-test/r/ctype_gbk_binlog.result:
        test result
      mysql-test/t/ctype_gbk_binlog.test:
        test case
      sql/item.cc:
        In Item_param::set_from_user_var
        value.cs_info.character_set_client is set
        to 'fromcs' value. It's wrong, it should be set to
        thd->variables.character_set_client.
      bebc9875
  3. 24 Jun, 2009 2 commits
  4. 23 Jun, 2009 3 commits
    • Bernt M. Johnsen's avatar
      Bug#45293 Supressed some warnings · 2a5907a8
      Bernt M. Johnsen authored
      2a5907a8
    • Andrei Elkin's avatar
      Bug #38240 Crash in safe_mutex_lock () thr_mutex.c line 97 on rotate_relay_log · e2ac8c07
      Andrei Elkin authored
                  
      The reason for the crash was rotate_relay_log (mi=0x0) did not verify
      the passed value of active_mi.  There are more cases where active_mi
      is supposed to be non-zero e.g change_master(), stop_slave(), and it's
      reasonable to protect from a similar crash all of them with common
      fixes.
                  
      Fixed with spliting end_slave() in slave threads release and slave
      data clean-up parts (a new close_active_mi()). The new function is
      invoked at the very end of close_connections() so that all users of
      active_mi are proven to have left.
      
      sql/mysqld.cc:
        added the 2nd part (data) of the slave's clean up.
      sql/slave.cc:
        end_slave() is split in two part to release the slave threads and the remained
        resources separately.
        The new close_active_mi() should be called after all possible users ofactive_mi
        has left, i.e at the very end of close_connections().
      sql/slave.h:
        interface to the new end_active_mi() function is added.
      e2ac8c07
    • Alexey Kopytov's avatar
      Bug #45309: InnoDB does not rollback for delete and update · 73cbaa6d
      Alexey Kopytov authored
                  queries if query was killed 
       
      Since we rely on thd->is_error() to decide whether we should 
      COMMIT or ROLLBACK after a query execution, check the query 
      'killed' state and throw an error before calling 
      ha_autocommit_or_rollback(), not after. 
       
      The patch was tested manually. For reliable results, the test 
      case would have to KILL QUERY while a DELETE/UPDATE query in 
      another thread is still running. I don't see a way to achieve 
      this kind of synchronization in our test suite (no debug_sync 
      in 5.1).
      
      sql/sql_parse.cc:
        Since we rely on thd->is_error() to decide whether we should 
        COMMIT or ROLLBACK after query execution, check the query 
        'killed' state and throw an error before calling 
        ha_autocommit_or_rollback(), not after.
      73cbaa6d
  5. 22 Jun, 2009 9 commits
    • Martin Hansson's avatar
      Merge · f3bdd56f
      Martin Hansson authored
      f3bdd56f
    • Martin Hansson's avatar
      · 543885d1
      Martin Hansson authored
      Bug#44653: Server crash noticed when executing random queries with partitions.
      
      When opening a table, it is imperative that the flag
      TABLE::auto_increment_field_not_null be false. But if an error occured during
      the creation of a table (e.g. the table exists already) with an auto_increment
      column and a BEFORE trigger that used the INSERT ... SELECT construct, the
      flag was not reset until after error checking. Thus if an error occured,
      select_insert::send_data() returned immediately and it was not reset (see * in
      pseudocode below).  Crash happened if the table was opened again. Fixed by
      resetting the flag after error checking.
      
      nested-loops_join():
        for each row in SELECT table {
          select_insert::send_data():
            if a values is supplied for AUTO_INCREMENT column
               table->auto_increment_field_not_null= TRUE
             else
               table->auto_increment_field_not_null= FALSE
             if (error)
               return 1; *
             if (table->auto_increment_field_not_null == FALSE)
               ...
             table->auto_increment_field_not_null == FALSE 
        }
      <-- table returned to table cache and later retrieved by open_table: 
      open_table():
        assert(table->auto_increment_field_not_null)
      
      
      mysql-test/r/trigger.result:
        Bug#44653: Test result
      mysql-test/t/trigger.test:
        Bug#44653: Test case
      sql/sql_insert.cc:
        Bug#44653: Fix: Make sure to unset this field before returning in case of error
      543885d1
    • Georgi Kodinov's avatar
      automerge · ddf81b0d
      Georgi Kodinov authored
      ddf81b0d
    • Georgi Kodinov's avatar
      automerge · 47c684e0
      Georgi Kodinov authored
      47c684e0
    • Georgi Kodinov's avatar
      automerge · 05ecbc7a
      Georgi Kodinov authored
      05ecbc7a
    • V Narayanan's avatar
      merging with mysql-5.1-bugteam · b1eb647a
      V Narayanan authored
      b1eb647a
    • Georgi Kodinov's avatar
      automerge · 96c06914
      Georgi Kodinov authored
      96c06914
    • Satya B's avatar
      Applying InnoDB snashot 5.1-ss5343, Fixes BUG#45357 · 7d0675f6
      Satya B authored
      1. BUG#45357 - 5.1.35 crashes with Failing assertion: index->type & DICT_CLUSTERED
      
      2. Also fixes the compilation problem when the flag -DUNIV_MUST_NOT_INLINE
      
      Detailed revision comments:
      
      r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines
      branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown,
      refuse to unlock the record.
      (Bug #45357, caused by the fix of Bug #39320).
      rb://132 approved by Sunny Bains.
      r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines
      branches/5.1: Add missing #include "mtr0log.h" so that the code compiles
      with -DUNIV_MUST_NOT_INLINE.
      7d0675f6
    • V Narayanan's avatar
      Bug#43572 Handle failures from hash_init · b0064fa5
      V Narayanan authored
      The merge from http://lists.mysql.com/commits/76678 caused the 
      growth_size parameter to the my_init_dynamic_array function to
      be ignored. This patch corrects the problem.
      
      mysys/hash.c:
        Bug#43572  Handle failures from hash_init
        
        Replacing the last parameter to my_init_dynamic_array with
        growth_size.
      b0064fa5
  6. 19 Jun, 2009 11 commits
    • Matthias Leich's avatar
      5ce0b41f
    • Matthias Leich's avatar
      99392b75
    • Matthias Leich's avatar
      Merge of latest changes into local tree · f7a10b55
      Matthias Leich authored
      f7a10b55
    • Matthias Leich's avatar
    • Georgi Kodinov's avatar
      automerge · a11f9409
      Georgi Kodinov authored
      a11f9409
    • Matthias Leich's avatar
    • Matthias Leich's avatar
      Fix for Bug#40545, Bug#40209, Bug#40618, Bug#38346 · 59730d8f
      Matthias Leich authored
        Details:
        - Limit the queries to character sets and collations
          which are most probably available in all build types.
          But try to preserve the intention of the tests.
        - Remove the variants adjusted to some build types.
      
        Note:
        1. The results of the review by Bar are included.
        2. I am not able to check the correctness of this patch
           on any existing build type and any MySQL version.
           So it could happen that the new test fails somewhere.
      59730d8f
    • Georgi Kodinov's avatar
      Bug #36654: mysqld_multi cannot start instances with different versions · 014e2891
      Georgi Kodinov authored
      occasionally.
      
      mysql_multi can call mysqld_safe. In doing this it's not changing the 
      current working directory. This may cause confusion in the case where 
      mysqld_multi is handling instances of servers of different versions 
      and the current working directory is the installation directory of one 
      of these servers.
      
      Fixed by enhancing the meaning of basedir in [mysqldN] sections of 
      mysqld_multi. If specified, mysqld_multi will change the current 
      working directory to the basedir directory before starting the server 
      in mysqld_multi ... start ... and then change it back to what it was.
      
      scripts/mysqld_multi.sh:
        Bug #36654: optionally preserve, change and restore the cwd when 
        starting server instances
      014e2891
    • V Narayanan's avatar
      merging with mysql-5.0-bugteam · 4662631f
      V Narayanan authored
      4662631f
    • V Narayanan's avatar
      Bug#43572 Handle failures from hash_init · 336c8106
      V Narayanan authored
            
      Failure to allocate memory for the hash->array element,
      caused hash_init to return without initializing the other
      members of the hash. Thus although the dynamic array
      buffer may be allocated at a later point in the code, the
      incompletely initialized hash caused fatal failures.
      
      This patch moves the initialization of the other members
      of the hash above the array allocation, so that the usage
      of this hash will not result in fatal failures.
      
      include/hash.h:
        Bug#43572 Handle failures from hash_init
        
        hash_inited is used to verify that the hash is
        valid. After the change induced by the current
        patch hash->array.buffer !=0 is not a valid check
        for this condition, since, the dynamic array can
        be allocated even at a later time. Bootstrap SQL
        script is setting some variables, which are
        actually not set due to this hash_inited issue.
        Thus we get empty grant tables.
        
        A better way to check if the hash is valid is
        to verify that hash->blength is greater than 0.
      mysys/hash.c:
        Bug#43572 Handle failures from hash_init
        
        Move the initialization of the other members
        of the hash above the array allocation, so that
        the usage of this hash will not result in fatal
        failures.
      336c8106
    • Alfranio Correia's avatar
      Post-fix for BUG#43929. · 18bd3cd5
      Alfranio Correia authored
      18bd3cd5