Commit b41d5aeb authored by Elena Stepanova's avatar Elena Stepanova

Changes in storage_engine test suite:

  - added more logic for ON DUPICATE KEY UPDATE upon Monty's request;
  - added an overlay for XtraDB
parent 50e67fe3
......@@ -152,3 +152,22 @@ a b
5 e
6 f
DROP TABLE t1;
CREATE TABLE t1 (a <INT_COLUMN> UNIQUE KEY, b <INT_COLUMN> UNIQUE KEY, c <INT_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
INSERT INTO t1 VALUES(1,1,0);
INSERT INTO t1 VALUES(2,3,0);
INSERT INTO t1 VALUES(3,2,0);
INSERT INTO t1 VALUES(1,1,0) ON DUPLICATE KEY UPDATE c=c+1;
INSERT INTO t1 VALUES(2,3,0) ON DUPLICATE KEY UPDATE c=c+1;
INSERT INTO t1 VALUES(3,2,0) ON DUPLICATE KEY UPDATE c=c+1;
INSERT INTO t1 VALUES(2,5,0) ON DUPLICATE KEY UPDATE c=c+1;
INSERT INTO t1 VALUES(3,5,0) ON DUPLICATE KEY UPDATE c=c+1;
INSERT INTO t1 VALUES(5,3,0) ON DUPLICATE KEY UPDATE c=c+1;
INSERT INTO t1 VALUES(6,2,0) ON DUPLICATE KEY UPDATE c=c+1;
INSERT INTO t1 VALUES(1,3,0) ON DUPLICATE KEY UPDATE c=c+1;
INSERT INTO t1 VALUES(2,2,0) ON DUPLICATE KEY UPDATE c=c+1;
SELECT * FROM t1;
a b c
1 1 2
2 3 4
3 2 3
DROP TABLE t1;
......@@ -139,5 +139,35 @@ if (!$mysql_errname)
DROP TABLE t1;
}
--let $create_definition = a $int_indexed_col UNIQUE KEY, b $int_indexed_col UNIQUE KEY, c $int_col
--source create_table.inc
if ($mysql_errname)
{
--let $my_last_stmt = $create_statement
--let $functionality = Multiple unique keys
--source unexpected_result.inc
}
if (!$mysql_errname)
{
INSERT INTO t1 VALUES(1,1,0);
INSERT INTO t1 VALUES(2,3,0);
INSERT INTO t1 VALUES(3,2,0);
INSERT INTO t1 VALUES(1,1,0) ON DUPLICATE KEY UPDATE c=c+1;
INSERT INTO t1 VALUES(2,3,0) ON DUPLICATE KEY UPDATE c=c+1;
INSERT INTO t1 VALUES(3,2,0) ON DUPLICATE KEY UPDATE c=c+1;
INSERT INTO t1 VALUES(2,5,0) ON DUPLICATE KEY UPDATE c=c+1;
INSERT INTO t1 VALUES(3,5,0) ON DUPLICATE KEY UPDATE c=c+1;
INSERT INTO t1 VALUES(5,3,0) ON DUPLICATE KEY UPDATE c=c+1;
INSERT INTO t1 VALUES(6,2,0) ON DUPLICATE KEY UPDATE c=c+1;
INSERT INTO t1 VALUES(1,3,0) ON DUPLICATE KEY UPDATE c=c+1;
INSERT INTO t1 VALUES(2,2,0) ON DUPLICATE KEY UPDATE c=c+1;
--sorted_result
SELECT * FROM t1;
DROP TABLE t1;
}
--source cleanup_engine.inc
--- suite/storage_engine/autoinc_secondary.result 2012-07-12 04:34:18.153885986 +0400
+++ suite/storage_engine/autoinc_secondary.reject 2012-07-15 17:47:03.937703666 +0400
@@ -13,18 +13,15 @@
5 a
DROP TABLE t1;
CREATE TABLE t1 (a <CHAR_COLUMN>, b <INT_COLUMN> AUTO_INCREMENT, PRIMARY KEY (a,b)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
-INSERT INTO t1 (a) VALUES ('a'),('b'),('b'),('c'),('a');
-SELECT LAST_INSERT_ID();
-LAST_INSERT_ID()
-1
-SELECT a,b FROM t1;
-a b
-a 1
-a 2
-b 1
-b 2
-c 1
-DROP TABLE t1;
+ERROR 42000: Incorrect table definition; there can be only one auto column and it must be defined as a key
+# ERROR: Statement ended with errno 1075, errname ER_WRONG_AUTO_KEY (expected to succeed)
+# ------------ UNEXPECTED RESULT ------------
+# The statement|command finished with ER_WRONG_AUTO_KEY.
+# Multi-part keys or PK or AUTO_INCREMENT (on a secondary column) 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).
+# -------------------------------------------
CREATE TABLE t1 (a <CHAR_COLUMN>, b <INT_COLUMN> AUTO_INCREMENT, PRIMARY KEY (a,b), <CUSTOM_INDEX>(b)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
INSERT INTO t1 (a) VALUES ('a'),('b'),('b'),('c'),('a');
SELECT LAST_INSERT_ID();
--- suite/storage_engine/cache_index.result 2012-07-15 00:22:19.822493731 +0400
+++ suite/storage_engine/cache_index.reject 2012-07-15 17:47:18.321522834 +0400
@@ -12,31 +12,31 @@
SET GLOBAL <CACHE_NAME>.key_buffer_size=128*1024;
CACHE INDEX t1 INDEX (a), t2 IN <CACHE_NAME>;
Table Op Msg_type Msg_text
-test.t1 assign_to_keycache status OK
-test.t2 assign_to_keycache status OK
+test.t1 assign_to_keycache note The storage engine for the table doesn't support assign_to_keycache
+test.t2 assign_to_keycache note The storage engine for the table doesn't support assign_to_keycache
LOAD INDEX INTO CACHE t1, t2;
Table Op Msg_type Msg_text
-test.t1 preload_keys status OK
-test.t2 preload_keys status OK
+test.t1 preload_keys note The storage engine for the table doesn't support preload_keys
+test.t2 preload_keys note The storage engine for the table doesn't support preload_keys
INSERT INTO t1 (a,b) VALUES (3,'c'),(4,'d');
SET GLOBAL <CACHE_NAME>.key_buffer_size=8*1024;
LOAD INDEX INTO CACHE t1, t2 IGNORE LEAVES;
Table Op Msg_type Msg_text
-test.t1 preload_keys status OK
-test.t2 preload_keys status OK
+test.t1 preload_keys note The storage engine for the table doesn't support preload_keys
+test.t2 preload_keys note The storage engine for the table doesn't support preload_keys
SET GLOBAL <CACHE_NAME>.key_cache_age_threshold = 100, <CACHE_NAME>.key_cache_block_size = 512, <CACHE_NAME>.key_cache_division_limit = 1, <CACHE_NAME>.key_cache_segments=2;
INSERT INTO t1 (a,b) VALUES (5,'e'),(6,'f');
LOAD INDEX INTO CACHE t1;
Table Op Msg_type Msg_text
-test.t1 preload_keys status OK
+test.t1 preload_keys note The storage engine for the table doesn't support preload_keys
SET GLOBAL new_<CACHE_NAME>.key_buffer_size=128*1024;
CACHE INDEX t1 IN new_<CACHE_NAME>;
Table Op Msg_type Msg_text
-test.t1 assign_to_keycache status OK
+test.t1 assign_to_keycache note The storage engine for the table doesn't support assign_to_keycache
INSERT INTO t1 (a,b) VALUES (7,'g'),(8,'h');
LOAD INDEX INTO CACHE t1 IGNORE LEAVES;
Table Op Msg_type Msg_text
-test.t1 preload_keys status OK
+test.t1 preload_keys note The storage engine for the table doesn't support preload_keys
INSERT INTO t1 (a,b) VALUES (9,'i');
DROP TABLE t2;
DROP TABLE t1;
@@ -47,11 +47,11 @@
) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
CACHE INDEX t1 IN <CACHE_NAME>;
Table Op Msg_type Msg_text
-test.t1 assign_to_keycache status OK
+test.t1 assign_to_keycache note The storage engine for the table doesn't support assign_to_keycache
INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b');
LOAD INDEX INTO CACHE t1;
Table Op Msg_type Msg_text
-test.t1 preload_keys status OK
+test.t1 preload_keys note The storage engine for the table doesn't support preload_keys
DROP TABLE t1;
CREATE TABLE t1 (a <INT_COLUMN>,
b <CHAR_COLUMN>,
@@ -59,11 +59,11 @@
) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
CACHE INDEX t1 IN <CACHE_NAME>;
Table Op Msg_type Msg_text
-test.t1 assign_to_keycache status OK
+test.t1 assign_to_keycache note The storage engine for the table doesn't support assign_to_keycache
INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b');
LOAD INDEX INTO CACHE t1;
Table Op Msg_type Msg_text
-test.t1 preload_keys status OK
+test.t1 preload_keys note The storage engine for the table doesn't support preload_keys
DROP TABLE t1;
SET GLOBAL <CACHE_NAME>.key_buffer_size=0;
SET GLOBAL new_<CACHE_NAME>.key_buffer_size=0;
--- suite/storage_engine/checksum_table_live.result 2012-07-12 21:05:44.497062968 +0400
+++ suite/storage_engine/checksum_table_live.reject 2012-07-15 17:47:28.105399836 +0400
@@ -11,8 +11,8 @@
test.t1 4272806499
CHECKSUM TABLE t1, t2 QUICK;
Table Checksum
-test.t1 4272806499
-test.t2 0
+test.t1 NULL
+test.t2 NULL
CHECKSUM TABLE t1, t2 EXTENDED;
Table Checksum
test.t1 4272806499
###########################################
#
# This is a template of the include file define_engine.inc which
# should be placed in storage/<engine>/mysql-test/storage_engine folder.
#
################################
#
# The name of the engine under test must be defined in $ENGINE variable.
# You can set it either here (uncomment and edit) or in your environment.
#
let $ENGINE = InnoDB;
#
################################
#
# The following three variables define specific options for columns and tables.
# Normally there should be none needed, but for some engines it can be different.
# If the engine requires specific column option for all or indexed columns,
# set them inside the comment, e.g. /*!NOT NULL*/.
# Do the same for table options if needed, e.g. /*!INSERT_METHOD=LAST*/
let $default_col_opts = /*!*/;
let $default_col_indexed_opts = /*!*/;
let $default_tbl_opts = /*!*/;
# INDEX, UNIQUE INDEX, PRIMARY KEY, special index type - choose the fist that the engine allows,
# or set it to /*!*/ if none is supported
let $default_index = /*!INDEX*/;
# If the engine does not support the following types, replace them with the closest possible
let $default_int_type = INT(11);
let $default_char_type = CHAR(8);
################################
--disable_query_log
--disable_result_log
# Here you can place your custom MTR code which needs to be executed before each test,
# e.g. creation of an additional schema or table, etc.
# The cleanup part should be defined in cleanup_engine.inc
CALL mtr.add_suppression("InnoDB: Resizing redo log from .* to .* pages, LSN=.*");
CALL mtr.add_suppression("InnoDB: Starting to delete and rewrite log files.");
CALL mtr.add_suppression("InnoDB: New log files created, LSN=.*");
--enable_query_log
--enable_result_log
autoinc_vars : MySQL:65225 (InnoDB miscalculates auto-increment)
tbl_opt_ai : MySQL:65901 (AUTO_INCREMENT option on InnoDB table is ignored if added before autoinc column)
delete_low_prio : InnoDB does not use table-level locking
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
--- suite/storage_engine/fulltext_search.result 2013-11-27 18:50:16.000000000 +0400
+++ suite/storage_engine/fulltext_search.reject 2014-02-05 15:33:26.000000000 +0400
@@ -52,15 +52,14 @@
INSERT INTO t1 (v0,v1,v2) VALUES ('text4','Contributing more...','...is a good idea'),('text5','test','test');
SELECT v0, MATCH(v1) AGAINST('contributing') AS rating FROM t1 WHERE MATCH(v1) AGAINST ('contributing');
v0 rating
-text4 1.3705332279205322
+text4 0.4885590672492981
SELECT v0 FROM t1 WHERE MATCH(v1,v2) AGAINST ('-test1 +critical +Cook*' IN BOOLEAN MODE);
-v0
-text1
+ERROR HY000: Can't find FULLTEXT index matching the column list
SELECT v0 FROM t1 WHERE MATCH(v1,v2) AGAINST ('-patch +critical +Cook*' IN BOOLEAN MODE);
-v0
+ERROR HY000: Can't find FULLTEXT index matching the column list
SELECT v0, MATCH(v1) AGAINST('database' WITH QUERY EXPANSION) AS rating FROM t1 WHERE MATCH(v1) AGAINST ('database' WITH QUERY EXPANSION);
v0 rating
-text1 178.11756896972656
+text1 151.4530487060547
DROP TABLE t1;
CREATE TABLE t1 (v0 VARCHAR(64) <CUSTOM_COL_OPTIONS>,
v1 VARCHAR(16384) <CUSTOM_COL_OPTIONS>,
@@ -112,14 +111,15 @@
), ('text2','test1','test2');
SELECT v0 FROM t1 WHERE MATCH(v1,v2) AGAINST ('contributing' IN NATURAL LANGUAGE MODE);
v0
+text1
INSERT INTO t1 (v0,v1,v2) VALUES ('text3','test','test');
SELECT v0, MATCH(v1,v2) AGAINST('contributing' IN NATURAL LANGUAGE MODE) AS rating FROM t1 WHERE MATCH(v1,v2) AGAINST ('contributing' IN NATURAL LANGUAGE MODE);
v0 rating
-text1 0.2809644043445587
+text1 0.45528939366340637
INSERT INTO t1 (v0,v1,v2) VALUES ('text4','Contributing more...','...is a good idea'),('text5','test','test');
SELECT v0, MATCH(v1) AGAINST('contributing') AS rating FROM t1 WHERE MATCH(v1) AGAINST ('contributing');
v0 rating
-text4 1.3705332279205322
+text4 0.4885590672492981
SELECT v0 FROM t1 WHERE MATCH(v1,v2) AGAINST ('-test1 +critical +Cook*' IN BOOLEAN MODE);
v0
text1
@@ -127,6 +127,6 @@
v0
SELECT v0, MATCH(v1,v2) AGAINST('database' WITH QUERY EXPANSION) AS rating FROM t1 WHERE MATCH(v1,v2) AGAINST ('database' WITH QUERY EXPANSION);
v0 rating
-text1 190.56150817871094
-text4 1.1758291721343994
+text1 229.60874938964844
+text4 0.31671249866485596
DROP TABLE t1;
--- suite/storage_engine/index_enable_disable.result 2012-07-15 00:30:05.296641931 +0400
+++ suite/storage_engine/index_enable_disable.reject 2012-07-15 17:49:12.988081281 +0400
@@ -11,15 +11,19 @@
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
t1 1 a 1 a # # NULL NULL YES BTREE
ALTER TABLE t1 DISABLE KEYS;
+Warnings:
+Note 1031 Storage engine <STORAGE_ENGINE> of the table `test`.`t1` doesn't have this option
SHOW INDEX IN t1;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a # # NULL NULL YES BTREE disabled
+t1 1 a 1 a # # NULL NULL YES BTREE
EXPLAIN SELECT a FROM t1 ORDER BY a;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 19 Using filesort
+1 SIMPLE t1 index NULL a 5 NULL 19 Using index
INSERT INTO t1 (a) VALUES
(11),(12),(13),(14),(15),(16),(17),(18),(19),(20);
ALTER TABLE t1 ENABLE KEYS;
+Warnings:
+Note 1031 Storage engine <STORAGE_ENGINE> of the table `test`.`t1` doesn't have this option
SHOW INDEX IN t1;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
t1 1 a 1 a # # NULL NULL YES BTREE
@@ -32,6 +36,8 @@
(1),(2),(3),(4),(5),(6),(7),(8),(9),
(21),(22),(23),(24),(25),(26),(27),(28),(29);
ALTER TABLE t1 DISABLE KEYS;
+Warnings:
+Note 1031 Storage engine <STORAGE_ENGINE> of the table `test`.`t1` doesn't have this option
INSERT INTO t1 (a) VALUES (29);
ERROR 23000: Duplicate entry '29' for key 'a'
# Statement ended with one of expected results (ER_DUP_ENTRY,ER_DUP_KEY).
--- suite/storage_engine/index_type_hash.result 2012-07-15 01:10:17.919128889 +0400
+++ suite/storage_engine/index_type_hash.reject 2012-07-15 17:49:26.135915989 +0400
@@ -4,7 +4,7 @@
) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
SHOW KEYS IN t1;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a # # NULL NULL # HASH
+t1 1 a 1 a # # NULL NULL # BTREE
DROP TABLE t1;
CREATE TABLE t1 (a <INT_COLUMN>,
b <CHAR_COLUMN>,
@@ -12,8 +12,8 @@
) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
SHOW KEYS IN t1;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a_b 1 a # # NULL NULL # HASH a_b index
-t1 1 a_b 2 b # # NULL NULL # HASH a_b index
+t1 1 a_b 1 a # # NULL NULL # BTREE a_b index
+t1 1 a_b 2 b # # NULL NULL # BTREE a_b index
DROP TABLE t1;
CREATE TABLE t1 (a <INT_COLUMN>,
b <CHAR_COLUMN>,
@@ -22,8 +22,8 @@
) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
SHOW KEYS IN t1;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a # # NULL NULL # HASH
-t1 1 b 1 b # # NULL NULL # HASH
+t1 1 a 1 a # # NULL NULL # BTREE
+t1 1 b 1 b # # NULL NULL # BTREE
DROP TABLE t1;
CREATE TABLE t1 (a <INT_COLUMN>,
b <CHAR_COLUMN>,
@@ -31,7 +31,7 @@
) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
SHOW KEYS IN t1;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a # # NULL NULL # HASH
+t1 0 a 1 a # # NULL NULL # BTREE
INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b');
INSERT INTO t1 (a,b) VALUES (1,'c');
ERROR 23000: Duplicate entry '1' for key 'a'
@@ -43,7 +43,7 @@
ALTER TABLE t1 ADD <CUSTOM_INDEX> (a) USING HASH COMMENT 'simple index on a';
SHOW INDEX FROM t1;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 a 1 a # # NULL NULL # HASH simple index on a
+t1 1 a 1 a # # NULL NULL # BTREE simple index on a
ALTER TABLE t1 DROP KEY a;
DROP TABLE t1;
CREATE TABLE t1 (a <INT_COLUMN>,
@@ -52,7 +52,7 @@
) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
SHOW KEYS IN t1;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 a 1 a # # NULL NULL # HASH
+t1 0 a 1 a # # NULL NULL # BTREE
INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b');
INSERT INTO t1 (a,b) VALUES (1,'c');
ERROR 23000: Duplicate entry '1' for key 'a'
--- suite/storage_engine/insert_delayed.result 2013-01-23 01:23:49.461254916 +0400
+++ suite/storage_engine/insert_delayed.reject 2013-01-23 01:47:05.975698364 +0400
@@ -5,7 +5,16 @@
connect con0,localhost,root,,;
SET lock_wait_timeout = 1;
INSERT DELAYED INTO t1 (a,b) VALUES (3,'c');
+ERROR HY000: DELAYED option not supported for table 't1'
+# ------------ UNEXPECTED RESULT ------------
+# The statement|command finished with ER_DELAYED_NOT_SUPPORTED.
+# INSERT DELAYED 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).
+# -------------------------------------------
INSERT DELAYED INTO t1 SET a=4, b='d';
+ERROR HY000: DELAYED option not supported for table 't1'
INSERT DELAYED INTO t1 (a,b) SELECT 5, 'e';
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
disconnect con0;
@@ -20,6 +29,4 @@
a b
1 f
2 b
-3 c
-4 d
DROP TABLE t1;
--- suite/storage_engine/lock_concurrent.result 2012-06-24 23:55:19.539380000 +0400
+++ suite/storage_engine/lock_concurrent.reject 2012-07-15 17:50:21.279222746 +0400
@@ -3,10 +3,19 @@
LOCK TABLES t1 WRITE CONCURRENT, t1 AS t2 READ;
SET lock_wait_timeout = 1;
LOCK TABLES t1 READ LOCAL;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+# ------------ UNEXPECTED RESULT ------------
+# The statement|command finished with ER_LOCK_WAIT_TIMEOUT.
+# LOCK .. WRITE CONCURRENT 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).
+# -------------------------------------------
UNLOCK TABLES;
UNLOCK TABLES;
LOCK TABLES t1 READ LOCAL;
LOCK TABLES t1 WRITE CONCURRENT, t1 AS t2 READ;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
UNLOCK TABLES;
UNLOCK TABLES;
DROP TABLE t1;
--- suite/storage_engine/optimize_table.result 2012-07-12 19:13:53.741428591 +0400
+++ suite/storage_engine/optimize_table.reject 2012-07-15 17:50:30.843102510 +0400
@@ -5,25 +5,32 @@
INSERT INTO t1 (a,b) VALUES (3,'c'),(4,'d');
OPTIMIZE TABLE t1;
Table Op Msg_type Msg_text
+test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
test.t1 optimize status OK
INSERT INTO t2 (a,b) VALUES (4,'d');
OPTIMIZE NO_WRITE_TO_BINLOG TABLE t2;
Table Op Msg_type Msg_text
+test.t2 optimize note Table does not support optimize, doing recreate + analyze instead
test.t2 optimize status OK
INSERT INTO t2 (a,b) VALUES (5,'e');
INSERT INTO t1 (a,b) VALUES (6,'f');
OPTIMIZE LOCAL TABLE t1, t2;
Table Op Msg_type Msg_text
+test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
test.t1 optimize status OK
+test.t2 optimize note Table does not support optimize, doing recreate + analyze instead
test.t2 optimize status OK
OPTIMIZE TABLE t1, t2;
Table Op Msg_type Msg_text
-test.t1 optimize status Table is already up to date
-test.t2 optimize status Table is already up to date
+test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize status OK
+test.t2 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t2 optimize status OK
DROP TABLE t1, t2;
CREATE TABLE t1 (a <INT_COLUMN>, b <CHAR_COLUMN>, <CUSTOM_INDEX> (a)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
INSERT INTO t1 (a,b) VALUES (1,'a'),(100,'b'),(2,'c'),(3,'d');
OPTIMIZE TABLE t1;
Table Op Msg_type Msg_text
+test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
test.t1 optimize status OK
DROP TABLE t1;
--- suite/storage_engine/parts/checksum_table.result 2013-11-08 22:30:34.000000000 +0400
+++ suite/storage_engine/parts/checksum_table.reject 2013-11-08 22:32:30.000000000 +0400
@@ -31,8 +31,8 @@
test.t1 4272806499
CHECKSUM TABLE t1, t2 QUICK;
Table Checksum
-test.t1 4272806499
-test.t2 0
+test.t1 NULL
+test.t2 NULL
CHECKSUM TABLE t1, t2 EXTENDED;
Table Checksum
test.t1 4272806499
--- suite/storage_engine/parts/create_table.result 2012-07-12 21:56:38.618667460 +0400
+++ suite/storage_engine/parts/create_table.reject 2012-07-15 20:06:43.496358345 +0400
@@ -65,7 +65,7 @@
1 SIMPLE t1 abc,def # # # # # # #
EXPLAIN PARTITIONS SELECT a FROM t1 WHERE a = 100;
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL # # # # # # #
+1 SIMPLE t1 def # # # # # # #
INSERT INTO t1 (a) VALUES (50);
ERROR HY000: Table has no partition for value 50
DROP TABLE t1;
@@ -81,7 +81,7 @@
1 SIMPLE t1 abc_abcsp0,def_defsp0 # # # # # # #
EXPLAIN PARTITIONS SELECT a FROM t1 WHERE a = 100;
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE NULL NULL # # # # # # #
+1 SIMPLE t1 def_defsp0 # # # # # # #
SELECT TABLE_SCHEMA, TABLE_NAME, PARTITION_NAME, SUBPARTITION_NAME, PARTITION_METHOD, SUBPARTITION_METHOD
FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME = 't1';
TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_METHOD SUBPARTITION_METHOD
repair_table : InnoDB of 5.6.10 does not support repair on partitioned tables (fixed by 5.6.14)
--- suite/storage_engine/parts/optimize_table.result 2013-07-18 22:55:38.000000000 +0400
+++ suite/storage_engine/parts/optimize_table.reject 2013-08-05 19:45:19.000000000 +0400
@@ -9,18 +9,22 @@
INSERT INTO t1 (a,b) VALUES (3,'c'),(4,'d');
ALTER TABLE t1 OPTIMIZE PARTITION p1;
Table Op Msg_type Msg_text
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t2 (a,b) VALUES (4,'d');
ALTER TABLE t2 OPTIMIZE PARTITION p0 NO_WRITE_TO_BINLOG;
Table Op Msg_type Msg_text
+test.t2 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t2 optimize status OK
INSERT INTO t1 (a,b) VALUES (6,'f');
ALTER TABLE t1 OPTIMIZE PARTITION ALL LOCAL;
Table Op Msg_type Msg_text
+test.t1 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t1 optimize status OK
INSERT INTO t2 (a,b) VALUES (5,'e');
ALTER TABLE t2 OPTIMIZE PARTITION p1,p0;
Table Op Msg_type Msg_text
+test.t2 optimize note Table does not support optimize on partitions. All partitions will be rebuilt and analyzed.
test.t2 optimize status OK
DROP TABLE t1, t2;
DROP TABLE IF EXISTS t1,t2;
@@ -30,25 +34,32 @@
INSERT INTO t1 (a,b) VALUES (3,'c'),(4,'d');
OPTIMIZE TABLE t1;
Table Op Msg_type Msg_text
+test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
test.t1 optimize status OK
INSERT INTO t2 (a,b) VALUES (4,'d');
OPTIMIZE NO_WRITE_TO_BINLOG TABLE t2;
Table Op Msg_type Msg_text
+test.t2 optimize note Table does not support optimize, doing recreate + analyze instead
test.t2 optimize status OK
INSERT INTO t2 (a,b) VALUES (5,'e');
INSERT INTO t1 (a,b) VALUES (6,'f');
OPTIMIZE LOCAL TABLE t1, t2;
Table Op Msg_type Msg_text
+test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
test.t1 optimize status OK
+test.t2 optimize note Table does not support optimize, doing recreate + analyze instead
test.t2 optimize status OK
OPTIMIZE TABLE t1, t2;
Table Op Msg_type Msg_text
+test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
test.t1 optimize status OK
+test.t2 optimize note Table does not support optimize, doing recreate + analyze instead
test.t2 optimize status OK
DROP TABLE t1, t2;
CREATE TABLE t1 (a <INT_COLUMN>, b <CHAR_COLUMN>, <CUSTOM_INDEX> (a)) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS> PARTITION BY HASH(a) PARTITIONS 2;
INSERT INTO t1 (a,b) VALUES (1,'a'),(100,'b'),(2,'c'),(3,'d');
OPTIMIZE TABLE t1;
Table Op Msg_type Msg_text
+test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
test.t1 optimize status OK
DROP TABLE t1;
--- suite/storage_engine/parts/repair_table.result 2013-07-18 22:55:38.000000000 +0400
+++ suite/storage_engine/parts/repair_table.reject 2013-08-05 19:54:09.000000000 +0400
@@ -25,7 +25,7 @@
INSERT INTO t1 (a,b) VALUES (10,'j');
ALTER TABLE t1 REPAIR PARTITION p1 QUICK USE_FRM;
Table Op Msg_type Msg_text
-test.t1 repair status OK
+test.t1 repair note The storage engine for the table doesn't support repair
INSERT INTO t2 (a,b) VALUES (12,'l');
ALTER TABLE t2 REPAIR PARTITION NO_WRITE_TO_BINLOG ALL QUICK EXTENDED USE_FRM;
Table Op Msg_type Msg_text
@@ -58,8 +58,8 @@
INSERT INTO t2 (a,b) VALUES (11,'k');
REPAIR TABLE t1, t2 QUICK USE_FRM;
Table Op Msg_type Msg_text
-test.t1 repair status OK
-test.t2 repair status OK
+test.t1 repair note The storage engine for the table doesn't support repair
+test.t2 repair note The storage engine for the table doesn't support repair
INSERT INTO t1 (a,b) VALUES (12,'l');
INSERT INTO t2 (a,b) VALUES (13,'m');
REPAIR NO_WRITE_TO_BINLOG TABLE t1, t2 QUICK EXTENDED USE_FRM;
@@ -101,119 +101,13 @@
INSERT INTO t1 (a,b) VALUES (10,'j');
REPAIR TABLE t1 USE_FRM;
Table Op Msg_type Msg_text
-test.t1 repair status OK
-t1#P#p0.MYD
-t1#P#p0.MYI
-t1#P#p1.MYD
-t1#P#p1.MYI
+test.t1 repair note The storage engine for the table doesn't support repair
t1.frm
t1.par
INSERT INTO t1 (a,b) VALUES (14,'n'),(15,'o');
# Statement ended with one of expected results (0,144).
# If you got a difference in error message, just add it to rdiff file
FLUSH TABLE t1;
-Restoring <DATADIR>/test/t1#P#p0.MYD
-CHECK TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 check error Size of datafile is: 26 Should be: 39
-test.t1 check error Partition p0 returned error
-test.t1 check error Corrupt
-SELECT a,b FROM t1;
-a b
-8 h
-10 j
-7 g
-15 o
-Warnings:
-Error 145 Table './test/t1#P#p0' is marked as crashed and should be repaired
-Error 1194 Table 't1' is marked as crashed and should be repaired
-Error 1034 Number of rows changed from 3 to 2
-# 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');
-# Statement ended with one of expected results (0,144).
-# If you got a difference in error message, just add it to rdiff file
-FLUSH TABLE t1;
-Restoring <DATADIR>/test/t1#P#p0.MYI
-CHECK TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 check warning Size of datafile is: 39 Should be: 26
-test.t1 check error Record-count is not ok; is 3 Should be: 2
-test.t1 check warning Found 3 key parts. Should be: 2
-test.t1 check error Partition p0 returned error
-test.t1 check error Corrupt
-SELECT a,b FROM t1;
-a b
-8 h
-10 j
-14 n
-7 g
-15 o
-15 o
-Warnings:
-Error 145 Table './test/t1#P#p0' is marked as crashed and should be repaired
-Error 1194 Table 't1' is marked as crashed and should be repaired
-Error 1034 Number of rows changed from 2 to 3
-# 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');
-# Statement ended with one of expected results (0,144).
-# If you got a difference in error message, just add it to rdiff file
-FLUSH TABLE t1;
-Restoring <DATADIR>/test/t1#P#p1.MYD
-CHECK TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 check error Size of datafile is: 39 Should be: 52
-test.t1 check error Partition p1 returned error
-test.t1 check error Corrupt
-SELECT a,b FROM t1;
-a b
-8 h
-10 j
-14 n
-14 n
-7 g
-15 o
-15 o
-Warnings:
-Error 145 Table './test/t1#P#p1' is marked as crashed and should be repaired
-Error 1194 Table 't1' is marked as crashed and should be repaired
-Error 1034 Number of rows changed from 4 to 3
-# 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');
-# Statement ended with one of expected results (0,144).
-# If you got a difference in error message, just add it to rdiff file
-FLUSH TABLE t1;
-Restoring <DATADIR>/test/t1#P#p1.MYI
-CHECK TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 check warning Size of datafile is: 52 Should be: 39
-test.t1 check error Record-count is not ok; is 4 Should be: 3
-test.t1 check warning Found 4 key parts. Should be: 3
-test.t1 check error Partition p1 returned error
-test.t1 check error Corrupt
-SELECT a,b FROM t1;
-a b
-8 h
-10 j
-14 n
-14 n
-14 n
-7 g
-15 o
-15 o
-15 o
-Warnings:
-Error 145 Table './test/t1#P#p1' is marked as crashed and should be repaired
-Error 1194 Table 't1' is marked as crashed and should be repaired
-Error 1034 Number of rows changed from 3 to 4
-# 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');
-# Statement ended with one of expected results (0,144).
-# If you got a difference in error message, just add it to rdiff file
-FLUSH TABLE t1;
Restoring <DATADIR>/test/t1.par
CHECK TABLE t1;
Table Op Msg_type Msg_text
@@ -223,14 +117,8 @@
8 h
10 j
14 n
-14 n
-14 n
-14 n
7 g
15 o
-15 o
-15 o
-15 o
# 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
DROP TABLE t1;
--- suite/storage_engine/repair_table.result 2013-10-03 20:35:06.000000000 +0400
+++ suite/storage_engine/repair_table.reject 2013-11-08 22:04:22.000000000 +0400
@@ -4,56 +4,57 @@
CREATE TABLE t2 (a <INT_COLUMN>, b <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
REPAIR TABLE t1;
Table Op Msg_type Msg_text
-test.t1 repair status OK
+test.t1 repair note The storage engine for the table doesn't support repair
INSERT INTO t1 (a,b) VALUES (3,'c');
INSERT INTO t2 (a,b) VALUES (4,'d');
REPAIR NO_WRITE_TO_BINLOG TABLE t1, t2;
Table Op Msg_type Msg_text
-test.t1 repair status OK
-test.t2 repair status OK
+test.t1 repair note The storage engine for the table doesn't support repair
+test.t2 repair note The storage engine for the table doesn't support repair
INSERT INTO t2 (a,b) VALUES (5,'e'),(6,'f');
REPAIR LOCAL TABLE t2;
Table Op Msg_type Msg_text
-test.t2 repair status OK
+test.t2 repair note The storage engine for the table doesn't support repair
INSERT INTO t1 (a,b) VALUES (7,'g'),(8,'h');
INSERT INTO t2 (a,b) VALUES (9,'i');
REPAIR LOCAL TABLE t2, t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t2 repair status OK
-test.t1 repair status OK
+test.t2 repair note The storage engine for the table doesn't support repair
+test.t1 repair note The storage engine for the table doesn't support repair
INSERT INTO t1 (a,b) VALUES (10,'j');
INSERT INTO t2 (a,b) VALUES (11,'k');
REPAIR TABLE t1, t2 QUICK USE_FRM;
Table Op Msg_type Msg_text
-test.t1 repair warning Number of rows changed from 0 to 6
-test.t1 repair status OK
-test.t2 repair warning Number of rows changed from 0 to 5
-test.t2 repair status OK
+test.t1 repair note The storage engine for the table doesn't support repair
+test.t2 repair note The storage engine for the table doesn't support repair
INSERT INTO t1 (a,b) VALUES (12,'l');
INSERT INTO t2 (a,b) VALUES (13,'m');
REPAIR NO_WRITE_TO_BINLOG TABLE t1, t2 QUICK EXTENDED USE_FRM;
Table Op Msg_type Msg_text
-test.t1 repair warning Number of rows changed from 0 to 7
-test.t1 repair status OK
-test.t2 repair warning Number of rows changed from 0 to 6
-test.t2 repair status OK
+test.t1 repair note The storage engine for the table doesn't support repair
+test.t2 repair note The storage engine for the table doesn't support repair
FLUSH TABLE t1;
INSERT INTO t1 (a,b) VALUES (14,'n');
-ERROR HY000: Incorrect file format 't1'
# Statement ended with one of expected results (0,130,ER_FAILED_READ_FROM_PAR_FILE,ER_OPEN_AS_READONLY).
# If you got a difference in error message, just add it to rdiff file
CHECK TABLE t1;
Table Op Msg_type Msg_text
-test.t1 check Error Incorrect file format 't1'
-test.t1 check error Corrupt
+test.t1 check status OK
SELECT a,b FROM t1;
-ERROR HY000: Incorrect file format 't1'
+a b
+1 a
+2 b
+3 c
+7 g
+8 h
+10 j
+12 l
+14 n
# Statement ended with one of expected results (0,130,ER_FAILED_READ_FROM_PAR_FILE,ER_OPEN_AS_READONLY).
# If you got a difference in error message, just add it to rdiff file
REPAIR TABLE t1;
Table Op Msg_type Msg_text
-test.t1 repair Error Incorrect file format 't1'
-test.t1 repair error Corrupt
+test.t1 repair note The storage engine for the table doesn't support repair
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 +63,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
-test.t1 repair status OK
+test.t1 repair note The storage engine for the table doesn't support repair
INSERT INTO t1 (a,b) VALUES (7,'g'),(8,'h');
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair status OK
+test.t1 repair note The storage engine for the table doesn't support repair
INSERT INTO t1 (a,b) VALUES (10,'j');
REPAIR TABLE t1 USE_FRM;
Table Op Msg_type Msg_text
-test.t1 repair warning Number of rows changed from 0 to 3
-test.t1 repair status OK
-t1.MYD
-t1.MYI
+test.t1 repair note The storage engine for the table doesn't support repair
t1.frm
+t1.ibd
INSERT INTO t1 (a,b) VALUES (14,'n'),(15,'o');
# Statement ended with one of expected results (0,144).
# If you got a difference in error message, just add it to rdiff file
FLUSH TABLE t1;
-Restoring <DATADIR>/test/t1.MYD
+Restoring <DATADIR>/test/t1.ibd
CHECK TABLE t1;
Table Op Msg_type Msg_text
-test.t1 check error Size of datafile is: 39 Should be: 65
-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
-# 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');
-ERROR HY000: Table './test/t1' is marked as crashed and last (automatic?) repair failed
-# Statement ended with one of expected results (0,144).
-# If you got a difference in error message, just add it to rdiff file
-FLUSH TABLE t1;
-Restoring <DATADIR>/test/t1.MYI
-CHECK TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 check warning Table is marked as crashed and last repair failed
-test.t1 check error Size of datafile is: 39 Should be: 65
-test.t1 check error Corrupt
-SELECT a,b FROM t1;
-ERROR HY000: Table './test/t1' is marked as crashed and last (automatic?) repair failed
+a b
+7 g
+8 h
+10 j
+14 n
+15 o
# 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
DROP TABLE t1;
--- suite/storage_engine/tbl_opt_data_index_dir.result 2013-10-03 20:35:06.000000000 +0400
+++ suite/storage_engine/tbl_opt_data_index_dir.reject 2013-11-08 22:06:54.000000000 +0400
@@ -1,10 +1,12 @@
DROP TABLE IF EXISTS t1;
+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 DATA DIRECTORY='<DATA_DIR>' INDEX DIRECTORY='<INDEX_DIR>'
+) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 DATA DIRECTORY='<DATA_DIR>'
Warnings:
Warning 1618 <INDEX DIRECTORY> option ignored
SHOW CREATE TABLE t1;
@@ -12,5 +14,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>'
DROP TABLE t1;
--- suite/storage_engine/tbl_opt_insert_method.result 2012-06-24 23:55:19.539380000 +0400
+++ suite/storage_engine/tbl_opt_insert_method.reject 2012-07-15 17:51:09.978610512 +0400
@@ -5,7 +5,7 @@
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`b` char(8) DEFAULT NULL
-) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 INSERT_METHOD=FIRST
+) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
ALTER TABLE t1 INSERT_METHOD=NO;
SHOW CREATE TABLE t1;
Table Create Table
--innodb-file-per-table=1
--innodb-file-format=Barracuda
--innodb-file-per-table=1
--innodb-file-format=Barracuda
--- 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.
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
--- suite/storage_engine/tbl_opt_union.result 2012-06-24 23:55:19.539380000 +0400
+++ suite/storage_engine/tbl_opt_union.reject 2012-07-15 17:51:31.014346053 +0400
@@ -4,11 +4,11 @@
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
-) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 UNION=(`child1`)
+) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
ALTER TABLE t1 UNION = (child1,child2);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
-) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1 UNION=(`child1`,`child2`)
+) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
DROP TABLE t1, child1, child2;
--- suite/storage_engine/trx/cons_snapshot_serializable.result 2013-11-27 18:46:36.000000000 +0400
+++ suite/storage_engine/trx/cons_snapshot_serializable.reject 2013-11-28 19:17:02.000000000 +0400
@@ -5,12 +5,15 @@
CREATE TABLE t1 (a <INT_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
START TRANSACTION WITH CONSISTENT SNAPSHOT;
+Warnings:
+Warning 138 InnoDB: WITH CONSISTENT SNAPSHOT was ignored because this phrase can only be used with REPEATABLE READ isolation level.
connection con2;
INSERT INTO t1 (a) VALUES (1);
connection con1;
# If consistent read works on this isolation level (SERIALIZABLE), the following SELECT should not return the value we inserted (1)
SELECT a FROM t1;
a
+1
COMMIT;
connection default;
disconnect con1;
--- suite/storage_engine/trx/level_read_committed.result 2013-11-28 19:18:48.000000000 +0400
+++ suite/storage_engine/trx/level_read_committed.reject 2013-11-28 19:18:59.000000000 +0400
@@ -77,6 +77,8 @@
CREATE TABLE t1 (a <INT_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
START TRANSACTION WITH CONSISTENT SNAPSHOT;
+Warnings:
+Warning 138 InnoDB: WITH CONSISTENT SNAPSHOT was ignored because this phrase can only be used with REPEATABLE READ isolation level.
connection con2;
INSERT INTO t1 (a) VALUES (1);
connection con1;
--- suite/storage_engine/trx/level_read_uncommitted.result 2013-11-28 19:18:48.000000000 +0400
+++ suite/storage_engine/trx/level_read_uncommitted.reject 2013-11-28 19:19:50.000000000 +0400
@@ -102,6 +102,8 @@
CREATE TABLE t1 (a <INT_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS>;
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
START TRANSACTION WITH CONSISTENT SNAPSHOT;
+Warnings:
+Warning 138 InnoDB: WITH CONSISTENT SNAPSHOT was ignored because this phrase can only be used with REPEATABLE READ isolation level.
connection con2;
INSERT INTO t1 (a) VALUES (1);
connection con1;
--- suite/storage_engine/type_char_indexes.result 2012-07-12 19:27:42.191013570 +0400
+++ suite/storage_engine/type_char_indexes.reject 2012-07-15 17:51:55.810034331 +0400
@@ -135,7 +135,7 @@
r3a
EXPLAIN SELECT c,c20,v16,v128 FROM t1 WHERE v16 = 'varchar1a' OR v16 = 'varchar3a' ORDER BY v16;
id select_type table type possible_keys key key_len ref rows Extra
-# # # range # v16 # # # #
+# # # ALL # NULL # # # #
SELECT c,c20,v16,v128 FROM t1 WHERE v16 = 'varchar1a' OR v16 = 'varchar3a' ORDER BY v16;
c c20 v16 v128
a char1 varchar1a varchar1b
--- suite/storage_engine/type_float_indexes.result 2012-07-12 19:37:27.031661128 +0400
+++ suite/storage_engine/type_float_indexes.reject 2012-07-15 17:52:12.189828410 +0400
@@ -60,7 +60,7 @@
ALTER TABLE t1 ADD UNIQUE KEY(d);
EXPLAIN SELECT d FROM t1 WHERE r > 0 and d > 0 ORDER BY d;
id select_type table type possible_keys key key_len ref rows Extra
-# # # # # d # # # #
+# # # # # NULL # # # #
SELECT d FROM t1 WHERE r > 0 and d > 0 ORDER BY d;
d
1.2345
--- 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 1 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 1 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;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment