10 changed files with 203 additions and 1 deletions
-
29mysql-test/suite/maria/aria_log_dir_path.result
-
65mysql-test/suite/maria/aria_log_dir_path.test
-
1mysql-test/suite/maria/maria3.result
-
36mysql-test/suite/sys_vars/r/aria_log_dir_path_basic.result
-
12mysql-test/suite/sys_vars/r/sysvars_aria.result
-
10mysql-test/suite/sys_vars/r/sysvars_server_embedded.result
-
10mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result
-
35mysql-test/suite/sys_vars/t/aria_log_dir_path_basic.test
-
4mysql-test/suite/sys_vars/t/sysvars_aria.test
-
2storage/maria/ha_maria.cc
@ -0,0 +1,29 @@ |
|||
# |
|||
# MDEV-30971 Add a new system variable aria_data_home_dir |
|||
# |
|||
# restart: --loose-aria-log-file-size=8388608 --loose-aria-log-dir-path=MYSQLTEST_VARDIR/tmp/aria_log_dir_path_1 |
|||
SET @@global.aria_log_purge_type=external; |
|||
SHOW VARIABLES LIKE 'aria_log_file_size'; |
|||
Variable_name Value |
|||
aria_log_file_size 8388608 |
|||
SELECT @@aria_log_dir_path; |
|||
@@aria_log_dir_path |
|||
MYSQLTEST_VARDIR/tmp/aria_log_dir_path_1 |
|||
SET @@global.aria_checkpoint_interval=DEFAULT /*Force checkpoint*/; |
|||
SHOW ENGINE aria logs; |
|||
Type Name Status |
|||
Aria aria_log.00000001 in use |
|||
CREATE TABLE t1 (id INT, txt LONGTEXT) ENGINE=Aria; |
|||
BEGIN NOT ATOMIC |
|||
FOR id IN 0..9 DO |
|||
INSERT INTO test.t1 (id, txt) VALUES (id, REPEAT(id,1024*1024)); |
|||
END FOR; |
|||
END; |
|||
$$ |
|||
SET @@global.aria_checkpoint_interval=DEFAULT /*Force checkpoint*/; |
|||
SHOW ENGINE aria logs; |
|||
Type Name Status |
|||
Aria aria_log.00000001 free |
|||
Aria aria_log.00000002 in use |
|||
DROP TABLE t1; |
|||
# restart |
|||
@ -0,0 +1,65 @@ |
|||
--source include/have_maria.inc |
|||
--let $datadir= `SELECT @@datadir` |
|||
|
|||
--echo # |
|||
--echo # MDEV-30971 Add a new system variable aria_data_home_dir |
|||
--echo # |
|||
|
|||
--let $ARIA_LOGDIR=$MYSQLTEST_VARDIR/tmp/aria_log_dir_path_1 |
|||
--mkdir $ARIA_LOGDIR |
|||
--let $restart_parameters=--loose-aria-log-file-size=8388608 --loose-aria-log-dir-path=$ARIA_LOGDIR |
|||
--source include/restart_mysqld.inc |
|||
|
|||
# |
|||
# Test that: |
|||
# - aria_log_dir_path is set to a non-default directory. |
|||
# - New Aria log files are created in the non-default directory. |
|||
# - The contents of the log directory (according to "file_exists" commands) |
|||
# is in sync with the "SHOW ENGINE aria logs" ouput. |
|||
# |
|||
|
|||
# Prevent automatic purge |
|||
SET @@global.aria_log_purge_type=external; |
|||
|
|||
SHOW VARIABLES LIKE 'aria_log_file_size'; |
|||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR |
|||
SELECT @@aria_log_dir_path; |
|||
|
|||
|
|||
SET @@global.aria_checkpoint_interval=DEFAULT /*Force checkpoint*/; |
|||
--file_exists $ARIA_LOGDIR/aria_log_control |
|||
--file_exists $ARIA_LOGDIR/aria_log.00000001 |
|||
--error 1 |
|||
--file_exists $ARIA_LOGDIR/aria_log.00000002 |
|||
--replace_regex /Size +[0-9]+ ; .+aria_log/aria_log/ |
|||
SHOW ENGINE aria logs; |
|||
|
|||
|
|||
CREATE TABLE t1 (id INT, txt LONGTEXT) ENGINE=Aria; |
|||
DELIMITER $$; |
|||
BEGIN NOT ATOMIC |
|||
FOR id IN 0..9 DO |
|||
INSERT INTO test.t1 (id, txt) VALUES (id, REPEAT(id,1024*1024)); |
|||
END FOR; |
|||
END; |
|||
$$ |
|||
DELIMITER ;$$ |
|||
|
|||
|
|||
SET @@global.aria_checkpoint_interval=DEFAULT /*Force checkpoint*/; |
|||
--file_exists $ARIA_LOGDIR/aria_log_control |
|||
--file_exists $ARIA_LOGDIR/aria_log.00000001 |
|||
--file_exists $ARIA_LOGDIR/aria_log.00000002 |
|||
--error 1 |
|||
--file_exists $ARIA_LOGDIR/aria_log.00000003 |
|||
--replace_regex /Size +[0-9]+ ; .+aria_log/aria_log/ |
|||
SHOW ENGINE aria logs; |
|||
|
|||
DROP TABLE t1; |
|||
|
|||
--let $restart_parameters= |
|||
--source include/restart_mysqld.inc |
|||
--remove_file $ARIA_LOGDIR/aria_log_control |
|||
--remove_file $ARIA_LOGDIR/aria_log.00000001 |
|||
--remove_file $ARIA_LOGDIR/aria_log.00000002 |
|||
--rmdir $ARIA_LOGDIR |
|||
@ -0,0 +1,36 @@ |
|||
SELECT COUNT(@@GLOBAL.aria_log_dir_path); |
|||
COUNT(@@GLOBAL.aria_log_dir_path) |
|||
1 |
|||
SET @@GLOBAL.aria_log_dir_path=1; |
|||
ERROR HY000: Variable 'aria_log_dir_path' is a read only variable |
|||
SELECT COUNT(@@GLOBAL.aria_log_dir_path); |
|||
COUNT(@@GLOBAL.aria_log_dir_path) |
|||
1 |
|||
SELECT @@GLOBAL.aria_log_dir_path = VARIABLE_VALUE |
|||
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES |
|||
WHERE VARIABLE_NAME='aria_log_dir_path'; |
|||
@@GLOBAL.aria_log_dir_path = VARIABLE_VALUE |
|||
1 |
|||
SELECT COUNT(@@GLOBAL.aria_log_dir_path); |
|||
COUNT(@@GLOBAL.aria_log_dir_path) |
|||
1 |
|||
SELECT COUNT(VARIABLE_VALUE) |
|||
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES |
|||
WHERE VARIABLE_NAME='aria_log_dir_path'; |
|||
COUNT(VARIABLE_VALUE) |
|||
1 |
|||
SELECT @@aria_log_dir_path = @@GLOBAL.aria_log_dir_path; |
|||
@@aria_log_dir_path = @@GLOBAL.aria_log_dir_path |
|||
1 |
|||
SELECT COUNT(@@aria_log_dir_path); |
|||
COUNT(@@aria_log_dir_path) |
|||
1 |
|||
SELECT COUNT(@@local.aria_log_dir_path); |
|||
ERROR HY000: Variable 'aria_log_dir_path' is a GLOBAL variable |
|||
SELECT COUNT(@@SESSION.aria_log_dir_path); |
|||
ERROR HY000: Variable 'aria_log_dir_path' is a GLOBAL variable |
|||
SELECT COUNT(@@GLOBAL.aria_log_dir_path); |
|||
COUNT(@@GLOBAL.aria_log_dir_path) |
|||
1 |
|||
SELECT aria_log_dir_path = @@SESSION.aria_log_dir_path; |
|||
ERROR 42S22: Unknown column 'aria_log_dir_path' in 'field list' |
|||
@ -0,0 +1,35 @@ |
|||
--source include/have_maria.inc |
|||
|
|||
SELECT COUNT(@@GLOBAL.aria_log_dir_path); |
|||
--error ER_INCORRECT_GLOBAL_LOCAL_VAR |
|||
SET @@GLOBAL.aria_log_dir_path=1; |
|||
|
|||
SELECT COUNT(@@GLOBAL.aria_log_dir_path); |
|||
|
|||
|
|||
SELECT @@GLOBAL.aria_log_dir_path = VARIABLE_VALUE |
|||
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES |
|||
WHERE VARIABLE_NAME='aria_log_dir_path'; |
|||
|
|||
SELECT COUNT(@@GLOBAL.aria_log_dir_path); |
|||
|
|||
SELECT COUNT(VARIABLE_VALUE) |
|||
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES |
|||
WHERE VARIABLE_NAME='aria_log_dir_path'; |
|||
|
|||
|
|||
SELECT @@aria_log_dir_path = @@GLOBAL.aria_log_dir_path; |
|||
|
|||
|
|||
SELECT COUNT(@@aria_log_dir_path); |
|||
|
|||
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR |
|||
SELECT COUNT(@@local.aria_log_dir_path); |
|||
|
|||
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR |
|||
SELECT COUNT(@@SESSION.aria_log_dir_path); |
|||
|
|||
SELECT COUNT(@@GLOBAL.aria_log_dir_path); |
|||
|
|||
--Error ER_BAD_FIELD_ERROR |
|||
SELECT aria_log_dir_path = @@SESSION.aria_log_dir_path; |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue