Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 3.23.61.205
Cant Read [ /etc/named.conf ]
8.1.13
www
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
www /
server /
mysql /
mysql-test /
suite /
binlog /
r /
[ HOME SHELL ]
Name
Size
Permission
Action
binlog_anonymous_ownership.res...
15.33
KB
-rw-r--r--
binlog_bug23533.result
486
B
-rw-r--r--
binlog_bug36391.result
143
B
-rw-r--r--
binlog_cache_write_failure.res...
2.4
KB
-rw-r--r--
binlog_check_flush_log_asserti...
595
B
-rw-r--r--
binlog_checksum.result
697
B
-rw-r--r--
binlog_crash_safe_master_check...
1.15
KB
-rw-r--r--
binlog_database.result
9.67
KB
-rw-r--r--
binlog_delete_and_flush_index....
1.73
KB
-rw-r--r--
binlog_dmls_on_tmp_tables_read...
1.88
KB
-rw-r--r--
binlog_drop_if_exists.result
5.35
KB
-rw-r--r--
binlog_drop_temp_table_on_disc...
1.09
KB
-rw-r--r--
binlog_drop_temp_table_on_disc...
1.76
KB
-rw-r--r--
binlog_enforce_gtid_consistenc...
210.68
KB
-rw-r--r--
binlog_enforce_gtid_consistenc...
230.58
KB
-rw-r--r--
binlog_enforce_gtid_consistenc...
2.26
KB
-rw-r--r--
binlog_enforce_gtid_consistenc...
2.69
KB
-rw-r--r--
binlog_enforce_gtid_consistenc...
248.24
KB
-rw-r--r--
binlog_enforce_gtid_consistenc...
227.62
KB
-rw-r--r--
binlog_enforce_gtid_consistenc...
231.98
KB
-rw-r--r--
binlog_enforce_gtid_consistenc...
155.86
KB
-rw-r--r--
binlog_error_action.result
7.88
KB
-rw-r--r--
binlog_flush_logs_error.result
477
B
-rw-r--r--
binlog_foreign_key_parent_tabl...
566
B
-rw-r--r--
binlog_format_switch_in_tmp_ta...
2.65
KB
-rw-r--r--
binlog_grant.result
1.51
KB
-rw-r--r--
binlog_grant_alter_user.result
76.65
KB
-rw-r--r--
binlog_group_commit_flush_cras...
912
B
-rw-r--r--
binlog_group_commit_gtid_order...
1.3
KB
-rw-r--r--
binlog_group_commit_indefinite...
499
B
-rw-r--r--
binlog_group_commit_sync_delay...
599
B
-rw-r--r--
binlog_group_commit_sync_delay...
285
B
-rw-r--r--
binlog_group_commit_sync_no_de...
2.16
KB
-rw-r--r--
binlog_gtid_automatic_using_ro...
496
B
-rw-r--r--
binlog_gtid_cache.result
5
B
-rw-r--r--
binlog_gtid_errors.result
9.86
KB
-rw-r--r--
binlog_gtid_exhausted.result
1.26
KB
-rw-r--r--
binlog_gtid_implicit_commit.re...
12.4
KB
-rw-r--r--
binlog_gtid_innodb.result
6.31
KB
-rw-r--r--
binlog_gtid_mix_ok_packet_all_...
1.7
KB
-rw-r--r--
binlog_gtid_mix_response_packe...
3.69
KB
-rw-r--r--
binlog_gtid_mode_set_gtid_next...
10.7
KB
-rw-r--r--
binlog_gtid_mysqlbinlog_row.re...
208.56
KB
-rw-r--r--
binlog_gtid_mysqlbinlog_row_in...
244.07
KB
-rw-r--r--
binlog_gtid_mysqlbinlog_row_my...
245.21
KB
-rw-r--r--
binlog_gtid_mysqlbinlog_start_...
45.14
KB
-rw-r--r--
binlog_gtid_mysqldump.result
657
B
-rw-r--r--
binlog_gtid_next_begin_caused_...
1.4
KB
-rw-r--r--
binlog_gtid_next_partially_fai...
1.31
KB
-rw-r--r--
binlog_gtid_next_partially_fai...
6.7
KB
-rw-r--r--
binlog_gtid_next_single_stmt_t...
9.6
KB
-rw-r--r--
binlog_gtid_next_temporary_tab...
1.1
KB
-rw-r--r--
binlog_gtid_next_xa.result
36.07
KB
-rw-r--r--
binlog_gtid_ps_reprepare.resul...
3.06
KB
-rw-r--r--
binlog_gtid_purge_binlog_at_st...
597
B
-rw-r--r--
binlog_gtid_rbr_only_flag.resu...
1.63
KB
-rw-r--r--
binlog_gtid_reset_consistency_...
586
B
-rw-r--r--
binlog_gtid_row_ctype_ucs.resu...
1.43
KB
-rw-r--r--
binlog_gtid_simple_recovery.re...
1.82
KB
-rw-r--r--
binlog_gtid_state_update_deadl...
625
B
-rw-r--r--
binlog_gtid_stm_ctype_ucs.resu...
1.53
KB
-rw-r--r--
binlog_gtid_unknown_xid.result
1.21
KB
-rw-r--r--
binlog_gtid_utils.result
13.28
KB
-rw-r--r--
binlog_gtids_table_gcov.result
1.72
KB
-rw-r--r--
binlog_implicit_commit.result
12.4
KB
-rw-r--r--
binlog_incident.result
497
B
-rw-r--r--
binlog_incident_ignore.result
497
B
-rw-r--r--
binlog_index.result
11.61
KB
-rw-r--r--
binlog_innodb.result
6.31
KB
-rw-r--r--
binlog_innodb_row.result
3.12
KB
-rw-r--r--
binlog_killed.result
3.74
KB
-rw-r--r--
binlog_killed_simulate.result
1.19
KB
-rw-r--r--
binlog_max_extension.result
424
B
-rw-r--r--
binlog_max_flush_queue_time_wa...
189
B
-rw-r--r--
binlog_mixed_cache_stat.result
3.2
KB
-rw-r--r--
binlog_mixed_load_data.result
420
B
-rw-r--r--
binlog_mts_logical_clock.resul...
2.92
KB
-rw-r--r--
binlog_mts_logical_clock_gtid....
1.72
KB
-rw-r--r--
binlog_mysqlbinlog-cp932.resul...
358
B
-rw-r--r--
binlog_mysqlbinlog_base64.resu...
1.71
KB
-rw-r--r--
binlog_mysqlbinlog_concat.resu...
488
B
-rw-r--r--
binlog_mysqlbinlog_filter.resu...
1.48
KB
-rw-r--r--
binlog_mysqlbinlog_intvar.resu...
752
B
-rw-r--r--
binlog_mysqlbinlog_raw.result
832
B
-rw-r--r--
binlog_mysqlbinlog_rewrite_db....
1.8
KB
-rw-r--r--
binlog_mysqlbinlog_row.result
211.92
KB
-rw-r--r--
binlog_mysqlbinlog_row_innodb....
244.36
KB
-rw-r--r--
binlog_mysqlbinlog_row_myisam....
245.49
KB
-rw-r--r--
binlog_mysqlbinlog_row_trans.r...
17.45
KB
-rw-r--r--
binlog_mysqlbinlog_start_stop....
45.18
KB
-rw-r--r--
binlog_mysqlbinlog_start_stop_...
4.07
KB
-rw-r--r--
binlog_nogtid_mix_response_pac...
1.14
KB
-rw-r--r--
binlog_noop_dml_with_readonly....
1.35
KB
-rw-r--r--
binlog_old_versions.result
1.03
KB
-rw-r--r--
binlog_purge_binary_logs_stall...
236
B
-rw-r--r--
binlog_purge_binary_logs_to.re...
309
B
-rw-r--r--
binlog_query_filter_rules.resu...
187
B
-rw-r--r--
binlog_rbr_only_savepoint.resu...
202
B
-rw-r--r--
binlog_reset_connection_not_re...
611
B
-rw-r--r--
binlog_reset_master.result
14
B
-rw-r--r--
binlog_rewrite.result
10.15
KB
-rw-r--r--
binlog_rewrite_db_noleak.resul...
932
B
-rw-r--r--
binlog_rewrite_order.result
4.35
KB
-rw-r--r--
binlog_rewrite_suppress_use.re...
828
B
-rw-r--r--
binlog_rotate_bgc_sync.result
1.54
KB
-rw-r--r--
binlog_rotate_deadlock.result
852
B
-rw-r--r--
binlog_row_binlog.result
39.5
KB
-rw-r--r--
binlog_row_cache_stat.result
3.2
KB
-rw-r--r--
binlog_row_create_select_crash...
446
B
-rw-r--r--
binlog_row_ctype_cp932.result
87.58
KB
-rw-r--r--
binlog_row_ctype_ucs.result
1.43
KB
-rw-r--r--
binlog_row_delete_all_rows.res...
869
B
-rw-r--r--
binlog_row_drop_tbl.result
567
B
-rw-r--r--
binlog_row_drop_tmp_tbl.result
4.86
KB
-rw-r--r--
binlog_row_insert_select.resul...
809
B
-rw-r--r--
binlog_row_kill_create_select....
1.21
KB
-rw-r--r--
binlog_row_mix_innodb_myisam.r...
30.51
KB
-rw-r--r--
binlog_row_mysqlbinlog_db_filt...
1.5
KB
-rw-r--r--
binlog_row_mysqlbinlog_verbose...
2.84
KB
-rw-r--r--
binlog_row_query_log_events.re...
442
B
-rw-r--r--
binlog_server_id.result
459
B
-rw-r--r--
binlog_server_start_options.re...
49
B
-rw-r--r--
binlog_set_gtid_mode_ongoing_t...
8.01
KB
-rw-r--r--
binlog_set_trans_dependency_de...
1.29
KB
-rw-r--r--
binlog_sf.result
1.67
KB
-rw-r--r--
binlog_shutdown_hang.result
406
B
-rw-r--r--
binlog_simulate_crash_and_erro...
2.44
KB
-rw-r--r--
binlog_spurious_ddl_errors.res...
2.97
KB
-rw-r--r--
binlog_sql_mode.result
3.69
KB
-rw-r--r--
binlog_start_comment.result
371
B
-rw-r--r--
binlog_start_slave_heartbeat.r...
259
B
-rw-r--r--
binlog_stm_binlog.result
37.96
KB
-rw-r--r--
binlog_stm_blackhole.result
7.78
KB
-rw-r--r--
binlog_stm_cache_stat.result
3.2
KB
-rw-r--r--
binlog_stm_ctype_cp932.result
87.58
KB
-rw-r--r--
binlog_stm_ctype_ucs.result
1.53
KB
-rw-r--r--
binlog_stm_delete_all_rows.res...
873
B
-rw-r--r--
binlog_stm_do_db.result
2.82
KB
-rw-r--r--
binlog_stm_drop_tbl.result
513
B
-rw-r--r--
binlog_stm_drop_tmp_tbl.result
7.11
KB
-rw-r--r--
binlog_stm_insert_select.resul...
762
B
-rw-r--r--
binlog_stm_mix_innodb_myisam.r...
36.05
KB
-rw-r--r--
binlog_stm_ps.result
1.16
KB
-rw-r--r--
binlog_stm_row.result
3.07
KB
-rw-r--r--
binlog_stm_unsafe_warning.resu...
4.8
KB
-rw-r--r--
binlog_stm_user_variables.resu...
5.38
KB
-rw-r--r--
binlog_switch_inside_trans.res...
7.97
KB
-rw-r--r--
binlog_temporary_tables_user_v...
124
B
-rw-r--r--
binlog_tmp_table.result
905
B
-rw-r--r--
binlog_transaction_dependency_...
3.2
KB
-rw-r--r--
binlog_transaction_dependency_...
1.56
KB
-rw-r--r--
binlog_transaction_write_set_s...
1.08
KB
-rw-r--r--
binlog_transaction_write_set_s...
448
B
-rw-r--r--
binlog_transaction_write_set_s...
351
B
-rw-r--r--
binlog_transaction_write_set_s...
1.51
KB
-rw-r--r--
binlog_truncate_kill.result
1.23
KB
-rw-r--r--
binlog_truncate_myisam.result
2.97
KB
-rw-r--r--
binlog_trx_empty_assertions.re...
884
B
-rw-r--r--
binlog_unsafe.result
190.13
KB
-rw-r--r--
binlog_unsafe_stmt_capable_eng...
215.37
KB
-rw-r--r--
binlog_use_gtid_skip.result
311
B
-rw-r--r--
binlog_user_if_exists.result
14.76
KB
-rw-r--r--
binlog_variables_log_bin.resul...
319
B
-rw-r--r--
binlog_variables_log_bin_index...
313
B
-rw-r--r--
binlog_variables_log_statement...
1.03
KB
-rw-r--r--
binlog_wait_for_executed_gtid_...
245
B
-rw-r--r--
binlog_wait_for_executed_gtid_...
2.2
KB
-rw-r--r--
binlog_wait_for_executed_gtid_...
237
B
-rw-r--r--
binlog_wait_for_executed_gtid_...
590
B
-rw-r--r--
binlog_write_error.result
2.8
KB
-rw-r--r--
binlog_writeset_history_protec...
671
B
-rw-r--r--
binlog_wrong_last_committed.re...
574
B
-rw-r--r--
binlog_xa_handling.result
1.49
KB
-rw-r--r--
binlog_xa_modify_gtid_executed...
2.35
KB
-rw-r--r--
binlog_xa_prepare_failure.resu...
1.05
KB
-rw-r--r--
binlog_xa_prepared_disconnect....
26.74
KB
-rw-r--r--
binlog_xa_rollback_failure.res...
588
B
-rw-r--r--
binlog_xa_select_gtid_executed...
863
B
-rw-r--r--
binlog_xa_trx_gtid_response_pa...
666
B
-rw-r--r--
binlog_xa_trx_split_across_bin...
1016
B
-rw-r--r--
log_builtin_as_identified_by_p...
7.11
KB
-rw-r--r--
show_binlog_events_no_lock.res...
324
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : binlog_unsafe_stmt_capable_engine.result
#### Setup tables #### CREATE TABLE t0 (a CHAR(100)); CREATE TABLE t1 (a CHAR(100)); CREATE TABLE t2 (a CHAR(100)); CREATE TABLE ta0 (a CHAR(100)); CREATE TABLE ta1 (a CHAR(100)); CREATE TABLE ta2 (a CHAR(100)); CREATE TABLE autoinc_table (a INT PRIMARY KEY AUTO_INCREMENT); CREATE TABLE data_table (a CHAR(100)); INSERT INTO data_table VALUES ('foo'); CREATE TABLE trigger_table_1 (a INT); CREATE TABLE trigger_table_2 (a INT); CREATE TABLE trigger_table_3 (a INT); CREATE TABLE double_autoinc_table (a INT PRIMARY KEY AUTO_INCREMENT); SET @old_debug= @@global.debug; SET GLOBAL debug='+d,make_stmt_only_engines'; CREATE TRIGGER double_autoinc_trig BEFORE INSERT ON double_autoinc_table FOR EACH ROW BEGIN INSERT INTO autoinc_table VALUES (NULL); END| CREATE FUNCTION multi_unsafe_func() RETURNS INT BEGIN INSERT INTO t0 VALUES(CONCAT(@@hostname, @@hostname)); INSERT INTO t0 VALUES(0); INSERT INTO t0 VALUES(CONCAT(UUID(), @@hostname)); RETURN 1; END| CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "UDF_EXAMPLE_LIB"; ==== Testing UUID() unsafeness ==== Invoking function func_retval_1 returning value from unsafe UUID() function. CREATE FUNCTION func_retval_1() RETURNS VARCHAR(100) BEGIN INSERT INTO ta1 VALUES (47); RETURN UUID(); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t1 VALUES (func_retval_1()); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. * Invoke statement so that return value is discarded: expect no warning. SELECT func_retval_1(); Invoking function func_retval_2 returning value from function func_retval_1 returning value from unsafe UUID() function. CREATE FUNCTION func_retval_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); RETURN func_retval_1(); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 VALUES (func_retval_2()); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. * Invoke statement so that return value is discarded: expect no warning. SELECT func_retval_2(); DROP FUNCTION func_retval_2; Invoking function func_sidef_2 invoking function func_retval_1 returning value from unsafe UUID() function. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 VALUES (func_retval_1()); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking function func_retval_1 returning value from unsafe UUID() function. CREATE PROCEDURE proc_2() BEGIN INSERT INTO t1 VALUES (func_retval_1()); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking function func_retval_1 returning value from unsafe UUID() function. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 VALUES (func_retval_1()); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP TRIGGER trig_2; Invoking view view_retval_2 returning value from function func_retval_1 returning value from unsafe UUID() function. CREATE VIEW view_retval_2 AS SELECT func_retval_1(); * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT * FROM view_retval_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. * Invoke statement so that return value is discarded: expect no warning. SELECT * FROM view_retval_2; DROP VIEW view_retval_2; Invoking prepared statement prep_2 invoking function func_retval_1 returning value from unsafe UUID() function. PREPARE prep_2 FROM "INSERT INTO t1 VALUES (func_retval_1())"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP PREPARE prep_2; DROP FUNCTION func_retval_1; Invoking function func_sidef_1 invoking unsafe UUID() function. CREATE FUNCTION func_sidef_1() RETURNS VARCHAR(100) BEGIN INSERT INTO ta1 VALUES (47); INSERT INTO t0 VALUES (UUID()); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t1 SELECT func_sidef_1(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. Invoking function func_sidef_2 invoking function func_sidef_1 invoking unsafe UUID() function. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking function func_sidef_1 invoking unsafe UUID() function. CREATE PROCEDURE proc_2() BEGIN INSERT INTO t1 SELECT func_sidef_1(); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking function func_sidef_1 invoking unsafe UUID() function. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP TRIGGER trig_2; Invoking view view_sidef_2 invoking function func_sidef_1 invoking unsafe UUID() function. CREATE VIEW view_sidef_2 AS SELECT func_sidef_1(); * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT * FROM view_sidef_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP VIEW view_sidef_2; Invoking prepared statement prep_2 invoking function func_sidef_1 invoking unsafe UUID() function. PREPARE prep_2 FROM "INSERT INTO t1 SELECT func_sidef_1()"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP PREPARE prep_2; DROP FUNCTION func_sidef_1; Invoking procedure proc_1 invoking unsafe UUID() function. CREATE PROCEDURE proc_1() BEGIN INSERT INTO t0 VALUES (UUID()); INSERT INTO ta1 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_1(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. Invoking function func_sidef_2 invoking procedure proc_1 invoking unsafe UUID() function. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking procedure proc_1 invoking unsafe UUID() function. CREATE PROCEDURE proc_2() BEGIN CALL proc_1(); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking procedure proc_1 invoking unsafe UUID() function. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP TRIGGER trig_2; Invoking prepared statement prep_2 invoking procedure proc_1 invoking unsafe UUID() function. PREPARE prep_2 FROM "CALL proc_1()"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP PREPARE prep_2; DROP PROCEDURE proc_1; Invoking trigger trig_1 invoking unsafe UUID() function. CREATE TRIGGER trig_1 BEFORE INSERT ON trigger_table_1 FOR EACH ROW BEGIN INSERT INTO ta1 VALUES (47); INSERT INTO t0 VALUES (UUID()); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_1 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. Invoking function func_sidef_2 invoking trigger trig_1 invoking unsafe UUID() function. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking trigger trig_1 invoking unsafe UUID() function. CREATE PROCEDURE proc_2() BEGIN INSERT INTO trigger_table_1 VALUES (1); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking trigger trig_1 invoking unsafe UUID() function. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP TRIGGER trig_2; Invoking prepared statement prep_2 invoking trigger trig_1 invoking unsafe UUID() function. PREPARE prep_2 FROM "INSERT INTO trigger_table_1 VALUES (1)"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP PREPARE prep_2; DROP TRIGGER trig_1; Invoking view view_retval_1 returning value from unsafe UUID() function. CREATE VIEW view_retval_1 AS SELECT UUID(); * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t1 SELECT * FROM view_retval_1; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. * Invoke statement so that return value is discarded: expect no warning. SELECT * FROM view_retval_1; Invoking function func_sidef_2 invoking view view_retval_1 returning value from unsafe UUID() function. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT * FROM view_retval_1; RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking view view_retval_1 returning value from unsafe UUID() function. CREATE PROCEDURE proc_2() BEGIN INSERT INTO t1 SELECT * FROM view_retval_1; INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking view view_retval_1 returning value from unsafe UUID() function. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT * FROM view_retval_1; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP TRIGGER trig_2; Invoking view view_retval_2 returning value from view view_retval_1 returning value from unsafe UUID() function. CREATE VIEW view_retval_2 AS SELECT * FROM view_retval_1; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT * FROM view_retval_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. * Invoke statement so that return value is discarded: expect no warning. SELECT * FROM view_retval_2; DROP VIEW view_retval_2; Invoking prepared statement prep_2 invoking view view_retval_1 returning value from unsafe UUID() function. PREPARE prep_2 FROM "INSERT INTO t1 SELECT * FROM view_retval_1"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP PREPARE prep_2; DROP VIEW view_retval_1; Invoking prepared statement prep_1 invoking unsafe UUID() function. PREPARE prep_1 FROM "INSERT INTO t0 VALUES (UUID())"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_1; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. DROP PREPARE prep_1; Invoking unsafe UUID() function. * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t0 VALUES (UUID()); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave. * Invoke statement so that return value is discarded: expect no warning. SELECT UUID(); ==== Testing @@hostname unsafeness ==== Invoking function func_retval_1 returning value from unsafe @@hostname variable. CREATE FUNCTION func_retval_1() RETURNS VARCHAR(100) BEGIN INSERT INTO ta1 VALUES (47); RETURN @@hostname; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t1 VALUES (func_retval_1()); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. * Invoke statement so that return value is discarded: expect no warning. SELECT func_retval_1(); Invoking function func_retval_2 returning value from function func_retval_1 returning value from unsafe @@hostname variable. CREATE FUNCTION func_retval_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); RETURN func_retval_1(); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 VALUES (func_retval_2()); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. * Invoke statement so that return value is discarded: expect no warning. SELECT func_retval_2(); DROP FUNCTION func_retval_2; Invoking function func_sidef_2 invoking function func_retval_1 returning value from unsafe @@hostname variable. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 VALUES (func_retval_1()); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking function func_retval_1 returning value from unsafe @@hostname variable. CREATE PROCEDURE proc_2() BEGIN INSERT INTO t1 VALUES (func_retval_1()); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking function func_retval_1 returning value from unsafe @@hostname variable. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 VALUES (func_retval_1()); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP TRIGGER trig_2; Invoking view view_retval_2 returning value from function func_retval_1 returning value from unsafe @@hostname variable. CREATE VIEW view_retval_2 AS SELECT func_retval_1(); * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT * FROM view_retval_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. * Invoke statement so that return value is discarded: expect no warning. SELECT * FROM view_retval_2; DROP VIEW view_retval_2; Invoking prepared statement prep_2 invoking function func_retval_1 returning value from unsafe @@hostname variable. PREPARE prep_2 FROM "INSERT INTO t1 VALUES (func_retval_1())"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PREPARE prep_2; DROP FUNCTION func_retval_1; Invoking function func_sidef_1 invoking unsafe @@hostname variable. CREATE FUNCTION func_sidef_1() RETURNS VARCHAR(100) BEGIN INSERT INTO ta1 VALUES (47); INSERT INTO t0 VALUES (@@hostname); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t1 SELECT func_sidef_1(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. Invoking function func_sidef_2 invoking function func_sidef_1 invoking unsafe @@hostname variable. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking function func_sidef_1 invoking unsafe @@hostname variable. CREATE PROCEDURE proc_2() BEGIN INSERT INTO t1 SELECT func_sidef_1(); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking function func_sidef_1 invoking unsafe @@hostname variable. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP TRIGGER trig_2; Invoking view view_sidef_2 invoking function func_sidef_1 invoking unsafe @@hostname variable. CREATE VIEW view_sidef_2 AS SELECT func_sidef_1(); * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT * FROM view_sidef_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP VIEW view_sidef_2; Invoking prepared statement prep_2 invoking function func_sidef_1 invoking unsafe @@hostname variable. PREPARE prep_2 FROM "INSERT INTO t1 SELECT func_sidef_1()"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PREPARE prep_2; DROP FUNCTION func_sidef_1; Invoking procedure proc_1 invoking unsafe @@hostname variable. CREATE PROCEDURE proc_1() BEGIN INSERT INTO t0 VALUES (@@hostname); INSERT INTO ta1 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_1(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. Invoking function func_sidef_2 invoking procedure proc_1 invoking unsafe @@hostname variable. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking procedure proc_1 invoking unsafe @@hostname variable. CREATE PROCEDURE proc_2() BEGIN CALL proc_1(); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking procedure proc_1 invoking unsafe @@hostname variable. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP TRIGGER trig_2; Invoking prepared statement prep_2 invoking procedure proc_1 invoking unsafe @@hostname variable. PREPARE prep_2 FROM "CALL proc_1()"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PREPARE prep_2; DROP PROCEDURE proc_1; Invoking trigger trig_1 invoking unsafe @@hostname variable. CREATE TRIGGER trig_1 BEFORE INSERT ON trigger_table_1 FOR EACH ROW BEGIN INSERT INTO ta1 VALUES (47); INSERT INTO t0 VALUES (@@hostname); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_1 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. Invoking function func_sidef_2 invoking trigger trig_1 invoking unsafe @@hostname variable. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking trigger trig_1 invoking unsafe @@hostname variable. CREATE PROCEDURE proc_2() BEGIN INSERT INTO trigger_table_1 VALUES (1); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking trigger trig_1 invoking unsafe @@hostname variable. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP TRIGGER trig_2; Invoking prepared statement prep_2 invoking trigger trig_1 invoking unsafe @@hostname variable. PREPARE prep_2 FROM "INSERT INTO trigger_table_1 VALUES (1)"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PREPARE prep_2; DROP TRIGGER trig_1; Invoking prepared statement prep_1 invoking unsafe @@hostname variable. PREPARE prep_1 FROM "INSERT INTO t0 VALUES (@@hostname)"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_1; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PREPARE prep_1; Invoking unsafe @@hostname variable. * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t0 VALUES (@@hostname); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. ==== Testing SELECT...LIMIT unsafeness ==== Invoking function func_sidef_1 invoking unsafe SELECT...LIMIT statement. CREATE FUNCTION func_sidef_1() RETURNS VARCHAR(100) BEGIN INSERT INTO ta1 VALUES (47); INSERT INTO t0 SELECT * FROM data_table LIMIT 1; RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t1 SELECT func_sidef_1(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. Invoking function func_sidef_2 invoking function func_sidef_1 invoking unsafe SELECT...LIMIT statement. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking function func_sidef_1 invoking unsafe SELECT...LIMIT statement. CREATE PROCEDURE proc_2() BEGIN INSERT INTO t1 SELECT func_sidef_1(); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking function func_sidef_1 invoking unsafe SELECT...LIMIT statement. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP TRIGGER trig_2; Invoking view view_sidef_2 invoking function func_sidef_1 invoking unsafe SELECT...LIMIT statement. CREATE VIEW view_sidef_2 AS SELECT func_sidef_1(); * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT * FROM view_sidef_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP VIEW view_sidef_2; Invoking prepared statement prep_2 invoking function func_sidef_1 invoking unsafe SELECT...LIMIT statement. PREPARE prep_2 FROM "INSERT INTO t1 SELECT func_sidef_1()"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP PREPARE prep_2; DROP FUNCTION func_sidef_1; Invoking procedure proc_1 invoking unsafe SELECT...LIMIT statement. CREATE PROCEDURE proc_1() BEGIN INSERT INTO t0 SELECT * FROM data_table LIMIT 1; INSERT INTO ta1 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_1(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. Invoking function func_sidef_2 invoking procedure proc_1 invoking unsafe SELECT...LIMIT statement. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking procedure proc_1 invoking unsafe SELECT...LIMIT statement. CREATE PROCEDURE proc_2() BEGIN CALL proc_1(); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking procedure proc_1 invoking unsafe SELECT...LIMIT statement. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP TRIGGER trig_2; Invoking prepared statement prep_2 invoking procedure proc_1 invoking unsafe SELECT...LIMIT statement. PREPARE prep_2 FROM "CALL proc_1()"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP PREPARE prep_2; DROP PROCEDURE proc_1; Invoking trigger trig_1 invoking unsafe SELECT...LIMIT statement. CREATE TRIGGER trig_1 BEFORE INSERT ON trigger_table_1 FOR EACH ROW BEGIN INSERT INTO ta1 VALUES (47); INSERT INTO t0 SELECT * FROM data_table LIMIT 1; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_1 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. Invoking function func_sidef_2 invoking trigger trig_1 invoking unsafe SELECT...LIMIT statement. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking trigger trig_1 invoking unsafe SELECT...LIMIT statement. CREATE PROCEDURE proc_2() BEGIN INSERT INTO trigger_table_1 VALUES (1); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking trigger trig_1 invoking unsafe SELECT...LIMIT statement. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP TRIGGER trig_2; Invoking prepared statement prep_2 invoking trigger trig_1 invoking unsafe SELECT...LIMIT statement. PREPARE prep_2 FROM "INSERT INTO trigger_table_1 VALUES (1)"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP PREPARE prep_2; DROP TRIGGER trig_1; Invoking view view_retval_1 returning value from unsafe SELECT...LIMIT statement. CREATE VIEW view_retval_1 AS SELECT * FROM data_table LIMIT 1; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t1 SELECT * FROM view_retval_1; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. * Invoke statement so that return value is discarded: expect no warning. SELECT * FROM view_retval_1; Invoking function func_sidef_2 invoking view view_retval_1 returning value from unsafe SELECT...LIMIT statement. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT * FROM view_retval_1; RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking view view_retval_1 returning value from unsafe SELECT...LIMIT statement. CREATE PROCEDURE proc_2() BEGIN INSERT INTO t1 SELECT * FROM view_retval_1; INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking view view_retval_1 returning value from unsafe SELECT...LIMIT statement. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT * FROM view_retval_1; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP TRIGGER trig_2; Invoking view view_retval_2 returning value from view view_retval_1 returning value from unsafe SELECT...LIMIT statement. CREATE VIEW view_retval_2 AS SELECT * FROM view_retval_1; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT * FROM view_retval_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. * Invoke statement so that return value is discarded: expect no warning. SELECT * FROM view_retval_2; DROP VIEW view_retval_2; Invoking prepared statement prep_2 invoking view view_retval_1 returning value from unsafe SELECT...LIMIT statement. PREPARE prep_2 FROM "INSERT INTO t1 SELECT * FROM view_retval_1"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP PREPARE prep_2; DROP VIEW view_retval_1; Invoking prepared statement prep_1 invoking unsafe SELECT...LIMIT statement. PREPARE prep_1 FROM "INSERT INTO t0 SELECT * FROM data_table LIMIT 1"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_1; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. DROP PREPARE prep_1; Invoking unsafe SELECT...LIMIT statement. * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t0 SELECT * FROM data_table LIMIT 1; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. * Invoke statement so that return value is discarded: expect no warning. SELECT * FROM data_table LIMIT 1; ==== Testing unsafeness of insert of two autoinc values ==== Invoking function func_sidef_1 invoking unsafe update of two autoinc columns. CREATE FUNCTION func_sidef_1() RETURNS VARCHAR(100) BEGIN INSERT INTO ta1 VALUES (47); INSERT INTO double_autoinc_table VALUES (NULL); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t1 SELECT func_sidef_1(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. Invoking function func_sidef_2 invoking function func_sidef_1 invoking unsafe update of two autoinc columns. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking function func_sidef_1 invoking unsafe update of two autoinc columns. CREATE PROCEDURE proc_2() BEGIN INSERT INTO t1 SELECT func_sidef_1(); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking function func_sidef_1 invoking unsafe update of two autoinc columns. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. DROP TRIGGER trig_2; Invoking view view_sidef_2 invoking function func_sidef_1 invoking unsafe update of two autoinc columns. CREATE VIEW view_sidef_2 AS SELECT func_sidef_1(); * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT * FROM view_sidef_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. DROP VIEW view_sidef_2; Invoking prepared statement prep_2 invoking function func_sidef_1 invoking unsafe update of two autoinc columns. PREPARE prep_2 FROM "INSERT INTO t1 SELECT func_sidef_1()"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. DROP PREPARE prep_2; DROP FUNCTION func_sidef_1; Invoking procedure proc_1 invoking unsafe update of two autoinc columns. CREATE PROCEDURE proc_1() BEGIN INSERT INTO double_autoinc_table VALUES (NULL); INSERT INTO ta1 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_1(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. Invoking function func_sidef_2 invoking procedure proc_1 invoking unsafe update of two autoinc columns. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking procedure proc_1 invoking unsafe update of two autoinc columns. CREATE PROCEDURE proc_2() BEGIN CALL proc_1(); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking procedure proc_1 invoking unsafe update of two autoinc columns. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. DROP TRIGGER trig_2; Invoking prepared statement prep_2 invoking procedure proc_1 invoking unsafe update of two autoinc columns. PREPARE prep_2 FROM "CALL proc_1()"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. DROP PREPARE prep_2; DROP PROCEDURE proc_1; Invoking trigger trig_1 invoking unsafe update of two autoinc columns. CREATE TRIGGER trig_1 BEFORE INSERT ON trigger_table_1 FOR EACH ROW BEGIN INSERT INTO ta1 VALUES (47); INSERT INTO double_autoinc_table VALUES (NULL); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_1 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. Invoking function func_sidef_2 invoking trigger trig_1 invoking unsafe update of two autoinc columns. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking trigger trig_1 invoking unsafe update of two autoinc columns. CREATE PROCEDURE proc_2() BEGIN INSERT INTO trigger_table_1 VALUES (1); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking trigger trig_1 invoking unsafe update of two autoinc columns. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. DROP TRIGGER trig_2; Invoking prepared statement prep_2 invoking trigger trig_1 invoking unsafe update of two autoinc columns. PREPARE prep_2 FROM "INSERT INTO trigger_table_1 VALUES (1)"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. DROP PREPARE prep_2; DROP TRIGGER trig_1; Invoking prepared statement prep_1 invoking unsafe update of two autoinc columns. PREPARE prep_1 FROM "INSERT INTO double_autoinc_table VALUES (NULL)"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_1; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. DROP PREPARE prep_1; Invoking unsafe update of two autoinc columns. * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO double_autoinc_table VALUES (NULL); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. ==== Testing unsafeness of UDF's ==== Invoking function func_retval_1 returning value from unsafe UDF. CREATE FUNCTION func_retval_1() RETURNS VARCHAR(100) BEGIN INSERT INTO ta1 VALUES (47); RETURN myfunc_int(10); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t1 VALUES (func_retval_1()); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. * Invoke statement so that return value is discarded: expect no warning. SELECT func_retval_1(); Invoking function func_retval_2 returning value from function func_retval_1 returning value from unsafe UDF. CREATE FUNCTION func_retval_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); RETURN func_retval_1(); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 VALUES (func_retval_2()); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. * Invoke statement so that return value is discarded: expect no warning. SELECT func_retval_2(); DROP FUNCTION func_retval_2; Invoking function func_sidef_2 invoking function func_retval_1 returning value from unsafe UDF. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 VALUES (func_retval_1()); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking function func_retval_1 returning value from unsafe UDF. CREATE PROCEDURE proc_2() BEGIN INSERT INTO t1 VALUES (func_retval_1()); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking function func_retval_1 returning value from unsafe UDF. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 VALUES (func_retval_1()); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP TRIGGER trig_2; Invoking view view_retval_2 returning value from function func_retval_1 returning value from unsafe UDF. CREATE VIEW view_retval_2 AS SELECT func_retval_1(); * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT * FROM view_retval_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. * Invoke statement so that return value is discarded: expect no warning. SELECT * FROM view_retval_2; DROP VIEW view_retval_2; Invoking prepared statement prep_2 invoking function func_retval_1 returning value from unsafe UDF. PREPARE prep_2 FROM "INSERT INTO t1 VALUES (func_retval_1())"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP PREPARE prep_2; DROP FUNCTION func_retval_1; Invoking function func_sidef_1 invoking unsafe UDF. CREATE FUNCTION func_sidef_1() RETURNS VARCHAR(100) BEGIN INSERT INTO ta1 VALUES (47); INSERT INTO t0 VALUES (myfunc_int(10)); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t1 SELECT func_sidef_1(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. Invoking function func_sidef_2 invoking function func_sidef_1 invoking unsafe UDF. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking function func_sidef_1 invoking unsafe UDF. CREATE PROCEDURE proc_2() BEGIN INSERT INTO t1 SELECT func_sidef_1(); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking function func_sidef_1 invoking unsafe UDF. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP TRIGGER trig_2; Invoking view view_sidef_2 invoking function func_sidef_1 invoking unsafe UDF. CREATE VIEW view_sidef_2 AS SELECT func_sidef_1(); * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT * FROM view_sidef_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP VIEW view_sidef_2; Invoking prepared statement prep_2 invoking function func_sidef_1 invoking unsafe UDF. PREPARE prep_2 FROM "INSERT INTO t1 SELECT func_sidef_1()"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP PREPARE prep_2; DROP FUNCTION func_sidef_1; Invoking procedure proc_1 invoking unsafe UDF. CREATE PROCEDURE proc_1() BEGIN INSERT INTO t0 VALUES (myfunc_int(10)); INSERT INTO ta1 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_1(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. Invoking function func_sidef_2 invoking procedure proc_1 invoking unsafe UDF. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking procedure proc_1 invoking unsafe UDF. CREATE PROCEDURE proc_2() BEGIN CALL proc_1(); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking procedure proc_1 invoking unsafe UDF. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP TRIGGER trig_2; Invoking prepared statement prep_2 invoking procedure proc_1 invoking unsafe UDF. PREPARE prep_2 FROM "CALL proc_1()"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP PREPARE prep_2; DROP PROCEDURE proc_1; Invoking trigger trig_1 invoking unsafe UDF. CREATE TRIGGER trig_1 BEFORE INSERT ON trigger_table_1 FOR EACH ROW BEGIN INSERT INTO ta1 VALUES (47); INSERT INTO t0 VALUES (myfunc_int(10)); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_1 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. Invoking function func_sidef_2 invoking trigger trig_1 invoking unsafe UDF. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking trigger trig_1 invoking unsafe UDF. CREATE PROCEDURE proc_2() BEGIN INSERT INTO trigger_table_1 VALUES (1); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking trigger trig_1 invoking unsafe UDF. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP TRIGGER trig_2; Invoking prepared statement prep_2 invoking trigger trig_1 invoking unsafe UDF. PREPARE prep_2 FROM "INSERT INTO trigger_table_1 VALUES (1)"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP PREPARE prep_2; DROP TRIGGER trig_1; Invoking view view_sidef_1 invoking unsafe UDF. CREATE VIEW view_sidef_1 AS SELECT myfunc_int(10); * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t1 SELECT * FROM view_sidef_1; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. Invoking function func_sidef_2 invoking view view_sidef_1 invoking unsafe UDF. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT * FROM view_sidef_1; RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking view view_sidef_1 invoking unsafe UDF. CREATE PROCEDURE proc_2() BEGIN INSERT INTO t1 SELECT * FROM view_sidef_1; INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking view view_sidef_1 invoking unsafe UDF. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT * FROM view_sidef_1; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP TRIGGER trig_2; Invoking view view_sidef_2 invoking view view_sidef_1 invoking unsafe UDF. CREATE VIEW view_sidef_2 AS SELECT * FROM view_sidef_1; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT * FROM view_sidef_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP VIEW view_sidef_2; Invoking prepared statement prep_2 invoking view view_sidef_1 invoking unsafe UDF. PREPARE prep_2 FROM "INSERT INTO t1 SELECT * FROM view_sidef_1"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP PREPARE prep_2; DROP VIEW view_sidef_1; Invoking prepared statement prep_1 invoking unsafe UDF. PREPARE prep_1 FROM "INSERT INTO t0 VALUES (myfunc_int(10))"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_1; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. DROP PREPARE prep_1; Invoking unsafe UDF. * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t0 VALUES (myfunc_int(10)); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a UDF which may not return the same value on the slave. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a UDF which may not return the same value on the slave. ==== Testing unsafeness of access to mysql.general_log ==== Invoking function func_sidef_1 invoking unsafe use of mysql.general_log. CREATE FUNCTION func_sidef_1() RETURNS VARCHAR(100) BEGIN INSERT INTO ta1 VALUES (47); INSERT INTO t0 SELECT COUNT(*) FROM mysql.general_log; RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t1 SELECT func_sidef_1(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. Invoking function func_sidef_2 invoking function func_sidef_1 invoking unsafe use of mysql.general_log. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking function func_sidef_1 invoking unsafe use of mysql.general_log. CREATE PROCEDURE proc_2() BEGIN INSERT INTO t1 SELECT func_sidef_1(); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking function func_sidef_1 invoking unsafe use of mysql.general_log. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP TRIGGER trig_2; Invoking view view_sidef_2 invoking function func_sidef_1 invoking unsafe use of mysql.general_log. CREATE VIEW view_sidef_2 AS SELECT func_sidef_1(); * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT * FROM view_sidef_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP VIEW view_sidef_2; Invoking prepared statement prep_2 invoking function func_sidef_1 invoking unsafe use of mysql.general_log. PREPARE prep_2 FROM "INSERT INTO t1 SELECT func_sidef_1()"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP PREPARE prep_2; DROP FUNCTION func_sidef_1; Invoking procedure proc_1 invoking unsafe use of mysql.general_log. CREATE PROCEDURE proc_1() BEGIN INSERT INTO t0 SELECT COUNT(*) FROM mysql.general_log; INSERT INTO ta1 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_1(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. Invoking function func_sidef_2 invoking procedure proc_1 invoking unsafe use of mysql.general_log. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking procedure proc_1 invoking unsafe use of mysql.general_log. CREATE PROCEDURE proc_2() BEGIN CALL proc_1(); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking procedure proc_1 invoking unsafe use of mysql.general_log. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP TRIGGER trig_2; Invoking prepared statement prep_2 invoking procedure proc_1 invoking unsafe use of mysql.general_log. PREPARE prep_2 FROM "CALL proc_1()"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP PREPARE prep_2; DROP PROCEDURE proc_1; Invoking trigger trig_1 invoking unsafe use of mysql.general_log. CREATE TRIGGER trig_1 BEFORE INSERT ON trigger_table_1 FOR EACH ROW BEGIN INSERT INTO ta1 VALUES (47); INSERT INTO t0 SELECT COUNT(*) FROM mysql.general_log; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_1 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. Invoking function func_sidef_2 invoking trigger trig_1 invoking unsafe use of mysql.general_log. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking trigger trig_1 invoking unsafe use of mysql.general_log. CREATE PROCEDURE proc_2() BEGIN INSERT INTO trigger_table_1 VALUES (1); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking trigger trig_1 invoking unsafe use of mysql.general_log. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP TRIGGER trig_2; Invoking prepared statement prep_2 invoking trigger trig_1 invoking unsafe use of mysql.general_log. PREPARE prep_2 FROM "INSERT INTO trigger_table_1 VALUES (1)"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP PREPARE prep_2; DROP TRIGGER trig_1; Invoking view view_retval_1 returning value from unsafe use of mysql.general_log. CREATE VIEW view_retval_1 AS SELECT COUNT(*) FROM mysql.general_log; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t1 SELECT * FROM view_retval_1; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. * Invoke statement so that return value is discarded: expect no warning. SELECT * FROM view_retval_1; Invoking function func_sidef_2 invoking view view_retval_1 returning value from unsafe use of mysql.general_log. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT * FROM view_retval_1; RETURN 0; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking view view_retval_1 returning value from unsafe use of mysql.general_log. CREATE PROCEDURE proc_2() BEGIN INSERT INTO t1 SELECT * FROM view_retval_1; INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 1 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking view view_retval_1 returning value from unsafe use of mysql.general_log. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT * FROM view_retval_1; END; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP TRIGGER trig_2; Invoking view view_retval_2 returning value from view view_retval_1 returning value from unsafe use of mysql.general_log. CREATE VIEW view_retval_2 AS SELECT * FROM view_retval_1; * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t2 SELECT * FROM view_retval_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. * Invoke statement so that return value is discarded: expect no warning. SELECT * FROM view_retval_2; DROP VIEW view_retval_2; Invoking prepared statement prep_2 invoking view view_retval_1 returning value from unsafe use of mysql.general_log. PREPARE prep_2 FROM "INSERT INTO t1 SELECT * FROM view_retval_1"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP PREPARE prep_2; DROP VIEW view_retval_1; Invoking prepared statement prep_1 invoking unsafe use of mysql.general_log. PREPARE prep_1 FROM "INSERT INTO t0 SELECT COUNT(*) FROM mysql.general_log"; * binlog_format = STATEMENT: expect 1 warnings. EXECUTE prep_1; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. DROP PREPARE prep_1; Invoking unsafe use of mysql.general_log. * binlog_format = STATEMENT: expect 1 warnings. INSERT INTO t0 SELECT COUNT(*) FROM mysql.general_log; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. include/assert.inc [There should be 1 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves. * Invoke statement so that return value is discarded: expect no warning. SELECT COUNT(*) FROM mysql.general_log; ==== Testing a statement that is unsafe several times ==== Invoking function func_sidef_1 invoking statement that is unsafe several times. CREATE FUNCTION func_sidef_1() RETURNS VARCHAR(100) BEGIN INSERT INTO ta1 VALUES (47); INSERT INTO ta0 VALUES (multi_unsafe_func()); RETURN 0; END; * binlog_format = STATEMENT: expect 2 warnings. INSERT INTO t1 SELECT func_sidef_1(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. Invoking function func_sidef_2 invoking function func_sidef_1 invoking statement that is unsafe several times. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); RETURN 0; END; * binlog_format = STATEMENT: expect 2 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking function func_sidef_1 invoking statement that is unsafe several times. CREATE PROCEDURE proc_2() BEGIN INSERT INTO t1 SELECT func_sidef_1(); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 2 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking function func_sidef_1 invoking statement that is unsafe several times. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT func_sidef_1(); END; * binlog_format = STATEMENT: expect 2 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP TRIGGER trig_2; Invoking view view_sidef_2 invoking function func_sidef_1 invoking statement that is unsafe several times. CREATE VIEW view_sidef_2 AS SELECT func_sidef_1(); * binlog_format = STATEMENT: expect 2 warnings. INSERT INTO t2 SELECT * FROM view_sidef_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP VIEW view_sidef_2; Invoking prepared statement prep_2 invoking function func_sidef_1 invoking statement that is unsafe several times. PREPARE prep_2 FROM "INSERT INTO t1 SELECT func_sidef_1()"; * binlog_format = STATEMENT: expect 2 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PREPARE prep_2; DROP FUNCTION func_sidef_1; Invoking procedure proc_1 invoking statement that is unsafe several times. CREATE PROCEDURE proc_1() BEGIN INSERT INTO ta0 VALUES (multi_unsafe_func()); INSERT INTO ta1 VALUES (47); END; * binlog_format = STATEMENT: expect 2 warnings. CALL proc_1(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. Invoking function func_sidef_2 invoking procedure proc_1 invoking statement that is unsafe several times. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); RETURN 0; END; * binlog_format = STATEMENT: expect 2 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking procedure proc_1 invoking statement that is unsafe several times. CREATE PROCEDURE proc_2() BEGIN CALL proc_1(); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 2 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking procedure proc_1 invoking statement that is unsafe several times. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); CALL proc_1(); END; * binlog_format = STATEMENT: expect 2 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP TRIGGER trig_2; Invoking prepared statement prep_2 invoking procedure proc_1 invoking statement that is unsafe several times. PREPARE prep_2 FROM "CALL proc_1()"; * binlog_format = STATEMENT: expect 2 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PREPARE prep_2; DROP PROCEDURE proc_1; Invoking trigger trig_1 invoking statement that is unsafe several times. CREATE TRIGGER trig_1 BEFORE INSERT ON trigger_table_1 FOR EACH ROW BEGIN INSERT INTO ta1 VALUES (47); INSERT INTO ta0 VALUES (multi_unsafe_func()); END; * binlog_format = STATEMENT: expect 2 warnings. INSERT INTO trigger_table_1 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. Invoking function func_sidef_2 invoking trigger trig_1 invoking statement that is unsafe several times. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); RETURN 0; END; * binlog_format = STATEMENT: expect 2 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking trigger trig_1 invoking statement that is unsafe several times. CREATE PROCEDURE proc_2() BEGIN INSERT INTO trigger_table_1 VALUES (1); INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 2 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking trigger trig_1 invoking statement that is unsafe several times. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO trigger_table_1 VALUES (1); END; * binlog_format = STATEMENT: expect 2 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP TRIGGER trig_2; Invoking prepared statement prep_2 invoking trigger trig_1 invoking statement that is unsafe several times. PREPARE prep_2 FROM "INSERT INTO trigger_table_1 VALUES (1)"; * binlog_format = STATEMENT: expect 2 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PREPARE prep_2; DROP TRIGGER trig_1; Invoking view view_sidef_1 invoking statement that is unsafe several times. CREATE VIEW view_sidef_1 AS SELECT multi_unsafe_func(); * binlog_format = STATEMENT: expect 2 warnings. INSERT INTO t1 SELECT * FROM view_sidef_1; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. Invoking function func_sidef_2 invoking view view_sidef_1 invoking statement that is unsafe several times. CREATE FUNCTION func_sidef_2() RETURNS VARCHAR(100) BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT * FROM view_sidef_1; RETURN 0; END; * binlog_format = STATEMENT: expect 2 warnings. INSERT INTO t2 SELECT func_sidef_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP FUNCTION func_sidef_2; Invoking procedure proc_2 invoking view view_sidef_1 invoking statement that is unsafe several times. CREATE PROCEDURE proc_2() BEGIN INSERT INTO t1 SELECT * FROM view_sidef_1; INSERT INTO ta2 VALUES (47); END; * binlog_format = STATEMENT: expect 2 warnings. CALL proc_2(); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PROCEDURE proc_2; Invoking trigger trig_2 invoking view view_sidef_1 invoking statement that is unsafe several times. CREATE TRIGGER trig_2 BEFORE INSERT ON trigger_table_2 FOR EACH ROW BEGIN INSERT INTO ta2 VALUES (47); INSERT INTO t1 SELECT * FROM view_sidef_1; END; * binlog_format = STATEMENT: expect 2 warnings. INSERT INTO trigger_table_2 VALUES (1); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP TRIGGER trig_2; Invoking view view_sidef_2 invoking view view_sidef_1 invoking statement that is unsafe several times. CREATE VIEW view_sidef_2 AS SELECT * FROM view_sidef_1; * binlog_format = STATEMENT: expect 2 warnings. INSERT INTO t2 SELECT * FROM view_sidef_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP VIEW view_sidef_2; Invoking prepared statement prep_2 invoking view view_sidef_1 invoking statement that is unsafe several times. PREPARE prep_2 FROM "INSERT INTO t1 SELECT * FROM view_sidef_1"; * binlog_format = STATEMENT: expect 2 warnings. EXECUTE prep_2; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PREPARE prep_2; DROP VIEW view_sidef_1; Invoking prepared statement prep_1 invoking statement that is unsafe several times. PREPARE prep_1 FROM "INSERT INTO ta0 VALUES (multi_unsafe_func())"; * binlog_format = STATEMENT: expect 2 warnings. EXECUTE prep_1; Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP PREPARE prep_1; Invoking statement that is unsafe several times. * binlog_format = STATEMENT: expect 2 warnings. INSERT INTO ta0 VALUES (multi_unsafe_func()); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. include/assert.inc [There should be 2 warning(s)] * SQL_LOG_BIN = 0: expect nothing logged and only deprecation warnings. include/assert.inc [There should be 0 warning(s)] include/assert.inc [Only two events should exist in the binary log] * binlog_format = MIXED: expect error since the engine is only statement capable and doesn't have row logging capability. ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP TRIGGER double_autoinc_trig; DROP TABLE t0, t1, t2, ta0, ta1, ta2, autoinc_table, double_autoinc_table, data_table, trigger_table_1, trigger_table_2, trigger_table_3; DROP FUNCTION myfunc_int; DROP FUNCTION multi_unsafe_func; ==== Special system variables that should *not* be unsafe ==== CREATE TABLE t1 (a VARCHAR(1000)); CREATE TABLE autoinc_table (a INT PRIMARY KEY AUTO_INCREMENT); INSERT INTO t1 VALUES (@@session.auto_increment_increment); INSERT INTO t1 VALUES (@@session.auto_increment_offset); INSERT INTO t1 VALUES (@@session.character_set_client); INSERT INTO t1 VALUES (@@session.character_set_connection); INSERT INTO t1 VALUES (@@session.character_set_database); INSERT INTO t1 VALUES (@@session.character_set_server); INSERT INTO t1 VALUES (@@session.collation_connection); INSERT INTO t1 VALUES (@@session.collation_database); INSERT INTO t1 VALUES (@@session.collation_server); INSERT INTO t1 VALUES (@@session.foreign_key_checks); INSERT INTO t1 VALUES (@@session.identity); INSERT INTO t1 VALUES (@@session.last_insert_id); INSERT INTO t1 VALUES (@@session.lc_time_names); INSERT INTO t1 VALUES (@@session.pseudo_thread_id); INSERT INTO t1 VALUES (@@session.sql_auto_is_null); INSERT INTO t1 VALUES (@@session.timestamp); INSERT INTO t1 VALUES (@@session.time_zone); INSERT INTO t1 VALUES (@@session.unique_checks); SET @my_var= 4711; INSERT INTO t1 VALUES (@my_var); SET insert_id= 12; INSERT INTO autoinc_table VALUES (NULL); The following variables *should* give a warning, despite they are replicated. INSERT INTO t1 VALUES (@@session.sql_mode); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. INSERT INTO t1 VALUES (@@session.insert_id); Warnings: Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the slave. DROP TABLE t1, autoinc_table; SET GLOBAL debug= @old_debug; "End of tests"
Close