mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 19:41:47 +01:00
54 lines
1.4 KiB
Text
54 lines
1.4 KiB
Text
|
# ==== Purpose ====
|
||
|
#
|
||
|
# Test that nondeterministic system functions are correctly replicated.
|
||
|
#
|
||
|
# (Some functions are only correctly replicated if binlog_format=MIXED
|
||
|
# or ROW. See binlog_unsafe.test for a test that those variables are
|
||
|
# indeed unsafe.)
|
||
|
#
|
||
|
# ==== Implementation ====
|
||
|
#
|
||
|
# We insert the values of each unsafe function into a table. Then we
|
||
|
# replicate and check that the table is identical on slave.
|
||
|
#
|
||
|
# ==== Related bugs ====
|
||
|
#
|
||
|
# BUG#47995
|
||
|
|
||
|
--source include/master-slave.inc
|
||
|
|
||
|
CREATE TABLE t1 (a VARCHAR(1000));
|
||
|
|
||
|
# We replicate the connection_id in the query_log_event
|
||
|
INSERT INTO t1 VALUES (CONNECTION_ID());
|
||
|
--connection master1
|
||
|
INSERT INTO t1 VALUES (CONNECTION_ID());
|
||
|
|
||
|
# We replicate the TIMESTAMP variable, so the following functions that
|
||
|
# are affected by the TIMESTAMP variable should be safe to replicate.
|
||
|
INSERT INTO t1 VALUES
|
||
|
(CURDATE()),
|
||
|
(CURRENT_DATE()),
|
||
|
(CURRENT_TIME()),
|
||
|
(CURRENT_TIMESTAMP()),
|
||
|
(CURTIME()),
|
||
|
(LOCALTIME()),
|
||
|
(LOCALTIMESTAMP()),
|
||
|
(NOW()),
|
||
|
(UNIX_TIMESTAMP()),
|
||
|
(UTC_DATE()),
|
||
|
(UTC_TIME()),
|
||
|
(UTC_TIMESTAMP());
|
||
|
|
||
|
# We replicate the random seed in a rand_log_event
|
||
|
INSERT INTO t1 VALUES (RAND());
|
||
|
# We replicate the last_insert_id in an intvar_log_event
|
||
|
INSERT INTO t1 VALUES (LAST_INSERT_ID());
|
||
|
|
||
|
--sync_slave_with_master
|
||
|
--let $diff_table_1= master:test.t1
|
||
|
--let $diff_table_2= slave:test.t1
|
||
|
--source include/diff_tables.inc
|
||
|
|
||
|
DROP TABLE t1;
|