summaryrefslogtreecommitdiff
path: root/mysql-test/suite/federated
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/federated')
-rw-r--r--mysql-test/suite/federated/federated_bug_585688.result26
-rw-r--r--mysql-test/suite/federated/federated_bug_585688.test53
-rw-r--r--mysql-test/suite/federated/federated_debug.test1
-rw-r--r--mysql-test/suite/federated/federated_partition-slave.opt1
-rw-r--r--mysql-test/suite/federated/federated_partition.result43
-rw-r--r--mysql-test/suite/federated/federated_partition.test52
-rw-r--r--mysql-test/suite/federated/federated_plugin.result0
-rw-r--r--mysql-test/suite/federated/federated_plugin.test24
-rw-r--r--mysql-test/suite/federated/federated_server.result4
-rw-r--r--mysql-test/suite/federated/federated_server.test4
-rw-r--r--mysql-test/suite/federated/partition_federated.result6
-rw-r--r--mysql-test/suite/federated/partition_federated.test21
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