summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElena Stepanova <elenst@montyprogram.com>2017-06-03 02:47:52 +0300
committerElena Stepanova <elenst@montyprogram.com>2017-06-03 02:47:52 +0300
commit36e020a5d678103544b66dfaefe53c41b5af4af9 (patch)
treea34ad7065b6ea6a94e5853a54c01f4f986b3a1a6
parentaad8cefd2d0e49acb9f8ae3ebaa0e3b90f27b89c (diff)
downloadmariadb-git-36e020a5d678103544b66dfaefe53c41b5af4af9.tar.gz
Adjust storage_engine suite according to server changes in 10.2
-rw-r--r--mysql-test/suite/storage_engine/alter_table.result2
-rw-r--r--mysql-test/suite/storage_engine/alter_tablespace.result2
-rw-r--r--mysql-test/suite/storage_engine/create_table.result2
-rw-r--r--mysql-test/suite/storage_engine/disabled.def12
-rw-r--r--mysql-test/suite/storage_engine/insert_delayed.test2
-rw-r--r--mysql-test/suite/storage_engine/repair_table.inc3
-rw-r--r--mysql-test/suite/storage_engine/repair_table.result3
-rw-r--r--mysql-test/suite/storage_engine/tbl_opt_data_dir.result (renamed from mysql-test/suite/storage_engine/tbl_opt_data_index_dir.result)9
-rw-r--r--mysql-test/suite/storage_engine/tbl_opt_data_dir.test52
-rw-r--r--mysql-test/suite/storage_engine/tbl_opt_data_index_dir.test52
-rw-r--r--mysql-test/suite/storage_engine/tbl_opt_index_dir.result19
-rw-r--r--mysql-test/suite/storage_engine/tbl_opt_index_dir.test52
-rw-r--r--mysql-test/suite/storage_engine/tbl_opt_row_format.result20
-rw-r--r--mysql-test/suite/storage_engine/tbl_opt_row_format.test28
-rw-r--r--mysql-test/suite/storage_engine/type_char_indexes.result2
-rw-r--r--mysql-test/suite/storage_engine/type_date_time.result2
-rw-r--r--mysql-test/suite/storage_engine/vcol.result24
-rw-r--r--storage/innobase/mysql-test/storage_engine/disabled.def4
-rw-r--r--storage/innobase/mysql-test/storage_engine/repair_table.rdiff2
-rw-r--r--storage/innobase/mysql-test/storage_engine/suite.opt2
-rw-r--r--storage/innobase/mysql-test/storage_engine/tbl_opt_index_dir.rdiff (renamed from storage/innobase/mysql-test/storage_engine/tbl_opt_data_index_dir.rdiff)0
-rw-r--r--storage/innobase/mysql-test/storage_engine/tbl_opt_row_format.rdiff48
-rw-r--r--storage/innobase/mysql-test/storage_engine/type_spatial_indexes.rdiff712
-rw-r--r--storage/myisam/mysql-test/storage_engine/alter_tablespace.rdiff2
-rw-r--r--storage/myisammrg/mysql-test/storage_engine/alter_tablespace.rdiff2
-rw-r--r--storage/myisammrg/mysql-test/storage_engine/create_table.rdiff2
-rw-r--r--storage/myisammrg/mysql-test/storage_engine/disabled.def3
-rw-r--r--storage/myisammrg/mysql-test/storage_engine/parts/repair_table.rdiff7
-rw-r--r--storage/myisammrg/mysql-test/storage_engine/repair_table.rdiff8
-rw-r--r--storage/myisammrg/mysql-test/storage_engine/tbl_opt_data_dir.rdiff (renamed from storage/myisammrg/mysql-test/storage_engine/tbl_opt_data_index_dir.rdiff)16
-rw-r--r--storage/myisammrg/mysql-test/storage_engine/tbl_opt_index_dir.rdiff18
-rw-r--r--storage/myisammrg/mysql-test/storage_engine/tbl_opt_row_format.rdiff28
-rw-r--r--storage/myisammrg/mysql-test/storage_engine/vcol.rdiff30
-rw-r--r--storage/xtradb/mysql-test/storage_engine/suite.pm8
-rw-r--r--storage/xtradb/mysql-test/storage_engine/tbl_opt_index_dir.rdiff (renamed from storage/xtradb/mysql-test/storage_engine/tbl_opt_data_index_dir.rdiff)0
35 files changed, 338 insertions, 840 deletions
diff --git a/mysql-test/suite/storage_engine/alter_table.result b/mysql-test/suite/storage_engine/alter_table.result
index 09696e0e6b6..85db1514421 100644
--- a/mysql-test/suite/storage_engine/alter_table.result
+++ b/mysql-test/suite/storage_engine/alter_table.result
@@ -13,7 +13,7 @@ ALTER TABLE t1 ALTER COLUMN a SET DEFAULT '0';
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(11) DEFAULT '0',
+ `a` int(11) DEFAULT 0,
`c` char(8) DEFAULT NULL,
`b` int(11) DEFAULT NULL
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
diff --git a/mysql-test/suite/storage_engine/alter_tablespace.result b/mysql-test/suite/storage_engine/alter_tablespace.result
index b54d7c99e9e..ff3da9f68bb 100644
--- a/mysql-test/suite/storage_engine/alter_tablespace.result
+++ b/mysql-test/suite/storage_engine/alter_tablespace.result
@@ -10,7 +10,7 @@ a
2
ALTER TABLE t1 DISCARD TABLESPACE;
SELECT a FROM t1;
-ERROR HY000: Tablespace has been discarded for table 't1'
+ERROR HY000: Tablespace has been discarded for table `t1`
ALTER TABLE t1 IMPORT TABLESPACE;
Warnings:
Warning 1810 IO Read error: (2, No such file or directory) Error opening './test/t1.cfg', will attempt to import without schema verification
diff --git a/mysql-test/suite/storage_engine/create_table.result b/mysql-test/suite/storage_engine/create_table.result
index 87bf37046ba..6936854eb65 100644
--- a/mysql-test/suite/storage_engine/create_table.result
+++ b/mysql-test/suite/storage_engine/create_table.result
@@ -27,7 +27,7 @@ CREATE TABLE t1 ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS> AS SELECT 1 UNION
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `1` bigint(20) NOT NULL DEFAULT '0'
+ `1` bigint(20) NOT NULL DEFAULT 0
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
SELECT * FROM t1;
1
diff --git a/mysql-test/suite/storage_engine/disabled.def b/mysql-test/suite/storage_engine/disabled.def
index e69de29bb2d..658d0c240db 100644
--- a/mysql-test/suite/storage_engine/disabled.def
+++ b/mysql-test/suite/storage_engine/disabled.def
@@ -0,0 +1,12 @@
+alter_table_online : MDEV-9705 - Field type conversion warnings have changed to worse
+col_opt_null : MDEV-10252 - Row count in 'out of range' warnings is off
+col_opt_not_null : MDEV-10252 - Row count in 'out of range' warnings is off
+col_opt_unsigned : MDEV-10252 - Row count in 'out of range' warnings is off
+col_opt_zerofill : MDEV-10252 - Row count in 'out of range' warnings is off
+type_binary : MDEV-10252 - Row count in 'out of range' warnings is off
+type_char : MDEV-10252 - Row count in 'out of range' warnings is off
+type_fixed : MDEV-10252 - Row count in 'out of range' warnings is off
+type_float : MDEV-10252 - Row count in 'out of range' warnings is off
+type_int : MDEV-10252 - Row count in 'out of range' warnings is off
+type_varbinary : MDEV-10252 - Row count in 'out of range' warnings is off
+type_varchar : MDEV-10252 - Row count in 'out of range' warnings is off
diff --git a/mysql-test/suite/storage_engine/insert_delayed.test b/mysql-test/suite/storage_engine/insert_delayed.test
index 3ded1686714..ece0bf3cf68 100644
--- a/mysql-test/suite/storage_engine/insert_delayed.test
+++ b/mysql-test/suite/storage_engine/insert_delayed.test
@@ -1,4 +1,4 @@
-#
+#
# INSERT DELAYED
#
diff --git a/mysql-test/suite/storage_engine/repair_table.inc b/mysql-test/suite/storage_engine/repair_table.inc
index aa3b4e6304d..a295b4c19f2 100644
--- a/mysql-test/suite/storage_engine/repair_table.inc
+++ b/mysql-test/suite/storage_engine/repair_table.inc
@@ -91,6 +91,9 @@ if ($have_default_index)
call mtr.add_suppression(" '\..test.t1'");
call mtr.add_suppression("Couldn't repair table: test.t1");
+ # In 10.2 with log_warnings=2 the error message is printed to the error log
+ call mtr.add_suppression("Table 't1' is marked as crashed.*");
+
--let $create_definition = a $int_indexed_col, b $char_col, $default_index (a)
--source create_table.inc
REPAIR TABLE t1;
diff --git a/mysql-test/suite/storage_engine/repair_table.result b/mysql-test/suite/storage_engine/repair_table.result
index a20b9be3ba1..d518e47756f 100644
--- a/mysql-test/suite/storage_engine/repair_table.result
+++ b/mysql-test/suite/storage_engine/repair_table.result
@@ -59,6 +59,7 @@ call mtr.add_suppression("Got an error from thread_id=.*");
call mtr.add_suppression("MySQL thread id .*, query id .* localhost.*root Checking table");
call mtr.add_suppression(" '\..test.t1'");
call mtr.add_suppression("Couldn't repair table: test.t1");
+call mtr.add_suppression("Table 't1' is marked as crashed.*");
CREATE TABLE t1 (a <INT_COLUMN>, b <CHAR_COLUMN>, <CUSTOM_INDEX> (a)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
REPAIR TABLE t1;
Table Op Msg_type Msg_text
@@ -85,7 +86,7 @@ Table Op Msg_type Msg_text
test.t1 check error Size of datafile is: 39 Should be: 65
test.t1 check error Corrupt
SELECT a,b FROM t1;
-ERROR HY000: Incorrect key file for table 't1'; try to repair it
+ERROR HY000: Index for table 't1' is corrupt; try to repair it
# Statement ended with one of expected results (0,ER_NOT_KEYFILE,144).
# If you got a difference in error message, just add it to rdiff file
INSERT INTO t1 (a,b) VALUES (14,'n'),(15,'o');
diff --git a/mysql-test/suite/storage_engine/tbl_opt_data_index_dir.result b/mysql-test/suite/storage_engine/tbl_opt_data_dir.result
index b8c5e75c88c..19b7d539b45 100644
--- a/mysql-test/suite/storage_engine/tbl_opt_data_index_dir.result
+++ b/mysql-test/suite/storage_engine/tbl_opt_data_dir.result
@@ -1,16 +1,19 @@
DROP TABLE IF EXISTS t1;
+# Running CREATE TABLE .. DATA DIRECTORY = <>
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`b` char(8) DEFAULT NULL
-) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 DATA DIRECTORY='<DATA_DIR>' INDEX DIRECTORY='<INDEX_DIR>'
+) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 DATA DIRECTORY='<DATA_DIR_1>'
+# For ALTER TABLE the option is ignored
+# Running ALTER TABLE .. DATA DIRECTORY = <>
Warnings:
-Warning 1618 <INDEX DIRECTORY> option ignored
+Warning 1618 <DATA DIRECTORY> option ignored
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`b` char(8) DEFAULT NULL
-) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 DATA DIRECTORY='<DATA_DIR>' INDEX DIRECTORY='<INDEX_DIR>'
+) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 DATA DIRECTORY='<DATA_DIR_1>'
DROP TABLE t1;
diff --git a/mysql-test/suite/storage_engine/tbl_opt_data_dir.test b/mysql-test/suite/storage_engine/tbl_opt_data_dir.test
new file mode 100644
index 00000000000..434ca449125
--- /dev/null
+++ b/mysql-test/suite/storage_engine/tbl_opt_data_dir.test
@@ -0,0 +1,52 @@
+#
+# Check whether DATA DIRECTORY is supported in CREATE and ALTER TABLE
+#
+# Note: the test does not check whether the option
+# has any real effect on the table, only that it is accepted
+#
+
+--source include/have_symlink.inc
+--source have_engine.inc
+
+--let $data_dir1 = $MYSQLTEST_VARDIR/storage_engine_data_dir1/
+--let $data_dir2 = $MYSQLTEST_VARDIR/storage_engine_data_dir2/
+--mkdir $data_dir1
+--mkdir $data_dir2
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+--let $table_options = DATA DIRECTORY = '$data_dir1'
+# We cannot mask the folder name here and further, but we can switch off query logging
+--let $disable_query_log = 1
+--echo # Running CREATE TABLE .. DATA DIRECTORY = <>
+--source create_table.inc
+
+--source mask_engine.inc
+--replace_result $data_dir1 <DATA_DIR_1>
+SHOW CREATE TABLE t1;
+
+--echo # For ALTER TABLE the option is ignored
+
+--let $alter_definition = DATA DIRECTORY = '$data_dir2'
+--disable_query_log
+--echo # Running ALTER TABLE .. DATA DIRECTORY = <>
+--source alter_table.inc
+if ($mysql_errname)
+{
+ --let $my_last_stmt = $alter_statement
+ --let $functionality = ALTER TABLE
+ --source unexpected_result.inc
+}
+--enable_query_log
+--source mask_engine.inc
+--replace_result $data_dir1 <DATA_DIR_1>
+SHOW CREATE TABLE t1;
+
+DROP TABLE t1;
+
+--source cleanup_engine.inc
+
+--rmdir $data_dir1
+--rmdir $data_dir2
diff --git a/mysql-test/suite/storage_engine/tbl_opt_data_index_dir.test b/mysql-test/suite/storage_engine/tbl_opt_data_index_dir.test
deleted file mode 100644
index 4a83cc46b84..00000000000
--- a/mysql-test/suite/storage_engine/tbl_opt_data_index_dir.test
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Check whether DATA DIRECTORY and INDEX DIRECTORY
-# are supported in CREATE and ALTER TABLE
-#
-# Note: the test does not check whether the options
-# have any real effect on the table, only
-# that they are accepted
-#
-
---source include/have_symlink.inc
---source have_engine.inc
-
---let $data_dir = $MYSQLTEST_VARDIR/storage_engine_data_dir/
---let $index_dir = $MYSQLTEST_VARDIR/storage_engine_index_dir/
---mkdir $data_dir
---mkdir $index_dir
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
---let $table_options = DATA DIRECTORY = '$data_dir' INDEX DIRECTORY = '$index_dir'
-# We cannot mask the folders name here, but we can switch off query logging
---let $disable_query_log = 1
---source create_table.inc
-
---source mask_engine.inc
---replace_result $data_dir <DATA_DIR> $index_dir <INDEX_DIR>
-SHOW CREATE TABLE t1;
-
---let $alter_definition = INDEX DIRECTORY = '$data_dir'
---disable_query_log
---source alter_table.inc
-if ($mysql_errname)
-{
- --let $my_last_stmt = $alter_statement
- --let $functionality = ALTER TABLE
- --source unexpected_result.inc
-}
---enable_query_log
---source mask_engine.inc
---replace_result $data_dir <DATA_DIR> $index_dir <INDEX_DIR>
-SHOW CREATE TABLE t1;
-
-DROP TABLE t1;
-
---source cleanup_engine.inc
-
---rmdir $data_dir
---rmdir $index_dir
-
-
diff --git a/mysql-test/suite/storage_engine/tbl_opt_index_dir.result b/mysql-test/suite/storage_engine/tbl_opt_index_dir.result
new file mode 100644
index 00000000000..c7368e9a84a
--- /dev/null
+++ b/mysql-test/suite/storage_engine/tbl_opt_index_dir.result
@@ -0,0 +1,19 @@
+DROP TABLE IF EXISTS t1;
+# Running CREATE TABLE .. INDEX DIRECTORY = <>
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` char(8) DEFAULT NULL
+) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 INDEX DIRECTORY='<INDEX_DIR_1>'
+# For ALTER TABLE the option is ignored
+# Running ALTER TABLE .. INDEX DIRECTORY = <>
+Warnings:
+Warning 1618 <INDEX DIRECTORY> option ignored
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` char(8) DEFAULT NULL
+) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 INDEX DIRECTORY='<INDEX_DIR_1>'
+DROP TABLE t1;
diff --git a/mysql-test/suite/storage_engine/tbl_opt_index_dir.test b/mysql-test/suite/storage_engine/tbl_opt_index_dir.test
new file mode 100644
index 00000000000..03d2ef2bf82
--- /dev/null
+++ b/mysql-test/suite/storage_engine/tbl_opt_index_dir.test
@@ -0,0 +1,52 @@
+#
+# Check whether INDEX DIRECTORY is supported in CREATE and ALTER TABLE
+#
+# Note: the test does not check whether the option
+# has any real effect on the table, only that it is accepted
+#
+
+--source include/have_symlink.inc
+--source have_engine.inc
+
+--let $index_dir1 = $MYSQLTEST_VARDIR/storage_engine_index_dir1/
+--let $index_dir2 = $MYSQLTEST_VARDIR/storage_engine_index_dir2/
+--mkdir $index_dir1
+--mkdir $index_dir2
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+--let $table_options = INDEX DIRECTORY = '$index_dir1'
+# We cannot mask the folder name here and further, but we can switch off query logging
+--let $disable_query_log = 1
+--echo # Running CREATE TABLE .. INDEX DIRECTORY = <>
+--source create_table.inc
+
+--source mask_engine.inc
+--replace_result $index_dir1 <INDEX_DIR_1>
+SHOW CREATE TABLE t1;
+
+--echo # For ALTER TABLE the option is ignored
+
+--let $alter_definition = INDEX DIRECTORY = '$index_dir2'
+--disable_query_log
+--echo # Running ALTER TABLE .. INDEX DIRECTORY = <>
+--source alter_table.inc
+if ($mysql_errname)
+{
+ --let $my_last_stmt = $alter_statement
+ --let $functionality = ALTER TABLE
+ --source unexpected_result.inc
+}
+--enable_query_log
+--source mask_engine.inc
+--replace_result $index_dir1 <INDEX_DIR_1>
+SHOW CREATE TABLE t1;
+
+DROP TABLE t1;
+
+--source cleanup_engine.inc
+
+--rmdir $index_dir1
+--rmdir $index_dir2
diff --git a/mysql-test/suite/storage_engine/tbl_opt_row_format.result b/mysql-test/suite/storage_engine/tbl_opt_row_format.result
index 5f1cf713bb6..57000e295f7 100644
--- a/mysql-test/suite/storage_engine/tbl_opt_row_format.result
+++ b/mysql-test/suite/storage_engine/tbl_opt_row_format.result
@@ -1,16 +1,30 @@
DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (a <INT_COLUMN>, b <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS> ROW_FORMAT=FIXED;
+CREATE TABLE t1 (a <INT_COLUMN>, b <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS> ROW_FORMAT=DYNAMIC;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` char(8) DEFAULT NULL
+) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+ALTER TABLE t1 ROW_FORMAT=FIXED;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`b` char(8) DEFAULT NULL
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED
-ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
+ALTER TABLE t1 ROW_FORMAT=PAGE;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`b` char(8) DEFAULT NULL
-) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=PAGE
+ALTER TABLE t1 ROW_FORMAT=COMPACT;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` char(8) DEFAULT NULL
+) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
DROP TABLE t1;
diff --git a/mysql-test/suite/storage_engine/tbl_opt_row_format.test b/mysql-test/suite/storage_engine/tbl_opt_row_format.test
index d6347551da0..17fe2f36429 100644
--- a/mysql-test/suite/storage_engine/tbl_opt_row_format.test
+++ b/mysql-test/suite/storage_engine/tbl_opt_row_format.test
@@ -13,12 +13,12 @@
DROP TABLE IF EXISTS t1;
--enable_warnings
---let $table_options = ROW_FORMAT=FIXED
+--let $table_options = ROW_FORMAT=DYNAMIC
--source create_table.inc
--source mask_engine.inc
SHOW CREATE TABLE t1;
---let $alter_definition = ROW_FORMAT=DYNAMIC
+--let $alter_definition = ROW_FORMAT=FIXED
--source alter_table.inc
if ($mysql_errname)
{
@@ -29,6 +29,30 @@ if ($mysql_errname)
--source mask_engine.inc
SHOW CREATE TABLE t1;
+--let $alter_definition = ROW_FORMAT=PAGE
+--source alter_table.inc
+if ($mysql_errname)
+{
+ --let $my_last_stmt = $alter_statement
+ --let $functionality = ALTER TABLE
+ --source unexpected_result.inc
+}
+--source mask_engine.inc
+SHOW CREATE TABLE t1;
+
+
+--let $alter_definition = ROW_FORMAT=COMPACT
+--source alter_table.inc
+if ($mysql_errname)
+{
+ --let $my_last_stmt = $alter_statement
+ --let $functionality = ALTER TABLE
+ --source unexpected_result.inc
+}
+--source mask_engine.inc
+SHOW CREATE TABLE t1;
+
+
DROP TABLE t1;
--source cleanup_engine.inc
diff --git a/mysql-test/suite/storage_engine/type_char_indexes.result b/mysql-test/suite/storage_engine/type_char_indexes.result
index 5be07bdf53f..73c076863ab 100644
--- a/mysql-test/suite/storage_engine/type_char_indexes.result
+++ b/mysql-test/suite/storage_engine/type_char_indexes.result
@@ -97,7 +97,7 @@ varchar2b 1
varchar3b 1
SET SESSION optimizer_switch = 'engine_condition_pushdown=on';
Warnings:
-Warning 1681 'engine_condition_pushdown=on' is deprecated and will be removed in a future release.
+Warning 1681 'engine_condition_pushdown=on' is deprecated and will be removed in a future release
EXPLAIN SELECT c,c20,v16,v128 FROM t1 WHERE c > 'a';
id select_type table type possible_keys key key_len ref rows Extra
# # # range c_v c_v # # # Using index condition
diff --git a/mysql-test/suite/storage_engine/type_date_time.result b/mysql-test/suite/storage_engine/type_date_time.result
index 473a7e67494..f136dd93f34 100644
--- a/mysql-test/suite/storage_engine/type_date_time.result
+++ b/mysql-test/suite/storage_engine/type_date_time.result
@@ -13,7 +13,7 @@ SHOW COLUMNS IN t1;
Field Type Null Key Default Extra
d date # # #
dt datetime # # #
-ts timestamp # # # on update CURRENT_TIMESTAMP
+ts timestamp # # # on update current_timestamp()
t time # # #
y year(4) # # #
y4 year(4) # # #
diff --git a/mysql-test/suite/storage_engine/vcol.result b/mysql-test/suite/storage_engine/vcol.result
index d51ab038576..e56a1b0543d 100644
--- a/mysql-test/suite/storage_engine/vcol.result
+++ b/mysql-test/suite/storage_engine/vcol.result
@@ -3,12 +3,12 @@ CREATE TABLE t1 (a <INT_COLUMN>, b <INT_COLUMN> GENERATED ALWAYS AS (a+1)) ENGIN
SHOW COLUMNS IN t1;
Field Type Null Key Default Extra
a int(11) # #
-b int(11) # # VIRTUAL
+b int(11) # # VIRTUAL GENERATED
INSERT INTO t1 (a) VALUES (1),(2);
INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
Warnings:
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+Warning 1906 The value specified for generated column 'b' in table 't1' ignored
+Warning 1906 The value specified for generated column 'b' in table 't1' ignored
SELECT a,b FROM t1;
a b
1 2
@@ -20,12 +20,12 @@ CREATE TABLE t1 (a <INT_COLUMN>, b <INT_COLUMN> GENERATED ALWAYS AS (a+1) PERSIS
SHOW COLUMNS IN t1;
Field Type Null Key Default Extra
a int(11) # #
-b int(11) # # PERSISTENT
+b int(11) # # STORED GENERATED
INSERT INTO t1 (a) VALUES (1),(2);
INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
Warnings:
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+Warning 1906 The value specified for generated column 'b' in table 't1' ignored
+Warning 1906 The value specified for generated column 'b' in table 't1' ignored
SELECT a,b FROM t1;
a b
1 2
@@ -37,12 +37,12 @@ CREATE TABLE t1 (a <INT_COLUMN>, b <INT_COLUMN> GENERATED ALWAYS AS (a+1) VIRTUA
SHOW COLUMNS IN t1;
Field Type Null Key Default Extra
a int(11) # #
-b int(11) # # VIRTUAL
+b int(11) # # VIRTUAL GENERATED
INSERT INTO t1 (a) VALUES (1),(2);
INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
Warnings:
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+Warning 1906 The value specified for generated column 'b' in table 't1' ignored
+Warning 1906 The value specified for generated column 'b' in table 't1' ignored
SELECT a,b FROM t1;
a b
1 2
@@ -54,12 +54,12 @@ CREATE TABLE t1 (a <INT_COLUMN>, b <INT_COLUMN> AS (a+1) PERSISTENT) ENGINE=<STO
SHOW COLUMNS IN t1;
Field Type Null Key Default Extra
a int(11) # #
-b int(11) # # PERSISTENT
+b int(11) # # STORED GENERATED
INSERT INTO t1 (a) VALUES (1),(2);
INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
Warnings:
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+Warning 1906 The value specified for generated column 'b' in table 't1' ignored
+Warning 1906 The value specified for generated column 'b' in table 't1' ignored
SELECT a,b FROM t1;
a b
1 2
diff --git a/storage/innobase/mysql-test/storage_engine/disabled.def b/storage/innobase/mysql-test/storage_engine/disabled.def
index bad10099bbf..1d67f9311ca 100644
--- a/storage/innobase/mysql-test/storage_engine/disabled.def
+++ b/storage/innobase/mysql-test/storage_engine/disabled.def
@@ -4,4 +4,6 @@ insert_high_prio : InnoDB does not use table-level locking
insert_low_prio : InnoDB does not use table-level locking
select_high_prio : InnoDB does not use table-level locking
update_low_prio : InnoDB does not use table-level locking
-
+insert_delayed : MDEV-12880 - INSERT DELAYED is not detected as inapplicable to a table under lock
+lock_concurrent : MDEV-12882 - Assertion failure
+tbl_opt_index_dir : INDEX DIRECTORY option is not supported anymore
diff --git a/storage/innobase/mysql-test/storage_engine/repair_table.rdiff b/storage/innobase/mysql-test/storage_engine/repair_table.rdiff
index be3709c5833..717d437b2d1 100644
--- a/storage/innobase/mysql-test/storage_engine/repair_table.rdiff
+++ b/storage/innobase/mysql-test/storage_engine/repair_table.rdiff
@@ -111,7 +111,7 @@
-test.t1 check error Corrupt
+test.t1 check status OK
SELECT a,b FROM t1;
--ERROR HY000: Incorrect key file for table 't1'; try to repair it
+-ERROR HY000: Index for table 't1' is corrupt; try to repair it
-# Statement ended with one of expected results (0,ER_NOT_KEYFILE,144).
-# If you got a difference in error message, just add it to rdiff file
-INSERT INTO t1 (a,b) VALUES (14,'n'),(15,'o');
diff --git a/storage/innobase/mysql-test/storage_engine/suite.opt b/storage/innobase/mysql-test/storage_engine/suite.opt
index 034b58f2628..627becdbfb5 100644
--- a/storage/innobase/mysql-test/storage_engine/suite.opt
+++ b/storage/innobase/mysql-test/storage_engine/suite.opt
@@ -1 +1 @@
---innodb --ignore-builtin-innodb --plugin-load=ha_innodb
+--innodb
diff --git a/storage/innobase/mysql-test/storage_engine/tbl_opt_data_index_dir.rdiff b/storage/innobase/mysql-test/storage_engine/tbl_opt_index_dir.rdiff
index e09e50b17ec..e09e50b17ec 100644
--- a/storage/innobase/mysql-test/storage_engine/tbl_opt_data_index_dir.rdiff
+++ b/storage/innobase/mysql-test/storage_engine/tbl_opt_index_dir.rdiff
diff --git a/storage/innobase/mysql-test/storage_engine/tbl_opt_row_format.rdiff b/storage/innobase/mysql-test/storage_engine/tbl_opt_row_format.rdiff
index a6572ffa7f0..daa5fc67dec 100644
--- a/storage/innobase/mysql-test/storage_engine/tbl_opt_row_format.rdiff
+++ b/storage/innobase/mysql-test/storage_engine/tbl_opt_row_format.rdiff
@@ -1,10 +1,44 @@
---- suite/storage_engine/tbl_opt_row_format.result 2012-06-24 23:55:19.539380000 +0400
-+++ suite/storage_engine/tbl_opt_row_format.reject 2012-07-15 19:26:02.235049157 +0400
-@@ -1,5 +1,7 @@
- DROP TABLE IF EXISTS t1;
- CREATE TABLE t1 (a <INT_COLUMN>, b <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS> ROW_FORMAT=FIXED;
-+Warnings:
-+Warning 1478 <STORAGE_ENGINE>: assuming ROW_FORMAT=COMPACT.
+--- ../storage/innobase/mysql-test/storage_engine/tbl_opt_row_format.result~ 2017-05-24 00:40:12.854181048 +0300
++++ ../storage/innobase/mysql-test/storage_engine/tbl_opt_row_format.reject 2017-05-24 00:49:06.578191030 +0300
+@@ -7,19 +7,39 @@
+ `b` char(8) DEFAULT NULL
+ ) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+ ALTER TABLE t1 ROW_FORMAT=FIXED;
++ERROR HY000: Table storage engine '<STORAGE_ENGINE>' does not support the create option 'ROW_TYPE'
++# ERROR: Statement ended with errno 1478, errname ER_ILLEGAL_HA_CREATE_OPTION (expected to succeed)
++# ------------ UNEXPECTED RESULT ------------
++# [ ALTER TABLE t1 ROW_FORMAT=FIXED ]
++# The statement|command finished with ER_ILLEGAL_HA_CREATE_OPTION.
++# ALTER TABLE or the mix could be unsupported|malfunctioning, or the problem was caused by previous errors.
++# You can change the engine code, or create an rdiff, or disable the test by adding it to disabled.def.
++# Further in this test, the message might sometimes be suppressed; a part of the test might be skipped.
++# Also, this problem may cause a chain effect (more errors of different kinds in the test).
++# -------------------------------------------
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` char(8) DEFAULT NULL
+-) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED
++) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+ ALTER TABLE t1 ROW_FORMAT=PAGE;
++ERROR HY000: Table storage engine '<STORAGE_ENGINE>' does not support the create option 'ROW_TYPE'
++# ERROR: Statement ended with errno 1478, errname ER_ILLEGAL_HA_CREATE_OPTION (expected to succeed)
++# ------------ UNEXPECTED RESULT ------------
++# [ ALTER TABLE t1 ROW_FORMAT=PAGE ]
++# The statement|command finished with ER_ILLEGAL_HA_CREATE_OPTION.
++# ALTER TABLE or the mix could be unsupported|malfunctioning, or the problem was caused by previous errors.
++# You can change the engine code, or create an rdiff, or disable the test by adding it to disabled.def.
++# Further in this test, the message might sometimes be suppressed; a part of the test might be skipped.
++# Also, this problem may cause a chain effect (more errors of different kinds in the test).
++# -------------------------------------------
+ SHOW CREATE TABLE t1;
+ Table Create Table
+ t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` char(8) DEFAULT NULL
+-) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=PAGE
++) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+ ALTER TABLE t1 ROW_FORMAT=COMPACT;
+ SHOW CREATE TABLE t1;
+ Table Create Table
diff --git a/storage/innobase/mysql-test/storage_engine/type_spatial_indexes.rdiff b/storage/innobase/mysql-test/storage_engine/type_spatial_indexes.rdiff
deleted file mode 100644
index 154116b748c..00000000000
--- a/storage/innobase/mysql-test/storage_engine/type_spatial_indexes.rdiff
+++ /dev/null
@@ -1,712 +0,0 @@
---- suite/storage_engine/type_spatial_indexes.result 2013-08-05 18:08:49.000000000 +0400
-+++ suite/storage_engine/type_spatial_indexes.reject 2013-08-05 18:25:24.000000000 +0400
-@@ -702,699 +702,15 @@
- DROP DATABASE IF EXISTS gis_ogs;
- CREATE DATABASE gis_ogs;
- CREATE TABLE gis_point (fid <INT_COLUMN>, g POINT NOT NULL, SPATIAL INDEX(g)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--CREATE TABLE gis_line (fid <INT_COLUMN>, g LINESTRING NOT NULL, SPATIAL INDEX(g)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--CREATE TABLE gis_polygon (fid <INT_COLUMN>, g POLYGON NOT NULL, SPATIAL INDEX(g)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--CREATE TABLE gis_multi_point (fid <INT_COLUMN>, g MULTIPOINT NOT NULL, SPATIAL INDEX(g)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--CREATE TABLE gis_multi_line (fid <INT_COLUMN>, g MULTILINESTRING NOT NULL, SPATIAL INDEX(g)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--CREATE TABLE gis_multi_polygon (fid <INT_COLUMN>, g MULTIPOLYGON NOT NULL, SPATIAL INDEX(g)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--CREATE TABLE gis_geometrycollection (fid <INT_COLUMN>, g GEOMETRYCOLLECTION NOT NULL, SPATIAL INDEX(g)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--CREATE TABLE gis_geometry (fid <INT_COLUMN>, g GEOMETRY NOT NULL) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--USE gis_ogs;
--CREATE TABLE lakes (fid INT <CUSTOM_COL_OPTIONS>,
--name CHAR(64) <CUSTOM_COL_OPTIONS>,
--shore POLYGON NOT NULL, SPATIAL INDEX s(shore)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--CREATE TABLE road_segments (fid INT <CUSTOM_COL_OPTIONS>,
--name CHAR(64) <CUSTOM_COL_OPTIONS>,
--aliases CHAR(64) <CUSTOM_COL_OPTIONS>,
--num_lanes INT <CUSTOM_COL_OPTIONS>,
--centerline LINESTRING NOT NULL, SPATIAL INDEX c(centerline)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--CREATE TABLE divided_routes (fid INT <CUSTOM_COL_OPTIONS>,
--name CHAR(64) <CUSTOM_COL_OPTIONS>,
--num_lanes INT <CUSTOM_COL_OPTIONS>,
--centerlines MULTILINESTRING NOT NULL, SPATIAL INDEX c(centerlines)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--CREATE TABLE forests (fid INT <CUSTOM_COL_OPTIONS>,
--name CHAR(64) <CUSTOM_COL_OPTIONS>,
--boundary MULTIPOLYGON NOT NULL, SPATIAL INDEX b(boundary)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--CREATE TABLE bridges (fid INT <CUSTOM_COL_OPTIONS>,
--name CHAR(64) <CUSTOM_COL_OPTIONS>,
--position POINT NOT NULL, SPATIAL INDEX p(position)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--CREATE TABLE streams (fid INT <CUSTOM_COL_OPTIONS>,
--name CHAR(64) <CUSTOM_COL_OPTIONS>,
--centerline LINESTRING NOT NULL, SPATIAL INDEX c(centerline)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--CREATE TABLE buildings (fid INT <CUSTOM_COL_OPTIONS>,
--name CHAR(64) <CUSTOM_COL_OPTIONS>,
--position POINT NOT NULL,
--footprint POLYGON NOT NULL, SPATIAL INDEX p(position), SPATIAL INDEX f(footprint)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--CREATE TABLE ponds (fid INT <CUSTOM_COL_OPTIONS>,
--name CHAR(64) <CUSTOM_COL_OPTIONS>,
--type CHAR(64) <CUSTOM_COL_OPTIONS>,
--shores MULTIPOLYGON NOT NULL, SPATIAL INDEX s(shores)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--CREATE TABLE named_places (fid INT <CUSTOM_COL_OPTIONS>,
--name CHAR(64) <CUSTOM_COL_OPTIONS>,
--boundary POLYGON NOT NULL, SPATIAL INDEX b(boundary)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--CREATE TABLE map_neatlines (fid INT <CUSTOM_COL_OPTIONS>,
--neatline POLYGON NOT NULL, SPATIAL INDEX n(neatline)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
--USE test;
--SHOW FIELDS FROM gis_point;
--Field Type Null Key Default Extra
--fid int(11) YES NULL
--g point NO MUL NULL
--SHOW FIELDS FROM gis_line;
--Field Type Null Key Default Extra
--fid int(11) YES NULL
--g linestring NO MUL NULL
--SHOW FIELDS FROM gis_polygon;
--Field Type Null Key Default Extra
--fid int(11) YES NULL
--g polygon NO MUL NULL
--SHOW FIELDS FROM gis_multi_point;
--Field Type Null Key Default Extra
--fid int(11) YES NULL
--g multipoint NO MUL NULL
--SHOW FIELDS FROM gis_multi_line;
--Field Type Null Key Default Extra
--fid int(11) YES NULL
--g multilinestring NO MUL NULL
--SHOW FIELDS FROM gis_multi_polygon;
--Field Type Null Key Default Extra
--fid int(11) YES NULL
--g multipolygon NO MUL NULL
--SHOW FIELDS FROM gis_geometrycollection;
--Field Type Null Key Default Extra
--fid int(11) YES NULL
--g geometrycollection NO MUL NULL
--SHOW FIELDS FROM gis_geometry;
--Field Type Null Key Default Extra
--fid int(11) YES NULL
--g geometry NO NULL
--INSERT INTO gis_point (fid,g) VALUES
--(101, PointFromText('POINT(10 10)')),
--(102, PointFromText('POINT(20 10)')),
--(103, PointFromText('POINT(20 20)')),
--(104, PointFromWKB(AsWKB(PointFromText('POINT(10 20)'))));
--INSERT INTO gis_line (fid,g) VALUES
--(105, LineFromText('LINESTRING(0 0,0 10,10 0)')),
--(106, LineStringFromText('LINESTRING(10 10,20 10,20 20,10 20,10 10)')),
--(107, LineStringFromWKB(AsWKB(LineString(Point(10, 10), Point(40, 10)))));
--INSERT INTO gis_polygon (fid,g) VALUES
--(108, PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')),
--(109, PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')),
--(110, PolyFromWKB(AsWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0))))));
--INSERT INTO gis_multi_point (fid,g) VALUES
--(111, MultiPointFromText('MULTIPOINT(0 0,10 10,10 20,20 20)')),
--(112, MPointFromText('MULTIPOINT(1 1,11 11,11 21,21 21)')),
--(113, MPointFromWKB(AsWKB(MultiPoint(Point(3, 6), Point(4, 10)))));
--INSERT INTO gis_multi_line (fid,g) VALUES
--(114, MultiLineStringFromText('MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))')),
--(115, MLineFromText('MULTILINESTRING((10 48,10 21,10 0))')),
--(116, MLineFromWKB(AsWKB(MultiLineString(LineString(Point(1, 2), Point(3, 5)), LineString(Point(2, 5), Point(5, 8), Point(21, 7))))));
--INSERT INTO gis_multi_polygon (fid,g) VALUES
--(117, MultiPolygonFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')),
--(118, MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')),
--(119, MPolyFromWKB(AsWKB(MultiPolygon(Polygon(LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3)))))));
--INSERT INTO gis_geometrycollection (fid,g) VALUES
--(120, GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')),
--(121, GeometryFromWKB(AsWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9)))))),
--(122, GeomFromText('GeometryCollection()')),
--(123, GeomFromText('GeometryCollection EMPTY'));
--INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_point;
--INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_line;
--INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_polygon;
--INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_multi_point;
--INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_multi_line;
--INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_multi_polygon;
--INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_geometrycollection;
--SELECT fid, AsText(g) FROM gis_point;
--fid AsText(g)
--101 POINT(10 10)
--102 POINT(20 10)
--103 POINT(20 20)
--104 POINT(10 20)
--SELECT fid, AsText(g) FROM gis_line;
--fid AsText(g)
--105 LINESTRING(0 0,0 10,10 0)
--106 LINESTRING(10 10,20 10,20 20,10 20,10 10)
--107 LINESTRING(10 10,40 10)
--SELECT fid, AsText(g) FROM gis_polygon;
--fid AsText(g)
--108 POLYGON((10 10,20 10,20 20,10 20,10 10))
--109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))
--110 POLYGON((0 0,30 0,30 30,0 0))
--SELECT fid, AsText(g) FROM gis_multi_point;
--fid AsText(g)
--111 MULTIPOINT(0 0,10 10,10 20,20 20)
--112 MULTIPOINT(1 1,11 11,11 21,21 21)
--113 MULTIPOINT(3 6,4 10)
--SELECT fid, AsText(g) FROM gis_multi_line;
--fid AsText(g)
--114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))
--115 MULTILINESTRING((10 48,10 21,10 0))
--116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7))
--SELECT fid, AsText(g) FROM gis_multi_polygon;
--fid AsText(g)
--117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
--118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
--119 MULTIPOLYGON(((0 3,3 3,3 0,0 3)))
--SELECT fid, AsText(g) FROM gis_geometrycollection;
--fid AsText(g)
--120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))
--121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9))
--122 GEOMETRYCOLLECTION EMPTY
--123 GEOMETRYCOLLECTION EMPTY
--SELECT fid, AsText(g) FROM gis_geometry;
--fid AsText(g)
--101 POINT(10 10)
--102 POINT(20 10)
--103 POINT(20 20)
--104 POINT(10 20)
--105 LINESTRING(0 0,0 10,10 0)
--106 LINESTRING(10 10,20 10,20 20,10 20,10 10)
--107 LINESTRING(10 10,40 10)
--108 POLYGON((10 10,20 10,20 20,10 20,10 10))
--109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))
--110 POLYGON((0 0,30 0,30 30,0 0))
--111 MULTIPOINT(0 0,10 10,10 20,20 20)
--112 MULTIPOINT(1 1,11 11,11 21,21 21)
--113 MULTIPOINT(3 6,4 10)
--114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))
--115 MULTILINESTRING((10 48,10 21,10 0))
--116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7))
--117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
--118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
--119 MULTIPOLYGON(((0 3,3 3,3 0,0 3)))
--120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))
--121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9))
--122 GEOMETRYCOLLECTION EMPTY
--123 GEOMETRYCOLLECTION EMPTY
--SELECT fid, Dimension(g) FROM gis_geometry;
--fid Dimension(g)
--101 0
--102 0
--103 0
--104 0
--105 1
--106 1
--107 1
--108 2
--109 2
--110 2
--111 0
--112 0
--113 0
--114 1
--115 1
--116 1
--117 2
--118 2
--119 2
--120 1
--121 1
--122 0
--123 0
--SELECT fid, GeometryType(g) FROM gis_geometry;
--fid GeometryType(g)
--101 POINT
--102 POINT
--103 POINT
--104 POINT
--105 LINESTRING
--106 LINESTRING
--107 LINESTRING
--108 POLYGON
--109 POLYGON
--110 POLYGON
--111 MULTIPOINT
--112 MULTIPOINT
--113 MULTIPOINT
--114 MULTILINESTRING
--115 MULTILINESTRING
--116 MULTILINESTRING
--117 MULTIPOLYGON
--118 MULTIPOLYGON
--119 MULTIPOLYGON
--120 GEOMETRYCOLLECTION
--121 GEOMETRYCOLLECTION
--122 GEOMETRYCOLLECTION
--123 GEOMETRYCOLLECTION
--SELECT fid, IsEmpty(g) FROM gis_geometry;
--fid IsEmpty(g)
--101 0
--102 0
--103 0
--104 0
--105 0
--106 0
--107 0
--108 0
--109 0
--110 0
--111 0
--112 0
--113 0
--114 0
--115 0
--116 0
--117 0
--118 0
--119 0
--120 0
--121 0
--122 0
--123 0
--SELECT fid, AsText(Envelope(g)) FROM gis_geometry;
--fid AsText(Envelope(g))
--101 POLYGON((10 10,10 10,10 10,10 10,10 10))
--102 POLYGON((20 10,20 10,20 10,20 10,20 10))
--103 POLYGON((20 20,20 20,20 20,20 20,20 20))
--104 POLYGON((10 20,10 20,10 20,10 20,10 20))
--105 POLYGON((0 0,10 0,10 10,0 10,0 0))
--106 POLYGON((10 10,20 10,20 20,10 20,10 10))
--107 POLYGON((10 10,40 10,40 10,10 10,10 10))
--108 POLYGON((10 10,20 10,20 20,10 20,10 10))
--109 POLYGON((0 0,50 0,50 50,0 50,0 0))
--110 POLYGON((0 0,30 0,30 30,0 30,0 0))
--111 POLYGON((0 0,20 0,20 20,0 20,0 0))
--112 POLYGON((1 1,21 1,21 21,1 21,1 1))
--113 POLYGON((3 6,4 6,4 10,3 10,3 6))
--114 POLYGON((10 0,16 0,16 48,10 48,10 0))
--115 POLYGON((10 0,10 0,10 48,10 48,10 0))
--116 POLYGON((1 2,21 2,21 8,1 8,1 2))
--117 POLYGON((28 0,84 0,84 42,28 42,28 0))
--118 POLYGON((28 0,84 0,84 42,28 42,28 0))
--119 POLYGON((0 0,3 0,3 3,0 3,0 0))
--120 POLYGON((0 0,10 0,10 10,0 10,0 0))
--121 POLYGON((3 6,44 6,44 9,3 9,3 6))
--122 GEOMETRYCOLLECTION EMPTY
--123 GEOMETRYCOLLECTION EMPTY
--SELECT fid, X(g) FROM gis_point;
--fid X(g)
--101 10
--102 20
--103 20
--104 10
--SELECT fid, Y(g) FROM gis_point;
--fid Y(g)
--101 10
--102 10
--103 20
--104 20
--SELECT fid, AsText(StartPoint(g)) FROM gis_line;
--fid AsText(StartPoint(g))
--105 POINT(0 0)
--106 POINT(10 10)
--107 POINT(10 10)
--SELECT fid, AsText(EndPoint(g)) FROM gis_line;
--fid AsText(EndPoint(g))
--105 POINT(10 0)
--106 POINT(10 10)
--107 POINT(40 10)
--SELECT fid, GLength(g) FROM gis_line;
--fid GLength(g)
--105 24.14213562373095
--106 40
--107 30
--SELECT fid, NumPoints(g) FROM gis_line;
--fid NumPoints(g)
--105 3
--106 5
--107 2
--SELECT fid, AsText(PointN(g, 2)) FROM gis_line;
--fid AsText(PointN(g, 2))
--105 POINT(0 10)
--106 POINT(20 10)
--107 POINT(40 10)
--SELECT fid, IsClosed(g) FROM gis_line;
--fid IsClosed(g)
--105 0
--106 1
--107 0
--SELECT fid, AsText(Centroid(g)) FROM gis_polygon;
--fid AsText(Centroid(g))
--108 POINT(15 15)
--109 POINT(25.416666666666668 25.416666666666668)
--110 POINT(20 10)
--SELECT fid, Area(g) FROM gis_polygon;
--fid Area(g)
--108 100
--109 2400
--110 450
--SELECT fid, AsText(ExteriorRing(g)) FROM gis_polygon;
--fid AsText(ExteriorRing(g))
--108 LINESTRING(10 10,20 10,20 20,10 20,10 10)
--109 LINESTRING(0 0,50 0,50 50,0 50,0 0)
--110 LINESTRING(0 0,30 0,30 30,0 0)
--SELECT fid, NumInteriorRings(g) FROM gis_polygon;
--fid NumInteriorRings(g)
--108 0
--109 1
--110 0
--SELECT fid, AsText(InteriorRingN(g, 1)) FROM gis_polygon;
--fid AsText(InteriorRingN(g, 1))
--108 NULL
--109 LINESTRING(10 10,20 10,20 20,10 20,10 10)
--110 NULL
--SELECT fid, IsClosed(g) FROM gis_multi_line;
--fid IsClosed(g)
--114 0
--115 0
--116 0
--SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon;
--fid AsText(Centroid(g))
--117 POINT(55.58852775304245 17.426536064113982)
--118 POINT(55.58852775304245 17.426536064113982)
--119 POINT(2 2)
--SELECT fid, Area(g) FROM gis_multi_polygon;
--fid Area(g)
--117 1684.5
--118 1684.5
--119 4.5
--SELECT fid, NumGeometries(g) from gis_multi_point;
--fid NumGeometries(g)
--111 4
--112 4
--113 2
--SELECT fid, NumGeometries(g) from gis_multi_line;
--fid NumGeometries(g)
--114 2
--115 1
--116 2
--SELECT fid, NumGeometries(g) from gis_multi_polygon;
--fid NumGeometries(g)
--117 2
--118 2
--119 1
--SELECT fid, NumGeometries(g) from gis_geometrycollection;
--fid NumGeometries(g)
--120 2
--121 2
--122 0
--123 0
--SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point;
--fid AsText(GeometryN(g, 2))
--111 POINT(10 10)
--112 POINT(11 11)
--113 POINT(4 10)
--SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_line;
--fid AsText(GeometryN(g, 2))
--114 LINESTRING(16 0,16 23,16 48)
--115 NULL
--116 LINESTRING(2 5,5 8,21 7)
--SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_polygon;
--fid AsText(GeometryN(g, 2))
--117 POLYGON((59 18,67 18,67 13,59 13,59 18))
--118 POLYGON((59 18,67 18,67 13,59 13,59 18))
--119 NULL
--SELECT fid, AsText(GeometryN(g, 2)) from gis_geometrycollection;
--fid AsText(GeometryN(g, 2))
--120 LINESTRING(0 0,10 10)
--121 LINESTRING(3 6,7 9)
--122 NULL
--123 NULL
--SELECT fid, AsText(GeometryN(g, 1)) from gis_geometrycollection;
--fid AsText(GeometryN(g, 1))
--120 POINT(0 0)
--121 POINT(44 6)
--122 NULL
--123 NULL
--SELECT g1.fid as first, g2.fid as second,
--Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
--Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
--Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
--FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
--first second w c o e d t i r
--120 120 1 1 0 1 0 0 1 0
--120 121 0 0 1 0 0 0 1 0
--120 122 NULL NULL NULL NULL NULL NULL NULL NULL
--120 123 NULL NULL NULL NULL NULL NULL NULL NULL
--121 120 0 0 1 0 0 0 1 0
--121 121 1 1 0 1 0 0 1 0
--121 122 NULL NULL NULL NULL NULL NULL NULL NULL
--121 123 NULL NULL NULL NULL NULL NULL NULL NULL
--122 120 NULL NULL NULL NULL NULL NULL NULL NULL
--122 121 NULL NULL NULL NULL NULL NULL NULL NULL
--122 122 NULL NULL NULL NULL NULL NULL NULL NULL
--122 123 NULL NULL NULL NULL NULL NULL NULL NULL
--123 120 NULL NULL NULL NULL NULL NULL NULL NULL
--123 121 NULL NULL NULL NULL NULL NULL NULL NULL
--123 122 NULL NULL NULL NULL NULL NULL NULL NULL
--123 123 NULL NULL NULL NULL NULL NULL NULL NULL
--DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
--USE gis_ogs;
--# Lakes
--INSERT INTO lakes (fid,name,shore) VALUES (
--101, 'BLUE LAKE',
--PolyFromText(
--'POLYGON(
-- (52 18,66 23,73 9,48 6,52 18),
-- (59 18,67 18,67 13,59 13,59 18)
-- )',
--101));
--# Road Segments
--INSERT INTO road_segments (fid,name,aliases,num_lanes,centerline) VALUES(102, 'Route 5', NULL, 2,
--LineFromText(
--'LINESTRING( 0 18, 10 21, 16 23, 28 26, 44 31 )' ,101));
--INSERT INTO road_segments (fid,name,aliases,num_lanes,centerline) VALUES(103, 'Route 5', 'Main Street', 4,
--LineFromText(
--'LINESTRING( 44 31, 56 34, 70 38 )' ,101));
--INSERT INTO road_segments (fid,name,aliases,num_lanes,centerline) VALUES(104, 'Route 5', NULL, 2,
--LineFromText(
--'LINESTRING( 70 38, 72 48 )' ,101));
--INSERT INTO road_segments (fid,name,aliases,num_lanes,centerline) VALUES(105, 'Main Street', NULL, 4,
--LineFromText(
--'LINESTRING( 70 38, 84 42 )' ,101));
--INSERT INTO road_segments (fid,name,aliases,num_lanes,centerline) VALUES(106, 'Dirt Road by Green Forest', NULL,
--1,
--LineFromText(
--'LINESTRING( 28 26, 28 0 )',101));
--# DividedRoutes
--INSERT INTO divided_routes (fid,name,num_lanes,centerlines) VALUES(119, 'Route 75', 4,
--MLineFromText(
--'MULTILINESTRING((10 48,10 21,10 0),
-- (16 0,16 23,16 48))', 101));
--# Forests
--INSERT INTO forests (fid,name,boundary) VALUES(109, 'Green Forest',
--MPolyFromText(
--'MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),
-- (52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))',
--101));
--# Bridges
--INSERT INTO bridges (fid,name,position) VALUES(110, 'Cam Bridge', PointFromText(
--'POINT( 44 31 )', 101));
--# Streams
--INSERT INTO streams (fid,name,centerline) VALUES(111, 'Cam Stream',
--LineFromText(
--'LINESTRING( 38 48, 44 41, 41 36, 44 31, 52 18 )', 101));
--INSERT INTO streams (fid,name,centerline) VALUES(112, NULL,
--LineFromText(
--'LINESTRING( 76 0, 78 4, 73 9 )', 101));
--# Buildings
--INSERT INTO buildings (fid,name,position,footprint) VALUES(113, '123 Main Street',
--PointFromText(
--'POINT( 52 30 )', 101),
--PolyFromText(
--'POLYGON( ( 50 31, 54 31, 54 29, 50 29, 50 31) )', 101));
--INSERT INTO buildings (fid,name,position,footprint) VALUES(114, '215 Main Street',
--PointFromText(
--'POINT( 64 33 )', 101),
--PolyFromText(
--'POLYGON( ( 66 34, 62 34, 62 32, 66 32, 66 34) )', 101));
--# Ponds
--INSERT INTO ponds (fid,name,type,shores) VALUES(120, NULL, 'Stock Pond',
--MPolyFromText(
--'MULTIPOLYGON( ( ( 24 44, 22 42, 24 40, 24 44) ),
-- ( ( 26 44, 26 40, 28 42, 26 44) ) )', 101));
--# Named Places
--INSERT INTO named_places (fid,name,boundary) VALUES(117, 'Ashton',
--PolyFromText(
--'POLYGON( ( 62 48, 84 48, 84 30, 56 30, 56 34, 62 48) )', 101));
--INSERT INTO named_places (fid,name,boundary) VALUES(118, 'Goose Island',
--PolyFromText(
--'POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )', 101));
--# Map Neatlines
--INSERT INTO map_neatlines (fid,neatline) VALUES(115,
--PolyFromText(
--'POLYGON( ( 0 0, 0 48, 84 48, 84 0, 0 0 ) )', 101));
--SELECT Dimension(shore)
--FROM lakes
--WHERE name = 'Blue Lake';
--Dimension(shore)
--2
--SELECT GeometryType(centerlines)
--FROM divided_routes
--WHERE name = 'Route 75';
--GeometryType(centerlines)
--MULTILINESTRING
--SELECT AsText(boundary)
--FROM named_places
--WHERE name = 'Goose Island';
--AsText(boundary)
--POLYGON((67 13,67 18,59 18,59 13,67 13))
--SELECT AsText(PolyFromWKB(AsBinary(boundary),101))
--FROM named_places
--WHERE name = 'Goose Island';
--AsText(PolyFromWKB(AsBinary(boundary),101))
--POLYGON((67 13,67 18,59 18,59 13,67 13))
--SELECT SRID(boundary)
--FROM named_places
--WHERE name = 'Goose Island';
--SRID(boundary)
--101
--SELECT IsEmpty(centerline)
--FROM road_segments
--WHERE name = 'Route 5'
--AND aliases = 'Main Street';
--IsEmpty(centerline)
--0
--SELECT AsText(Envelope(boundary))
--FROM named_places
--WHERE name = 'Goose Island';
--AsText(Envelope(boundary))
--POLYGON((59 13,67 13,67 18,59 18,59 13))
--SELECT X(position)
--FROM bridges
--WHERE name = 'Cam Bridge';
--X(position)
--44
--SELECT Y(position)
--FROM bridges
--WHERE name = 'Cam Bridge';
--Y(position)
--31
--SELECT AsText(StartPoint(centerline))
--FROM road_segments
--WHERE fid = 102;
--AsText(StartPoint(centerline))
--POINT(0 18)
--SELECT AsText(EndPoint(centerline))
--FROM road_segments
--WHERE fid = 102;
--AsText(EndPoint(centerline))
--POINT(44 31)
--SELECT GLength(centerline)
--FROM road_segments
--WHERE fid = 106;
--GLength(centerline)
--26
--SELECT NumPoints(centerline)
--FROM road_segments
--WHERE fid = 102;
--NumPoints(centerline)
--5
--SELECT AsText(PointN(centerline, 1))
--FROM road_segments
--WHERE fid = 102;
--AsText(PointN(centerline, 1))
--POINT(0 18)
--SELECT AsText(Centroid(boundary))
--FROM named_places
--WHERE name = 'Goose Island';
--AsText(Centroid(boundary))
--POINT(63 15.5)
--SELECT Area(boundary)
--FROM named_places
--WHERE name = 'Goose Island';
--Area(boundary)
--40
--SELECT AsText(ExteriorRing(shore))
--FROM lakes
--WHERE name = 'Blue Lake';
--AsText(ExteriorRing(shore))
--LINESTRING(52 18,66 23,73 9,48 6,52 18)
--SELECT NumInteriorRings(shore)
--FROM lakes
--WHERE name = 'Blue Lake';
--NumInteriorRings(shore)
--1
--SELECT AsText(InteriorRingN(shore, 1))
--FROM lakes
--WHERE name = 'Blue Lake';
--AsText(InteriorRingN(shore, 1))
--LINESTRING(59 18,67 18,67 13,59 13,59 18)
--SELECT NumGeometries(centerlines)
--FROM divided_routes
--WHERE name = 'Route 75';
--NumGeometries(centerlines)
--2
--SELECT AsText(GeometryN(centerlines, 2))
--FROM divided_routes
--WHERE name = 'Route 75';
--AsText(GeometryN(centerlines, 2))
--LINESTRING(16 0,16 23,16 48)
--SELECT IsClosed(centerlines)
--FROM divided_routes
--WHERE name = 'Route 75';
--IsClosed(centerlines)
--0
--SELECT GLength(centerlines)
--FROM divided_routes
--WHERE name = 'Route 75';
--GLength(centerlines)
--96
--SELECT AsText(Centroid(shores))
--FROM ponds
--WHERE fid = 120;
--AsText(Centroid(shores))
--POINT(25 42)
--SELECT Area(shores)
--FROM ponds
--WHERE fid = 120;
--Area(shores)
--8
--SELECT ST_Equals(boundary,
--PolyFromText('POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )',1))
--FROM named_places
--WHERE name = 'Goose Island';
--ST_Equals(boundary,
--PolyFromText('POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )',1))
--1
--SELECT ST_Disjoint(centerlines, boundary)
--FROM divided_routes, named_places
--WHERE divided_routes.name = 'Route 75'
--AND named_places.name = 'Ashton';
--ST_Disjoint(centerlines, boundary)
--1
--SELECT ST_Touches(centerline, shore)
--FROM streams, lakes
--WHERE streams.name = 'Cam Stream'
--AND lakes.name = 'Blue Lake';
--ST_Touches(centerline, shore)
--1
--SELECT Crosses(road_segments.centerline, divided_routes.centerlines)
--FROM road_segments, divided_routes
--WHERE road_segments.fid = 102
--AND divided_routes.name = 'Route 75';
--Crosses(road_segments.centerline, divided_routes.centerlines)
--1
--SELECT ST_Intersects(road_segments.centerline, divided_routes.centerlines)
--FROM road_segments, divided_routes
--WHERE road_segments.fid = 102
--AND divided_routes.name = 'Route 75';
--ST_Intersects(road_segments.centerline, divided_routes.centerlines)
--1
--SELECT ST_Contains(forests.boundary, named_places.boundary)
--FROM forests, named_places
--WHERE forests.name = 'Green Forest'
--AND named_places.name = 'Ashton';
--ST_Contains(forests.boundary, named_places.boundary)
--0
--SELECT ST_Distance(position, boundary)
--FROM bridges, named_places
--WHERE bridges.name = 'Cam Bridge'
--AND named_places.name = 'Ashton';
--ST_Distance(position, boundary)
--12
--SELECT AsText(ST_Difference(named_places.boundary, forests.boundary))
--FROM named_places, forests
--WHERE named_places.name = 'Ashton'
--AND forests.name = 'Green Forest';
--AsText(ST_Difference(named_places.boundary, forests.boundary))
--POLYGON((56 34,62 48,84 48,84 42,56 34))
--SELECT AsText(ST_Union(shore, boundary))
--FROM lakes, named_places
--WHERE lakes.name = 'Blue Lake'
--AND named_places.name = 'Goose Island';
--AsText(ST_Union(shore, boundary))
--POLYGON((48 6,52 18,66 23,73 9,48 6))
--SELECT AsText(ST_SymDifference(shore, boundary))
--FROM lakes, named_places
--WHERE lakes.name = 'Blue Lake'
--AND named_places.name = 'Ashton';
--AsText(ST_SymDifference(shore, boundary))
--MULTIPOLYGON(((48 6,52 18,66 23,73 9,48 6),(59 13,59 18,67 18,67 13,59 13)),((56 30,56 34,62 48,84 48,84 30,56 30)))
--SELECT count(*)
--FROM buildings, bridges
--WHERE ST_Contains(ST_Buffer(bridges.position, 15.0), buildings.footprint) = 1;
--count(*)
--1
-+ERROR HY000: The storage engine <STORAGE_ENGINE> doesn't support SPATIAL indexes
-+# ERROR: Statement ended with errno 1464, errname ER_TABLE_CANT_HANDLE_SPKEYS (expected to succeed)
-+# ------------ UNEXPECTED RESULT ------------
-+# [ CREATE TABLE gis_point (fid INT(11) /*!*/ /*Custom column options*/, g POINT NOT NULL, SPATIAL INDEX(g)) ENGINE=InnoDB /*!*/ /*Custom table options*/ ]
-+# The statement|command finished with ER_TABLE_CANT_HANDLE_SPKEYS.
-+# Geometry types or spatial indexes or the mix could be unsupported|malfunctioning, or the problem was caused by previous errors.
-+# You can change the engine code, or create an rdiff, or disable the test by adding it to disabled.def.
-+# Further in this test, the message might sometimes be suppressed; a part of the test might be skipped.
-+# Also, this problem may cause a chain effect (more errors of different kinds in the test).
-+# -------------------------------------------
- DROP DATABASE gis_ogs;
- USE test;
diff --git a/storage/myisam/mysql-test/storage_engine/alter_tablespace.rdiff b/storage/myisam/mysql-test/storage_engine/alter_tablespace.rdiff
index 4215af58011..a8c78b117a9 100644
--- a/storage/myisam/mysql-test/storage_engine/alter_tablespace.rdiff
+++ b/storage/myisam/mysql-test/storage_engine/alter_tablespace.rdiff
@@ -13,7 +13,7 @@
-2
-ALTER TABLE t1 DISCARD TABLESPACE;
-SELECT a FROM t1;
--ERROR HY000: Tablespace has been discarded for table 't1'
+-ERROR HY000: Tablespace has been discarded for table `t1`
-ALTER TABLE t1 IMPORT TABLESPACE;
-Warnings:
-Warning 1810 IO Read error: (2, No such file or directory) Error opening './test/t1.cfg', will attempt to import without schema verification
diff --git a/storage/myisammrg/mysql-test/storage_engine/alter_tablespace.rdiff b/storage/myisammrg/mysql-test/storage_engine/alter_tablespace.rdiff
index 19ca1a1b6e1..e5462f8cb1f 100644
--- a/storage/myisammrg/mysql-test/storage_engine/alter_tablespace.rdiff
+++ b/storage/myisammrg/mysql-test/storage_engine/alter_tablespace.rdiff
@@ -13,7 +13,7 @@
-2
-ALTER TABLE t1 DISCARD TABLESPACE;
-SELECT a FROM t1;
--ERROR HY000: Tablespace has been discarded for table 't1'
+-ERROR HY000: Tablespace has been discarded for table `t1`
-ALTER TABLE t1 IMPORT TABLESPACE;
-Warnings:
-Warning 1810 IO Read error: (2, No such file or directory) Error opening './test/t1.cfg', will attempt to import without schema verification
diff --git a/storage/myisammrg/mysql-test/storage_engine/create_table.rdiff b/storage/myisammrg/mysql-test/storage_engine/create_table.rdiff
index 585e5c915ba..5f5c2528a95 100644
--- a/storage/myisammrg/mysql-test/storage_engine/create_table.rdiff
+++ b/storage/myisammrg/mysql-test/storage_engine/create_table.rdiff
@@ -29,7 +29,7 @@
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
-- `1` bigint(20) NOT NULL DEFAULT '0'
+- `1` bigint(20) NOT NULL DEFAULT 0
-) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
-SELECT * FROM t1;
-1
diff --git a/storage/myisammrg/mysql-test/storage_engine/disabled.def b/storage/myisammrg/mysql-test/storage_engine/disabled.def
new file mode 100644
index 00000000000..227e33029d8
--- /dev/null
+++ b/storage/myisammrg/mysql-test/storage_engine/disabled.def
@@ -0,0 +1,3 @@
+insert_delayed : MDEV-12880 - INSERT DELAYED is not detected as inapplicable to a table under lock
+lock_concurrent : MDEV-12882 - Assertion failure
+select_high_prio : MDEV-12885 - MDL_SHARED_READ_ONLY is taken instead of MDL_SHARED_READ
diff --git a/storage/myisammrg/mysql-test/storage_engine/parts/repair_table.rdiff b/storage/myisammrg/mysql-test/storage_engine/parts/repair_table.rdiff
index d7bf99fd674..4346545abcf 100644
--- a/storage/myisammrg/mysql-test/storage_engine/parts/repair_table.rdiff
+++ b/storage/myisammrg/mysql-test/storage_engine/parts/repair_table.rdiff
@@ -1,6 +1,6 @@
---- repair_table.result 2013-01-23 01:35:44.388267080 +0400
-+++ repair_table.reject 2013-01-23 03:16:26.468307847 +0400
-@@ -1,234 +1,114 @@
+--- suite/storage_engine/parts/repair_table.result 2017-05-20 03:58:19.451939791 +0300
++++ ../storage/myisammrg/mysql-test/storage_engine/parts/repair_table.reject 2017-05-24 02:42:31.130318292 +0300
+@@ -1,234 +1,115 @@
call mtr.add_suppression("Table '.*t1.*' is marked as crashed and should be repaired");
DROP TABLE IF EXISTS t1, t2;
CREATE TABLE t1 (a <INT_COLUMN>, b <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS> PARTITION BY HASH(a) PARTITIONS 2;
@@ -144,6 +144,7 @@
call mtr.add_suppression("MySQL thread id .*, query id .* localhost.*root Checking table");
call mtr.add_suppression(" '\..test.t1'");
call mtr.add_suppression("Couldn't repair table: test.t1");
++call mtr.add_suppression("Table 't1' is marked as crashed.*");
CREATE TABLE t1 (a <INT_COLUMN>, b <CHAR_COLUMN>, <CUSTOM_INDEX> (a)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS> PARTITION BY HASH(a) PARTITIONS 2;
+ERROR HY000: Engine cannot be used in partitioned tables
+# ERROR: Statement ended with errno 1572, errname ER_PARTITION_MERGE_ERROR (expected to succeed)
diff --git a/storage/myisammrg/mysql-test/storage_engine/repair_table.rdiff b/storage/myisammrg/mysql-test/storage_engine/repair_table.rdiff
index 9ff8f906511..79f6c7040e0 100644
--- a/storage/myisammrg/mysql-test/storage_engine/repair_table.rdiff
+++ b/storage/myisammrg/mysql-test/storage_engine/repair_table.rdiff
@@ -1,5 +1,5 @@
---- repair_table.result 2013-01-23 01:26:05.995538460 +0400
-+++ repair_table.reject 2013-01-23 02:50:55.035560564 +0400
+--- suite/storage_engine/repair_table.result 2017-05-24 01:09:07.274213486 +0300
++++ suite/storage_engine/repair_table.reject 2017-05-24 01:10:25.466214949 +0300
@@ -4,56 +4,50 @@
CREATE TABLE t2 (a <INT_COLUMN>, b <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
REPAIR TABLE t1;
@@ -71,7 +71,7 @@
DROP TABLE t1, t2;
call mtr.add_suppression("Got an error from thread_id=.*");
call mtr.add_suppression("MySQL thread id .*, query id .* localhost.*root Checking table");
-@@ -62,45 +56,32 @@
+@@ -63,45 +57,32 @@
CREATE TABLE t1 (a <INT_COLUMN>, b <CHAR_COLUMN>, <CUSTOM_INDEX> (a)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
REPAIR TABLE t1;
Table Op Msg_type Msg_text
@@ -104,7 +104,7 @@
-test.t1 check error Corrupt
+test.t1 check status OK
SELECT a,b FROM t1;
--ERROR HY000: Incorrect key file for table 't1'; try to repair it
+-ERROR HY000: Index for table 't1' is corrupt; try to repair it
-# Statement ended with one of expected results (0,ER_NOT_KEYFILE,144).
-# If you got a difference in error message, just add it to rdiff file
-INSERT INTO t1 (a,b) VALUES (14,'n'),(15,'o');
diff --git a/storage/myisammrg/mysql-test/storage_engine/tbl_opt_data_index_dir.rdiff b/storage/myisammrg/mysql-test/storage_engine/tbl_opt_data_dir.rdiff
index e6055278b3c..671e26ec617 100644
--- a/storage/myisammrg/mysql-test/storage_engine/tbl_opt_data_index_dir.rdiff
+++ b/storage/myisammrg/mysql-test/storage_engine/tbl_opt_data_dir.rdiff
@@ -1,18 +1,18 @@
---- tbl_opt_data_index_dir.result 2013-01-22 22:05:05.246633000 +0400
-+++ tbl_opt_data_index_dir.reject 2013-01-23 02:50:59.951498762 +0400
-@@ -4,7 +4,7 @@
+--- suite/storage_engine/tbl_opt_data_dir.result 2017-05-24 00:21:15.550159778 +0300
++++ ../storage/myisammrg/mysql-test/storage_engine/tbl_opt_data_dir.reject 2017-05-24 00:25:45.506164827 +0300
+@@ -5,7 +5,7 @@
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`b` char(8) DEFAULT NULL
--) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 DATA DIRECTORY='<DATA_DIR>' INDEX DIRECTORY='<INDEX_DIR>'
+-) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 DATA DIRECTORY='<DATA_DIR_1>'
+) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(`mrg`.`t1`)
+ # For ALTER TABLE the option is ignored
+ # Running ALTER TABLE .. DATA DIRECTORY = <>
Warnings:
- Warning 1618 <INDEX DIRECTORY> option ignored
- SHOW CREATE TABLE t1;
-@@ -12,5 +12,5 @@
+@@ -15,5 +15,5 @@
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`b` char(8) DEFAULT NULL
--) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 DATA DIRECTORY='<DATA_DIR>' INDEX DIRECTORY='<INDEX_DIR>'
+-) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 DATA DIRECTORY='<DATA_DIR_1>'
+) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(`mrg`.`t1`)
DROP TABLE t1;
diff --git a/storage/myisammrg/mysql-test/storage_engine/tbl_opt_index_dir.rdiff b/storage/myisammrg/mysql-test/storage_engine/tbl_opt_index_dir.rdiff
new file mode 100644
index 00000000000..ca025861f68
--- /dev/null
+++ b/storage/myisammrg/mysql-test/storage_engine/tbl_opt_index_dir.rdiff
@@ -0,0 +1,18 @@
+--- suite/storage_engine/tbl_opt_index_dir.result 2017-05-24 00:21:15.550159778 +0300
++++ ../storage/myisammrg/mysql-test/storage_engine/tbl_opt_index_dir.reject 2017-05-24 00:25:45.506164827 +0300
+@@ -5,7 +5,7 @@
+ t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` char(8) DEFAULT NULL
+-) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 INDEX DIRECTORY='<INDEX_DIR_1>'
++) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(`mrg`.`t1`)
+ # For ALTER TABLE the option is ignored
+ # Running ALTER TABLE .. INDEX DIRECTORY = <>
+ Warnings:
+@@ -15,5 +15,5 @@
+ t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` char(8) DEFAULT NULL
+-) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 INDEX DIRECTORY='<INDEX_DIR_1>'
++) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(`mrg`.`t1`)
+ DROP TABLE t1;
diff --git a/storage/myisammrg/mysql-test/storage_engine/tbl_opt_row_format.rdiff b/storage/myisammrg/mysql-test/storage_engine/tbl_opt_row_format.rdiff
index f7e0905d4e7..6c756e7b8e1 100644
--- a/storage/myisammrg/mysql-test/storage_engine/tbl_opt_row_format.rdiff
+++ b/storage/myisammrg/mysql-test/storage_engine/tbl_opt_row_format.rdiff
@@ -1,17 +1,33 @@
---- tbl_opt_row_format.result 2013-01-22 22:05:05.246633000 +0400
-+++ tbl_opt_row_format.reject 2013-01-23 02:51:04.743438518 +0400
-@@ -5,12 +5,12 @@
+--- ../storage/myisammrg/mysql-test/storage_engine/tbl_opt_row_format.result~ 2017-05-24 00:50:44.254192857 +0300
++++ ../storage/myisammrg/mysql-test/storage_engine/tbl_opt_row_format.reject 2017-05-24 00:50:44.334192859 +0300
+@@ -5,26 +5,26 @@
+ t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` char(8) DEFAULT NULL
+-) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
++) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC INSERT_METHOD=LAST UNION=(`mrg`.`t1`)
+ ALTER TABLE t1 ROW_FORMAT=FIXED;
+ SHOW CREATE TABLE t1;
+ Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`b` char(8) DEFAULT NULL
-) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED
+) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED INSERT_METHOD=LAST UNION=(`mrg`.`t1`)
- ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
+ ALTER TABLE t1 ROW_FORMAT=PAGE;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`b` char(8) DEFAULT NULL
--) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
-+) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC INSERT_METHOD=LAST UNION=(`mrg`.`t1`)
+-) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=PAGE
++) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=PAGE INSERT_METHOD=LAST UNION=(`mrg`.`t1`)
+ ALTER TABLE t1 ROW_FORMAT=COMPACT;
+ SHOW CREATE TABLE t1;
+ Table Create Table
+ t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` char(8) DEFAULT NULL
+-) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
++) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT INSERT_METHOD=LAST UNION=(`mrg`.`t1`)
DROP TABLE t1;
diff --git a/storage/myisammrg/mysql-test/storage_engine/vcol.rdiff b/storage/myisammrg/mysql-test/storage_engine/vcol.rdiff
index c7372326fad..d537967ef99 100644
--- a/storage/myisammrg/mysql-test/storage_engine/vcol.rdiff
+++ b/storage/myisammrg/mysql-test/storage_engine/vcol.rdiff
@@ -6,12 +6,12 @@
-SHOW COLUMNS IN t1;
-Field Type Null Key Default Extra
-a int(11) # #
--b int(11) # # VIRTUAL
+-b int(11) # # VIRTUAL GENERATED
-INSERT INTO t1 (a) VALUES (1),(2);
-INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
-Warnings:
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+-Warning 1906 The value specified for generated column 'b' in table 't1' ignored
+-Warning 1906 The value specified for generated column 'b' in table 't1' ignored
-SELECT a,b FROM t1;
-a b
-1 2
@@ -23,12 +23,12 @@
-SHOW COLUMNS IN t1;
-Field Type Null Key Default Extra
-a int(11) # #
--b int(11) # # PERSISTENT
+-b int(11) # # STORED GENERATED
-INSERT INTO t1 (a) VALUES (1),(2);
-INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
-Warnings:
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+-Warning 1906 The value specified for generated column 'b' in table 't1' ignored
+-Warning 1906 The value specified for generated column 'b' in table 't1' ignored
-SELECT a,b FROM t1;
-a b
-1 2
@@ -40,12 +40,12 @@
-SHOW COLUMNS IN t1;
-Field Type Null Key Default Extra
-a int(11) # #
--b int(11) # # VIRTUAL
+-b int(11) # # VIRTUAL GENERATED
-INSERT INTO t1 (a) VALUES (1),(2);
-INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
-Warnings:
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+-Warning 1906 The value specified for generated column 'b' in table 't1' ignored
+-Warning 1906 The value specified for generated column 'b' in table 't1' ignored
-SELECT a,b FROM t1;
-a b
-1 2
@@ -57,12 +57,12 @@
-SHOW COLUMNS IN t1;
-Field Type Null Key Default Extra
-a int(11) # #
--b int(11) # # PERSISTENT
+-b int(11) # # STORED GENERATED
-INSERT INTO t1 (a) VALUES (1),(2);
-INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
-Warnings:
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+-Warning 1906 The value specified for generated column 'b' in table 't1' ignored
+-Warning 1906 The value specified for generated column 'b' in table 't1' ignored
-SELECT a,b FROM t1;
-a b
-1 2
@@ -70,11 +70,11 @@
-3 4
-4 5
-DROP TABLE t1;
-+ERROR HY000: MRG_MyISAM storage engine does not support computed columns
-+# ERROR: Statement ended with errno 1910, errname ER_UNSUPPORTED_ENGINE_FOR_VIRTUAL_COLUMNS (expected to succeed)
++ERROR HY000: MRG_MyISAM storage engine does not support generated columns
++# ERROR: Statement ended with errno 1910, errname ER_UNSUPPORTED_ENGINE_FOR_GENERATED_COLUMNS (expected to succeed)
+# ------------ UNEXPECTED RESULT ------------
+# [ CREATE TABLE t1 (a INT(11) /*!*/ /*Custom column options*/, b INT(11) /*!*/ /*Custom column options*/ GENERATED ALWAYS AS (a+1)) ENGINE=MRG_MYISAM /*!*/ /*Custom table options*/ UNION(mrg.t1) INSERT_METHOD=LAST ]
-+# The statement|command finished with ER_UNSUPPORTED_ENGINE_FOR_VIRTUAL_COLUMNS.
++# The statement|command finished with ER_UNSUPPORTED_ENGINE_FOR_GENERATED_COLUMNS.
+# Virtual columns or the mix could be unsupported|malfunctioning, or the problem was caused by previous errors.
+# You can change the engine code, or create an rdiff, or disable the test by adding it to disabled.def.
+# Further in this test, the message might sometimes be suppressed; a part of the test might be skipped.
diff --git a/storage/xtradb/mysql-test/storage_engine/suite.pm b/storage/xtradb/mysql-test/storage_engine/suite.pm
new file mode 100644
index 00000000000..e186a532dcc
--- /dev/null
+++ b/storage/xtradb/mysql-test/storage_engine/suite.pm
@@ -0,0 +1,8 @@
+package My::Suite::SE::XtraDB;
+
+@ISA = qw(My::Suite);
+
+return "Need XtraDB engine";
+
+bless { };
+
diff --git a/storage/xtradb/mysql-test/storage_engine/tbl_opt_data_index_dir.rdiff b/storage/xtradb/mysql-test/storage_engine/tbl_opt_index_dir.rdiff
index e09e50b17ec..e09e50b17ec 100644
--- a/storage/xtradb/mysql-test/storage_engine/tbl_opt_data_index_dir.rdiff
+++ b/storage/xtradb/mysql-test/storage_engine/tbl_opt_index_dir.rdiff