1. 29 Jun, 2009 8 commits
  2. 27 Jun, 2009 1 commit
    • Luis Soares's avatar
      BUG#42851: Spurious "Statement is not safe to log in statement · 92536e42
      Luis Soares authored
                 format." warnings
            
      Despite the fact that a statement would be filtered out from binlog, a
      warning would still be thrown if it was issued with the LIMIT.
            
      This patch addresses this issue by checking the filtering rules before
      printing out the warning.
      92536e42
  3. 26 Jun, 2009 5 commits
    • Evgeny Potemkin's avatar
      Merged bug#45266. · 05a2329f
      Evgeny Potemkin authored
      05a2329f
    • Evgeny Potemkin's avatar
      Bug#45266: Uninitialized variable lead to an empty result. · 0e64988a
      Evgeny Potemkin authored
      The TABLE::reginfo.impossible_range is used by the optimizer to indicate
      that the condition applied to the table is impossible. It wasn't initialized
      at table opening and this might lead to an empty result on complex queries:
      a query might set the impossible_range flag on a table and when the query finishes,
      all tables are returned back to the table cache. The next query that uses the table
      with the impossible_range flag set and an index over the table will see the flag
      and thus return an empty result.
      
      The open_table function now initializes the TABLE::reginfo.impossible_range
      variable.
      0e64988a
    • Alexey Kopytov's avatar
      Automerge. · b21f60fb
      Alexey Kopytov authored
      b21f60fb
    • Alexey Kopytov's avatar
      Automerge. · a03275e9
      Alexey Kopytov authored
      a03275e9
    • Staale Smedseng's avatar
      Merge from 5.1-bugteam · 507af626
      Staale Smedseng authored
      507af626
  4. 25 Jun, 2009 3 commits
    • Luis Soares's avatar
      26c4e642
    • Staale Smedseng's avatar
      Bug #34002 uninitialized Rows_examined for some admin queries · 498ac0f5
      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.
      498ac0f5
    • Davi Arnaut's avatar
      Bug#45548: XA transaction without access to InnoDB tables crashes the server · 4c1333e6
      Davi Arnaut authored
      The problem is that the one phase commit function failed to
      properly end a empty transaction. The solution is to ensure
      that the transaction cleanup procedure is invoked even for
      empty transactions.
      4c1333e6
  5. 26 Jun, 2009 5 commits
    • Alexey Kopytov's avatar
      Automerge. · cbfcafd4
      Alexey Kopytov authored
      cbfcafd4
    • Alexey Kopytov's avatar
      Automerge. · 824e0d99
      Alexey Kopytov authored
      824e0d99
    • Alexey Kopytov's avatar
      Automerge. · c22c91bd
      Alexey Kopytov authored
      c22c91bd
    • Luis Soares's avatar
      9d6bf69a
    • Luis Soares's avatar
      BUG#44270: Post-push fix · b5371583
      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.
      b5371583
  6. 25 Jun, 2009 9 commits
    • Kristofer Pettersson's avatar
      Automerge · bb4faa54
      Kristofer Pettersson authored
      bb4faa54
    • Kristofer Pettersson's avatar
      Bug#45336 --enable-foobar doesn't work for any plugin foobar. · 75ba3c6a
      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.
      75ba3c6a
    • Sergey Glukhov's avatar
      Bug#45412 SHOW CREATE TRIGGER does not require privileges to disclose trigger data · 3393fdf8
      Sergey Glukhov authored
      Added privilege checking to SHOW CREATE TRIGGER code.
      3393fdf8
    • Satya B's avatar
      Applying InnoDB snashot 5.0-ss5406, part 2. Fixes BUG#40565 · c4170358
      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
        ------------------------------------------------------------------------
      c4170358
    • Satya B's avatar
      Applying InnoDB snashot 5.0-ss5406, part 1. Fixes BUG#38479 · 663e41ae
      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.
      663e41ae
    • Sergey Glukhov's avatar
      automerge · f3f137d8
      Sergey Glukhov authored
      f3f137d8
    • Satya B's avatar
      da11f80a
    • Sergey Glukhov's avatar
      test case fix · cd8151ed
      Sergey Glukhov authored
      cd8151ed
    • Sergey Glukhov's avatar
      Bug#45485 replication different between master/slaver using procedure with gbk · 2c53a70e
      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.
      2c53a70e
  7. 24 Jun, 2009 2 commits
  8. 23 Jun, 2009 3 commits
    • Bernt M. Johnsen's avatar
      Bug#45293 Supressed some warnings · 2c29e274
      Bernt M. Johnsen authored
      2c29e274
    • Andrei Elkin's avatar
      Bug #38240 Crash in safe_mutex_lock () thr_mutex.c line 97 on rotate_relay_log · 0ecf826a
      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.
      0ecf826a
    • Alexey Kopytov's avatar
      Bug #45309: InnoDB does not rollback for delete and update · 3625c1e1
      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).
      3625c1e1
  9. 22 Jun, 2009 4 commits
    • Martin Hansson's avatar
      Merge · ecd470d1
      Martin Hansson authored
      ecd470d1
    • Martin Hansson's avatar
      · 2cc1134c
      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)
      2cc1134c
    • Christoffer Hall's avatar
      BUG#42721 configure.in invokes 'nm' directly · 77fb9608
      Christoffer Hall authored
      A hardcoded use of nm and libc was put into configure.in. This broke
      cross-compiling and is bad practice. Fitting variables now used. 
      77fb9608
    • Georgi Kodinov's avatar
      automerge · e16cdb29
      Georgi Kodinov authored
      e16cdb29