1. 13 Jan, 2010 3 commits
    • Alfranio Correia's avatar
      merge mysql-next-mr --> mysql-5.1-rpl-merge · 58832485
      Alfranio Correia authored
      Conflicts:
        Text conflict in sql/log.cc
        Text conflict in sql/slave.cc
        Text conflict in sql/sql_base.cc
      58832485
    • Luis Soares's avatar
      Makes slave_type_conversions_basic to be skipped in embedded · f2a71fe9
      Luis Soares authored
      run in PB2 as it ought to be. Otherwise test will fail because
      variable is no recognized:
      
      1193: Unknown system variable 'slave_type_conversions'
      f2a71fe9
    • Luis Soares's avatar
      Fixes two remaining test failures: · 2e06d79f
      Luis Soares authored
        - mysqld--help-win
          Updated result so that it contains missing
          value for slave-type-conversions
      
        - rpl_idempotency
          This seems a bad merge. In BUG#39934, the contents of
          this file had been split into rpl_row_idempontency and
          rpl_idempotency. The patch was pushed to 5.1-rep+3 which
          was later merged in rep+2-delivery1 which in turn was
          merged in 5.1-rpl-merge. Now while merging next-mr in
          5.1-rpl-merge, the file got back it's old content (which
          is in rpl_row_idempotency now because of BUG#39934). This
          cset reverts the bad merge:
      
          bzr merge -r revid:dao-gang.qu@sun.com-20100112120709-ioxp11yl9bvquaqd..\
          before:revid:dao-gang.qu@sun.com-20100112120709-ioxp11yl9bvquaqd\
          suite/rpl/t/rpl_idempotency.test
      2e06d79f
  2. 12 Jan, 2010 5 commits
  3. 11 Jan, 2010 3 commits
    • Alexander Nozdrin's avatar
      Backporting revision from mysql-6.0-codebase-bugfixing. · 414a8619
      Alexander Nozdrin authored
      Original revision:
      ------------------------------------------------------------
      revno: 3817
      revision-id: guilhem@mysql.com-20100108092756-k0zzf4kvx9b7bh38
      parent: guilhem@mysql.com-20100107101133-hrrgcdqg508runuf
      committer: Guilhem Bichot <guilhem@mysql.com>
      branch nick: mysql-6.0-codebase-bugfixing
      timestamp: Fri 2010-01-08 10:27:56 +0100
      message:
        fix for BUG#50120 "Valgrind errors in any test, inside mysqltest"
        Problem was that as v->name[v->name_len] may be uninitialized (which is ok per se),
        it shouldn't be used in an if(). We remove this zero_the_char/restore_it logic by
        rather zero-terminating the v->name string when we create it in var_init().
      ------------------------------------------------------------
      414a8619
    • Alexander Nozdrin's avatar
      Backporting revision from mysql-6.0-codebase-bugfixing. · 146aa9b8
      Alexander Nozdrin authored
      Original revision:
      
      ------------------------------------------------------------
      revno: 3789.1.9
      revision-id: serg@mysql.com-20091229134448-phe834ukzmi0k2e3
      parent: serg@mysql.com-20091227081418-bgfg952gzumn1k3h
      committer: Sergei Golubchik <serg@mysql.com>
      branch nick: 6.0-codebase
      timestamp: Tue 2009-12-29 14:44:48 +0100
      message:
        better fix for Bug#48758 mysqltest crashes on sys_vars.collation_server_basic in gcov builds
        
        use setenv instead of putenv
      ------------------------------------------------------------
      146aa9b8
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-next-mr. · 7d8e2ddb
      Alexander Nozdrin authored
      7d8e2ddb
  4. 08 Jan, 2010 1 commit
    • Luis Soares's avatar
      Fixes rpl_stm_loaddata_concurrent failure in PB2. · ff1922d7
      Luis Soares authored
      The test case did not start with fresh binlogs, so in some
      cases, dependending on the order MTR runs the tests, it would
      try to show binlog contents from invalid positions (binary log
      would contain unexpected events from previous test).
      
      We fix this by deploying a RESET MASTER at the beginning of the
      test case.
      ff1922d7
  5. 07 Jan, 2010 4 commits
    • Alfranio Correia's avatar
    • Alfranio Correia's avatar
      merge mysql-5.1-rep+2-delivery1 --> mysql-5.1-rpl-merge · d3270c5f
      Alfranio Correia authored
      Conflicts:
      
      Text conflict in .bzr-mysql/default.conf
      Text conflict in mysql-test/extra/rpl_tests/rpl_loaddata.test
      Text conflict in mysql-test/r/mysqlbinlog2.result
      Text conflict in mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result
      Text conflict in mysql-test/suite/binlog/r/binlog_unsafe.result
      Text conflict in mysql-test/suite/rpl/r/rpl_insert_id.result
      Text conflict in mysql-test/suite/rpl/r/rpl_loaddata.result
      Text conflict in mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result
      Text conflict in mysql-test/suite/rpl/r/rpl_udf.result
      Text conflict in mysql-test/suite/rpl/t/rpl_slow_query_log.test
      Text conflict in sql/field.h
      Text conflict in sql/log.cc
      Text conflict in sql/log_event.cc
      Text conflict in sql/log_event_old.cc
      Text conflict in sql/mysql_priv.h
      Text conflict in sql/share/errmsg.txt
      Text conflict in sql/sp.cc
      Text conflict in sql/sql_acl.cc
      Text conflict in sql/sql_base.cc
      Text conflict in sql/sql_class.h
      Text conflict in sql/sql_db.cc
      Text conflict in sql/sql_delete.cc
      Text conflict in sql/sql_insert.cc
      Text conflict in sql/sql_lex.cc
      Text conflict in sql/sql_lex.h
      Text conflict in sql/sql_load.cc
      Text conflict in sql/sql_table.cc
      Text conflict in sql/sql_update.cc
      Text conflict in sql/sql_view.cc
      Conflict adding files to storage/innobase.  Created directory.
      Conflict because storage/innobase is not versioned, but has versioned children.  Versioned directory.
      Conflict adding file storage/innobase.  Moved existing file to storage/innobase.moved.
      Conflict adding files to storage/innobase/handler.  Created directory.
      Conflict because storage/innobase/handler is not versioned, but has versioned children.  Versioned directory.
      Contents conflict in storage/innobase/handler/ha_innodb.cc
      d3270c5f
    • Marc Alff's avatar
      WL#2360 Performance schema · 97b8f8cf
      Marc Alff authored
      Part IV: sql instrumentation
      97b8f8cf
    • Luis Soares's avatar
      Fix for rpl_bug31076 valgrind failure which popped up after · 5b636ce2
      Luis Soares authored
      WL#5151 was pushed.
      
      Problem 1: Some old binlog events do not contain metadata. This
      makes checking whether the field can be converted or not rather
      impossible because one cannot compare, for instance, field sizes
      from original table and target table.
      
      Solution 1: When an event does not contain metadata, we will just
      check if field types are equal and assume that original field
      definition matched with the one in the target table.
      
      Problem 2: There is a second fix, which involves lack of
      information regarding maybe_null. This was causing a conditional
      jump warning when creating a conversion table. 
      
      Solution 2: We will just assume that all fields that need to be
      in the conversion table may be null.
      5b636ce2
  6. 06 Jan, 2010 10 commits
    • Marc Alff's avatar
      b7409253
    • Tor Didriksen's avatar
      Follup fix for WL#4738 · b26b6e2c
      Tor Didriksen authored
      b26b6e2c
    • Guilhem Bichot's avatar
      Merge with latest next-mr-bugfixing · 1e7e3790
      Guilhem Bichot authored
      mysql-test/r/index_merge_myisam.result:
        @@optimizer_switch has a new flag
      mysql-test/r/mysqld--help-notwin.result:
        @@optimizer_switch has a new flag
      mysql-test/r/mysqld--help-win.result:
        @@optimizer_switch has a new flag
      mysql-test/r/optimizer_switch_eng_cond_pushdown1.result:
        Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins).
      mysql-test/r/optimizer_switch_eng_cond_pushdown2.result:
        Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins).
      mysql-test/suite/ndb/r/ndb_condition_pushdown.result:
        @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead
      mysql-test/suite/ndb/r/ndb_gis.result:
        @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead
      mysql-test/suite/ndb/r/ndb_index_unique.result:
        @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead
      mysql-test/suite/ndb/t/ndb_condition_pushdown.test:
        @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead
      mysql-test/suite/ndb/t/ndb_gis.test:
        @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead
      mysql-test/suite/ndb/t/ndb_index_unique.test:
        @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead
      mysql-test/suite/sys_vars/r/engine_condition_pushdown_basic.result:
        Setting @@engine_condition_pushdown gives a deprecation warning now.
        We test that the engine_condition_pushdown flag of @@optimizer_switch, and @@engine_condition_pushdown
        influence each other (turning the flag on/off sets the variable on/off and vice-versa).
      mysql-test/suite/sys_vars/r/optimizer_switch_basic.result:
        @@optimizer_switch has a new flag
      mysql-test/suite/sys_vars/t/engine_condition_pushdown_basic.test:
        Setting @@engine_condition_pushdown gives a deprecation warning now.
        We test that the engine_condition_pushdown flag of @@optimizer_switch, and @@engine_condition_pushdown
        influence each other (turning the flag on/off sets the variable on/off and vice-versa).
      mysql-test/t/optimizer_switch_eng_cond_pushdown1-master.opt:
        Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins).
      mysql-test/t/optimizer_switch_eng_cond_pushdown1.test:
        Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins).
      mysql-test/t/optimizer_switch_eng_cond_pushdown2-master.opt:
        Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins).
      mysql-test/t/optimizer_switch_eng_cond_pushdown2.test:
        Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins).
      sql/mysql_priv.h:
        new "engine_condition_pushdown" switch in @@optimizer_switch, on by default, like
        @@engine_condition_pushdown is on by default. Constants are ULL because optimizer_switch
        is stored in a ulonglong.
      sql/mysqld.cc:
        Making --engine-condition-pushdown and --optimizer-switch (command-line options)
        influence each other (last wins)
      sql/records.cc:
        @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead
      sql/sql_select.cc:
        @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead
      sql/sys_vars.cc:
        Setting @@engine_condition_pushdown now issues a deprecation message. The version for removal
        is unknown at this point so I copied it from other deprecation warnings in this file.
        Turning on/off the engine_condition_pushdown flag of @@optimizer_switch (with SET) turns on/off the @@engine_condition_pushdown variable, and vice-versa, thanks to fix_* functions.
      1e7e3790
    • Tor Didriksen's avatar
      Bug #50087 Interval arithmetic for Event_queue_element is not portable. · 98646790
      Tor Didriksen authored
      Subtraction of two unsigned months yielded a (very large) positive value.
      Conversion of this to a signed value was not necessarily well defined.
      
      Solution: do the subtraction on signed values.
      
      
      mysql-test/r/events_scheduling.result:
        Add test case.
      mysql-test/t/events_scheduling.test:
        Add test case.
      sql/event_data_objects.cc:
        Convert month to signed before doing the subtraction.
      98646790
    • Guilhem Bichot's avatar
      Fix for BUG#50081 "Tests: mysqld--help-notwin fails with --parallel": · b08f35bb
      Guilhem Bichot authored
      eliminate 3 more "directory path" variables from the test's output (it was already
      the case for other similar ones likes slow-query-log-file).
      b08f35bb
    • Guilhem Bichot's avatar
      WL#5197 "Move @@engine_condition_pushdown to @@optimizer_switch" · f5c335ea
      Guilhem Bichot authored
      "set engine_condition_pushdown" is deprecated, engine condition pushdown is controlled
      by a new "set optimizer_switch=engine_condition_pushdown=on|off".
      
      mysql-test/r/index_merge_myisam.result:
        @@optimizer_switch has a new flag
      mysql-test/r/mysqld--help-notwin.result:
        @@optimizer_switch has a new flag
      mysql-test/r/mysqld--help-win.result:
        @@optimizer_switch has a new flag
      mysql-test/r/optimizer_switch_eng_cond_pushdown1.result:
        Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins).
      mysql-test/r/optimizer_switch_eng_cond_pushdown2.result:
        Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins).
      mysql-test/suite/ndb/r/ndb_condition_pushdown.result:
        @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead
      mysql-test/suite/ndb/r/ndb_gis.result:
        @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead
      mysql-test/suite/ndb/r/ndb_index_unique.result:
        @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead
      mysql-test/suite/ndb/t/ndb_condition_pushdown.test:
        @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead
      mysql-test/suite/ndb/t/ndb_gis.test:
        @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead
      mysql-test/suite/ndb/t/ndb_index_unique.test:
        @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead
      mysql-test/suite/sys_vars/r/engine_condition_pushdown_basic.result:
        Setting @@engine_condition_pushdown gives a deprecation warning now.
        We test that the engine_condition_pushdown flag of @@optimizer_switch, and @@engine_condition_pushdown
        influence each other (turning the flag on/off sets the variable on/off and vice-versa).
      mysql-test/suite/sys_vars/r/optimizer_switch_basic.result:
        @@optimizer_switch has a new flag
      mysql-test/suite/sys_vars/t/engine_condition_pushdown_basic.test:
        Setting @@engine_condition_pushdown gives a deprecation warning now.
        We test that the engine_condition_pushdown flag of @@optimizer_switch, and @@engine_condition_pushdown
        influence each other (turning the flag on/off sets the variable on/off and vice-versa).
      mysql-test/t/optimizer_switch_eng_cond_pushdown1-master.opt:
        Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins).
      mysql-test/t/optimizer_switch_eng_cond_pushdown1.test:
        Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins).
      mysql-test/t/optimizer_switch_eng_cond_pushdown2-master.opt:
        Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins).
      mysql-test/t/optimizer_switch_eng_cond_pushdown2.test:
        Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins).
      sql/mysql_priv.h:
        new "engine_condition_pushdown" switch in @@optimizer_switch, on by default, like
        @@engine_condition_pushdown is on by default. Constants are ULL because optimizer_switch
        is stored in a ulonglong.
      sql/mysqld.cc:
        Making --engine-condition-pushdown and --optimizer-switch (command-line options)
        influence each other (last wins)
      sql/records.cc:
        @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead
      sql/sql_select.cc:
        @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead
      sql/sys_vars.cc:
        Setting @@engine_condition_pushdown now issues a deprecation message. The version for removal
        is unknown at this point so I copied it from other deprecation warnings in this file.
        Turning on/off the engine_condition_pushdown flag of @@optimizer_switch (with SET) turns on/off the @@engine_condition_pushdown variable, and vice-versa, thanks to fix_* functions.
      f5c335ea
    • Guilhem Bichot's avatar
      fixing wrong indentation in two Makefile.am, which prevented the Anjuta IDE... · 884bf478
      Guilhem Bichot authored
      fixing wrong indentation in two Makefile.am, which prevented the Anjuta IDE from parsing the MySQL tree.
      884bf478
    • Alexander Nozdrin's avatar
      Merge from bk:ysql-next-mr-bugfixing. · 16b991b8
      Alexander Nozdrin authored
      16b991b8
    • Alexander Nozdrin's avatar
      Merge from mysql-next-mr. · 834b24f3
      Alexander Nozdrin authored
      834b24f3
    • Alexander Nozdrin's avatar
      Change version tag (to 5.5.99-m3). · b4819ed5
      Alexander Nozdrin authored
      b4819ed5
  7. 05 Jan, 2010 2 commits
    • Alfranio Correia's avatar
      merge 5.1-rep+3 --> 5.1-rep+2-delivery1 · 1f8c327d
      Alfranio Correia authored
      1f8c327d
    • Alfranio Correia's avatar
      BUG#50038 Deadlock on flush logs with concurrent DML and RBR · e264ff39
      Alfranio Correia authored
      In auto-commit mode, updating both trx and non-trx tables (i.e. issuing a mixed
      statement) causes the following sequence of events:
      
      1 - "Flush trx changes" (MYSQL_BIN_LOG::write) - T1:
        1.1 - mutex_lock (&LOCK_log)
        1.2 - mutex_lock (&LOCK_prep_xids)
        1.3 - increase prepared_xids
        1.4 - mutex_unlock (&LOCK_prep_xids)
        1.5 - mutex_unlock (&LOCK_log)
      
      2 - "Flush non-trx changes" (MYSQL_BIN_LOG::write) - T1:
        2.1 - mutex_lock (&LOCK_log)
        2.2 - mutex_unlock (&LOCK_log)
      
      3. "unlog" - T1
        3.1 - mutex_lock (&LOCK_prep_xids)
        3.2 - decrease prepared xids
        3.3 - pthread_cond_signal(&COND_prep_xids);
        3.4 - mutex_unlock (&LOCK_prep_xids)
      
      The "FLUSH logs" command produces the following sequence of events:
      
      1 - "FLUSH logs" command (MYSQL_BIN_LOG::new_file_impl) - user thread:
        1.1 - mutex_lock (&LOCK_log)
        1.2 - mutex_lock (&LOCK_prep_xids)
        1.3 - while (prepared_xids)  pthread_cond_wait(..., &LOCK_prep_xids);
        1.4 - mutex_unlock (&LOCK_prep_xids)
        1.5 - mutex_unlock (&LOCK_log)
      
      A deadlock will arise if T1 flushes the trx changes and thus increases
      prepared_xids but before it is able to continue the execution and flush the
      non-trx changes, an user thread calls the "FLUSH logs" command and wait that
      the prepared_xids is decreased and gets to zero. However, T1 cannot proceed
      with the call to "Flush non-trx changes" because it will block in the mutex
      "LOCK_log" and by consequence cannot complete the execution and call the
      unlog to decrease the prepared_xids.
      
      To fix the problem, we ensure that the non-trx changes are always flushed
      before the trx changes.
      
      Note that if you call "Flush non-trx changes" and a concurrent "FLUSH logs" is
      issued, the "Flush non-trx changes" may block, but a deadlock will never happen
      because the prepared_xids will eventually get to zero. Bottom line, there will
      not be any transaction able to increase the prepared_xids because they will
      block in the mutex "LOCK_log" (MYSQL_BIN_LOG::write) and those that increased
      the prepared_xids will eventually commit and decrease the prepared_xids.
      e264ff39
  8. 04 Jan, 2010 4 commits
    • Jorgen Loland's avatar
      local merge · 7c5e2764
      Jorgen Loland authored
      7c5e2764
    • Jorgen Loland's avatar
      Bug#48920: COUNT DISTINCT returns 1 for NULL values when in a · 5beb063f
      Jorgen Loland authored
                 subquery in the select list
            
      When a dependent subquery with count(distinct <col>) was 
      evaluated multiple times, the Distinct_Aggregator was reused. 
      However, the Aggregator was not reset, so when the subquery was
      evaluated for the next record in the outer select, old dependent
      info was used.
            
      The fix is to clear() the existing aggregator in 
      Item_sum::set_aggregator(). This ensures that the aggregator is
      reevaluated with the new dependent information.
      
      mysql-test/r/subselect3.result:
        Added test case for BUG#48920
      mysql-test/t/subselect3.test:
        Added test case for BUG#48920
      sql/item_sum.cc:
        If an aggregator exists when Item_sum::set_aggregator() is
        called (i.e., set_aggregator is called in a dependent
        subquery), the aggregator is reset so that the aggregator is
        reevaluated with the dependent information from the outer
        record being evaluated.
      5beb063f
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-next-mr. · f72b16e1
      Alexander Nozdrin authored
      f72b16e1
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-next-mr-serg. · c18ed1d7
      Alexander Nozdrin authored
      c18ed1d7
  9. 31 Dec, 2009 1 commit
  10. 29 Dec, 2009 1 commit
  11. 28 Dec, 2009 2 commits
  12. 27 Dec, 2009 1 commit
  13. 26 Dec, 2009 2 commits
  14. 25 Dec, 2009 1 commit