diff options
Diffstat (limited to 'mysql-test/suite/federated/federatedx_create_handlers.test')
-rw-r--r-- | mysql-test/suite/federated/federatedx_create_handlers.test | 60 |
1 files changed, 49 insertions, 11 deletions
diff --git a/mysql-test/suite/federated/federatedx_create_handlers.test b/mysql-test/suite/federated/federatedx_create_handlers.test index 0e586dad0c1..21539b61c8a 100644 --- a/mysql-test/suite/federated/federatedx_create_handlers.test +++ b/mysql-test/suite/federated/federatedx_create_handlers.test @@ -7,7 +7,7 @@ DROP TABLE IF EXISTS federated.t1; CREATE TABLE federated.t1 ( id int(20) NOT NULL, - name varchar(16) NOT NULL default '' + name varchar(16) NOT NULL default '' ) DEFAULT CHARSET=latin1; @@ -17,7 +17,7 @@ INSERT INTO federated.t1 VALUES DROP TABLE IF EXISTS federated.t2; CREATE TABLE federated.t2 ( - name varchar(16) NOT NULL default '' + name varchar(16) NOT NULL default '' ) DEFAULT CHARSET=latin1; @@ -33,7 +33,7 @@ DROP TABLE IF EXISTS federated.t1; eval CREATE TABLE federated.t1 ( id int(20) NOT NULL, - name varchar(16) NOT NULL default '' + name varchar(16) NOT NULL default '' ) ENGINE="FEDERATED" DEFAULT CHARSET=latin1 CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1'; @@ -43,7 +43,7 @@ DROP TABLE IF EXISTS federated.t2; --replace_result $SLAVE_MYPORT SLAVE_PORT eval CREATE TABLE federated.t2 ( - name varchar(16) NOT NULL default '' + name varchar(16) NOT NULL default '' ) ENGINE="FEDERATED" DEFAULT CHARSET=latin1 CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t2'; @@ -76,11 +76,12 @@ SELECT id FROM federated.t1 WHERE id < 5; ANALYZE SELECT id FROM federated.t1 WHERE id < 5; +--source include/analyze-format.inc ANALYZE FORMAT=JSON SELECT id FROM federated.t1 WHERE id < 5; CREATE TABLE federated.t3 ( - name varchar(16) NOT NULL default '' + name varchar(16) NOT NULL default '' ) DEFAULT CHARSET=latin1; @@ -89,26 +90,63 @@ INSERT INTO federated.t3 VALUES SELECT * FROM federated.t3, (SELECT * FROM federated.t1 WHERE id > 3) t -WHERE federated.t3.name=t.name; +WHERE federated.t3.name=t.name; EXPLAIN SELECT * FROM federated.t3, (SELECT * FROM federated.t1 WHERE id > 3) t -WHERE federated.t3.name=t.name; +WHERE federated.t3.name=t.name; EXPLAIN FORMAT=JSON SELECT * FROM federated.t3, (SELECT * FROM federated.t1 WHERE id > 3) t -WHERE federated.t3.name=t.name; +WHERE federated.t3.name=t.name; ANALYZE SELECT * FROM federated.t3, (SELECT * FROM federated.t1 WHERE id > 3) t -WHERE federated.t3.name=t.name; +WHERE federated.t3.name=t.name; -DROP TABLE federated.t1, federated.t2; +SELECT * +FROM federated.t3, (SELECT t1.name FROM federated.t1 + WHERE id IN (SELECT count(*) + FROM federated.t2 GROUP BY name)) t +WHERE federated.t3.name=t.name; -connection slave; +EXPLAIN +SELECT * +FROM federated.t3, (SELECT t1.name FROM federated.t1 + WHERE id IN (SELECT count(*) + FROM federated.t2 GROUP BY name)) t +WHERE federated.t3.name=t.name; + +--source include/analyze-format.inc +ANALYZE FORMAT=JSON +SELECT * +FROM federated.t3, (SELECT t1.name FROM federated.t1 + WHERE id IN (SELECT count(*) + FROM federated.t2 GROUP BY name)) t +WHERE federated.t3.name=t.name; + +SELECT t.id, federated.t3.name +FROM federated.t3, + ( SELECT * FROM federated.t1 WHERE id < 3 + UNION + SELECT * FROM federated.t1 WHERE id >= 5) t +WHERE federated.t3.name=t.name; + +EXPLAIN +SELECT t.id, federated.t3.name +FROM federated.t3, + ( SELECT * FROM federated.t1 WHERE id < 3 + UNION + SELECT * FROM federated.t1 WHERE id >= 5) t +WHERE federated.t3.name=t.name; + + +DROP TABLE federated.t1, federated.t2, federated.t3; + +connection slave; DROP TABLE federated.t1, federated.t2; connection default; |