summaryrefslogtreecommitdiff
path: root/mysql-test/suite
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2015-12-13 00:10:40 +0100
committerSergei Golubchik <serg@mariadb.org>2015-12-13 00:10:40 +0100
commit162399515813a4e23c8735473f9d2dd622a6679b (patch)
tree39077fdabea60983c59899ce3d28e84c4d97c7e6 /mysql-test/suite
parent5908d7ebb81bc2d52c67e519a4643372cb9f08bd (diff)
parent0ed474484c037a32bea32abaecd3ff770f40bd49 (diff)
downloadmariadb-git-162399515813a4e23c8735473f9d2dd622a6679b.tar.gz
Merge branch '5.5' into 10.0
Diffstat (limited to 'mysql-test/suite')
-rw-r--r--mysql-test/suite/federated/error_on_close-8313.result27
-rw-r--r--mysql-test/suite/federated/error_on_close-8313.test38
-rw-r--r--mysql-test/suite/innodb/r/dropdb.result9
-rw-r--r--mysql-test/suite/innodb/r/innodb-autoinc.result16
-rw-r--r--mysql-test/suite/innodb/r/innodb-dict.result40
-rw-r--r--mysql-test/suite/innodb/r/innodb_information_schema_tables.result2
-rw-r--r--mysql-test/suite/innodb/t/dropdb.test12
-rw-r--r--mysql-test/suite/innodb/t/innodb-autoinc.test3
-rw-r--r--mysql-test/suite/innodb/t/innodb-dict.test31
-rw-r--r--mysql-test/suite/innodb/t/innodb_information_schema_tables.opt29
-rw-r--r--mysql-test/suite/innodb/t/innodb_information_schema_tables.test64
-rw-r--r--mysql-test/suite/innodb_fts/r/fulltext.result2
-rw-r--r--mysql-test/suite/vcol/r/vcol_misc.result8
-rw-r--r--mysql-test/suite/vcol/t/vcol_misc.test7
14 files changed, 284 insertions, 4 deletions
diff --git a/mysql-test/suite/federated/error_on_close-8313.result b/mysql-test/suite/federated/error_on_close-8313.result
new file mode 100644
index 00000000000..93b0edb4e49
--- /dev/null
+++ b/mysql-test/suite/federated/error_on_close-8313.result
@@ -0,0 +1,27 @@
+CREATE DATABASE federated;
+CREATE DATABASE federated;
+connection slave;
+create table t1 (foo int, bar int);
+connection master;
+create server 's1' foreign data wrapper 'mysql' options
+(HOST 'localhost',
+DATABASE 'test',
+USER 'root',
+PASSWORD '',
+SOCKET 'SLAVE_MYSOCK');
+create table t1 (foo integer, bar integer) engine=federated
+connection='s1';
+select * from t1;
+foo bar
+connection slave;
+connection master;
+drop table t1;
+drop server s1;
+connection slave;
+drop table t1;
+connection master;
+DROP TABLE IF EXISTS federated.t1;
+DROP DATABASE IF EXISTS federated;
+connection slave;
+DROP TABLE IF EXISTS federated.t1;
+DROP DATABASE IF EXISTS federated;
diff --git a/mysql-test/suite/federated/error_on_close-8313.test b/mysql-test/suite/federated/error_on_close-8313.test
new file mode 100644
index 00000000000..b0b12861a66
--- /dev/null
+++ b/mysql-test/suite/federated/error_on_close-8313.test
@@ -0,0 +1,38 @@
+#
+# MDEV-8313 Got an error writing communication packets
+#
+source include/federated.inc;
+
+enable_connect_log;
+
+connection slave;
+create table t1 (foo int, bar int);
+
+connection master;
+
+--replace_result $SLAVE_MYSOCK SLAVE_MYSOCK
+eval create server 's1' foreign data wrapper 'mysql' options
+ (HOST 'localhost',
+ DATABASE 'test',
+ USER 'root',
+ PASSWORD '',
+ SOCKET '$SLAVE_MYSOCK');
+
+
+eval create table t1 (foo integer, bar integer) engine=federated
+ connection='s1';
+
+select * from t1;
+
+connection slave;
+source include/restart_mysqld.inc;
+
+connection master;
+drop table t1;
+drop server s1;
+
+connection slave;
+drop table t1;
+
+source include/federated_cleanup.inc;
+
diff --git a/mysql-test/suite/innodb/r/dropdb.result b/mysql-test/suite/innodb/r/dropdb.result
new file mode 100644
index 00000000000..6b11b5e5205
--- /dev/null
+++ b/mysql-test/suite/innodb/r/dropdb.result
@@ -0,0 +1,9 @@
+#
+# Bug #19929435 DROP DATABASE HANGS WITH MALFORMED TABLE
+#
+set session default_storage_engine=innodb;
+create database `b`;
+use `b`;
+create table `#mysql50#q.q` select 1;
+ERROR 42000: Incorrect table name '#mysql50#q.q'
+drop database `b`;
diff --git a/mysql-test/suite/innodb/r/innodb-autoinc.result b/mysql-test/suite/innodb/r/innodb-autoinc.result
index d5ad06e861f..879f9dfa238 100644
--- a/mysql-test/suite/innodb/r/innodb-autoinc.result
+++ b/mysql-test/suite/innodb/r/innodb-autoinc.result
@@ -567,7 +567,7 @@ Variable_name Value
auto_increment_increment 65535
auto_increment_offset 65535
INSERT INTO t1 VALUES (NULL),(NULL);
-ERROR 22003: Out of range value for column 'c1' at row 1
+ERROR HY000: Failed to read auto-increment value from storage engine
SELECT * FROM t1;
c1
1
@@ -641,6 +641,18 @@ PRIMARY KEY (m)) ENGINE = InnoDB;
INSERT INTO t2 (n,o) VALUES
(1 , 'true'), (1 , 'false'), (2 , 'true'), (2 , 'false'), (3 , 'true'),
(3 , 'false'), (4 , 'true'), (4 , 'false'), (5 , 'true'), (5 , 'false');
+SELECT * FROM t2;
+m n o
+1 1 TRUE
+2 1 FALSE
+3 2 TRUE
+4 2 FALSE
+5 3 TRUE
+6 3 FALSE
+7 4 TRUE
+8 4 FALSE
+9 5 TRUE
+10 5 FALSE
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -648,7 +660,7 @@ t2 CREATE TABLE `t2` (
`n` int(10) unsigned NOT NULL,
`o` enum('FALSE','TRUE') DEFAULT NULL,
PRIMARY KEY (`m`)
-) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=latin1
+) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=latin1
INSERT INTO t1 (b,c) SELECT n,o FROM t2 ;
SHOW CREATE TABLE t1;
Table Create Table
diff --git a/mysql-test/suite/innodb/r/innodb-dict.result b/mysql-test/suite/innodb/r/innodb-dict.result
new file mode 100644
index 00000000000..e3b2f0d5288
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-dict.result
@@ -0,0 +1,40 @@
+CREATE TABLE t1 (D INT) ENGINE=innodb;
+INSERT INTO t1 VALUES (10);
+ALTER TABLE t1 MODIFY COLUMN d INT;
+ALTER TABLE t1 ADD INDEX my_d (d);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `d` int(11) DEFAULT NULL,
+ KEY `my_d` (`d`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9);
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+EXPLAIN SELECT d FROM t1 WHERE d = 5;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref my_d my_d 5 const 128 Using index
+EXPLAIN SELECT D FROM t1 WHERE D = 5;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref my_d my_d 5 const 128 Using index
+ALTER TABLE t1 DROP INDEX my_d;
+ALTER TABLE t1 MODIFY COLUMN D INT;
+ALTER TABLE t1 ADD INDEX my_d (D);
+EXPLAIN SELECT d FROM t1 WHERE d = 5;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref my_d my_d 5 const 128 Using index
+EXPLAIN SELECT D FROM t1 WHERE D = 5;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref my_d my_d 5 const 128 Using index
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `D` int(11) DEFAULT NULL,
+ KEY `my_d` (`D`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb_information_schema_tables.result b/mysql-test/suite/innodb/r/innodb_information_schema_tables.result
new file mode 100644
index 00000000000..ea713ea6f6a
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_information_schema_tables.result
@@ -0,0 +1,2 @@
+CREATE TABLE t1 ENGINE=InnoDB AS SELECT * FROM mysql.help_topic;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/dropdb.test b/mysql-test/suite/innodb/t/dropdb.test
new file mode 100644
index 00000000000..7f5ac809d7c
--- /dev/null
+++ b/mysql-test/suite/innodb/t/dropdb.test
@@ -0,0 +1,12 @@
+--source include/have_innodb.inc
+
+--echo #
+--echo # Bug #19929435 DROP DATABASE HANGS WITH MALFORMED TABLE
+--echo #
+
+set session default_storage_engine=innodb;
+create database `b`;
+use `b`;
+--error ER_WRONG_TABLE_NAME
+create table `#mysql50#q.q` select 1;
+drop database `b`;
diff --git a/mysql-test/suite/innodb/t/innodb-autoinc.test b/mysql-test/suite/innodb/t/innodb-autoinc.test
index a8dda12cadd..362be2e055b 100644
--- a/mysql-test/suite/innodb/t/innodb-autoinc.test
+++ b/mysql-test/suite/innodb/t/innodb-autoinc.test
@@ -349,7 +349,7 @@ INSERT INTO t1 VALUES (18446744073709551610); #-- 2^64 - 2
SELECT * FROM t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1152921504606846976, @@SESSION.AUTO_INCREMENT_OFFSET=1152921504606846976;
SHOW VARIABLES LIKE "%auto_inc%";
---error 167
+--error 1467
INSERT INTO t1 VALUES (NULL),(NULL);
SELECT * FROM t1;
DROP TABLE t1;
@@ -401,6 +401,7 @@ CREATE TABLE t2 (
INSERT INTO t2 (n,o) VALUES
(1 , 'true'), (1 , 'false'), (2 , 'true'), (2 , 'false'), (3 , 'true'),
(3 , 'false'), (4 , 'true'), (4 , 'false'), (5 , 'true'), (5 , 'false');
+SELECT * FROM t2;
SHOW CREATE TABLE t2;
INSERT INTO t1 (b,c) SELECT n,o FROM t2 ;
SHOW CREATE TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb-dict.test b/mysql-test/suite/innodb/t/innodb-dict.test
new file mode 100644
index 00000000000..25a284569db
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-dict.test
@@ -0,0 +1,31 @@
+--source include/have_innodb.inc
+
+#
+# Fix MySQL Bug#20755615: InnoDB compares column names case sensitively,
+# while according to Storage Engine API column names should be compared
+# case insensitively. This can cause FRM and InnoDB data dictionary to
+# go out of sync:
+#
+
+CREATE TABLE t1 (D INT) ENGINE=innodb;
+INSERT INTO t1 VALUES (10);
+ALTER TABLE t1 MODIFY COLUMN d INT;
+ALTER TABLE t1 ADD INDEX my_d (d);
+SHOW CREATE TABLE t1;
+INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9);
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+EXPLAIN SELECT d FROM t1 WHERE d = 5;
+EXPLAIN SELECT D FROM t1 WHERE D = 5;
+ALTER TABLE t1 DROP INDEX my_d;
+ALTER TABLE t1 MODIFY COLUMN D INT;
+ALTER TABLE t1 ADD INDEX my_d (D);
+EXPLAIN SELECT d FROM t1 WHERE d = 5;
+EXPLAIN SELECT D FROM t1 WHERE D = 5;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb_information_schema_tables.opt b/mysql-test/suite/innodb/t/innodb_information_schema_tables.opt
new file mode 100644
index 00000000000..9f30d81ef9c
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_information_schema_tables.opt
@@ -0,0 +1,29 @@
+--loose-innodb_trx
+--loose-innodb_locks
+--loose-innodb_lock_waits
+--loose-innodb_cmp
+--loose-innodb_cmp_reset
+--loose-innodb_cmp_per_index
+--loose-innodb_cmp_per_index_reset
+--loose-innodb_cmpmem
+--loose-innodb_cmpmem_reset
+--loose-innodb_buffer_page
+--loose-innodb_buffer_page_lru
+--loose-innodb_buffer_stats
+--loose-innodb_sys_tables
+--loose-innodb_sys_tablestats
+--loose-innodb_sys_indexes
+--loose-innodb_sys_columns
+--loose-innodb_sys_fields
+--loose-innodb_sys_foreign
+--loose-innodb_sys_foreign_cols
+--loose-innodb_changed_pages
+--loose-innodb_rseg
+--loose-innodb_undo_logs
+--loose-innodb_sys_stats
+--loose-innodb_table_stats
+--loose-innodb_index_stats
+--loose-innodb_admin_command
+--loose-innodb_buffer_pool_pages
+--loose-innodb_buffer_pool_pages_index
+--loose-innodb_buffer_pool_pages_blob
diff --git a/mysql-test/suite/innodb/t/innodb_information_schema_tables.test b/mysql-test/suite/innodb/t/innodb_information_schema_tables.test
new file mode 100644
index 00000000000..15b3bf4f561
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_information_schema_tables.test
@@ -0,0 +1,64 @@
+-- source include/have_innodb.inc
+-- source include/not_embedded.inc
+
+#
+# MDEV-7762 InnoDB: Failing assertion: block->page.buf_fix_count > 0 in buf0buf.ic line 730
+#
+# Make sure that all supported information_schema tables are readable
+# (actual result sets are not important).
+#
+CREATE TABLE t1 ENGINE=InnoDB AS SELECT * FROM mysql.help_topic;
+
+--disable_query_log
+--disable_result_log
+BEGIN;
+SELECT * FROM t1 FOR UPDATE;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_CMP;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_CMP_RESET;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_CMPMEM;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_CMPMEM_RESET;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRU;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_STATS;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_RSEG;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_UNDO_LOGS;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_STATS;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLE_STATS;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_INDEX_STATS;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_ADMIN_COMMAND;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_POOL_PAGES;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_POOL_PAGES_INDEX;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_POOL_PAGES_BLOB;
+--error 0,1109
+SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES;
+COMMIT;
+--enable_query_log
+--enable_result_log
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/r/fulltext.result b/mysql-test/suite/innodb_fts/r/fulltext.result
index dd8412c6651..1cdce29cdf9 100644
--- a/mysql-test/suite/innodb_fts/r/fulltext.result
+++ b/mysql-test/suite/innodb_fts/r/fulltext.result
@@ -498,7 +498,7 @@ MATCH(a) AGAINST('aaa1* aaa14 aaa15 aaa16' IN BOOLEAN MODE)
DROP TABLE t1;
CREATE TABLE t1(a TEXT) ENGINE = InnoDB;
SELECT GROUP_CONCAT(a) AS st FROM t1 HAVING MATCH(st) AGAINST('test' IN BOOLEAN MODE);
-ERROR HY000: Incorrect arguments to AGAINST
+ERROR HY000: Incorrect arguments to MATCH
DROP TABLE t1;
CREATE TABLE t1(a VARCHAR(64), FULLTEXT(a)) ENGINE = InnoDB;
INSERT INTO t1 VALUES('awrd bwrd cwrd'),('awrd bwrd cwrd'),('awrd bwrd cwrd');
diff --git a/mysql-test/suite/vcol/r/vcol_misc.result b/mysql-test/suite/vcol/r/vcol_misc.result
index 8631789f15f..0aaed59ed6c 100644
--- a/mysql-test/suite/vcol/r/vcol_misc.result
+++ b/mysql-test/suite/vcol/r/vcol_misc.result
@@ -322,3 +322,11 @@ drop table t1;
create table t1 (a int, b int as (b is null) virtual);
ERROR HY000: A computed column cannot be based on a computed column
# end of 5.3 tests
+create table t1 (v1 varchar(255) as (c1) persistent, c1 varchar(50)) collate=latin1_general_ci;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `v1` varchar(255) AS (c1) PERSISTENT,
+ `c1` varchar(50) COLLATE latin1_general_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci
+drop table t1;
diff --git a/mysql-test/suite/vcol/t/vcol_misc.test b/mysql-test/suite/vcol/t/vcol_misc.test
index a4c1fc06ce9..12f46e9b002 100644
--- a/mysql-test/suite/vcol/t/vcol_misc.test
+++ b/mysql-test/suite/vcol/t/vcol_misc.test
@@ -283,3 +283,10 @@ drop table t1;
create table t1 (a int, b int as (b is null) virtual);
--echo # end of 5.3 tests
+
+#
+# MDEV-7655 SHOW CREATE TABLE returns invalid DDL when using virtual columns along with a table collation
+#
+create table t1 (v1 varchar(255) as (c1) persistent, c1 varchar(50)) collate=latin1_general_ci;
+show create table t1;
+drop table t1;