summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2019-07-22 17:37:04 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2019-07-22 17:37:04 +0300
commit70b226d96698502281cd93581d68f013dd1865bf (patch)
tree3dd1775c45a0295ca15818c67a9d98e6ba1f4502 /mysql-test
parentabeacb9c8280416ee0bf91f4bda414430a565ad5 (diff)
parent3bcda8ad5f69538379ef0fed7715f23c1cf04380 (diff)
downloadmariadb-git-70b226d96698502281cd93581d68f013dd1865bf.tar.gz
Merge 10.2 into 10.3
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/main/plugin_auth.result8
-rw-r--r--mysql-test/main/plugin_auth.test10
-rw-r--r--mysql-test/suite/innodb/r/create_select.result10
-rw-r--r--mysql-test/suite/innodb/r/innodb-virtual-columns-debug.result18
-rw-r--r--mysql-test/suite/innodb/t/create_select.test28
-rw-r--r--mysql-test/suite/innodb/t/innodb-virtual-columns-debug.test27
6 files changed, 94 insertions, 7 deletions
diff --git a/mysql-test/main/plugin_auth.result b/mysql-test/main/plugin_auth.result
index e470cc010c0..eeb65187fea 100644
--- a/mysql-test/main/plugin_auth.result
+++ b/mysql-test/main/plugin_auth.result
@@ -42,7 +42,13 @@ connection default;
disconnect plug_con;
## test bad credentials
ERROR 28000: Access denied for user 'plug'@'localhost' (using password: YES)
-## test bad default plugin : should get CR_AUTH_PLUGIN_CANNOT_LOAD
+## test bad default plugin : nothing bad happens, as that plugin was't required by the server
+connect plug_con_wrongp,localhost,plug,plug_dest,,,,,wrong_plugin_name;
+select USER(),CURRENT_USER();
+USER() CURRENT_USER()
+plug@localhost plug_dest@%
+connection default;
+disconnect plug_con_wrongp;
## test correct default plugin
connect plug_con_rightp,localhost,plug,plug_dest,,,,,auth_test_plugin;
connection plug_con_rightp;
diff --git a/mysql-test/main/plugin_auth.test b/mysql-test/main/plugin_auth.test
index c3c18b7e427..1700a755492 100644
--- a/mysql-test/main/plugin_auth.test
+++ b/mysql-test/main/plugin_auth.test
@@ -45,13 +45,11 @@ disconnect plug_con;
connect(plug_con,localhost,plug,bad_credentials);
--enable_query_log
---echo ## test bad default plugin : should get CR_AUTH_PLUGIN_CANNOT_LOAD
---disable_result_log
---disable_query_log
---error 2059
+--echo ## test bad default plugin : nothing bad happens, as that plugin was't required by the server
connect(plug_con_wrongp,localhost,plug,plug_dest,,,,,wrong_plugin_name);
---enable_query_log
---enable_result_log
+select USER(),CURRENT_USER();
+connection default;
+disconnect plug_con_wrongp;
--echo ## test correct default plugin
connect(plug_con_rightp,localhost,plug,plug_dest,,,,,auth_test_plugin);
diff --git a/mysql-test/suite/innodb/r/create_select.result b/mysql-test/suite/innodb/r/create_select.result
new file mode 100644
index 00000000000..f5db880816e
--- /dev/null
+++ b/mysql-test/suite/innodb/r/create_select.result
@@ -0,0 +1,10 @@
+connect con1, localhost, root,,;
+connection default;
+CREATE TABLE t1 ENGINE=InnoDB SELECT * FROM seq_1_to_100000000;
+connection con1;
+KILL QUERY @id;
+disconnect con1;
+connection default;
+ERROR 70100: Query execution was interrupted
+CREATE TABLE t1 (a SERIAL) ENGINE=InnoDB;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb-virtual-columns-debug.result b/mysql-test/suite/innodb/r/innodb-virtual-columns-debug.result
new file mode 100644
index 00000000000..efe43945c69
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-virtual-columns-debug.result
@@ -0,0 +1,18 @@
+CREATE TABLE t1 (a INT, b INT AS (a), KEY(b)) ENGINE=InnoDB;
+INSERT INTO t1 () VALUES (),();
+connect con1,localhost,root,,test;
+ALTER TABLE t1 ADD COLUMN x INT as (a), add key(x), ALGORITHM=COPY;
+SET debug_sync= "ib_open_after_dict_open SIGNAL delete_open WAIT_FOR another_open";
+DELETE FROM t1;
+connection default;
+SET debug_sync= "now WAIT_FOR delete_open";
+SET debug_sync= "ib_open_after_dict_open SIGNAL another_open";
+SELECT a FROM t1;
+a
+NULL
+NULL
+connection con1;
+disconnect con1;
+connection default;
+SET debug_sync= "RESET";
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/create_select.test b/mysql-test/suite/innodb/t/create_select.test
new file mode 100644
index 00000000000..8103902e5f6
--- /dev/null
+++ b/mysql-test/suite/innodb/t/create_select.test
@@ -0,0 +1,28 @@
+--source include/have_innodb.inc
+--source include/have_sequence.inc
+--source include/count_sessions.inc
+
+let $ID= `SELECT @id := CONNECTION_ID()`;
+
+connect (con1, localhost, root,,);
+let $ignore= `SELECT @id := $ID`;
+
+connection default;
+send CREATE TABLE t1 ENGINE=InnoDB SELECT * FROM seq_1_to_100000000;
+
+connection con1;
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = 'Sending data'
+ and info = 'CREATE TABLE t1 ENGINE=InnoDB SELECT * FROM seq_1_to_100000000';
+--source include/wait_condition.inc
+KILL QUERY @id;
+disconnect con1;
+
+connection default;
+--error ER_QUERY_INTERRUPTED
+reap;
+
+CREATE TABLE t1 (a SERIAL) ENGINE=InnoDB;
+DROP TABLE t1;
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/innodb-virtual-columns-debug.test b/mysql-test/suite/innodb/t/innodb-virtual-columns-debug.test
new file mode 100644
index 00000000000..6de43dd80f8
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-virtual-columns-debug.test
@@ -0,0 +1,27 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+#
+# MDEV-17005 ASAN heap-use-after-free in innobase_get_computed_value
+#
+CREATE TABLE t1 (a INT, b INT AS (a), KEY(b)) ENGINE=InnoDB;
+
+INSERT INTO t1 () VALUES (),();
+--connect (con1,localhost,root,,test)
+ALTER TABLE t1 ADD COLUMN x INT as (a), add key(x), ALGORITHM=COPY;
+SET debug_sync= "ib_open_after_dict_open SIGNAL delete_open WAIT_FOR another_open";
+--send
+DELETE FROM t1;
+--connection default
+SET debug_sync= "now WAIT_FOR delete_open";
+SET debug_sync= "ib_open_after_dict_open SIGNAL another_open";
+SELECT a FROM t1;
+--connection con1
+--reap
+
+# Cleanup
+--disconnect con1
+--connection default
+SET debug_sync= "RESET";
+DROP TABLE t1;