mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 19:11:46 +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.
47 lines
1.2 KiB
Text
47 lines
1.2 KiB
Text
select @@ignore_db_dirs;
|
|
@@ignore_db_dirs
|
|
e,lost+found,.mysqlgui,ignored_db
|
|
# Check that SHOW DATABASES ignores all directories from
|
|
# @@ignore_db_dirs and all directories with names starting
|
|
# with '.'
|
|
SHOW DATABASES;
|
|
Database
|
|
information_schema
|
|
#mysql50#.otherdir
|
|
mtr
|
|
mysql
|
|
test
|
|
USE ignored_db;
|
|
ERROR 42000: Incorrect database name 'ignored_db'
|
|
SELECT * FROM ignored_db.t1;
|
|
ERROR 42000: Incorrect database name 'ignored_db'
|
|
CALL ignored_db.p1();
|
|
ERROR 42000: Incorrect database name 'ignored_db'
|
|
SELECT COUNT(*) FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='ignored_db';
|
|
COUNT(*)
|
|
1
|
|
CREATE DATABASE ignored_db;
|
|
ERROR 42000: Incorrect database name '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;
|
|
id
|
|
1
|
|
2
|
|
SHOW DATABASES;
|
|
Database
|
|
information_schema
|
|
#mysql50#.otherdir
|
|
lost+found
|
|
mtr
|
|
mysql
|
|
test
|
|
DROP DATABASE `lost+found`;
|
|
SET @@global.ignore_db_dirs = 'aha';
|
|
ERROR HY000: Variable 'ignore_db_dirs' is a read only variable
|
|
SET @@local.ignore_db_dirs = 'aha';
|
|
ERROR HY000: Variable 'ignore_db_dirs' is a read only variable
|
|
SET @@ignore_db_dirs = 'aha';
|
|
ERROR HY000: Variable 'ignore_db_dirs' is a read only variable
|