An error occurred fetching the project authors.
  1. 15 Nov, 2006 1 commit
    • unknown's avatar
      Bug#16456 "RBR: rpl_sp.test expects query to fail, but passes in RBR" · beea1235
      unknown authored
      calling (rather than defining) non-deterministic SP in SBR (as opposed
      to RBR or mixed) will throw an error now.
      
      require mixed mode for tests now. SBR will now fail when calling
      non-deter SPs and SFs (as it should), and RBR already failed by virtue of
      giving different results for "show binlog" than the results-file has.
      also test for 16456 now. lastly make amends because one of the tests
      fails with a new error # now as code was added to sql_trigger.cc while
      test was disabled.
      
      
      mysql-test/mysql-test-run.pl:
        Bug#16456 "RBR: rpl_sp.test expects query to fail, but passes in RBR"
        
        mtr falsely assumed that default rep mode is stmt i/o mixed?
      mysql-test/r/func_time.result:
        Bug#16456 "RBR: rpl_sp.test expects query to fail, but passes in RBR"
        
        rpl_sp.test was disabled for a while; update results where wording has
        changed and add results for #16456
      mysql-test/r/rpl_sp.result:
        Bug#16456 "RBR: rpl_sp.test expects query to fail, but passes in RBR"
        
        rpl_sp.test was disabled for a while; update results where wording has
        changed and add results for #16456
        ---
        Bug#16456 "RBR: rpl_sp.test expects query to fail, but passes in RBR"
        
        calling (rather than defining) non-deterministic SP or SF in SBR
        (as opposed to RBR or mixed) will throw an error now.
      mysql-test/t/disabled.def:
        Bug#16456 "RBR: rpl_sp.test expects query to fail, but passes in RBR"
        
        re-enable rpl_sp.test
      mysql-test/t/rpl_sp.test:
        Bug#16456 "RBR: rpl_sp.test expects query to fail, but passes in RBR"
        
        require mixed mode for tests now. SBR will now fail when calling
        non-deter SPs (as it should), and RBR already failed by virtue of
        giving different results for "show binlog" than the results-file has.
        also test for 16456 now. lastly make amends because one of the tests
        fails with a new error # now as code was added to sql_trigger.cc while
        test was disabled.
        ---
        Bug#16456 "RBR: rpl_sp.test expects query to fail, but passes in RBR"
        
        calling (rather than defining) non-deterministic SP or SF in SBR
        (as opposed to RBR or mixed) will throw an error now.
      sql/item_func.cc:
        Bug#16456 "RBR: rpl_sp.test expects query to fail, but passes in RBR"
        
        calling (rather than defining) non-deterministic SF in SBR
        (as opposed to RBR or mixed) will throw an error now.
      sql/sql_parse.cc:
        Bug#16456 "RBR: rpl_sp.test expects query to fail, but passes in RBR"
        
        calling (rather than defining) non-deterministic SP in SBR (as opposed
        to RBR or mixed) will throw an error now.
      beea1235
  2. 27 Jul, 2006 1 commit
    • unknown's avatar
      Fix for BUG#20438: CREATE statements for views, stored routines and triggers · d36f5781
      unknown authored
      can be not replicable.
      
      Now CREATE statements for writing in the binlog are created as follows:
        - the beginning of the statement is re-created;
        - the rest of the statement is copied from the original query.
      
      The problem appears when there is a version-specific comment (produced by
      mysqldump), started in the re-created part of the statement and closed in the
      copied part -- there is closing comment-parenthesis, but there is no opening
      one.
      
      The proper fix could be to re-create original statement, but we can not
      implement it in 5.0. So, for 5.0 the fix is just to cut closing
      comment-parenthesis. This technique is also used for SHOW CREATE PROCEDURE
      statement (so we are able to reuse existing code).
      
      
      mysql-test/r/rpl_sp.result:
        Updated result file.
      mysql-test/r/rpl_trigger.result:
        Updated result file.
      mysql-test/r/rpl_view.result:
        Updated result file.
      mysql-test/t/rpl_sp.test:
        Added test case for BUG#20438.
      mysql-test/t/rpl_trigger.test:
        Added test case for BUG#20438.
      mysql-test/t/rpl_view.test:
        Added test case for BUG#20438.
      sql/sp.cc:
        Trim comments at the end.
      sql/sp_head.cc:
        Moved this code to the separate function to be re-used.
      sql/sql_lex.cc:
        Added a new function.
      sql/sql_lex.h:
        Added a new function.
      sql/sql_trigger.cc:
        Trim comments at the end.
      sql/sql_view.cc:
        Trim comments at the end.
      d36f5781
  3. 24 Feb, 2006 1 commit
    • unknown's avatar
      WL#3023 (RBR: Use locks in a statement-like manner): · 613fb54f
      unknown authored
        Adaptions to make it work with NDB.
      
      
      mysql-test/extra/binlog_tests/binlog.test:
        Using replace_regex to remove table id.
      mysql-test/extra/binlog_tests/blackhole.test:
        Using replace_regex to remove table id.
      mysql-test/extra/binlog_tests/ctype_cp932.test:
        Using replace_regex to remove table id.
      mysql-test/extra/binlog_tests/ctype_cp932_binlog.test:
        Using replace_regex to remove table id.
      mysql-test/extra/binlog_tests/ctype_ucs_binlog.test:
        Using replace_regex to remove table id.
      mysql-test/extra/binlog_tests/drop_temp_table.test:
        Using replace_regex to remove table id.
      mysql-test/extra/binlog_tests/insert_select-binlog.test:
        Using replace_regex to remove table id.
      mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
        Using replace_regex to remove table id.
      mysql-test/extra/rpl_tests/rpl_flsh_tbls.test:
        Using replace_regex to remove table id.
      mysql-test/extra/rpl_tests/rpl_log.test:
        Using replace_regex to remove table id.
      mysql-test/extra/rpl_tests/rpl_multi_query.test:
        Using replace_regex to remove table id.
      mysql-test/extra/rpl_tests/rpl_row_charset.test:
        Using replace_regex to remove table id.
      mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test:
        Using replace_regex to remove table id.
      mysql-test/extra/rpl_tests/rpl_stm_charset.test:
        Using replace_regex to remove table id.
      mysql-test/include/rpl_row_basic.inc:
        Removing sync with master on cleanup since there are engines that does
        not work in a "syncronized" fashion on dropping tables.
      mysql-test/r/binlog_row_binlog.result:
        Result change
      mysql-test/r/binlog_row_blackhole.result:
        Result change
      mysql-test/r/binlog_row_ctype_cp932.result:
        Result change
      mysql-test/r/binlog_row_ctype_ucs.result:
        Result change
      mysql-test/r/binlog_row_insert_select.result:
        Result change
      mysql-test/r/binlog_row_mix_innodb_myisam.result:
        Result change
      mysql-test/r/ctype_cp932_binlog_row.result:
        Result change
      mysql-test/r/rpl_row_basic_11bugs.result:
        Result change
      mysql-test/r/rpl_row_basic_2myisam.result:
        Result change
      mysql-test/r/rpl_row_basic_3innodb.result:
        Result change
      mysql-test/r/rpl_row_charset.result:
        Result change
      mysql-test/r/rpl_row_create_table.result:
        Result change
      mysql-test/r/rpl_row_delayed_ins.result:
        Result change
      mysql-test/r/rpl_row_log.result:
        Result change
      mysql-test/r/rpl_row_log_innodb.result:
        Result change
      mysql-test/r/rpl_row_max_relay_size.result:
        Result change
      mysql-test/r/rpl_row_sp008.result:
        Result change
      mysql-test/t/binlog_stm_binlog.test:
        Using replace_regex to remove table id.
      mysql-test/t/ndb_binlog_ddl_multi.test:
        Using replace_regex to remove table id.
      mysql-test/t/ndb_binlog_ignore_db.test:
        Using replace_regex to remove table id.
      mysql-test/t/rpl_heap.test:
        Using replace_regex to remove table id.
      mysql-test/t/rpl_loaddata_s.test:
        Using replace_regex to remove table id.
      mysql-test/t/rpl_ndb_blob.test:
        Using replace_regex to remove table id.
      mysql-test/t/rpl_ndb_disk.test:
        Using replace_regex to remove table id.
      mysql-test/t/rpl_row_basic_11bugs.test:
        Using replace_regex to remove table id.
      mysql-test/t/rpl_row_create_table.test:
        Using replace_regex to remove table id.
      mysql-test/t/rpl_row_drop.test:
        Using replace_regex to remove table id.
      mysql-test/t/rpl_row_sp008.test:
        Using replace_regex to remove table id.
      mysql-test/t/rpl_sp.test:
        Using replace_regex to remove table id.
      mysql-test/t/sp.test:
        Using replace_regex to remove table id.
      mysql-test/t/sp_notembedded.test:
        Using replace_regex to remove table id.
      mysql-test/t/user_var-binlog.test:
        Using replace_regex to remove table id.
      sql/ha_ndbcluster_binlog.cc:
        Assign_new_table_id() now takes table share.
        Removed gratuitous friend declaration of ndb_add_binlog_index().
        Turning of binlogging during execution of ndb_add_binlog_index().
      sql/handler.h:
        Removed gratuitous friend declaration of ndb_add_binlog_index().
      sql/log.cc:
        Adding debug printout.
      sql/log_event.cc:
        Closing thread tables on dummy event.
      sql/rpl_injector.cc:
        Added support for new locking scheme.
      sql/rpl_injector.h:
        Added support for new locking scheme.
      613fb54f
  4. 18 Feb, 2006 1 commit
    • unknown's avatar
      Fix for BUG#14769 "Function fails to replicate if fails half-way (slave stops)": · 8470ae9c
      unknown authored
      if the function, invoked in a non-binlogged caller (e.g. SELECT, DO), failed half-way on the master,
      slave would stop and complain that error code between him and master mismatch. 
      To solve this, when a stored function is invoked in a non-binlogged caller (e.g. SELECT, DO), we binlog the function
      call as SELECT instead of as DO (see revision comment of sp_head.cc for more).
      And: minor wording change in the help text.
      This cset will cause conflicts in 5.1, I'll merge.
      
      
      mysql-test/r/rpl_sp.result:
        result update
      mysql-test/t/rpl_sp-slave.opt:
        bug just fixed so option not needed
      mysql-test/t/rpl_sp.test:
        test for more half-failed functions with DO and SELECT, to test the bug of this changeset.
        cleanup at the end.
      sql/mysqld.cc:
        function -> stored function (change suggested by Paul)
      sql/sp_head.cc:
        When a function updates data and is called from a non-binlogged statement (SELECT, DO), we binlog it 
        as SELECT myfunc(), and not DO myfunc() like before.
      8470ae9c
  5. 13 Feb, 2006 1 commit
    • unknown's avatar
      BUG#17339: Most rpl tests need to execute sync_slave_with_master to ensure... · d364bf85
      unknown authored
      BUG#17339: Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      For this particular bug report it was rpl_loadfile.test that did not make proper cleanup, but the patch
      includes fixes for other tests aswell.
      
      
      mysql-test/r/rpl_loaddata2.result:
        Cleanup
      mysql-test/r/rpl_redirect.result:
        Cleanup
      mysql-test/r/rpl_slave_status.result:
        Cleanup
      mysql-test/t/rpl_LD_INFILE.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_drop_temp.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_ignore_table.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_loaddata2.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_loaddata_m.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_loaddata_s.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_loadfile.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_multi_update4.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_ndb_basic.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_redirect.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_row_func001.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_row_func002.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_row_sp001.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_row_sp005.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_row_sp008.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_row_sp009.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_row_sp010.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_row_sp011.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_row_sp012.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_row_trig001.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_row_trig002.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_skip_error.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_slave_status.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_sp.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      mysql-test/t/rpl_sp004.test:
        Most rpl tests need to execute sync_slave_with_master to ensure that cleanup is done on slave
      d364bf85
  6. 20 Jan, 2006 1 commit
  7. 12 Jan, 2006 1 commit
    • unknown's avatar
      rpl_sp.test, disabled.def, rpl_stm_mystery22.test: · 678116f8
      unknown authored
        Test cleanip per lars
      .del-rpl_row_sp000.result~2b24650b123e20a9:
        Delete: mysql-test/r/rpl_row_sp000.result
      .del-rpl_row_sp000.test~645e2807516682b6:
        Delete: mysql-test/t/rpl_row_sp000.test
      .del-rpl_row_sp000-slave.opt~d84baa1f59616d77:
        Delete: mysql-test/t/rpl_row_sp000-slave.opt
      .del-rpl_row_sp000-master.opt~da625c0a51a2f08a:
        Delete: mysql-test/t/rpl_row_sp000-master.opt
      rpl_sp.result:
        Rename: mysql-test/r/rpl_stm_sp.result -> mysql-test/r/rpl_sp.result
      rpl_sp-master.opt:
        Rename: mysql-test/t/rpl_stm_sp-master.opt -> mysql-test/t/rpl_sp-master.opt
      rpl_sp-slave.opt:
        Rename: mysql-test/t/rpl_stm_sp-slave.opt -> mysql-test/t/rpl_sp-slave.opt
      rpl_sp.test:
        Rename: mysql-test/t/rpl_stm_sp.test -> mysql-test/t/rpl_sp.test
      
      
      mysql-test/t/rpl_sp-slave.opt:
        Rename: mysql-test/t/rpl_stm_sp-slave.opt -> mysql-test/t/rpl_sp-slave.opt
      mysql-test/t/rpl_sp-master.opt:
        Rename: mysql-test/t/rpl_stm_sp-master.opt -> mysql-test/t/rpl_sp-master.opt
      mysql-test/r/rpl_sp.result:
        Rename: mysql-test/r/rpl_stm_sp.result -> mysql-test/r/rpl_sp.result
      BitKeeper/deleted/.del-rpl_row_sp000-master.opt~da625c0a51a2f08a:
        Delete: mysql-test/t/rpl_row_sp000-master.opt
      BitKeeper/deleted/.del-rpl_row_sp000-slave.opt~d84baa1f59616d77:
        Delete: mysql-test/t/rpl_row_sp000-slave.opt
      BitKeeper/deleted/.del-rpl_row_sp000.test~645e2807516682b6:
        Delete: mysql-test/t/rpl_row_sp000.test
      BitKeeper/deleted/.del-rpl_row_sp000.result~2b24650b123e20a9:
        Delete: mysql-test/r/rpl_row_sp000.result
      mysql-test/t/rpl_stm_mystery22.test:
        Test cleanip per lars
      mysql-test/t/disabled.def:
        Test cleanip per lars
      mysql-test/t/rpl_sp.test:
        Test cleanip per lars
      678116f8
  8. 04 Jan, 2006 1 commit
    • unknown's avatar
      BUG#14931: Temporarily add synchronization to avoid sporadic test failures until · a7bb8a97
      unknown authored
      the bug is fixed.
      
      
      mysql-test/t/rpl_row_sp000.test:
        BUG#14931: Temporarily add synchronization to avoid sporadic failures until
        the bug is fixed.
      mysql-test/r/rpl_row_sp000.result:
        BUG#14931: Temporarily add synchronization to avoid sporadic failures until
        the bug is fixed.
      mysql-test/r/rpl_stm_sp.result:
        BUG#14931: Temporarily add synchronization to avoid sporadic failures until
        the bug is fixed.
      mysql-test/t/rpl_stm_sp.test:
        BUG#14931: Temporarily add synchronization to avoid sporadic failures until
        the bug is fixed.
      a7bb8a97
  9. 22 Dec, 2005 1 commit
    • unknown's avatar
      WL#1012: All changes as one single changeset. · 09346e6e
      unknown authored
      This includes both code and test cases.
      
      
      BitKeeper/deleted/.del-ctype_ucs_binlog.result~280d136b1a0bcf17:
        Delete: mysql-test/r/ctype_ucs_binlog.result
      BitKeeper/deleted/.del-rpl_delete_all.result~7c050d592614b3f:
        Delete: mysql-test/r/rpl_delete_all.result
      BitKeeper/deleted/.del-rpl000013-slave.opt~18266ad8a2403e8d:
        Delete: mysql-test/t/rpl000013-slave.opt
      BitKeeper/deleted/.del-rpl_delete_all.test~700a1490277780e0:
        Delete: mysql-test/t/rpl_delete_all.test
      mysql-test/extra/binlog_tests/binlog.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/blackhole.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/ctype_cp932.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/ctype_cp932_binlog.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/ctype_ucs_binlog.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/drop_temp_table.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/insert_select-binlog.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_ddl.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_deadlock.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_err_ignoredtable.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_flsh_tbls.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_loaddata_m.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_log.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_max_relay_size.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_multi_query.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_reset_slave.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_stm_000001.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_stm_EE_err.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_stm_charset.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_user_variables.test:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_binlog.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_blackhole.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_ctype_cp932.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_ctype_ucs.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_drop_tmp_tbl.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_insert_select.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_mix_innodb_myisam.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_000012.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_000015.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_deadlock_innodb.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_flushlog_loop.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_loaddata_s.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_000001.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_EE_err.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_charset.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_ddl.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_err_ignoredtable.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_flsh_tbls.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_loaddata_m.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_log.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_max_relay_size.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_multi_query.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_mystery22.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_reset_slave.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_rewrt_db.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_sp.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_timezone.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_until.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_user_variables.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_view.result:
        Import patch wl1012.patch
      mysql-test/t/binlog_row_binlog-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_000012.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_000015-slave.sh:
        Import patch wl1012.patch
      mysql-test/t/rpl_000015.slave-mi:
        Import patch wl1012.patch
      mysql-test/t/rpl_000015.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_deadlock_innodb-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_flushlog_loop-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_flushlog_loop-master.sh:
        Import patch wl1012.patch
      mysql-test/t/rpl_flushlog_loop-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_flushlog_loop-slave.sh:
        Import patch wl1012.patch
      mysql-test/t/rpl_flushlog_loop.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_loaddata_s-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_loaddata_s.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_000001-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_err_ignoredtable-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_loaddata_m-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_log-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_log-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_mystery22.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_rewrt_db-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_rewrt_db.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_sp-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_sp-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_sp.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_timezone-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_timezone-slave.opt:
        Import patch wl1012.patch
      BUILD/SETUP.sh:
        Import patch wl1012.patch
      Makefile.am:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_timezone.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_until.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_view.test:
        Import patch wl1012.patch
      client/Makefile.am:
        Import patch wl1012.patch
      client/client_priv.h:
        Import patch wl1012.patch
      client/mysqlbinlog.cc:
        Import patch wl1012.patch
      configure.in:
        Import patch wl1012.patch
      include/Makefile.am:
        Import patch wl1012.patch
      include/base64.h:
        Import patch wl1012.patch
      include/config-win.h:
        Import patch wl1012.patch
      include/my_base.h:
        Import patch wl1012.patch
      include/my_global.h:
        Import patch wl1012.patch
      mysql-test/Makefile.am:
        Import patch wl1012.patch
      mysql-test/mysql-test-run.pl:
        Import patch wl1012.patch
      mysql-test/mysql-test-run.sh:
        Import patch wl1012.patch
      mysql-test/r/date_formats.result:
        Import patch wl1012.patch
      mysql-test/r/flush_block_commit.result:
        Import patch wl1012.patch
      mysql-test/r/innodb.result:
        Import patch wl1012.patch
      mysql-test/r/rpl000017.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_change_master.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_commit_after_flush.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_create_database.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_do_grant.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_loaddata.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_log_pos.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_multi_delete.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_multi_update.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_openssl.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_replicate_do.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_rotate_logs.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_server_id1.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_server_id2.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_temporary.result:
        Import patch wl1012.patch
      mysql-test/r/user_var-binlog.result:
        Import patch wl1012.patch
      mysql-test/t/create_select_tmp.test:
        Import patch wl1012.patch
      mysql-test/t/date_formats.test:
        Import patch wl1012.patch
      mysql-test/t/disabled.def:
        Import patch wl1012.patch
      mysql-test/t/innodb.test:
        Import patch wl1012.patch
      mysql-test/t/mysqlbinlog.test:
        Import patch wl1012.patch
      mysql-test/t/mysqlbinlog2.test:
        Import patch wl1012.patch
      mysql-test/t/rpl000002.test:
        Import patch wl1012.patch
      mysql-test/t/rpl000006.test:
        Import patch wl1012.patch
      mysql-test/t/rpl000013.test:
        Import patch wl1012.patch
      mysql-test/t/rpl000017.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_auto_increment.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_change_master.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_commit_after_flush.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_create_database.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_do_grant.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_drop.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_empty_master_crash.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_failed_optimize.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_heap.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_insert_id.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_insert_ignore.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_loaddata.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_log_pos.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_multi_delete.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_multi_update.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_multi_update2.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_multi_update3.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_openssl.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_redirect.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_relayrotate.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_replicate_do.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_rotate_logs.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_server_id1.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_sp_effects.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_temporary.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_trigger.test:
        Import patch wl1012.patch
      mysql-test/t/sp.test:
        Import patch wl1012.patch
      mysql-test/t/user_var-binlog.test:
        Import patch wl1012.patch
      mysys/Makefile.am:
        Import patch wl1012.patch
      mysys/base64.c:
        Import patch wl1012.patch
      sql/Makefile.am:
        Import patch wl1012.patch
      sql/ha_innodb.cc:
        Import patch wl1012.patch
      sql/ha_innodb.h:
        Import patch wl1012.patch
      sql/ha_partition.cc:
        Import patch wl1012.patch
      sql/handler.cc:
        Import patch wl1012.patch
      sql/handler.h:
        Import patch wl1012.patch
      sql/item_sum.cc:
        Import patch wl1012.patch
      sql/log.cc:
        Import patch wl1012.patch
      sql/log_event.cc:
        Import patch wl1012.patch
      sql/log_event.h:
        Import patch wl1012.patch
      sql/mysql_priv.h:
        Import patch wl1012.patch
      sql/mysqld.cc:
        Import patch wl1012.patch
      sql/rpl_filter.h:
        Import patch wl1012.patch
      sql/set_var.cc:
        Import patch wl1012.patch
      sql/share/errmsg.txt:
        Import patch wl1012.patch
      sql/slave.cc:
        Import patch wl1012.patch
      sql/slave.h:
        Import patch wl1012.patch
      sql/sp.cc:
        Import patch wl1012.patch
      sql/sp_head.cc:
        Import patch wl1012.patch
      sql/sql_acl.cc:
        Import patch wl1012.patch
      sql/sql_base.cc:
        Import patch wl1012.patch
      sql/sql_class.cc:
        Import patch wl1012.patch
      sql/sql_class.h:
        Import patch wl1012.patch
      sql/sql_delete.cc:
        Import patch wl1012.patch
      sql/sql_insert.cc:
        Import patch wl1012.patch
      sql/sql_lex.h:
        Import patch wl1012.patch
      sql/sql_list.h:
        Import patch wl1012.patch
      sql/sql_load.cc:
        Import patch wl1012.patch
      sql/sql_parse.cc:
        Import patch wl1012.patch
      sql/sql_plugin.cc:
        Import patch wl1012.patch
      sql/sql_rename.cc:
        Import patch wl1012.patch
      sql/sql_repl.h:
        Import patch wl1012.patch
      sql/sql_select.cc:
        Import patch wl1012.patch
      sql/sql_show.cc:
        Import patch wl1012.patch
      sql/sql_table.cc:
        Import patch wl1012.patch
      sql/sql_udf.cc:
        Import patch wl1012.patch
      sql/sql_union.cc:
        Import patch wl1012.patch
      sql/sql_update.cc:
        Import patch wl1012.patch
      sql/sql_yacc.yy:
        Import patch wl1012.patch
      sql/table.cc:
        Import patch wl1012.patch
      sql/table.h:
        Import patch wl1012.patch
      storage/innobase/include/lock0lock.h:
        Import patch wl1012.patch
      storage/innobase/include/row0mysql.h:
        Import patch wl1012.patch
      storage/innobase/include/row0vers.h:
        Import patch wl1012.patch
      storage/innobase/lock/lock0lock.c:
        Import patch wl1012.patch
      storage/innobase/row/row0mysql.c:
        Import patch wl1012.patch
      storage/innobase/row/row0sel.c:
        Import patch wl1012.patch
      storage/innobase/row/row0vers.c:
        Import patch wl1012.patch
      09346e6e
  10. 17 Nov, 2005 1 commit
    • unknown's avatar
      A fix and a test case for Bug#14077 "Failure to replicate a stored · b6707610
      unknown authored
      function with a cursor". Enable execution of SELECT queries in SP on slave.
      
      
      mysql-test/r/rpl_sp.result:
        Test results were fixed (Bug#14077).
      mysql-test/t/rpl_sp.test:
        Add a test case for Bug#14077 "Failure to replicate a stored 
        function with a cursor".
      sql/sql_parse.cc:
        Do not rewrite SELECTs with DOs on slave: if this SELECT was for a stored
        routine cursor, slave must be able to execute the SELECT in order to
        open a cursor.
        At the moment the bug is present only in stored functions and stored
        procedures called from stored functions, because, due to
        stored procedure unfolding for replication, top level stored procedures
        are never executed on slave.
      b6707610
  11. 10 Nov, 2005 1 commit
    • unknown's avatar
      WL#2971 "change log-bin-trust-routine-creators=0 to apply only to functions". · 5d9c8e95
      unknown authored
      Indeed now that stored procedures CALL is not binlogged, but instead the invoked substatements are,
      the restrictions applied by log-bin-trust-routine-creators=0 are superfluous for procedures.
      They still need to apply to functions where function calls are written to the binlog (for example as "DO myfunc(3)").
      We rename the variable to log-bin-trust-function-creators but allow the old name until some future version (and issue a warning if old name is used).
      
      
      mysql-test/mysql-test-run.pl:
        update to new option name
      mysql-test/mysql-test-run.sh:
        update to new option name
      mysql-test/mysql_test_run_new.c:
        update to new option name
      mysql-test/r/rpl_sp.result:
        result update
      mysql-test/t/rpl_sp-slave.opt:
        we need to skip this error to not hit BUG#14769
      mysql-test/t/rpl_sp.test:
        Test update:
        1) as log-bin-trust-routine-creators now affects only functions, the testing of this option, which was
        mainly done on procedures, is moved to functions
        2) cleanup is simplified; and instead of many SHOW BINLOG EVENTS we do a big one in the end, which is more
        maintainable.
        3) we test a few more function and procedures cases to see how they replicate.
        4) removing out-of-date comments
      sql/item_func.cc:
        This warning is wrong since binlogging of functions was changed in August. If a function fails
        in the middle, it will be binlogged with its error code (i.e. properly).
      sql/mysql_priv.h:
        variable name changed
      sql/mysqld.cc:
        option name changes. A precision about --read-only.
      sql/set_var.cc:
        a new class sys_var_trust_routine_creators to be able to issue a "this is a deprecated variable" warning if used.
      sql/set_var.h:
        new class to be able to issue a "this is a deprecated variable" warning if used.
      sql/share/errmsg.txt:
        routine -> function
      sql/sp.cc:
        log-bin-trust-routine-creators now applies only to functions.
      sql/sql_parse.cc:
        1) sending ER_FAILED_ROUTINE_BREAK_BINLOG is wrong since August as we don't binlog CALL anymore but instead binlog the substatements;
        the clear_error() goes away too as it was necessary only when we created a binlog event from the "CALL" statement.
        2) log-bin-trust-routine-creators now applies only to functions.
      sql/sql_trigger.cc:
        comments.
      5d9c8e95
  12. 12 Oct, 2005 1 commit
    • unknown's avatar
      Temporary solution for bug #13969 "Routines which are replicated from master · f48db1bc
      unknown authored
      can't be executed on slave". It will be possible to solve this problem
      in more correct way when we will implement WL#2897 "Complete definer support
      in the stored routines".
      
      
      mysql-test/r/rpl_sp.result:
        Added test for bug #13969 "Routines which are replicated from master can't be
        executed on slave".
      mysql-test/t/rpl_sp.test:
        Added test for bug #13969 "Routines which are replicated from master can't be
        executed on slave".
      sql/sp_head.cc:
        sp_change_security_context():
          Currently the slave replication thread creates all stored routines with
          definer ''@'', ignoring the actual definer. When the slave replication
          thread executes these routines, it ignores the definer, and so the routines
          work. However, in case of a failover, the replica operates in a normal mysqld
          mode and changes security context to the definer when executing a routine.
          A proper fix for this issue is described in WL#2897 "Complete definer support
          in the stored routines". Until this WL is implemented, we need this temporary
          fix, which ignores errors when changing security context.
      f48db1bc
  13. 01 Sep, 2005 1 commit
    • unknown's avatar
      mysqltest improvements, updates after merge + test for 5.0 · e2965fb2
      unknown authored
      client/mysqltest.c:
        Fixes after merge
      mysql-test/r/type_newdecimal.result:
        Update results after correction of testcase
      mysql-test/t/flush_read_lock_kill.test:
        Found extra delimiter
      mysql-test/t/kill.test:
        Found extra delimiter
      mysql-test/t/rpl_loaddata.test:
        Found extra delimiter
      mysql-test/t/rpl_sp.test:
        Found extra delimiter
      mysql-test/t/strict.test:
        Convert "!$1292" to "--error 1292"
      mysql-test/t/type_newdecimal.test:
        Missing ;
      e2965fb2
  14. 25 Aug, 2005 1 commit
    • unknown's avatar
      Fix for BUG#12335 (SP replication) : New binlogging strategy for stored PROCEDUREs/FUNCTIONs. · 8a5e5274
      unknown authored
      "Interleaved SPs execution is now binlogged properly, "SELECT spfunc()" is binlogged too.
      The known remaining issue is binlogging/replication of "a routine is deleted while it is executed" scenario.
      
      
      mysql-test/r/rpl_sp.result:
        Fix for BUG#12335: updated test cases/results
      mysql-test/t/rpl_sp.test:
        Fix for BUG#12335: updated test cases/results
      sql/item.cc:
        Fix for BUG#12335 (SP replication): 
         - Added Item_name_const 'function'
         - Addede 'delete reuse' to call dtor on item reuse
      sql/item.h:
        Fix for BUG#12335 (SP replication) : Added Item_name_const 'function' + code cleanup
      sql/item_create.cc:
         Fix for BUG#12335 (SP replication) : Added Item_name_const 'function'
      sql/item_create.h:
         Fix for BUG#12335 (SP replication) : Added Item_name_const 'function'
      sql/item_func.cc:
        Fix for BUG#12335 (SP replication) : binary log is now constrolled from within execute_function.
      sql/lex.h:
        Fix for BUG#12335 (SP replication) : Added Item_name_const 'function'
      sql/log.cc:
        Fix for BUG#12335 (SP replication) : Added MYSQL_LOG::{start|stop}_union_events to allow
        one to temporary disable binlogging but collect a 'union' information about binlog write
        calls.
      sql/mysql_priv.h:
        Fix for BUG#12335 (SP replication)
      sql/sp_head.cc:
        Fix for BUG#12335 (SP replication) : Now we use different SP binlogging strategy, grep for 
        StoredRoutinesBinlogging for details
      sql/sp_head.h:
        Comments added
      sql/sp_pcontext.h:
        Comments added
      sql/sp_rcontext.h:
        Comments added
      sql/sql_class.cc:
        Fix for BUG#12335 (SP replication) : Now we use different SP binlogging strategy, grep for 
        StoredRoutinesBinlogging for details
      sql/sql_class.h:
        Fix for BUG#12335 (SP replication) : Added MYSQL_LOG::{start|stop}_union_events to allow
        one to temporary disable binlogging but collect a 'union' information about binlog write
        calls.
      sql/sql_delete.cc:
        Fix for BUG#12335: check THD::query_str_binlog_unsuitable when writing to binlog.
      sql/sql_insert.cc:
        Fix for BUG#12335: check THD::query_str_binlog_unsuitable when writing to binlog.
      sql/sql_lex.cc:
        Fix for BUG#12335 (SP replication): Add ability to extract previous returned token from
        the tokenizer.
      sql/sql_lex.h:
        Fix for BUG#12335 (SP replication): Add ability to extract previous returned token from
        the tokenizer.
      sql/sql_parse.cc:
        Fix for BUG#12335 (SP replication) : Now we use different SP binlogging strategy, grep for 
        StoredRoutinesBinlogging for details
      sql/sql_update.cc:
        Fix for BUG#12335: check THD::query_str_binlog_unsuitable when writing to binlog.
      sql/sql_yacc.yy:
        Fix for BUG#12335 (SP replication) : When creating Item_splocal, remember where it is located
        in the query.
      8a5e5274
  15. 19 Jul, 2005 1 commit
    • unknown's avatar
      Fix for bugs #5892/6182/8751/8758/10994 (based on Antony's patch) · a32bf7fb
      unknown authored
        "Triggers have the wrong namespace"
        "Triggers: duplicate names allowed"
        "Triggers: CREATE TRIGGER does not accept fully qualified names"
        "SHOW TRIGGERS"
      
      
      mysql-test/r/information_schema.result:
        Added tests for new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command.
      mysql-test/r/information_schema_db.result:
        INFORMATION_SCHEMA.TRIGGERS view was added.
      mysql-test/r/rpl_sp.result:
        Now DROP TRIGGER interprets first part of trigger identifier as database
        name and not as table name. Adjusted tests properly.
      mysql-test/r/trigger.result:
        Now DROP TRIGGER interprets first part of trigger identifier as database
        name and not as table name. Adjusted tests properly.
        Added test checking that triggers have database wide namespace.
        Added test for bug #8791 "Triggers: Allowed to create triggers on a subject
        table in a different DB".
      mysql-test/r/view.result:
        Now DROP TRIGGER interprets first part of trigger identifier as database
        name and not as table name. Adjusted tests properly.
      mysql-test/t/information_schema.test:
        Added tests for new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command.
      mysql-test/t/rpl_sp.test:
        Now DROP TRIGGER interprets first part of trigger identifier as database
        name and not as table name. Adjusted tests properly.
      mysql-test/t/trigger.test:
        Now DROP TRIGGER interprets first part of trigger identifier as database
        name and not as table name. Adjusted tests properly.
        Added test checking that triggers have database wide namespace.
        Added test for bug #8791 "Triggers: Allowed to create triggers on a subject
        table in a different DB".
      mysql-test/t/view.test:
        Now DROP TRIGGER interprets first part of trigger identifier as database
        name and not as table name. Adjusted tests properly.
      sql/handler.cc:
        Added .TRN tho the list of known file extensions assoicated with tables.
      sql/item.h:
        trg_action_time_type/trg_event_type enums:
          Added TRG_ACTION_MAX/TRG_EVENT_MAX elements which should be used instead of
          magical values in various loops where we iterate through all types of trigger
          action times or/and trigger event types.
      sql/lex.h:
        Added new symbol "TRIGGERS".
      sql/mysql_priv.h:
        Added declaration of constant holding extension for trigger name (.TRN) files.
      sql/mysqld.cc:
        Added statistical variable for SHOW TRIGGERS command.
      sql/share/errmsg.txt:
        Added error message saying that one attempts to create trigger in wrong schema.
      sql/sp.cc:
        Replaced magical values with TRG_EVENT_MAX/TRG_ACTION_MAX constants.
      sql/sql_base.cc:
        open_unireg_entry():
          Now Table_triggers_list::check_n_load() has one more argument which
          controls whether we should prepare Table_triggers_list with fully functional
          triggers or load only their names.
      sql/sql_lex.h:
        Added element for new SHOW TRIGGERS command to enum_sql_command enum.
      sql/sql_parse.cc:
        prepare_schema_table():
          Added support for SHOW TRIGGERS statement.
      sql/sql_show.cc:
        Added new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command.
      sql/sql_table.cc:
        mysql_rm_table_part2():
          Replaced simple deletion of .TRG file with call to
          Table_triggers_list::drop_all_triggers which will also delete .TRN files
          for all triggers associated with table.
      sql/sql_trigger.cc:
        Now triggers have database wide namespace. To support it we create special .TRN
        file with same name as trigger for each trigger. This file contains name of
        trigger's table so one does not need to specify it explicitly in DROP TRIGGER.
        Moreover DROP TRIGGER treats first part of trigger identifier as database name
        now. Updated mysql_create_or_drop_trigger() routine and
        Table_triggers_list::create_trigger()/drop_trigger()/check_n_load() methods
        accordingly. Added add_table_for_trigger() routine and
        Table_triggers_list::drop_all_triggers() method.
        
        Added Table_triggers_list::get_trigger_info() for obtaining trigger metadata.
      sql/sql_trigger.h:
        Table_triggers_list:
          Use TRG_EVENT_MAX, TRG_ACTION_MAX instead of magic values.
          Added get_trigger_info() method for obtaining trigger's meta-data.
          Added drop_all_triggers() method which drops all triggers for table.
          Added declarations of trg_action_time_type_names/trg_event_type_names
          arrays which hold names of triggers action time types  and event types.
      sql/sql_yacc.yy:
        Changed grammar for CREATE/DROP TRIGGER to support database wide trigger
        namespace. Added new SHOW TRIGGERS statement.
      sql/table.h:
        enum enum_schema_tables:
          Added constant for new INFORMATION_SCHEMA.TRIGGERS view.
      a32bf7fb
  16. 06 May, 2005 1 commit
    • unknown's avatar
      Dmitri please review. Fix for BUG#10417 "CREATE TRIGGER not written to binlog": · 6f83de16
      unknown authored
      writing DROP and CREATE TRIGGER to binlog, disabling binlogging
      of substatements, testing.
      
      
      mysql-test/r/rpl_sp.result:
        result update
      mysql-test/t/rpl_sp.test:
        removing useless lines, plus testing replication of triggers
      sql/sql_trigger.cc:
        trigger can be used to destroy slave, so only SUPER can create it by default.
        If create|drop goes ok, binlog CREATE TRIGGER and DROP TRIGGER.
      sql/sql_trigger.h:
        disable binlogging of substatements of triggers (even if now triggers
        can't do updates)
      6f83de16
  17. 05 May, 2005 2 commits
    • unknown's avatar
      making rpl_sp.test hostname-independent · 481e743b
      unknown authored
      mysql-test/t/rpl_sp.test:
        making test hostname-independent (don't know why the problem didn't appear on my machine)
      mysql-test/r/rpl_sp.result:
        result update
      481e743b
    • unknown's avatar
      Approximative fixes for BUG#2610,2611,9100 i.e. WL#2146... · af12ff65
      unknown authored
        Approximative fixes for BUG#2610,2611,9100 i.e. WL#2146 binlogging/replication of routines (stored procs and functions).
        Approximative, because it's using our binlogging way (what we call "query"-level) and this is not as good as record-level binlog (5.1) would be. It imposes several
        limitations to routines, and has caveats (which I'll document, and for which the server will try to issue errors but that is not always possible).
        Reason I don't propagate caller info to the binlog as planned is that on master and slave
        users may be different; even with that some caveats would remain.
      
      
      mysql-test/mysql-test-run.sh:
        In the testsuite we know what we do, we are not creating nasty routines, and breaking binlog is ok except in rpl_sp.
      mysql-test/r/blackhole.result:
        Updating results now that 4.1 has been merged
      mysql-test/valgrind.supp:
            Some suppressions for Valgrind (useful on my machine Suse 9.1);
            this is just adding to the already existing suppressions of pthread and dl.
      sql/item_func.cc:
            Don't binlog the substatements when executing a function. If the function
            is declared to modify data and does not complete, warning "broken binlog".
            Note that SELECT myfunc() will not be binlogged even if myfunc() updates data (will be documented);
            but INSERT INTO t VALUES(myfunc()) will be binlogged (what decides is if the caller
            gets binlogged; the function changes nothing to binlogging).
      sql/log_event.cc:
            Just making functions which can be re-used when we binlog more strings
            in status_vars in Query_log_event (e.g. one day "user", "host").
      sql/log_event.h:
        comment
      sql/mysql_priv.h:
            --log-bin-trust-routine-creators
      sql/mysqld.cc:
            --log-bin-trust-routine-creators
      sql/set_var.cc:
            --log-bin-trust-routine-creators
      sql/share/errmsg.txt:
        error messages to warn about problems with routines and binlog
      sql/slave.cc:
            If in a routine, replication table inclusion/exclusion rules always answer "replicate!" (see comment in code).
      sql/sp.cc:
            If binlog is on: errors if one wants to create a non-deterministic update routine
            (repeatability problem - note that the test is not perfect for functions) or does not have SUPER (because routines can easily
            be made to destroy slave's data with just CREATE ROUTINE and EXECUTE priv on master).
            --log-bin-trust-routine-creators removes these errors.
            Binlogging of CREATE PROCEDURE|FUNCTION.
      sql/sql_acl.cc:
            No thd==0 in tables_ok().
      sql/sql_parse.cc:
            Binlogging of CALL (and not of the substatements of the SP).
            If SP returns error, we don't binlog it (see comment); we push warning in this case.
            Binlogging of ALTER|DROP PROCEDURE|FUNCTION with safety messages.
      af12ff65