[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.188.178.1: ~ $
# BUG#13684: 
#   SP: DROP PROCEDURE|FUNCTION IF EXISTS not binlogged if routine 
#   does not exist
#   
#   There is an inconsistency with DROP DATABASE IF EXISTS, DROP
#   TABLE IF EXISTS and DROP VIEW IF EXISTS: those are binlogged even
#   if the DB or TABLE does not exist, whereas DROP PROCEDURE IF
#   EXISTS does not. It would be nice or at least consistent if DROP
#   PROCEDURE/STATEMENT worked the same too.
#
# Description: 
#   DROP PROCEDURE|FUNCTION IF EXISTS does not get binlogged whereas DROP
#   DATABASE|TABLE|TRIGGER|... IF EXISTS do.
#
#   Fixed DROP PROCEDURE|FUNCTION IF EXISTS by adding a call to
#   write_bin_log in mysql_execute_command. Checked also if all
#   documented "DROP (...) IF EXISTS" get binlogged. Left out DROP
#   SERVER IF EXISTS because it seems that it only gets binlogged when
#   using row event (see BUG#25705).
#
#   TODO: add DROP SERVER IF EXISTS to the test case when its
#   binlogging procedure gets fixed (BUG#25705). Furthermore, when
#   logging in RBR format the events that get logged are effectively in
#   RBR format and not in STATEMENT format meaning that one must needs
#   to be extra careful when writing a test for it, or change the CREATE
#   SERVER logging to always log as STATEMENT. You can quickly check this
#   by enabling the flag below $fixed_bug_25705=1 and watch the diff on
#   the STDOUT. More detail may be found on the generated reject file.
#   
#   Test is implemented as follows:
#
#       i) test each "drop if exists" (DDL), found in MySQL 5.1 manual, 
#          on inexistent objects (except for DROP SERVER);
#      ii) show binlog events;
#     iii) create an object for each drop if exists statement;
#      iv) issue "drop if exists" in existent objects.
#       v) show binlog events;
#
# References:
#  http://dev.mysql.com/doc/refman/5.1/en/sql-syntax-data-definition.html
#
--source include/have_log_bin.inc
RESET MASTER;

disable_warnings;

# test all "drop if exists" in manual with inexistent objects
DROP PROCEDURE IF EXISTS db_bug_13684.p;
DROP FUNCTION IF EXISTS db_bug_13684.f;
DROP TRIGGER IF EXISTS db_bug_13684.tr;
DROP VIEW IF EXISTS db_bug_13684.v;
DROP EVENT IF EXISTS db_bug_13684.e;
DROP TABLE IF EXISTS db_bug_13684.t;
DROP DATABASE IF EXISTS db_bug_13684;

let $fixed_bug_25705 = 0;

if($fixed_bug_25705)
{
  DROP SERVER IF EXISTS s_bug_13684;
}
--source include/show_binlog_events.inc

# test drop with existing values

# create 
CREATE DATABASE db_bug_13684;

CREATE TABLE db_bug_13684.t (a int);

CREATE EVENT db_bug_13684.e
  ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
  DO
    UPDATE db_bug_13684.t SET a = a + 1;

CREATE VIEW db_bug_13684.v 
  AS SELECT * FROM db_bug_13684.t;

CREATE TRIGGER db_bug_13684.tr BEFORE INSERT ON db_bug_13684.t
  FOR EACH ROW BEGIN
  END;

CREATE PROCEDURE db_bug_13684.p (OUT p1 INT)
  BEGIN
  END;

CREATE FUNCTION db_bug_13684.f (s CHAR(20))
  RETURNS CHAR(50) DETERMINISTIC
  RETURN s;

if($fixed_bug_25705)
{
  CREATE SERVER s_bug_13684
    FOREIGN DATA WRAPPER mysql
    OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test');
}

--source include/show_binlog_events.inc

# drop existing 
DROP PROCEDURE IF EXISTS db_bug_13684.p;
DROP FUNCTION IF EXISTS db_bug_13684.f;
DROP TRIGGER IF EXISTS db_bug_13684.tr;
DROP VIEW IF EXISTS db_bug_13684.v;
DROP EVENT IF EXISTS db_bug_13684.e;
DROP TABLE IF EXISTS db_bug_13684.t;
DROP DATABASE IF EXISTS db_bug_13684;
if($fixed_bug_25705)
{
  DROP SERVER IF EXISTS s_bug_13684;
}

--source include/show_binlog_events.inc

enable_warnings;

Filemanager

Name Type Size Permission Actions
binlog_base64_flag.test File 5.53 KB 0644
binlog_bug23533.test File 1.48 KB 0644
binlog_bug36391-master.opt File 32 B 0644
binlog_bug36391.test File 1.14 KB 0644
binlog_cache_write_failure-master.opt File 97 B 0644
binlog_cache_write_failure.test File 5.43 KB 0644
binlog_checksum.test File 1.04 KB 0644
binlog_crash_safe_master_checksum-master.opt File 51 B 0644
binlog_crash_safe_master_checksum.test File 2.56 KB 0644
binlog_database.test File 369 B 0644
binlog_delete_and_flush_index.test File 3.53 KB 0644
binlog_dmls_on_tmp_tables_readonly.test File 2.25 KB 0644
binlog_drop_if_exists.test File 3.47 KB 0644
binlog_enforce_gtid_consistency.test File 5.72 KB 0644
binlog_error_action-master.opt File 88 B 0644
binlog_error_action.test File 16.82 KB 0644
binlog_format_switch_in_tmp_table.test File 2.77 KB 0644
binlog_grant.test File 1.7 KB 0644
binlog_gtid_cache-master.opt File 117 B 0644
binlog_gtid_cache.test File 569 B 0644
binlog_gtid_errors-master.opt File 149 B 0644
binlog_gtid_errors.test File 7.28 KB 0644
binlog_gtid_exhausted-master.opt File 17 B 0644
binlog_gtid_exhausted.test File 2.34 KB 0644
binlog_gtid_implicit_commit.test File 121 B 0644
binlog_gtid_innodb.test File 132 B 0644
binlog_gtid_mysqlbinlog_row.test File 197 B 0644
binlog_gtid_mysqlbinlog_row_innodb.test File 707 B 0644
binlog_gtid_mysqlbinlog_row_myisam.test File 662 B 0644
binlog_gtid_mysqlbinlog_start_stop.test File 445 B 0644
binlog_gtid_row_ctype_ucs.test File 265 B 0644
binlog_gtid_simple_recovery.test File 4.7 KB 0644
binlog_gtid_stm_ctype_ucs.test File 280 B 0644
binlog_gtid_utils.test File 3.11 KB 0644
binlog_hexdump.test File 219 B 0644
binlog_implicit_commit.test File 290 B 0644
binlog_incident-master.opt File 53 B 0644
binlog_incident.test File 1.05 KB 0644
binlog_incident_ignore-master.opt File 77 B 0644
binlog_incident_ignore.test File 151 B 0644
binlog_index-master.opt File 16 B 0644
binlog_index.test File 16.48 KB 0644
binlog_innodb.test File 139 B 0644
binlog_innodb_row.test File 2.69 KB 0644
binlog_killed.test File 10.52 KB 0644
binlog_killed_simulate-master.opt File 39 B 0644
binlog_killed_simulate.test File 2.67 KB 0644
binlog_max_extension.test File 2.57 KB 0644
binlog_mixed_cache_stat.test File 276 B 0644
binlog_mixed_load_data.test File 501 B 0644
binlog_multi_engine.test File 3.18 KB 0644
binlog_mysqlbinlog-cp932-master.opt File 23 B 0644
binlog_mysqlbinlog-cp932.test File 1.07 KB 0644
binlog_mysqlbinlog_base64.test File 2.59 KB 0644
binlog_mysqlbinlog_concat.test File 4.1 KB 0644
binlog_mysqlbinlog_filter.test File 2.07 KB 0644
binlog_mysqlbinlog_raw.test File 3.53 KB 0644
binlog_mysqlbinlog_row.test File 204 B 0644
binlog_mysqlbinlog_row_innodb.test File 714 B 0644
binlog_mysqlbinlog_row_myisam.test File 669 B 0644
binlog_mysqlbinlog_row_trans.test File 4.55 KB 0644
binlog_mysqlbinlog_start_stop.test File 452 B 0644
binlog_mysqlbinlog_start_stop_slave_server_id.test File 1.96 KB 0644
binlog_old_versions.test File 5.6 KB 0644
binlog_query_filter_rules-master.opt File 40 B 0644
binlog_query_filter_rules.test File 854 B 0644
binlog_reset_master.test File 998 B 0644
binlog_rewrite.test File 3.01 KB 0644
binlog_rotate_bgc_sync.test File 3.62 KB 0644
binlog_row_binlog-master.opt File 55 B 0644
binlog_row_binlog.test File 782 B 0644
binlog_row_cache_stat.test File 273 B 0644
binlog_row_ctype_cp932.test File 267 B 0644
binlog_row_ctype_ucs.test File 272 B 0644
binlog_row_drop_tbl.test File 214 B 0644
binlog_row_drop_tmp_tbl.test File 232 B 0644
binlog_row_innodb_stat-master.opt File 26 B 0644
binlog_row_insert_select.test File 510 B 0644
binlog_row_mix_innodb_myisam-master.opt File 97 B 0644
binlog_row_mix_innodb_myisam.test File 584 B 0644
binlog_row_mysqlbinlog_db_filter.test File 4.1 KB 0644
binlog_row_mysqlbinlog_verbose.test File 5.59 KB 0644
binlog_row_query_log_events.test File 1.18 KB 0644
binlog_server_id.test File 1 KB 0644
binlog_server_start_options.test File 3.63 KB 0644
binlog_sf.test File 2.67 KB 0644
binlog_simplified_binlog_gtid_recovery-master.opt File 16 B 0644
binlog_spurious_ddl_errors-master.opt File 29 B 0644
binlog_spurious_ddl_errors.test File 4.16 KB 0644
binlog_sql_mode.test File 4.75 KB 0644
binlog_start_comment.test File 1.01 KB 0644
binlog_statement_insert_delayed.test File 500 B 0644
binlog_stm_binlog-master.opt File 55 B 0644
binlog_stm_binlog.test File 740 B 0644
binlog_stm_blackhole.test File 267 B 0644
binlog_stm_cache_stat.test File 279 B 0644
binlog_stm_ctype_cp932.test File 317 B 0644
binlog_stm_ctype_ucs.test File 287 B 0644
binlog_stm_do_db-master.opt File 38 B 0644
binlog_stm_do_db.test File 2.8 KB 0644
binlog_stm_drop_tbl.test File 229 B 0644
binlog_stm_drop_tmp_tbl.test File 247 B 0644
binlog_stm_innodb_stat-master.opt File 26 B 0644
binlog_stm_insert_select.test File 291 B 0644
binlog_stm_mix_innodb_myisam-master.opt File 145 B 0644
binlog_stm_mix_innodb_myisam.test File 551 B 0644
binlog_stm_ps.test File 866 B 0644
binlog_stm_row.test File 3.12 KB 0644
binlog_stm_unsafe_warning-master.opt File 38 B 0644
binlog_stm_unsafe_warning.test File 5.61 KB 0644
binlog_stm_user_variables.test File 3.16 KB 0644
binlog_switch_inside_trans.test File 7.6 KB 0644
binlog_tmp_table.test File 4.43 KB 0644
binlog_truncate_innodb-master.opt File 15 B 0644
binlog_truncate_kill.test File 1.96 KB 0644
binlog_truncate_myisam.test File 316 B 0644
binlog_unsafe-master.opt File 65 B 0644
binlog_unsafe.test File 26.31 KB 0644
binlog_unsafe_stmt_capable_engine-master.opt File 41 B 0644
binlog_unsafe_stmt_capable_engine.test File 12.55 KB 0644
binlog_use_gtid_skip.test File 1.03 KB 0644
binlog_variables_log_bin-master.opt File 16 B 0644
binlog_variables_log_bin.test File 135 B 0644
binlog_variables_log_bin_index-master.opt File 70 B 0644
binlog_variables_log_bin_index.test File 135 B 0644
binlog_variables_relay_log-master.opt File 24 B 0644
binlog_variables_relay_log.test File 183 B 0644
binlog_variables_relay_log_index-master.opt File 86 B 0644
binlog_variables_relay_log_index.test File 183 B 0644
binlog_write_error.test File 2.37 KB 0644
binlog_xa_handling.test File 769 B 0644
disabled.def File 404 B 0644
show_binlog_events_no_lock.test File 2.27 KB 0644