mirror of
https://github.com/MariaDB/server.git
synced 2025-11-19 19:03:26 +03:00
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.
48 lines
1.2 KiB
Plaintext
48 lines
1.2 KiB
Plaintext
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
|