diff options
Diffstat (limited to 'mysql-test/suite/federated')
12 files changed, 180 insertions, 55 deletions
diff --git a/mysql-test/suite/federated/federated_bug_585688.result b/mysql-test/suite/federated/federated_bug_585688.result new file mode 100644 index 00000000000..d846e3a26cf --- /dev/null +++ b/mysql-test/suite/federated/federated_bug_585688.result @@ -0,0 +1,26 @@ +CREATE DATABASE federated; +CREATE DATABASE federated; +# +# Bug #585688: maridb crashes in federatedx code +# +CREATE TABLE federated.t1(a TEXT); +INSERT INTO federated.t1 VALUES('abc'), ('gh'), ('f'), ('ijk'), ('de'); +flush tables; +CREATE TABLE federated.t1(a TEXT) ENGINE=FEDERATED +CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1'; +flush tables; +describe federated.t1; +Field Type Null Key Default Extra +a text YES NULL +show table status from federated; +Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment +t1 FEDERATED 10 Dynamic 5 20 X X X X X X X X latin1_swedish_ci NULL +show table status from federated; +Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment +t1 FEDERATED 10 Dynamic 5 20 X X X X X X X X latin1_swedish_ci NULL +DROP TABLE federated.t1; +DROP TABLE federated.t1; +DROP TABLE IF EXISTS federated.t1; +DROP DATABASE IF EXISTS federated; +DROP TABLE IF EXISTS federated.t1; +DROP DATABASE IF EXISTS federated; diff --git a/mysql-test/suite/federated/federated_bug_585688.test b/mysql-test/suite/federated/federated_bug_585688.test new file mode 100644 index 00000000000..6566125c419 --- /dev/null +++ b/mysql-test/suite/federated/federated_bug_585688.test @@ -0,0 +1,53 @@ +source federated.inc; + +--echo # +--echo # Bug #585688: maridb crashes in federatedx code +--echo # +connection slave; +CREATE TABLE federated.t1(a TEXT); +INSERT INTO federated.t1 VALUES('abc'), ('gh'), ('f'), ('ijk'), ('de'); + +connect (conn_1,127.0.0.1,root,,,$MASTER_MYPORT); + +connection master; +flush tables; + +connection conn_1; +--replace_result $SLAVE_MYPORT SLAVE_PORT +eval CREATE TABLE federated.t1(a TEXT) ENGINE=FEDERATED + CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1'; +disconnect conn_1; + +connection master; +flush tables; + +connect (conn_2,127.0.0.1,root,,,$MASTER_MYPORT); +connect (conn_3,127.0.0.1,root,,,$MASTER_MYPORT); + +connection conn_2; +describe federated.t1; + +connection conn_3; +--replace_column 7 X 8 X 9 X 10 X 11 X 12 X 13 X 14 X +show table status from federated; + +disconnect conn_2; +connect (conn_4,127.0.0.1,root,,,$MASTER_MYPORT); + +connection conn_4; +--replace_column 7 X 8 X 9 X 10 X 11 X 12 X 13 X 14 X +show table status from federated; + +disconnect conn_3; +disconnect conn_4; + +connection master; +DROP TABLE federated.t1; + +connection slave; +DROP TABLE federated.t1; + +connection default; + +source federated_cleanup.inc; + diff --git a/mysql-test/suite/federated/federated_debug.test b/mysql-test/suite/federated/federated_debug.test index 381c00a5154..08bd13eefaf 100644 --- a/mysql-test/suite/federated/federated_debug.test +++ b/mysql-test/suite/federated/federated_debug.test @@ -1,4 +1,5 @@ --source include/have_debug.inc +--source include/long_test.inc --source federated.inc --echo # diff --git a/mysql-test/suite/federated/federated_partition-slave.opt b/mysql-test/suite/federated/federated_partition-slave.opt new file mode 100644 index 00000000000..627becdbfb5 --- /dev/null +++ b/mysql-test/suite/federated/federated_partition-slave.opt @@ -0,0 +1 @@ +--innodb diff --git a/mysql-test/suite/federated/federated_partition.result b/mysql-test/suite/federated/federated_partition.result new file mode 100644 index 00000000000..26a6443ffad --- /dev/null +++ b/mysql-test/suite/federated/federated_partition.result @@ -0,0 +1,43 @@ +CREATE DATABASE federated; +CREATE DATABASE federated; +drop table if exists t1; +create table federated.t1_1 (s1 int primary key) engine=myisam; +create table federated.t1_2 (s1 int primary key) engine=innodb; +create table t1 (s1 int primary key) engine=federated +partition by list (s1) +(partition p1 values in (1,3) +connection='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1_1', +partition p2 values in (2,4) +connection='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1_2'); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `s1` int(11) NOT NULL, + PRIMARY KEY (`s1`) +) ENGINE=FEDERATED DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (s1) +(PARTITION p1 VALUES IN (1,3) CONNECTION = 'mysql://root@127.0.0.1:SLAVE_PORT/federated/t1_1' ENGINE = FEDERATED, + PARTITION p2 VALUES IN (2,4) CONNECTION = 'mysql://root@127.0.0.1:SLAVE_PORT/federated/t1_2' ENGINE = FEDERATED) */ +insert into t1 values (1), (2), (3), (4); +select * from t1; +s1 +1 +3 +2 +4 +select * from federated.t1_1; +s1 +1 +3 +select * from federated.t1_2; +s1 +2 +4 +drop table t1; +drop table federated.t1_1; +drop table federated.t1_2; +End of 5.1 tests +DROP TABLE IF EXISTS federated.t1; +DROP DATABASE IF EXISTS federated; +DROP TABLE IF EXISTS federated.t1; +DROP DATABASE IF EXISTS federated; diff --git a/mysql-test/suite/federated/federated_partition.test b/mysql-test/suite/federated/federated_partition.test new file mode 100644 index 00000000000..6f093bfb63d --- /dev/null +++ b/mysql-test/suite/federated/federated_partition.test @@ -0,0 +1,52 @@ +# +# Tests for partitioned FEDERATED +# +source include/have_partition.inc; +source include/have_innodb.inc; +source federated.inc; + +disable_warnings; +drop table if exists t1; +enable_warnings; + +# +# Federated + partition +# +# Create 2 tables on the Slave, we can use different storage engines. +# Then create a Federated table on the Master, using different connect +# string to specify the two different target partitions we want to use. +# + +connection slave; +create table federated.t1_1 (s1 int primary key) engine=myisam; +create table federated.t1_2 (s1 int primary key) engine=innodb; + +connection master; +--replace_result $SLAVE_MYPORT SLAVE_PORT +eval create table t1 (s1 int primary key) engine=federated + partition by list (s1) + (partition p1 values in (1,3) + connection='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1_1', + partition p2 values in (2,4) + connection='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1_2'); + +--replace_result $SLAVE_MYPORT SLAVE_PORT +show create table t1; + +insert into t1 values (1), (2), (3), (4); +select * from t1; + +connection slave; +select * from federated.t1_1; +select * from federated.t1_2; + +connection master; +drop table t1; + +connection slave; +drop table federated.t1_1; +drop table federated.t1_2; + +--echo End of 5.1 tests + +source federated_cleanup.inc; diff --git a/mysql-test/suite/federated/federated_plugin.result b/mysql-test/suite/federated/federated_plugin.result deleted file mode 100644 index e69de29bb2d..00000000000 --- a/mysql-test/suite/federated/federated_plugin.result +++ /dev/null diff --git a/mysql-test/suite/federated/federated_plugin.test b/mysql-test/suite/federated/federated_plugin.test deleted file mode 100644 index b9056f63352..00000000000 --- a/mysql-test/suite/federated/federated_plugin.test +++ /dev/null @@ -1,24 +0,0 @@ ---source include/not_windows.inc ---source include/have_federated_plugin.inc - ---skip federated plugin is disabled - -CREATE TABLE t1(a int) ENGINE=FEDERATED; -DROP TABLE t1; - -INSTALL PLUGIN federated SONAME 'ha_federated.so'; ---error 1125 -INSTALL PLUGIN FEDERATED SONAME 'ha_federated.so'; - -UNINSTALL PLUGIN federated; - -INSTALL PLUGIN federated SONAME 'ha_federated.so'; - -CREATE TABLE t1(a int) ENGINE=FEDERATED; - -DROP TABLE t1; - -UNINSTALL PLUGIN federated; ---error ER_SP_DOES_NOT_EXIST -UNINSTALL PLUGIN federated; - diff --git a/mysql-test/suite/federated/federated_server.result b/mysql-test/suite/federated/federated_server.result index 3c090323080..ad9dfd7ee38 100644 --- a/mysql-test/suite/federated/federated_server.result +++ b/mysql-test/suite/federated/federated_server.result @@ -54,7 +54,7 @@ PASSWORD '', PORT SLAVE_PORT, SOCKET '', OWNER 'root'); -select * from mysql.servers order by Server_name; +select * from mysql.servers order by db; Server_name Host Db Username Password Port Socket Wrapper Owner server_one 127.0.0.1 first_db root SLAVE_PORT mysql root server_two 127.0.0.1 second_db root SLAVE_PORT mysql root @@ -154,7 +154,7 @@ id name drop table federated.t1; drop server 'server_one'; drop server 'server_two'; -select * from mysql.servers order by Server_name; +select * from mysql.servers order by db; Server_name Host Db Username Password Port Socket Wrapper Owner drop table first_db.t1; drop table second_db.t1; diff --git a/mysql-test/suite/federated/federated_server.test b/mysql-test/suite/federated/federated_server.test index 36a2af399a0..315aaa807a7 100644 --- a/mysql-test/suite/federated/federated_server.test +++ b/mysql-test/suite/federated/federated_server.test @@ -66,7 +66,7 @@ eval create server 'server_two' foreign data wrapper 'mysql' options OWNER 'root'); --replace_result $SLAVE_MYPORT SLAVE_PORT -eval select * from mysql.servers order by Server_name; +eval select * from mysql.servers order by db; DROP TABLE IF EXISTS federated.old; --replace_result $SLAVE_MYPORT SLAVE_PORT @@ -151,7 +151,7 @@ drop table federated.t1; drop server 'server_one'; drop server 'server_two'; -select * from mysql.servers order by Server_name; +select * from mysql.servers order by db; connection slave; drop table first_db.t1; diff --git a/mysql-test/suite/federated/partition_federated.result b/mysql-test/suite/federated/partition_federated.result deleted file mode 100644 index 2d98e366c95..00000000000 --- a/mysql-test/suite/federated/partition_federated.result +++ /dev/null @@ -1,6 +0,0 @@ -drop table if exists t1; -create table t1 (s1 int) engine=federated -connection='mysql://root@localhost/federated/t1' partition by list (s1) -(partition p1 values in (1), partition p2 values in (2)); -ERROR HY000: Engine cannot be used in partitioned tables -End of 5.1 tests diff --git a/mysql-test/suite/federated/partition_federated.test b/mysql-test/suite/federated/partition_federated.test deleted file mode 100644 index 0fe692ecd01..00000000000 --- a/mysql-test/suite/federated/partition_federated.test +++ /dev/null @@ -1,21 +0,0 @@ -# -# Tests for partitioned FEDERATED -# --- source include/have_partition.inc --- source include/not_embedded.inc --- source suite/federated/have_federated_db.inc - ---disable_warnings -drop table if exists t1; ---enable_warnings - -# -# Bug #22451 Partitions: duplicate results with engine=federated -# - ---error ER_PARTITION_MERGE_ERROR -create table t1 (s1 int) engine=federated -connection='mysql://root@localhost/federated/t1' partition by list (s1) -(partition p1 values in (1), partition p2 values in (2)); - ---echo End of 5.1 tests |