[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.133.152.151: ~ $
--echo
--echo
connection master;

if ($is_temporary)
{
  --let $_temporary=TEMPORARY
}

CREATE TABLE t2(c1 INT, c2 char(10));
INSERT INTO t2 VALUES(1, 'abc'), (2, 'abc');

--echo
--echo # The original query should be binlogged if the table does not exist.
--echo # ------------------------------------------------------------------
--echo
let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
eval CREATE $_temporary TABLE IF NOT EXISTS t1 (c1 INT , c2 INT, c3 char(10), c4 INT KEY)
  SELECT 'abc' AS c3, 1 AS c4;
source include/show_binlog_events.inc;

--sync_slave_with_master
--connection master

if (!$is_temporary)
{
  --let $diff_tables= master:t1,slave:t1
  --source include/diff_tables.inc
}

--echo
--echo # The statement should be binlogged as two events. one is 
--echo # 'CREATE $_temporary TABLE IF NOT EXISTS ..', another one is
--echo # 'INSERT ... SELECT'.
--echo # ------------------------------------------------------------------
--echo
let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
eval CREATE $_temporary TABLE IF NOT EXISTS t1
  SELECT 'abc', 2;
source include/show_binlog_events.inc;

--sync_slave_with_master
--connection master

if (!$is_temporary)
{
  --let $diff_tables= master:t1,slave:t1
  --source include/diff_tables.inc
}

--echo
--echo # Verify if it can be binlogged with right database name when the table
--echo # is not in the default database
--echo
--disable_warnings
DROP DATABASE IF EXISTS db1;
--enable_warnings
CREATE DATABASE db1;
USE db1;

let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
eval CREATE $_temporary TABLE IF NOT EXISTS test.t1
  SELECT 'abc', 20;
source include/show_binlog_events.inc;

--sync_slave_with_master
--connection master

if (!$is_temporary)
{
  --let $diff_tables= master:test.t1,slave:test.t1
  --source include/diff_tables.inc
}
USE test;
DROP DATABASE db1;

--echo
--echo # It should be binlogged as 'REPLACE ... SELECT'
--echo # if the original statement has option REPLACE
--echo
let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
eval CREATE $_temporary TABLE IF NOT EXISTS t1
  REPLACE SELECT '123', 2;
source include/show_binlog_events.inc;

--sync_slave_with_master
--connection master

if (!$is_temporary)
{
  --let $diff_tables= master:t1,slave:t1
  --source include/diff_tables.inc
}

--echo
--echo # It should be binlogged as 'INSERT IGNORE... SELECT'
--echo # if the original statement has option IGNORE 
--echo
let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
eval CREATE $_temporary TABLE IF NOT EXISTS t1
  IGNORE SELECT '123', 2;
source include/show_binlog_events.inc;

--sync_slave_with_master
--connection master

if (!$is_temporary)
{
  --let $diff_tables= master:t1,slave:t1
  --source include/diff_tables.inc
}

--echo
--echo # Nothing should be binlogged if error happens and no any row is inserted
--echo
let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
--error ER_DUP_ENTRY
eval CREATE $_temporary TABLE IF NOT EXISTS t1
  SELECT '123', 2;
source include/show_binlog_events.inc;

--sync_slave_with_master
--connection master

if (!$is_temporary)
{
  --let $diff_tables= master:t1,slave:t1
  --source include/diff_tables.inc
}

--echo
--echo # Verify it can binlog well when there are some braces('(')
--echo
let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
eval CREATE $_temporary TABLE IF NOT EXISTS t1
  (SELECT '123', 3) UNION (SELECT '123', 4);
eval CREATE $_temporary TABLE IF NOT EXISTS t1
  REPLACE (SELECT 'abc', 3) UNION (SELECT 'abc', 4);
eval CREATE $_temporary TABLE IF NOT EXISTS t1
  IGNORE (SELECT '123', 3) UNION (SELECT '123', 4);
source include/show_binlog_events.inc;

--sync_slave_with_master
--connection master

if (!$is_temporary)
{
  --let $diff_tables= master:t1,slave:t1
  --source include/diff_tables.inc
}

if (!$is_temporary)
{
  --echo
  --echo # Throw a warning that table already exists and don't insert anything
  --echo
  CREATE VIEW t3 AS SELECT * FROM t2;
  let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);

  CREATE TABLE IF NOT EXISTS t3
    SELECT '123', 2;
  source include/show_binlog_events.inc;
  DROP VIEW t3;
}

--echo
--echo # The statement can be binlogged correctly when it is in a SP/EVENT/TRIGGER
--echo

--disable_warnings
DROP PROCEDURE IF EXISTS p1;
--enable_warnings
eval CREATE PROCEDURE p1(IN a INT)
  CREATE $_temporary TABLE IF NOT EXISTS t1 SELECT '123', a;

let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
call p1(500);
call p1(600);
source include/show_binlog_events.inc;

--sync_slave_with_master
--connection master

if (!$is_temporary)
{
  --let $diff_tables= master:t1,slave:t1
  --source include/diff_tables.inc
}
DROP PROCEDURE p1;

--echo
--echo # The statement can be binlogged correctly when it is in a prepared statement
--echo
eval PREPARE stm FROM "CREATE $_temporary TABLE IF NOT EXISTS t1 SELECT '123', ?";

let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
SET @a= 700;
EXECUTE stm USING @a;
SET @a= 800;
EXECUTE stm USING @a;
source include/show_binlog_events.inc;

--sync_slave_with_master
--connection master

if (!$is_temporary)
{
  --let $diff_tables= master:t1,slave:t1
  --source include/diff_tables.inc
}

--echo
--echo # The statement can be binlogged correctly when it is in a conditional comment
--echo
let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);

--echo # The whole statement in a conditional comment
eval /*!CREATE $_temporary TABLE IF NOT EXISTS t1
  SELECT 'abc', 900*/;
source include/show_binlog_events.inc;
let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);

--echo
--echo # There is an long comment before SELECT
eval /*!CREATE $_temporary /*blabla*/ TABLE IF NOT EXISTS t1
  SELECT 'abc', 901*/;
source include/show_binlog_events.inc;
let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);

--echo
--echo # Conditional comment starts just from SELECT
eval CREATE $_temporary TABLE IF NOT EXISTS t1
  /*!SELECT 'abc',*/ 902;
source include/show_binlog_events.inc;
let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);

--echo
--echo # Only SELECT keyword is in the conditional comment
eval CREATE $_temporary TABLE IF NOT EXISTS t1
  /*!SELECT*/ /*!'abc',*/ 904;
source include/show_binlog_events.inc;
let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);

--echo
--echo # Conditional comment is after SELECT keyword
eval CREATE $_temporary TABLE IF NOT EXISTS t1
  SELECT /*!'abc',*/ 903;
source include/show_binlog_events.inc;
let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);

--echo
--echo # Conditional comment ends just before SELECT keyword
eval /*!CREATE $_temporary TABLE IF NOT EXISTS t1
  */SELECT 'abc', 905;
source include/show_binlog_events.inc;

--sync_slave_with_master
--connection master

if (!$is_temporary)
{
  --let $diff_tables= master:t1,slave:t1
  --source include/diff_tables.inc
}

DROP TABLE t2;
eval DROP $_temporary TABLE t1;


Filemanager

Name Type Size Permission Actions
check_type.inc File 1.95 KB 0644
create_recursive_construct.inc File 17.38 KB 0644
create_recursive_construct_stmt_capable_engine.inc File 16.72 KB 0644
delayed_slave_wait_on_query.inc File 1.59 KB 0644
grep_pattern.inc File 598 B 0644
rpl_EE_err.test File 1.03 KB 0644
rpl_auto_increment.test File 8.43 KB 0644
rpl_auto_increment_insert_view.test File 1.37 KB 0644
rpl_auto_increment_invoke_trigger.test File 2.47 KB 0644
rpl_autoinc_func_invokes_trigger.test File 1.78 KB 0644
rpl_binlog_error.inc File 17.24 KB 0644
rpl_binlog_max_cache_size.test File 17.42 KB 0644
rpl_blackhole.test File 1.03 KB 0644
rpl_change_master.test File 10.5 KB 0644
rpl_change_master_bind.inc File 2.23 KB 0644
rpl_charset.test File 4.45 KB 0644
rpl_check_gtid.inc File 4.87 KB 0644
rpl_commit_after_flush.test File 296 B 0644
rpl_conflicts.test File 5.45 KB 0644
rpl_crash_safe.inc File 4.13 KB 0644
rpl_crash_safe.test File 7.61 KB 0644
rpl_db_stmts_ignored.inc File 1.7 KB 0644
rpl_ddl.test File 21.59 KB 0644
rpl_deadlock.test File 5.53 KB 0644
rpl_delete_no_where.test File 523 B 0644
rpl_do_table_filter_insensitive.inc File 492 B 0644
rpl_do_table_filter_sensitive.inc File 491 B 0644
rpl_drop_create_temp_table.inc File 29.76 KB 0644
rpl_drop_create_temp_table.test File 17.8 KB 0644
rpl_extra_col_master.test File 31.89 KB 0644
rpl_extra_col_slave.test File 28.7 KB 0644
rpl_failed_optimize.test File 666 B 0644
rpl_filters.test File 496 B 0644
rpl_flsh_tbls.test File 1.79 KB 0644
rpl_foreign_key.test File 1.7 KB 0644
rpl_generate_mts_gap.test File 1.62 KB 0644
rpl_get_master_version_and_clock.test File 2.88 KB 0644
rpl_gtid_drop_table.inc File 1.11 KB 0644
rpl_gtid_mts_relay_log_recovery.test File 3.78 KB 0644
rpl_gtid_temp_table_in_func_or_trigger.inc File 3.69 KB 0644
rpl_gtids_restart_slave_io_lost_trx.test File 3.48 KB 0644
rpl_heartbeat_2slaves.inc File 4.27 KB 0644
rpl_ignore_table_filter_insensitive.inc File 508 B 0644
rpl_ignore_table_filter_sensitive.inc File 506 B 0644
rpl_implicit_commit_binlog.test File 16.65 KB 0644
rpl_innodb.test File 4.49 KB 0644
rpl_insert_delayed.test File 4.63 KB 0644
rpl_insert_id.test File 15.12 KB 0644
rpl_insert_id_pk.test File 2.65 KB 0644
rpl_insert_ignore.test File 4.74 KB 0644
rpl_insert_ignore_gtid_on.inc File 466 B 0644
rpl_kill_query.inc File 4.14 KB 0644
rpl_loaddata.test File 8.72 KB 0644
rpl_loaddata_s.inc File 896 B 0644
rpl_loadfile.test File 1.07 KB 0644
rpl_log.test File 5.29 KB 0644
rpl_lower_case_table_names.test File 4.07 KB 0644
rpl_max_relay_size.test File 2.58 KB 0644
rpl_mixing_engines.inc File 22.85 KB 0644
rpl_mixing_engines.test File 54.43 KB 0644
rpl_mts_crash_safe.inc File 5.87 KB 0644
rpl_mts_crash_safe.test File 5.47 KB 0644
rpl_mts_execute_partial_trx_in_relay_log.inc File 1.11 KB 0644
rpl_mts_pending_events.inc File 4.91 KB 0644
rpl_mts_relay_log_recovery.test File 3.19 KB 0644
rpl_multi_query.test File 782 B 0644
rpl_multi_update.test File 805 B 0644
rpl_multi_update2.test File 1.35 KB 0644
rpl_multi_update3.test File 4.38 KB 0644
rpl_not_null.test File 10.7 KB 0644
rpl_parallel_load.test File 6.06 KB 0644
rpl_parallel_load_innodb.test File 6.96 KB 0644
rpl_partition.test File 7.88 KB 0644
rpl_record_compare.test File 2.08 KB 0644
rpl_relayrotate.test File 2.68 KB 0644
rpl_reset_slave.test File 3.45 KB 0644
rpl_rollback_to_savepoint.inc File 7.49 KB 0644
rpl_row_001.test File 1.92 KB 0644
rpl_row_UUID.test File 2.61 KB 0644
rpl_row_basic.test File 24.21 KB 0644
rpl_row_blob.test File 5.57 KB 0644
rpl_row_delayed_ins.test File 598 B 0644
rpl_row_empty_imgs.test File 5.67 KB 0644
rpl_row_event_max_size.inc File 3.76 KB 0644
rpl_row_func003.test File 3.07 KB 0644
rpl_row_idempotency.test File 8.39 KB 0644
rpl_row_img.test File 8.23 KB 0644
rpl_row_img_blobs.test File 5.82 KB 0644
rpl_row_img_diff_indexes.test File 9.11 KB 0644
rpl_row_show_relaylog_events.inc File 559 B 0644
rpl_row_sp002.test File 5.26 KB 0644
rpl_row_sp003.test File 2.01 KB 0644
rpl_row_sp006.test File 2.78 KB 0644
rpl_row_sp007.test File 1.46 KB 0644
rpl_row_tabledefs.test File 8.1 KB 0644
rpl_set_null.test File 2.85 KB 0644
rpl_show_binlog_events.inc File 364 B 0644
rpl_show_log_events_with_varying_options.inc File 364 B 0644
rpl_show_relaylog_events.inc File 1.96 KB 0644
rpl_start_stop_slave.test File 5.3 KB 0644
rpl_stm_EE_err2.test File 1.47 KB 0644
rpl_stm_create_if_not_exists.test File 6.87 KB 0644
rpl_stm_insert_delayed.inc File 394 B 0644
rpl_stm_mix_show_relaylog_events.inc File 574 B 0644
rpl_stop_middle_group.test File 5.14 KB 0644
rpl_stop_slave.test File 1.56 KB 0644
rpl_stress_test.inc File 2.22 KB 0644
rpl_sv_relay_space.test File 921 B 0644
rpl_temp_error.test File 623 B 0644
rpl_test_framework.inc File 2.42 KB 0644
rpl_tmp_table_and_DDL.test File 4.8 KB 0644
rpl_trig004.test File 1.7 KB 0644
rpl_truncate.test File 425 B 0644
rpl_truncate_helper.test File 976 B 0644
type_conversions.test File 23.47 KB 0644