mirror of
https://github.com/MariaDB/server.git
synced 2026-05-14 19:07:15 +02:00
MDEV-6858: enforce_storage_engine option
Merge from Percona Server enforced use of a specific storage engine authored by Stewart Smith. Modified to be session variable and modifiable only by SUPER. Use similar implementation as default_storage_engine.
This commit is contained in:
parent
ba3573cae8
commit
8249dcaaeb
16 changed files with 351 additions and 2 deletions
73
mysql-test/t/enforce_storage_engine.test
Normal file
73
mysql-test/t/enforce_storage_engine.test
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
-- source include/not_embedded.inc
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
SET SESSION enforce_storage_engine=MyISAM;
|
||||
select @@session.enforce_storage_engine;
|
||||
CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=Memory;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=MyISAM;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10));
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
SET SESSION sql_mode='NO_ENGINE_SUBSTITUTION';
|
||||
CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=MyISAM;
|
||||
SHOW CREATE TABLE t1;
|
||||
INSERT INTO t1 values (1,'abba');
|
||||
|
||||
--error 1286
|
||||
CREATE TABLE t2 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=Memory;
|
||||
|
||||
SET SESSION sql_mode='';
|
||||
|
||||
SET SESSION enforce_storage_engine=MyISAM;
|
||||
select @@session.enforce_storage_engine;
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10));
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--error 1286
|
||||
SET SESSION enforce_storage_engine=FooBar;
|
||||
|
||||
select @@session.enforce_storage_engine;
|
||||
|
||||
--source include/add_anonymous_users.inc
|
||||
|
||||
connect (con1,localhost,user_1,,);
|
||||
connection con1;
|
||||
--error 1227
|
||||
SET SESSION enforce_storage_engine=MyISAM;
|
||||
disconnect con1;
|
||||
|
||||
connection default;
|
||||
|
||||
--source include/delete_anonymous_users.inc
|
||||
|
||||
SET SESSION enforce_storage_engine=NULL;
|
||||
|
||||
SET SESSION sql_mode='NO_ENGINE_SUBSTITUTION';
|
||||
CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=Memory;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=MyISAM;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10));
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--error 1228
|
||||
SET GLOBAL enforce_storage_engine=NULL;
|
||||
Loading…
Add table
Add a link
Reference in a new issue