1. 27 May, 2007 2 commits
    • unknown's avatar
      Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl · 0841b356
      unknown authored
      into  kindahl-laptop.dnsalias.net:/home/bk/w3339-mysql-5.1-rpl
      
      0841b356
    • unknown's avatar
      WL#3339 (Issue warnings when statement-based replication may fail): · 9b277235
      unknown authored
      Fixing case where a false warning could be printed in mixed mode.
      Also fixing some test cases that generated different result files as
      a consequence of the patch.
      
      
      mysql-test/r/check.result:
        Result change.
      mysql-test/t/check.test:
        Dropping all views created in the test before trying to execute test.
      mysql-test/t/func_misc.test:
        Disabling warning for unsafe statement since test is not concerned with
        this and there are tests that test this.
      sql/sql_class.cc:
        Moving code to print warning for unsafe statement to look at logging
        *mode* instead of logging *format*. The latter one can print a false
        warning when executing in mixed mode and part of the statement is
        written in statement format (i.e., CREATE-SELECT).
      9b277235
  2. 23 May, 2007 1 commit
  3. 22 May, 2007 1 commit
    • unknown's avatar
      BUG#17654 : --read-from-remote-server causes core · 82f4b06e
      unknown authored
      This patch corrects a problem encountered when reading the binlog from a remote
      host. The application was crashing because the buffer variable (temp_buf) in 
      log_event was not pointing to the incoming data. For a normal file read, this 
      buffer is allocated by a previous call of read_log_event. However, when reading
      from a remote host, the first call to read_log_event is not executed therefore
      no buffer is allocated. Furthermore, there is no need to allocate a new buffer 
      because the incoming stream is what needs to be read. 
      
      This patch adds the call to initialize the temp_buf variable if reading from a 
      remote host. It also adds a check at destroy time to ensure the temp_buf is not
      freed if reading from a remote host.
      
      
      client/mysqlbinlog.cc:
        BUG#17654 : --read-from-remote-server causes core
        
        This patch corrects a problem when reading from a remote host. The temp_buf 
        variable of the log_event class is undefined. This patch assigns the temp_buf
        variable to the address of the incoming stream. This allows the print functions
        to print the binlog events correctly.
      mysql-test/r/rpl_row_mysqlbinlog.result:
        BUG#17654 : --read-from-remote-server causes core
        
        This patch adds the results for the test that were disabled when the bug report
        was investigated. The patch also adds an additional test was added to ensure 
        the output of reading from a remote host is the same as reading from a local file.
      mysql-test/t/rpl_row_mysqlbinlog.test:
        BUG#17654 : --read-from-remote-server causes core
        
        This patch enables the portions of the test that were disabled when the bug report
        was investigated. The patch also adds an additional test was added to ensure 
        the output of reading from a remote host is the same as reading from a local file.
      82f4b06e
  4. 14 May, 2007 1 commit
    • unknown's avatar
      WL#3339 (Issue warnings when statement-based replication may fail): · 9d0549b3
      unknown authored
      Replacing binlog_row_based_if_mixed with variable binlog_stmt_flags
      holding several flags and adding member functions to manipulate the
      flags.
      
      Added code to generate a warning when an attempt to log an unsafe
      statement to the binary log was made. The warning is both pushed to the
      SHOW WARNINGS table and written to the error log. The prevent flooding
      the error log, the warning is just written to the error log once per
      open session.
      
      
      sql/item_create.cc:
        Using {is,set,clear}_stmt_unsafe() member functions instead of
        binlog_row_based_if_mixed member variable.
      sql/sp_head.cc:
        Using {is,set,clear}_stmt_unsafe() member functions instead of
        binlog_row_based_if_mixed member variable.
      sql/sp_head.h:
        Using {is,set,clear}_stmt_unsafe() member functions instead of
        binlog_row_based_if_mixed member variable.
      sql/sql_base.cc:
        Using {is,set,clear}_stmt_unsafe() member functions instead of
        binlog_row_based_if_mixed member variable.
      sql/sql_class.cc:
        Adding THD::binlog_flags to store thread-specific binary log state.
        Adding code to push a warning and write an entry into the error log
        when an attempt is made to log an unsafe statement.
      sql/sql_class.h:
        Adding THD::binlog_flags to store thread-specific binary log state.
        Adding BINLOG_FLAG_UNSAFE_STMT_PRINTED to denote that a warning for
        an unsafe statement has already been generated for this thread.
      sql/sql_insert.cc:
        Using {is,set,clear}_stmt_unsafe() member functions instead of
        binlog_row_based_if_mixed member variable.
      sql/sql_lex.cc:
        Replacing binlog_row_based_if_mixed with a variable binlog_stmt_flags
        holding several flags.
      sql/sql_lex.h:
        Replacing binlog_row_based_if_mixed with a variable binlog_stmt_flags
        holding several flags.
      sql/share/errmsg.txt:
        Adding error message to indicate that an attempt to log an unsafe
        statement was made.
      sql/sql_view.cc:
        Using {is,set,clear}_stmt_unsafe() member functions instead of
        binlog_row_based_if_mixed member variable.
      mysql-test/r/binlog_unsafe.result:
        New BitKeeper file ``mysql-test/r/binlog_unsafe.result''
      mysql-test/t/binlog_unsafe.test:
        New BitKeeper file ``mysql-test/t/binlog_unsafe.test''
      9d0549b3
  5. 11 May, 2007 1 commit
  6. 08 May, 2007 4 commits
    • unknown's avatar
      Merge mysql_cab.:C:/source/c++/mysql-5.1-new-rpl · e3ca4ddc
      unknown authored
      into  mysql_cab.:C:/source/c++/mysql-5.1_BUG_17233
      
      e3ca4ddc
    • unknown's avatar
      BUG#17233 : LOAD DATA INFILE: failure causes mysqld dbug_assert, binlog not flushed · dcef631f
      unknown authored
      This patch corrects a bug involving a LOAD DATA INFILE operation on a 
      transactional table. It corrects a problem in the error handler by moving
      the transactional table check and autocommit_or_rollback operation to the 
      end of the error handler. 
      
      The problem was an assert was thrown after the operation completed. The 
      assert found a non-sunk event in the transaction cache. The events in the 
      transaction cache were added after commit_or_rollack and thereafter nothing 
      removed them.
      
      An additional test case was added to detect this
      condition.
      
      
      mysql-test/extra/rpl_tests/rpl_loaddata.test:
        BUG#17233 : LOAD DATA INFILE: failure causes mysqld dbug_assert, binlog not flushed 
            
        This patch adds an additional test to rpl_loaddata for handling the
        duplicate key error on LOAD DATA INFILE.
      mysql-test/r/rpl_loaddata.result:
        BUG#17233 : LOAD DATA INFILE: failure causes mysqld dbug_assert, binlog not flushed 
            
        This patch adds the results for the additional test for properly handling the
        duplicate key error on LOAD DATA INFILE.
      sql/sql_load.cc:
        BUG#17233 : LOAD DATA INFILE: failure causes mysqld dbug_assert, binlog not flushed 
        
        This patch moves the check for a transactional table and rollback in the
        error handler for mysql_load(). The patch moves the transactional table
        check to the end of the error handler matching the implementation for other
        similar operations (see sql_insert).
      dcef631f
    • unknown's avatar
      Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-rpl · db35b976
      unknown authored
      into  mysql.com:/home/bar/mysql-5.1.b26518
      
      
      mysql-test/r/xml.result:
        Auto merged
      mysql-test/t/xml.test:
        Auto merged
      sql/item_xmlfunc.cc:
        Auto merged
      db35b976
    • unknown's avatar
      Bug#26518 XPath and variables problem · cf78188c
      unknown authored
      Problem: XPath variables didn't work.
      Fix: adding variables support,
      both user-defined and sp local variables are now supported by XPath.
      
      
      mysql-test/r/xml.result:
        Adding test case
      mysql-test/t/xml.test:
        Adding test case
      sql/item_xmlfunc.cc:
        Adding variables support:
        - SP variables with standard XPath syntax:  $i
        - User variables with non-standard syntax:  $@i
      cf78188c
  7. 04 May, 2007 2 commits
  8. 02 May, 2007 1 commit
    • unknown's avatar
      Bug#27898 UPDATEXML Crashes the Server! · 222cdd77
      unknown authored
      Problem: when replacing the root element, UpdateXML
      erroneously tried to mix old XML content with the
      replacement string, which led to crash.
      Fix: don't use the old XML content in these cases,
      just return the replacement string.
      
      
      mysql-test/r/xml.result:
        Adding test case
      mysql-test/t/xml.test:
        Adding test case
      sql/item_xmlfunc.cc:
        Adding special code to handle replacements of the root element -
        the replacing content is just copied to the result,
        the previous content of the XML value is removed.
      222cdd77
  9. 26 Apr, 2007 1 commit
    • unknown's avatar
      Minor improvement to save some testing runtime (~ 2 minutes). · 26ea990f
      unknown authored
      Reason:
         This test executes DML statements on a NDB table to detect if some SQL statements of special interest commits the ongoing transaction.
         When running in MIXED mode, automatic switching from statement-based to row-based replication takes place when a DML statement
         updates an NDB table.
         That means running this test on NDB with binlog-format=mixed and binlog-format=row mostly checks the same routines twice.
         Therefore we skip the variant with binlog-format=mixed.
      
      
      mysql-test/t/rpl_ndb_ddl.test:
        Prevent the execution of this test if replication format is statement or mixed.
      26ea990f
  10. 25 Apr, 2007 1 commit
  11. 24 Apr, 2007 1 commit
    • unknown's avatar
      The fix for Bug#18946: Test case rpl_ndb_ddl disabled pushed around end of... · 4ccc823b
      unknown authored
      The fix for   Bug#18946: Test case rpl_ndb_ddl disabled   pushed around end of March 2007 enabled this testcase.
      It was later disabled because the test failed with timeout on one testing box.
      The reason for this failing test could not be found because we do not have informations about the conditions on the box during this test.
      Jeb and I tried this test on other boxes and it passed.
      My experience is that
      - tests using NDB need in general often significant more runtime
        than comparable tests of other storage engines
      - the actual load of the box where the test is running and the
        filesystem (nfs could be extreme slow) where the tests are
        executed might have a huge impact on the test performance 
        (runtime * 2 till 3)
      - there are sometimes problems with the ports most probably
        caused by OS properties (NDB+RPL need many ports) or
        parallel tests accidently running with the same ports.
      AFAIK these are the reasons why the NDB tests fail sometimes with timeout.
      Conclusion: We enable rpl_ndb_ddl again because the failure happens in rare cases
      and seems not to be caused by errors within the server or test code. 
      
      
      mysql-test/t/disabled.def:
        Enable t/rpl_ndb_ddl.test again
      4ccc823b
  12. 20 Apr, 2007 7 commits
    • unknown's avatar
      Adding missing result file for rpl_critical_errors. · bea102d6
      unknown authored
      
      mysql-test/r/rpl_critical_errors.result:
        New BitKeeper file ``mysql-test/r/rpl_critical_errors.result''
      bea102d6
    • unknown's avatar
      Merge romeo.(none):/home/bk/merge-mysql-5.0 · ae91025e
      unknown authored
      into  romeo.(none):/home/bk/merge-mysql-5.1
      
      
      client/mysql.cc:
        Auto merged
      sql/ha_ndbcluster.cc:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_delete.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      configure.in:
        Merging 5.0 into 5.1
      sql/slave.cc:
        Merging 5.0 into 5.1
      ae91025e
    • unknown's avatar
      Merge romeo.(none):/home/bkroot/mysql-5.1-rpl · cffd4f88
      unknown authored
      into  romeo.(none):/home/bk/merge-mysql-5.1
      
      
      BitKeeper/etc/ignore:
        auto-union
      client/mysql.cc:
        Auto merged
      client/mysqlbinlog.cc:
        Auto merged
      configure.in:
        Auto merged
      client/mysqltest.c:
        Auto merged
      mysql-test/r/rpl_ndb_basic.result:
        Auto merged
      mysql-test/t/disabled.def:
        Auto merged
      sql/CMakeLists.txt:
        Auto merged
      sql/ha_ndbcluster.cc:
        Auto merged
      sql/ha_ndbcluster.h:
        Auto merged
      sql/ha_ndbcluster_binlog.cc:
        Auto merged
      sql/log.cc:
        Auto merged
      sql/log_event.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/slave.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_repl.cc:
        Auto merged
      cffd4f88
    • unknown's avatar
      Merge romeo.(none):/home/bkroot/mysql-5.0-rpl · 46a82c19
      unknown authored
      into  romeo.(none):/home/bk/merge-mysql-5.0
      
      
      client/mysql.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/slave.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      46a82c19
    • unknown's avatar
      Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl · ba95432e
      unknown authored
      into  romeo.(none):/home/bkroot/mysql-5.0-rpl
      
      ba95432e
    • unknown's avatar
      Merge romeo.(none):/home/bkroot/mysql-5.1-rpl · 3c7a22b2
      unknown authored
      into  romeo.(none):/home/bk/b27779-mysql-5.1-rpl
      
      3c7a22b2
    • unknown's avatar
      Disabling test case rpl_ndb_circular_simplex · 740fcc76
      unknown authored
      740fcc76
  13. 19 Apr, 2007 1 commit
    • unknown's avatar
      corrrection of test case · bdb59262
      unknown authored
      
      mysql-test/r/ndb_binlog_ddl_multi.result:
        corrrection of test case
        (this was actually a bug that had not been spotted, that was fixed by previous patch)
      bdb59262
  14. 18 Apr, 2007 4 commits
    • unknown's avatar
      revert back to old show_binlog_events asto many test failures, and create a... · 46f187b9
      unknown authored
      revert back to old show_binlog_events asto many test failures, and create a show_binlog_events2 instead
      
      
      BitKeeper/etc/ignore:
        Added client/log_event_old.cc client/log_event_old.h client/rpl_record_old.cc client/rpl_record_old.h libmysqld/log_event_old.cc libmysqld/rpl_record.cc libmysqld/rpl_record_old.cc to the ignore list
      mysql-test/include/show_binlog_events2.inc:
        New BitKeeper file ``mysql-test/include/show_binlog_events2.inc''
      46f187b9
    • unknown's avatar
      Bug #27076 · 18eec637
      unknown authored
       - test case
      
      
      sql/ha_ndbcluster_binlog.cc:
        drop table not logged when it should
      mysql-test/r/ndb_binlog_log_bin.result:
        New BitKeeper file ``mysql-test/r/ndb_binlog_log_bin.result''
      mysql-test/t/ndb_binlog_log_bin.test:
        New BitKeeper file ``mysql-test/t/ndb_binlog_log_bin.test''
      18eec637
    • unknown's avatar
      Bug #27076 Cluster does not honor SQL_LOG_BIN flag · 33582e01
      unknown authored
      - both for data schema operations
      - also make sure schema events vet the right server id when injected into the binlog
      - use same mechanism to signal server_id in bug#17095, and reserve some "id's" for flagging special conditions on the event, in this case do not log it
      - enable printing of server ids in the testcases to show that we cot it right
      
      33582e01
    • unknown's avatar
      Bug#17095 circular replication · 7f5fd989
      unknown authored
      - make sure any value is set for linked operations as well, e.g. blob tables
      
      7f5fd989
  15. 17 Apr, 2007 7 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/data0/bk/mysql-5.0 · 4f3efddd
      unknown authored
      into  bk-internal.mysql.com:/data0/bk/mysql-5.0-marvel
      
      
      sql/ha_ndbcluster.cc:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/sql_delete.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      4f3efddd
    • unknown's avatar
      Merge bk-internal.mysql.com:/data0/bk/mysql-5.1 · 6b71b0ed
      unknown authored
      into  bk-internal.mysql.com:/data0/bk/mysql-5.1-marvel
      
      
      mysql-test/r/strict.result:
        Auto merged
      sql/ha_ndbcluster.cc:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/sql_delete.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      6b71b0ed
    • unknown's avatar
      Raise version number after cloning 5.0.40 · 7455a7ff
      unknown authored
      7455a7ff
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-marvel · 4d07b3dc
      unknown authored
      into  mysql.com:/home/my/mysql-5.1
      
      4d07b3dc
    • unknown's avatar
      Fixed federated and some replication tests to not stop slave until it's up and running. · 6b222f52
      unknown authored
      (Removes some warnings about UNIX_TIMESTAMP from the slave.err logs)
      Marked federated_server as a '--big-test'
      Change error in net_clear to 'Note', as it interfered with mysql-test-run.
      
      
      client/mysqltest.c:
        More DBUG messages
        Adding missing DBUG_RETURN
      mysql-test/extra/rpl_tests/rpl_max_relay_size.test:
        Added missing sync_slave_with_master
      mysql-test/extra/rpl_tests/rpl_relayrotate.test:
        Added missing sync_slave_with_master
      mysql-test/include/federated.inc:
        Don't do stop slave before the slave has started properly
        (Removes some warnings about UNIX_TIMESTAMP from the slave.err logs)
      mysql-test/include/federated_cleanup.inc:
        Trivial cleanup
      mysql-test/t/federated_server.test:
        Don't run this unless under --big-test
        Made test-loop smaller. (We will find out errors in code over time, as the test is run under a lot of difference machines which will compensate for the smaller loop)
      mysql-test/t/rpl_flushlog_loop.test:
        Added missing sync_slave_with_master
      sql/net_serv.cc:
        Change error to Note (low level warning), as it interfered with mysql-test-run.
        This is probably fine as we in some context on sever shutdown can get information about connection shutdown on the connection while we are doing a query at the same time.
        Still, in normal context one should get this, so it's good to have it in the log as it enables one to find errors easier.
      sql/slave.cc:
        Added reason to why things failed to error message
      6b222f52
    • unknown's avatar
      Reverting to use time_t instead of my_time_t since the latter caused · 28af0d78
      unknown authored
      compile warnings on windows machines.
      
      28af0d78
    • unknown's avatar
      Fixing test case and result file for rpl_ndb_circular_simplex. · 66d6a171
      unknown authored
      
      mysql-test/r/rpl_ndb_circular_simplex.result:
        Result change
      mysql-test/t/rpl_ndb_circular_simplex.test:
        Using master port on slave side instead of slave port (which should be
        used on master side).
      66d6a171
  16. 16 Apr, 2007 5 commits
    • unknown's avatar
      Bug #27395 OPTION_STATUS_NO_TRANS_UPDATE is not preserved at the end of SF() · ba5727ac
      unknown authored
      refining the test with active innodb
      
      
      mysql-test/r/sp_trans_log.result:
        changed
      mysql-test/t/sp_trans_log.test:
        innodb activated
      ba5727ac
    • unknown's avatar
      Bug #27395 OPTION_STATUS_NO_TRANS_UPDATE is not preserved at the end of SF() · 0aade480
      unknown authored
      tests for the bug and associated is moved into another file because
      they appeared to be binlog-format sensitive.
      
      
      mysql-test/r/sp_trans.result:
        results changed
      mysql-test/t/sp_trans.test:
        binlog format sensitive piece of test moved to sp_trans_log.
      mysql-test/r/sp_trans_log.result:
        new results
      mysql-test/t/sp_trans_log.test:
        binlog-format sensitive part of sp_trans.test
      0aade480
    • unknown's avatar
      Clear field_alloc when it's moved to result set (allows us to always call free_root on field_alloc) · 03cf9a57
      unknown authored
      Change to use remove_file instead of 'system rm' in a lot of tests. (Should fix some windows test problems)
      Removed memory leak in mysql_test if sync_with_master fails.
      Do not terminate ndb_cluster_binary_log before the util thread has finnished. This should fix a shutdown bug where a thread is accessing injector_mutex after it's freed.
      Patch may fix Bug#27622 "mysqld shutdown, util thread continues, while binlog thread exits"
      
      
      client/mysqltest.c:
        Added missing 'mysql_free_result' (fixed confusing memory leak when sync_with_master fails)ug
      mysql-test/mysql-test-run.pl:
        Add the test case name to the instance manager log files
      mysql-test/r/rpl_log_pos.result:
        Made test more portable (for powermac)
      mysql-test/t/disabled.def:
        Disabled im_life_cycle (added bug#27851)
      mysql-test/t/myisam-system.test:
        Use remove_file instead of "system rm"
      mysql-test/t/ndb_autodiscover.test:
        Use remove_file instead of "system rm"
      mysql-test/t/ndb_loaddatalocal.test:
        Use remove_file instead of "system rm"
      mysql-test/t/rpl_loaddatalocal.test:
        Use remove_file instead of "system rm"
      mysql-test/t/rpl_log_pos.test:
        Made test more portable (for powermac)
      mysql-test/t/rpl_misc_functions.test:
        Use remove_file instead of "system rm"
      mysql-test/t/rpl_rbr_to_sbr.test:
        Use remove_file instead of "system rm"
      mysql-test/t/rpl_row_NOW.test:
        Use remove_file instead of "system rm"
      mysql-test/t/rpl_row_sp001.test:
        Use remove_file instead of "system rm"
      mysql-test/t/rpl_row_sp011.test:
        Use remove_file instead of "system rm"
      mysql-test/t/show_check.test:
        Use remove_file instead of "system rm"
      mysys/my_alloc.c:
        Don't return on zero argument, as this may hide other errors
      server-tools/instance-manager/log.cc:
        Log errors to both stdout and stderr (to know in which context we got the error)
      server-tools/instance-manager/thread_registry.cc:
        Log error before common assert (to know in which context we fail)
      sql/ha_ndbcluster.cc:
        Do not terminate ndb_cluster_binary_log before the util thread has finnished.
      sql/ha_ndbcluster.h:
        Do not terminate ndb_cluster_binary_log before the util thread has finnished.
      sql/ha_ndbcluster_binlog.cc:
        Do not terminate ndb_cluster_binary_log before the util thread has finnished.
      sql-common/client.c:
        Clear field_alloc when it's moved to result set (allows us to always call free_root on field_alloc)
      03cf9a57
    • unknown's avatar
      Merge romeo.(none):/home/bkroot/mysql-5.1-rpl · 1f1e385d
      unknown authored
      into  romeo.(none):/home/bk/b27779-mysql-5.1-rpl
      
      1f1e385d
    • unknown's avatar
      Updating tests to eliminate some sporadic non-critical failures. · fdb04da9
      unknown authored
      
      mysql-test/r/rpl_ndb_circular_simplex.result:
        Result change.
      mysql-test/t/rpl_ndb_circular_simplex.test:
        Blanking out field that are not critical for the result.
      fdb04da9