mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 21:42:35 +01:00
ffa8c4cfcc
support ha_innodb.so as a dynamic plugin. * remove obsolete *,innodb_plugin.rdiff files * s/--plugin-load=/--plugin-load-add=/ * MYSQL_PLUGIN_IMPORT glob_hostname[] * use my_error instead of push_warning_printf(ER_DEFAULT) * don't use tdc_size and tc_size in a module update test cases (XtraDB is 5.6.14, InnoDB is 5.6.10) * copy new tests over * disable some tests for (old) InnoDB * delete XtraDB tests that no longer apply small compatibility changes: * s/HTON_EXTENDED_KEYS/HTON_SUPPORTS_EXTENDED_KEYS/ * revert unnecessary InnoDB changes to make it a bit closer to the upstream fix XtraDB to compile on Windows (both as a static and a dynamic plugin) disable XtraDB on Windows (deadlocks) and where no atomic ops are available (e.g. CentOS 5) storage/innobase/handler/ha_innodb.cc: revert few unnecessary changes to make it a bit closer to the original InnoDB storage/innobase/include/univ.i: correct the version to match what it was merged from
55 lines
1.7 KiB
Text
55 lines
1.7 KiB
Text
DROP TABLE IF EXISTS t1;
|
|
# Checking variables
|
|
SHOW VARIABLES LIKE 'innodb_fake_changes';
|
|
Variable_name Value
|
|
innodb_fake_changes OFF
|
|
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='innodb_fake_changes';
|
|
VARIABLE_VALUE
|
|
OFF
|
|
SET innodb_fake_changes=1;
|
|
SHOW VARIABLES LIKE 'innodb_fake_changes';
|
|
Variable_name Value
|
|
innodb_fake_changes ON
|
|
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='innodb_fake_changes';
|
|
VARIABLE_VALUE
|
|
ON
|
|
SET innodb_fake_changes=default;
|
|
SHOW VARIABLES LIKE 'innodb_fake_changes';
|
|
Variable_name Value
|
|
innodb_fake_changes OFF
|
|
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='innodb_fake_changes';
|
|
VARIABLE_VALUE
|
|
OFF
|
|
# Explicit COMMIT should fail when innodb_fake_changes is enabled
|
|
# 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;
|
|
a
|
|
1
|
|
COMMIT;
|
|
ERROR HY000: Got error 131 "Command not supported by database" during COMMIT
|
|
SET innodb_fake_changes=default;
|
|
DROP TABLE t1;
|
|
# DDL must result in error
|
|
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
|
SET autocommit=0;
|
|
SET innodb_fake_changes=1;
|
|
BEGIN;
|
|
CREATE TABLE t2 (a INT) ENGINE=InnoDB;
|
|
ERROR HY000: Can't create table `test`.`t2` (errno: 131 "Command not supported by database")
|
|
DROP TABLE t1;
|
|
ERROR 42S02: Unknown table 'test.t1'
|
|
TRUNCATE TABLE t1;
|
|
ERROR HY000: Got error 131 "Command not supported by database" during COMMIT
|
|
ALTER TABLE t1 ENGINE=MyISAM;
|
|
ERROR HY000: Got error 131 "Command not supported by database" during COMMIT
|
|
ROLLBACK;
|
|
SET innodb_fake_changes=default;
|
|
DROP TABLE t1;
|