Merged r3466 from maria-5.5-galera.
This commit is contained in:
parent
7b57c5ea6f
commit
7fd382f117
@ -1,4 +1,8 @@
|
||||
-- require r/have_wsrep.require
|
||||
disable_query_log;
|
||||
show variables like 'wsrep_on';
|
||||
enable_query_log;
|
||||
# To be used in a test which requires server to be compiled with wsrep support
|
||||
# (-DWITH_WSREP=ON) and wsrep plugin is ACTIVE.
|
||||
|
||||
if (`SELECT COUNT(*)=0 FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'wsrep' AND PLUGIN_STATUS='ACTIVE'`)
|
||||
{
|
||||
--skip Test required wsrep plugin.
|
||||
}
|
||||
|
||||
|
9
mysql-test/include/have_wsrep_enabled.inc
Normal file
9
mysql-test/include/have_wsrep_enabled.inc
Normal file
@ -0,0 +1,9 @@
|
||||
# To be used in a test which requires wsrep plugin to be ACTIVE and enabled
|
||||
# (i.e. wsrep_on=ON). It includes have_wsrep.inc.
|
||||
|
||||
--source include/have_wsrep.inc
|
||||
|
||||
--require r/have_wsrep.require
|
||||
disable_query_log;
|
||||
SHOW VARIABLES LIKE 'wsrep_on';
|
||||
enable_query_log;
|
7
mysql-test/include/not_wsrep.inc
Normal file
7
mysql-test/include/not_wsrep.inc
Normal file
@ -0,0 +1,7 @@
|
||||
# To be used in a test which should be skipped if server is compiled with wsrep
|
||||
# support (-DWITH_WSREP=ON) and wsrep plugin is ACTIVE.
|
||||
|
||||
-- require r/not_wsrep.require
|
||||
disable_query_log;
|
||||
SELECT VERSION() LIKE '%wsrep%' AS 'HAVE_WSREP';
|
||||
enable_query_log;
|
@ -2,6 +2,7 @@
|
||||
# MDEV-5226 mysql_tzinfo_to_sql errors with tzdata 2013f and above
|
||||
#
|
||||
SET SESSION wsrep_replicate_myisam=ON;
|
||||
# Verbose run
|
||||
TRUNCATE TABLE time_zone;
|
||||
TRUNCATE TABLE time_zone_name;
|
||||
TRUNCATE TABLE time_zone_transition;
|
||||
@ -21,3 +22,38 @@ INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset,
|
||||
Warning: Skipping directory 'MYSQLTEST_VARDIR/zoneinfo/posix/posix': to avoid infinite symlink recursion.
|
||||
ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time;
|
||||
ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id;
|
||||
# Silent run
|
||||
TRUNCATE TABLE time_zone;
|
||||
TRUNCATE TABLE time_zone_name;
|
||||
TRUNCATE TABLE time_zone_transition;
|
||||
TRUNCATE TABLE time_zone_transition_type;
|
||||
INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
|
||||
SET @time_zone_id= LAST_INSERT_ID();
|
||||
INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('GMT', @time_zone_id);
|
||||
INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
|
||||
(@time_zone_id, 0, 0, 0, 'GMT')
|
||||
;
|
||||
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/garbage' as time zone. Skipping it.
|
||||
INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
|
||||
SET @time_zone_id= LAST_INSERT_ID();
|
||||
INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('posix/GMT', @time_zone_id);
|
||||
INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
|
||||
(@time_zone_id, 0, 0, 0, 'GMT')
|
||||
;
|
||||
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/garbage' as time zone. Skipping it.
|
||||
ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time;
|
||||
ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id;
|
||||
#
|
||||
# Testing with explicit timezonefile
|
||||
#
|
||||
INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
|
||||
SET @time_zone_id= LAST_INSERT_ID();
|
||||
INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('XXX', @time_zone_id);
|
||||
INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
|
||||
(@time_zone_id, 0, 0, 0, 'GMT')
|
||||
;
|
||||
#
|
||||
# Testing --leap
|
||||
#
|
||||
TRUNCATE TABLE time_zone_leap_second;
|
||||
ALTER TABLE time_zone_leap_second ORDER BY Transition_time;
|
||||
|
2
mysql-test/r/not_wsrep.require
Normal file
2
mysql-test/r/not_wsrep.require
Normal file
@ -0,0 +1,2 @@
|
||||
HAVE_WSREP
|
||||
0
|
@ -1,3 +1,5 @@
|
||||
call mtr.add_suppression("WSREP: cannot get fake InnoDB transaction ID");
|
||||
call mtr.add_suppression("WSREP: Could not open saved state file for reading:.*");
|
||||
SHOW VARIABLES LIKE 'binlog_format';
|
||||
Variable_name Value
|
||||
binlog_format ROW
|
||||
|
70
mysql-test/suite/wsrep/r/mysql_tzinfo_to_sql_symlink.result
Normal file
70
mysql-test/suite/wsrep/r/mysql_tzinfo_to_sql_symlink.result
Normal file
@ -0,0 +1,70 @@
|
||||
#
|
||||
# MDEV-5226 mysql_tzinfo_to_sql errors with tzdata 2013f and above
|
||||
#
|
||||
# Verbose run
|
||||
SET GLOBAL wsrep_replicate_myisam= ON;
|
||||
TRUNCATE TABLE time_zone;
|
||||
TRUNCATE TABLE time_zone_name;
|
||||
TRUNCATE TABLE time_zone_transition;
|
||||
TRUNCATE TABLE time_zone_transition_type;
|
||||
INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
|
||||
SET @time_zone_id= LAST_INSERT_ID();
|
||||
INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('GMT', @time_zone_id);
|
||||
INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
|
||||
(@time_zone_id, 0, 0, 0, 'GMT')
|
||||
;
|
||||
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/garbage' as time zone. Skipping it.
|
||||
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/ignored.tab' as time zone. Skipping it.
|
||||
INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
|
||||
SET @time_zone_id= LAST_INSERT_ID();
|
||||
INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('posix/GMT', @time_zone_id);
|
||||
INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
|
||||
(@time_zone_id, 0, 0, 0, 'GMT')
|
||||
;
|
||||
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/garbage' as time zone. Skipping it.
|
||||
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/ignored.tab' as time zone. Skipping it.
|
||||
Warning: Skipping directory 'MYSQLTEST_VARDIR/zoneinfo/posix/posix': to avoid infinite symlink recursion.
|
||||
ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time;
|
||||
ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id;
|
||||
SET GLOBAL wsrep_replicate_myisam= OFF;
|
||||
# Silent run
|
||||
SET GLOBAL wsrep_replicate_myisam= ON;
|
||||
TRUNCATE TABLE time_zone;
|
||||
TRUNCATE TABLE time_zone_name;
|
||||
TRUNCATE TABLE time_zone_transition;
|
||||
TRUNCATE TABLE time_zone_transition_type;
|
||||
INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
|
||||
SET @time_zone_id= LAST_INSERT_ID();
|
||||
INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('GMT', @time_zone_id);
|
||||
INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
|
||||
(@time_zone_id, 0, 0, 0, 'GMT')
|
||||
;
|
||||
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/garbage' as time zone. Skipping it.
|
||||
INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
|
||||
SET @time_zone_id= LAST_INSERT_ID();
|
||||
INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('posix/GMT', @time_zone_id);
|
||||
INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
|
||||
(@time_zone_id, 0, 0, 0, 'GMT')
|
||||
;
|
||||
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/garbage' as time zone. Skipping it.
|
||||
ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time;
|
||||
ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id;
|
||||
SET GLOBAL wsrep_replicate_myisam= OFF;
|
||||
#
|
||||
# Testing with explicit timezonefile
|
||||
#
|
||||
SET GLOBAL wsrep_replicate_myisam= ON;
|
||||
INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
|
||||
SET @time_zone_id= LAST_INSERT_ID();
|
||||
INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('XXX', @time_zone_id);
|
||||
INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
|
||||
(@time_zone_id, 0, 0, 0, 'GMT')
|
||||
;
|
||||
SET GLOBAL wsrep_replicate_myisam= OFF;
|
||||
#
|
||||
# Testing --leap
|
||||
#
|
||||
SET GLOBAL wsrep_replicate_myisam= ON;
|
||||
TRUNCATE TABLE time_zone_leap_second;
|
||||
ALTER TABLE time_zone_leap_second ORDER BY Transition_time;
|
||||
SET GLOBAL wsrep_replicate_myisam= OFF;
|
@ -1,3 +1,16 @@
|
||||
|
||||
# MDEV#5534: mysql_tzinfo_to_sql generates wrong query
|
||||
#
|
||||
# Testing wsrep_replicate_myisam variable.
|
||||
SELECT @@session.wsrep_replicate_myisam;
|
||||
ERROR HY000: Variable 'wsrep_replicate_myisam' is a GLOBAL variable
|
||||
SELECT @@global.wsrep_replicate_myisam;
|
||||
@@global.wsrep_replicate_myisam
|
||||
0
|
||||
SET SESSION wsrep_replicate_myisam= ON;
|
||||
ERROR HY000: Variable 'wsrep_replicate_myisam' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
SET GLOBAL wsrep_replicate_myisam= ON;
|
||||
SET GLOBAL wsrep_replicate_myisam= OFF;
|
||||
#
|
||||
# MDEV#5790: SHOW GLOBAL STATUS LIKE does not show the correct list of
|
||||
# variables when using "_"
|
||||
|
@ -1,8 +1,11 @@
|
||||
--source include/have_wsrep.inc
|
||||
--source include/have_wsrep_enabled.inc
|
||||
--source include/have_binlog_format_row.inc
|
||||
#
|
||||
# MDEV-4227: Galera server should stop crashing on setting binlog_format STATEMENT
|
||||
#
|
||||
call mtr.add_suppression("WSREP: cannot get fake InnoDB transaction ID");
|
||||
call mtr.add_suppression("WSREP: Could not open saved state file for reading:.*");
|
||||
|
||||
SHOW VARIABLES LIKE 'binlog_format';
|
||||
-- error ER_WRONG_VALUE_FOR_VAR
|
||||
SET binlog_format=STATEMENT;
|
||||
|
40
mysql-test/suite/wsrep/t/mysql_tzinfo_to_sql_symlink.test
Normal file
40
mysql-test/suite/wsrep/t/mysql_tzinfo_to_sql_symlink.test
Normal file
@ -0,0 +1,40 @@
|
||||
--source include/have_wsrep.inc
|
||||
--source include/have_symlink.inc
|
||||
--source include/not_windows.inc
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-5226 mysql_tzinfo_to_sql errors with tzdata 2013f and above
|
||||
--echo #
|
||||
|
||||
--exec mkdir $MYSQLTEST_VARDIR/zoneinfo
|
||||
--exec ln -s $MYSQLTEST_VARDIR/zoneinfo $MYSQLTEST_VARDIR/zoneinfo/posix
|
||||
--copy_file std_data/zoneinfo/GMT $MYSQLTEST_VARDIR/zoneinfo/GMT
|
||||
--copy_file std_data/words.dat $MYSQLTEST_VARDIR/zoneinfo/garbage
|
||||
--copy_file std_data/words.dat $MYSQLTEST_VARDIR/zoneinfo/ignored.tab
|
||||
|
||||
--echo # Verbose run
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MYSQL_TZINFO_TO_SQL --verbose $MYSQLTEST_VARDIR/zoneinfo 2>&1
|
||||
|
||||
--echo # Silent run
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo 2>&1
|
||||
|
||||
--echo #
|
||||
--echo # Testing with explicit timezonefile
|
||||
--echo #
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo/GMT XXX 2>&1
|
||||
|
||||
--echo #
|
||||
--echo # Testing --leap
|
||||
--echo #
|
||||
|
||||
--exec $MYSQL_TZINFO_TO_SQL --leap $MYSQLTEST_VARDIR/zoneinfo/GMT 2>&1
|
||||
|
||||
#
|
||||
# Cleanup
|
||||
#
|
||||
|
||||
--exec rm -rf $MYSQLTEST_VARDIR/zoneinfo
|
@ -1,5 +1,21 @@
|
||||
--source include/have_wsrep.inc
|
||||
|
||||
--echo
|
||||
--echo # MDEV#5534: mysql_tzinfo_to_sql generates wrong query
|
||||
--echo #
|
||||
--echo # Testing wsrep_replicate_myisam variable.
|
||||
|
||||
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
|
||||
SELECT @@session.wsrep_replicate_myisam;
|
||||
SELECT @@global.wsrep_replicate_myisam;
|
||||
|
||||
--error ER_GLOBAL_VARIABLE
|
||||
SET SESSION wsrep_replicate_myisam= ON;
|
||||
SET GLOBAL wsrep_replicate_myisam= ON;
|
||||
|
||||
# Reset it back.
|
||||
SET GLOBAL wsrep_replicate_myisam= OFF;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV#5790: SHOW GLOBAL STATUS LIKE does not show the correct list of
|
||||
--echo # variables when using "_"
|
||||
@ -18,4 +34,3 @@ SHOW VARIABLES LIKE 'wsrep_%';
|
||||
SHOW VARIABLES LIKE 'x';
|
||||
|
||||
--echo # End of test.
|
||||
|
||||
|
@ -1,6 +1,11 @@
|
||||
--source include/have_symlink.inc
|
||||
--source include/not_windows.inc
|
||||
|
||||
# Note: The output of mysql_tzinfo_to_sql is different if server is compiled
|
||||
# with wsrep. Hence a copy of this test has been placed under wsrep suite with
|
||||
# the updated result. (lp:1161432)
|
||||
--source include/not_wsrep.inc
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-5226 mysql_tzinfo_to_sql errors with tzdata 2013f and above
|
||||
--echo #
|
||||
|
@ -6131,7 +6131,7 @@ void ha_wsrep_fake_trx_id(THD *thd)
|
||||
}
|
||||
else
|
||||
{
|
||||
WSREP_WARN("cannot get get fake InnoDB transaction ID");
|
||||
WSREP_WARN("cannot get fake InnoDB transaction ID");
|
||||
}
|
||||
|
||||
DBUG_VOID_RETURN;
|
||||
|
@ -2590,8 +2590,10 @@ main(int argc, char **argv)
|
||||
return 1;
|
||||
}
|
||||
|
||||
#ifdef WITH_WSREP
|
||||
// Replicate MyISAM DDL for this session, cf. lp:1161432
|
||||
printf("SET SESSION wsrep_replicate_myisam=ON;\n");
|
||||
printf("SET GLOBAL wsrep_replicate_myisam= ON;\n");
|
||||
#endif /* WITH_WSREP */
|
||||
|
||||
if (argc == 2)
|
||||
{
|
||||
@ -2643,6 +2645,12 @@ main(int argc, char **argv)
|
||||
free_root(&tz_storage, MYF(0));
|
||||
}
|
||||
|
||||
#ifdef WITH_WSREP
|
||||
// Reset wsrep_replicate_myisam. lp:1161432
|
||||
printf("SET GLOBAL wsrep_replicate_myisam= OFF;\n");
|
||||
#endif /* WITH_WSREP */
|
||||
|
||||
free_defaults(default_argv);
|
||||
my_end(0);
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user