1# Variable: innodb_redo_log_archive_dirs 2# Default : NULL 3# Scope : GLOBAL 4# Dynamic : Yes 5 6## Save variable 7SET @innodb_redo_log_archive_dirs_sav= @@global.innodb_redo_log_archive_dirs; 8 9## Show default value 10SELECT @@global.innodb_redo_log_archive_dirs; 11 12## Valid cases 13## Syntax: semi-colon separated list of labeled path names. 14## Path names are not checked when the variable is set. 15# 16SET @@global.innodb_redo_log_archive_dirs="label1:/dir1"; 17SELECT @@global.innodb_redo_log_archive_dirs; 18# 19SET @@global.innodb_redo_log_archive_dirs="label1:/dir1;label2:dir2"; 20SELECT @@global.innodb_redo_log_archive_dirs; 21# 22## A single trailing semi-colon is allowed. 23# 24SET @@global.innodb_redo_log_archive_dirs="label1:/dir1;"; 25SELECT @@global.innodb_redo_log_archive_dirs; 26# 27SET @@global.innodb_redo_log_archive_dirs="label1:dir1;label2:/dir2;"; 28SELECT @@global.innodb_redo_log_archive_dirs; 29# 30## Label can be empty, but colon must exist. 31# 32SET @@global.innodb_redo_log_archive_dirs=":/dir1"; 33SELECT @@global.innodb_redo_log_archive_dirs; 34# 35## Labels are not checked for uniqueness. Nor are path names. 36# 37SET @@global.innodb_redo_log_archive_dirs=":dir1;:dir1"; 38SELECT @@global.innodb_redo_log_archive_dirs; 39# 40## Label can contain every character, but colon. Example label ";;;". 41# 42SET @@global.innodb_redo_log_archive_dirs=";;;:/dir1"; 43SELECT @@global.innodb_redo_log_archive_dirs; 44# 45## Path can contain every character, but semi-colon. Example path ":::". 46# 47SET @@global.innodb_redo_log_archive_dirs="label::::"; 48SELECT @@global.innodb_redo_log_archive_dirs; 49# 50## Example: Two times in a row label ";;;", path ":::", trailing semi-colon. 51# 52SET @@global.innodb_redo_log_archive_dirs=";;;::::;;;;::::;"; 53SELECT @@global.innodb_redo_log_archive_dirs; 54# 55## Variable can be empty. 56# 57SET @@global.innodb_redo_log_archive_dirs=""; 58SELECT @@global.innodb_redo_log_archive_dirs; 59# 60## Variable can be NULL. 61# 62SET @@global.innodb_redo_log_archive_dirs=NULL; 63SELECT @@global.innodb_redo_log_archive_dirs; 64# 65## Variable can be persisted. 66# 67SET PERSIST innodb_redo_log_archive_dirs="label1:/dir1"; 68SELECT @@global.innodb_redo_log_archive_dirs; 69RESET PERSIST innodb_redo_log_archive_dirs; 70 71## Invalid cases 72--error ER_GLOBAL_VARIABLE 73SET innodb_redo_log_archive_dirs="label1:/dir1"; 74--error ER_GLOBAL_VARIABLE 75SET @@local.innodb_redo_log_archive_dirs="label1:/dir1"; 76--error ER_GLOBAL_VARIABLE 77SET @@innodb_redo_log_archive_dirs="label1:/dir1"; 78--error ER_GLOBAL_VARIABLE 79SET @@session.innodb_redo_log_archive_dirs="label1:/dir1"; 80 81## Invalid cases 82# Label missing 83--error ER_WRONG_VALUE_FOR_VAR 84SET @@global.innodb_redo_log_archive_dirs="/dir1"; 85## Path missing. 86--error ER_WRONG_VALUE_FOR_VAR 87SET @@global.innodb_redo_log_archive_dirs=":"; 88--error ER_WRONG_VALUE_FOR_VAR 89SET @@global.innodb_redo_log_archive_dirs="l1:"; 90# (Second) Label missing 91--error ER_WRONG_VALUE_FOR_VAR 92SET @@global.innodb_redo_log_archive_dirs=":d1;;"; 93--error ER_WRONG_VALUE_FOR_VAR 94SET @@global.innodb_redo_log_archive_dirs=":d1;d2"; 95# (Second) Path missing 96--error ER_WRONG_VALUE_FOR_VAR 97SET @@global.innodb_redo_log_archive_dirs="l1:d1;l2:"; 98# (Second) Path missing 99--error ER_WRONG_VALUE_FOR_VAR 100SET @@global.innodb_redo_log_archive_dirs="l1:d1;l2:;"; 101 102# Repeated execution of SET @@global.innodb_redo_log_archive_dirs 103--disable_warnings 104DROP PROCEDURE IF EXISTS test.innodb_redo_log_archive_dirs; 105--enable_warnings 106DELIMITER |; 107CREATE PROCEDURE test.innodb_redo_log_archive_dirs (IN start BIGINT, IN nam CHAR(20)) 108BEGIN 109 DECLARE CONTINUE HANDLER FOR 13178 SET @x2 = 1; 110 SET @idx=start; 111 SET @n=nam; 112 WHILE (@idx > 0) DO 113 SET @s=CONCAT("SET @@global.innodb_redo_log_archive_dirs='1:../www/",@n,@idx,"'"); 114 Prepare stmt from @s; 115 Execute stmt; 116 SET @@global.innodb_redo_log_archive_dirs=""; 117 SET @idx = @idx - 1; 118 END WHILE; 119END| 120DELIMITER ;| 121CALL test.innodb_redo_log_archive_dirs(100,'s'); 122DROP PROCEDURE test.innodb_redo_log_archive_dirs; 123 124## Restore variable 125SET @@global.innodb_redo_log_archive_dirs= @innodb_redo_log_archive_dirs_sav; 126