diff options
author | Kentoku SHIBA <kentokushiba@gmail.com> | 2020-08-10 21:38:51 +0900 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2020-09-03 10:28:36 +0200 |
commit | b3a84937456a2bc54203477be3e871d2a514466c (patch) | |
tree | 5435ffb92b9ea320844f5c875b28b3c6df66bdca | |
parent | 99836da2e7b7f949020b0a92673c6641a38e8d1d (diff) | |
download | mariadb-git-b3a84937456a2bc54203477be3e871d2a514466c.tar.gz |
MENT-807 Crash with CREATE TEMPORARY TABLE .. ENGINE=SPIDER .. wrapper "odbc"
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 |