mirror of
https://github.com/MariaDB/server.git
synced 2025-03-27 01:18:42 +01:00
Changes in storage_engine test suite:
- added more logic for ON DUPICATE KEY UPDATE upon Monty's request; - added an overlay for XtraDB
This commit is contained in:
parent
50e67fe3bf
commit
b41d5aebcf
39 changed files with 1687 additions and 0 deletions
mysql-test/suite/storage_engine
storage/xtradb/mysql-test/storage_engine
alter_tablespace.optautoinc_secondary.rdiffcache_index.rdiffchecksum_table_live.rdiffcol_opt_not_null.optcol_opt_null.optdefine_engine.incdisabled.deffulltext_search.rdiffindex_enable_disable.rdiffindex_type_hash.rdiffinsert_delayed.rdifflock_concurrent.rdiffoptimize_table.rdiff
parts
repair_table.rdiffsuite.opttbl_opt_data_index_dir.rdifftbl_opt_insert_method.rdifftbl_opt_key_block_size.opttbl_opt_row_format.opttbl_opt_row_format.rdifftbl_opt_union.rdifftrx
type_blob.opttype_char_indexes.rdifftype_float_indexes.rdifftype_spatial_indexes.rdifftype_text.opt
|
@ -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
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
--innodb-file-per-table=1
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
--- 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();
|
71
storage/xtradb/mysql-test/storage_engine/cache_index.rdiff
Normal file
71
storage/xtradb/mysql-test/storage_engine/cache_index.rdiff
Normal file
|
@ -0,0 +1,71 @@
|
|||
--- 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;
|
|
@ -0,0 +1,13 @@
|
|||
--- 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
|
|
@ -0,0 +1 @@
|
|||
--innodb_log_file_size=100M
|
|
@ -0,0 +1 @@
|
|||
--innodb_log_file_size=100M
|
49
storage/xtradb/mysql-test/storage_engine/define_engine.inc
Normal file
49
storage/xtradb/mysql-test/storage_engine/define_engine.inc
Normal file
|
@ -0,0 +1,49 @@
|
|||
###########################################
|
||||
#
|
||||
# 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
|
8
storage/xtradb/mysql-test/storage_engine/disabled.def
Normal file
8
storage/xtradb/mysql-test/storage_engine/disabled.def
Normal file
|
@ -0,0 +1,8 @@
|
|||
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
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
--- 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;
|
|
@ -0,0 +1,33 @@
|
|||
--- 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).
|
|
@ -0,0 +1,60 @@
|
|||
--- 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'
|
|
@ -0,0 +1,26 @@
|
|||
--- 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;
|
|
@ -0,0 +1,22 @@
|
|||
--- 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;
|
|
@ -0,0 +1,37 @@
|
|||
--- 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;
|
|
@ -0,0 +1,13 @@
|
|||
--- 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
|
|
@ -0,0 +1,20 @@
|
|||
--- 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
|
|
@ -0,0 +1 @@
|
|||
repair_table : InnoDB of 5.6.10 does not support repair on partitioned tables (fixed by 5.6.14)
|
|
@ -0,0 +1,58 @@
|
|||
--- 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;
|
|
@ -0,0 +1,158 @@
|
|||
--- 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;
|
2
storage/xtradb/mysql-test/storage_engine/parts/suite.opt
Normal file
2
storage/xtradb/mysql-test/storage_engine/parts/suite.opt
Normal file
|
@ -0,0 +1,2 @@
|
|||
--innodb
|
||||
|
138
storage/xtradb/mysql-test/storage_engine/repair_table.rdiff
Normal file
138
storage/xtradb/mysql-test/storage_engine/repair_table.rdiff
Normal file
|
@ -0,0 +1,138 @@
|
|||
--- 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;
|
1
storage/xtradb/mysql-test/storage_engine/suite.opt
Normal file
1
storage/xtradb/mysql-test/storage_engine/suite.opt
Normal file
|
@ -0,0 +1 @@
|
|||
--innodb
|
|
@ -0,0 +1,23 @@
|
|||
--- 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;
|
|
@ -0,0 +1,11 @@
|
|||
--- 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
|
|
@ -0,0 +1,3 @@
|
|||
--innodb-file-per-table=1
|
||||
--innodb-file-format=Barracuda
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
--innodb-file-per-table=1
|
||||
--innodb-file-format=Barracuda
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
--- 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` (
|
16
storage/xtradb/mysql-test/storage_engine/tbl_opt_union.rdiff
Normal file
16
storage/xtradb/mysql-test/storage_engine/tbl_opt_union.rdiff
Normal file
|
@ -0,0 +1,16 @@
|
|||
--- 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;
|
|
@ -0,0 +1,18 @@
|
|||
--- 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;
|
|
@ -0,0 +1,11 @@
|
|||
--- 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;
|
|
@ -0,0 +1,11 @@
|
|||
--- 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;
|
3
storage/xtradb/mysql-test/storage_engine/trx/suite.opt
Normal file
3
storage/xtradb/mysql-test/storage_engine/trx/suite.opt
Normal file
|
@ -0,0 +1,3 @@
|
|||
--innodb
|
||||
--innodb-lock-wait-timeout=1
|
||||
|
1
storage/xtradb/mysql-test/storage_engine/type_blob.opt
Normal file
1
storage/xtradb/mysql-test/storage_engine/type_blob.opt
Normal file
|
@ -0,0 +1 @@
|
|||
--innodb_log_file_size=100M
|
|
@ -0,0 +1,11 @@
|
|||
--- 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
|
|
@ -0,0 +1,11 @@
|
|||
--- 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
|
|
@ -0,0 +1,712 @@
|
|||
--- 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;
|
1
storage/xtradb/mysql-test/storage_engine/type_text.opt
Normal file
1
storage/xtradb/mysql-test/storage_engine/type_text.opt
Normal file
|
@ -0,0 +1 @@
|
|||
--innodb_log_file_size=100M
|
Loading…
Add table
Reference in a new issue