2012-02-07 16:22:36 +01:00
|
|
|
--source include/have_xtradb.inc
|
2011-12-14 14:58:22 +01:00
|
|
|
|
|
|
|
--disable_warnings
|
|
|
|
DROP TABLE IF EXISTS t1;
|
|
|
|
--enable_warnings
|
|
|
|
|
|
|
|
|
|
|
|
--echo # Checking variables
|
|
|
|
SHOW VARIABLES LIKE 'innodb_fake_changes';
|
|
|
|
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='innodb_fake_changes';
|
|
|
|
SET innodb_fake_changes=1;
|
|
|
|
SHOW VARIABLES LIKE 'innodb_fake_changes';
|
|
|
|
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='innodb_fake_changes';
|
|
|
|
SET innodb_fake_changes=default;
|
|
|
|
SHOW VARIABLES LIKE 'innodb_fake_changes';
|
|
|
|
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='innodb_fake_changes';
|
|
|
|
|
|
|
|
--echo # Explicit COMMIT should fail when innodb_fake_changes is enabled
|
|
|
|
--echo # DML should be fine
|
|
|
|
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1 VALUES (1);
|
|
|
|
SET autocommit=0;
|
|
|
|
SET innodb_fake_changes=1;
|
|
|
|
BEGIN;
|
|
|
|
INSERT INTO t1 VALUES (2);
|
|
|
|
UPDATE t1 SET a=0;
|
|
|
|
DELETE FROM t1 LIMIT 1;
|
|
|
|
SELECT * FROM t1;
|
|
|
|
--error 1180
|
|
|
|
COMMIT;
|
|
|
|
SET innodb_fake_changes=default;
|
|
|
|
DROP TABLE t1;
|
|
|
|
|
|
|
|
--echo # DDL must result in error
|
|
|
|
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
|
|
|
SET autocommit=0;
|
|
|
|
SET innodb_fake_changes=1;
|
|
|
|
BEGIN;
|
|
|
|
--error 1005
|
|
|
|
CREATE TABLE t2 (a INT) ENGINE=InnoDB;
|
2015-06-16 17:27:53 +02:00
|
|
|
--error 1031
|
2011-12-14 14:58:22 +01:00
|
|
|
DROP TABLE t1;
|
|
|
|
--error 1180
|
|
|
|
TRUNCATE TABLE t1;
|
|
|
|
--error 1180
|
|
|
|
ALTER TABLE t1 ENGINE=MyISAM;
|
|
|
|
ROLLBACK;
|
|
|
|
SET innodb_fake_changes=default;
|
|
|
|
DROP TABLE t1;
|