mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
8c2bb705f1
The feature was backported from MySQL 5.6. Some code was added to make commands as SELECT * FROM ignored_db.t1; CALL ignored_db.proc(); USE ignored_db; to take that option into account. per-file comments: mysql-test/r/ignore_db_dirs_basic.result test result added. mysql-test/t/ignore_db_dirs_basic-master.opt options for the test, actually the set of --ignore-db-dir lines. mysql-test/t/ignore_db_dirs_basic.test test for the feature. Same test from 5.6 was taken as a basis, then tests for SELECT, CALL etc were added. per-file comments: sql/mysql_priv.h MDEV-495 backport --ignore-db-dir. interface for db_name_is_in_ignore_list() added. sql/mysqld.cc MDEV-495 backport --ignore-db-dir. --ignore-db-dir handling. sql/set_var.cc MDEV-495 backport --ignore-db-dir. the @@ignore_db_dirs variable added. sql/sql_show.cc MDEV-495 backport --ignore-db-dir. check if the directory is ignored. sql/sql_show.h MDEV-495 backport --ignore-db-dir. interface added for opt_ignored_db_dirs. sql/table.cc MDEV-495 backport --ignore-db-dir. check if the directory is ignored.
38 lines
1.1 KiB
Text
38 lines
1.1 KiB
Text
select @@ignore_db_dirs;
|
|
let $MYSQLD_DATADIR= `select @@datadir`;
|
|
|
|
mkdir $MYSQLD_DATADIR/.mysqlgui;
|
|
mkdir $MYSQLD_DATADIR/.otherdir;
|
|
mkdir $MYSQLD_DATADIR/lost+found;
|
|
mkdir $MYSQLD_DATADIR/ignored_db;
|
|
--echo # Check that SHOW DATABASES ignores all directories from
|
|
--echo # @@ignore_db_dirs and all directories with names starting
|
|
--echo # with '.'
|
|
SHOW DATABASES;
|
|
--error ER_WRONG_DB_NAME
|
|
USE ignored_db;
|
|
--error ER_WRONG_DB_NAME
|
|
SELECT * FROM ignored_db.t1;
|
|
--error ER_WRONG_DB_NAME
|
|
CALL ignored_db.p1();
|
|
SELECT COUNT(*) FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='ignored_db';
|
|
--error ER_WRONG_DB_NAME
|
|
CREATE DATABASE ignored_db;
|
|
CREATE DATABASE `lost+found`;
|
|
USE `lost+found`;
|
|
CREATE TABLE t1(id INT);
|
|
INSERT INTO t1 VALUES (1), (2);
|
|
SELECT * FROM `lost+found`.t1;
|
|
SHOW DATABASES;
|
|
DROP DATABASE `lost+found`;
|
|
rmdir $MYSQLD_DATADIR/.mysqlgui;
|
|
rmdir $MYSQLD_DATADIR/.otherdir;
|
|
rmdir $MYSQLD_DATADIR/lost+found;
|
|
rmdir $MYSQLD_DATADIR/ignored_db;
|
|
|
|
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
|
|
SET @@global.ignore_db_dirs = 'aha';
|
|
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
|
|
SET @@local.ignore_db_dirs = 'aha';
|
|
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
|
|
SET @@ignore_db_dirs = 'aha';
|