summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKentoku SHIBA <kentokushiba@gmail.com>2020-08-10 21:38:51 +0900
committerOleksandr Byelkin <sanja@mariadb.com>2020-09-03 10:28:36 +0200
commitb3a84937456a2bc54203477be3e871d2a514466c (patch)
tree5435ffb92b9ea320844f5c875b28b3c6df66bdca
parent99836da2e7b7f949020b0a92673c6641a38e8d1d (diff)
downloadmariadb-git-b3a84937456a2bc54203477be3e871d2a514466c.tar.gz
MENT-807 Crash with CREATE TEMPORARY TABLE .. ENGINE=SPIDER .. wrapper "odbc"
-rw-r--r--storage/spider/mysql-test/spider/odbc/mariadb/r/tmp_table.result65
-rw-r--r--storage/spider/mysql-test/spider/odbc/mariadb/t/tmp_table.cnf7
-rw-r--r--storage/spider/mysql-test/spider/odbc/mariadb/t/tmp_table.test115
3 files changed, 187 insertions, 0 deletions
diff --git a/storage/spider/mysql-test/spider/odbc/mariadb/r/tmp_table.result b/storage/spider/mysql-test/spider/odbc/mariadb/r/tmp_table.result
new file mode 100644
index 00000000000..76adeb1fc27
--- /dev/null
+++ b/storage/spider/mysql-test/spider/odbc/mariadb/r/tmp_table.result
@@ -0,0 +1,65 @@
+for master_1
+for child2
+child2_1
+child2_2
+child2_3
+for child3
+
+drop and create databases
+connection master_1;
+DROP DATABASE IF EXISTS auto_test_local;
+CREATE DATABASE auto_test_local;
+USE auto_test_local;
+SELECT spider_direct_sql('DROP DATABASE IF EXISTS auto_test_remote', '', 'srv "s_2_1_test", driver "MariaDB ODBC 3.0 Driver"');
+spider_direct_sql('DROP DATABASE IF EXISTS auto_test_remote', '', 'srv "s_2_1_test", driver "MariaDB ODBC 3.0 Driver"')
+1
+SELECT spider_direct_sql('CREATE DATABASE auto_test_remote', '', 'srv "s_2_1_test", driver "MariaDB ODBC 3.0 Driver"') ;
+SELECT spider_direct_sql('USE auto_test_remote', '', 'srv "s_2_1_test", driver "MariaDB ODBC 3.0 Driver"');
+spider_direct_sql('CREATE DATABASE auto_test_remote', '', 'srv "s_2_1_test", driver "MariaDB ODBC 3.0 Driver"')
+1
+spider_direct_sql('USE auto_test_remote', '', 'srv "s_2_1_test", driver "MariaDB ODBC 3.0 Driver"')
+1
+SELECT spider_direct_sql('DROP DATABASE IF EXISTS auto_test_remote2', '', 'srv "s_2_2_test", driver "MariaDB ODBC 3.0 Driver"');
+spider_direct_sql('DROP DATABASE IF EXISTS auto_test_remote2', '', 'srv "s_2_2_test", driver "MariaDB ODBC 3.0 Driver"')
+1
+SELECT spider_direct_sql('CREATE DATABASE auto_test_remote2', '', 'srv "s_2_2_test", driver "MariaDB ODBC 3.0 Driver"') ;
+SELECT spider_direct_sql('USE auto_test_remote2', '', 'srv "s_2_2_test", driver "MariaDB ODBC 3.0 Driver"');
+spider_direct_sql('CREATE DATABASE auto_test_remote2', '', 'srv "s_2_2_test", driver "MariaDB ODBC 3.0 Driver"')
+1
+spider_direct_sql('USE auto_test_remote2', '', 'srv "s_2_2_test", driver "MariaDB ODBC 3.0 Driver"')
+1
+
+test select 1
+connection master_1;
+SELECT 1;
+1
+1
+
+connection master_1;
+CREATE TEMPORARY TABLE t1 (
+a VARCHAR(255),
+PRIMARY KEY(a)
+) MASTER_1_ENGINE MASTER_1_CHARSET3 MASTER_1_COMMENT_TEXT_PK1_1
+INSERT INTO t1 (a) VALUES (1);
+SELECT a FROM t1;
+a
+1
+DROP TEMPORARY TABLE t1;
+
+deinit
+connection master_1;
+DROP DATABASE IF EXISTS auto_test_local;
+SELECT spider_direct_sql('DROP DATABASE auto_test_remote', '', 'srv "s_2_1", driver "MariaDB ODBC 3.0 Driver"');
+spider_direct_sql('DROP DATABASE auto_test_remote', '', 'srv "s_2_1", driver "MariaDB ODBC 3.0 Driver"')
+1
+SELECT spider_direct_sql('DROP DATABASE auto_test_remote2', '', 'srv "s_2_2", driver "MariaDB ODBC 3.0 Driver"');
+spider_direct_sql('DROP DATABASE auto_test_remote2', '', 'srv "s_2_2", driver "MariaDB ODBC 3.0 Driver"')
+1
+for child3
+for child2
+child2_3
+child2_2
+child2_1
+for master_1
+
+end of test
diff --git a/storage/spider/mysql-test/spider/odbc/mariadb/t/tmp_table.cnf b/storage/spider/mysql-test/spider/odbc/mariadb/t/tmp_table.cnf
new file mode 100644
index 00000000000..a5f020b06e6
--- /dev/null
+++ b/storage/spider/mysql-test/spider/odbc/mariadb/t/tmp_table.cnf
@@ -0,0 +1,7 @@
+!include include/default_mysqld.cnf
+!include ../my_1_1.cnf
+!include ../my_2_1.cnf
+!include ../my_2_2.cnf
+!include ../my_2_3.cnf
+[ENV]
+USE_CHILD_GROUP2= 1
diff --git a/storage/spider/mysql-test/spider/odbc/mariadb/t/tmp_table.test b/storage/spider/mysql-test/spider/odbc/mariadb/t/tmp_table.test
new file mode 100644
index 00000000000..f9665cd7298
--- /dev/null
+++ b/storage/spider/mysql-test/spider/odbc/mariadb/t/tmp_table.test
@@ -0,0 +1,115 @@
+# This test tests for using functions
+--disable_warnings
+--disable_query_log
+--disable_result_log
+--source test_init.inc
+--enable_result_log
+--enable_query_log
+
+--echo
+--echo drop and create databases
+--connection master_1
+DROP DATABASE IF EXISTS auto_test_local;
+CREATE DATABASE auto_test_local;
+USE auto_test_local;
+if ($USE_CHILD_GROUP2)
+{
+ eval $CHILD2_1_DROP_DATABASE_IFEXISTS;
+ eval $CHILD2_1_CREATE_DATABASE;
+ eval $CHILD2_2_DROP_DATABASE_IFEXISTS;
+ eval $CHILD2_2_CREATE_DATABASE;
+}
+--enable_warnings
+
+--echo
+--echo test select 1
+--connection master_1
+SELECT 1;
+if ($USE_CHILD_GROUP2)
+{
+ if (!$OUTPUT_CHILD_GROUP2)
+ {
+ --disable_query_log
+ --disable_result_log
+ }
+ eval $CHILD2_1_DATEFORMAT;
+ eval $CHILD2_1_SELECT1;
+ eval $CHILD2_2_DATEFORMAT;
+ eval $CHILD2_2_SELECT1;
+ if (!$OUTPUT_CHILD_GROUP2)
+ {
+ --enable_query_log
+ --enable_result_log
+ }
+}
+
+--echo
+if ($USE_CHILD_GROUP2)
+{
+ if (!$OUTPUT_CHILD_GROUP2)
+ {
+ --disable_result_log
+ }
+ --disable_query_log
+ if ($OUTPUT_CHILD_GROUP2)
+ {
+ echo CHILD2_1_DROP_TEXT_PK_TABLES1;
+ echo CHILD2_1_CREATE_TEXT_PK_TABLES1;
+ }
+ --disable_warnings
+ eval $CHILD2_1_DROP_TEXT_PK_TABLES1;
+ --enable_warnings
+ eval $CHILD2_1_CREATE_TEXT_PK_TABLES1;
+ --enable_query_log
+ if (!$OUTPUT_CHILD_GROUP2)
+ {
+ --enable_result_log
+ }
+}
+--connection master_1
+--disable_query_log
+echo CREATE TEMPORARY TABLE t1 (
+ a VARCHAR(255),
+ PRIMARY KEY(a)
+) MASTER_1_ENGINE MASTER_1_CHARSET3 MASTER_1_COMMENT_TEXT_PK1_1;
+eval CREATE TEMPORARY TABLE t1 (
+ a VARCHAR(255),
+ PRIMARY KEY(a)
+) $MASTER_1_ENGINE $MASTER_1_CHARSET3 $MASTER_1_COMMENT_TEXT_PK1_1;
+--enable_query_log
+INSERT INTO t1 (a) VALUES (1);
+SELECT a FROM t1;
+DROP TEMPORARY TABLE t1;
+if ($USE_CHILD_GROUP2)
+{
+ if (!$OUTPUT_CHILD_GROUP2)
+ {
+ --disable_query_log
+ --disable_result_log
+ }
+ eval $CHILD2_1_SELECT_TEXT_PK_TABLES1;
+ if (!$OUTPUT_CHILD_GROUP2)
+ {
+ --enable_query_log
+ --enable_result_log
+ }
+}
+
+--echo
+--echo deinit
+--disable_warnings
+--connection master_1
+DROP DATABASE IF EXISTS auto_test_local;
+if ($USE_CHILD_GROUP2)
+{
+ eval $CHILD2_1_DROP_DATABASE;
+ eval $CHILD2_2_DROP_DATABASE;
+}
+--disable_query_log
+--disable_result_log
+--source test_deinit.inc
+--enable_result_log
+--enable_query_log
+--enable_warnings
+--echo
+--echo end of test