List:Commits« Previous MessageNext Message »
From:Patrick Galbraith Date:January 15 2007 1:57am
Subject:bk commit into 5.1 tree (pgalbraith:1.2391)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of patg. When patg does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-01-14 19:56:56-05:00, pgalbraith@stripped +3 -0
  WL #3031
  
  (how to number this?)
  
  * Added functionality to parse_url to be able to handle "servername/tablename"
  in the connection string. So, the formats now are:
  
  "mysql://username:password@hostname:port/schemaname/tablename"
  "server_name"
  "servername/tablename"
  
  So, the only delimiter allowed if using a servername is a '/'. Tablename is 
  the only other paramater allowed when utilising mysql.servers table.
  
  * Also cleaned up cruft, documentation. Made the checking of whether internal
  format or URL format more robust by simply looking for "://"

  mysql-test/r/federated_server.result@stripped, 2007-01-14 19:56:47-05:00,
pgalbraith@stripped +101 -35
    WL #3031
    
    New test for testing if tablename can be specified with server name

  mysql-test/t/federated_server.test@stripped, 2007-01-14 19:56:48-05:00,
pgalbraith@stripped +74 -28
    WL #3031
    
    New results for testing if tablename can be specified with server name

  storage/federated/ha_federated.cc@stripped, 2007-01-14 19:56:49-05:00,
pgalbraith@stripped +104 -24
    WL #3031
    
    (how to number this?)
    
    * Added functionality to parse_url to be able to handle "servername/tablename"
    in the connection string. So, the formats now are:
    
    "mysql://username:password@hostname:port/schemaname/tablename"
    "server_name"
    "servername/tablename"
    
    So, the only delimiter allowed if using a servername is a '/'. Tablename is 
    the only other paramater allowed when utilising mysql.servers table.
    
    * Also cleaned up cruft, documentation. Made the checking of whether internal
    format or URL format more robust by simply looking for "://"

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	pgalbraith
# Host:	my.patg.net
# Root:	/Users/patg/mysql-build/mysql-5.1-bkbits

--- 1.95/storage/federated/ha_federated.cc	2007-01-14 19:57:13 -05:00
+++ 1.96/storage/federated/ha_federated.cc	2007-01-14 19:57:13 -05:00
@@ -43,23 +43,59 @@
   The create table will simply create the .frm file, and within the
   "CREATE TABLE" SQL, there SHALL be any of the following :
 
-  comment=scheme://username:password@hostname:port/database/tablename
-  comment=scheme://username@hostname/database/tablename
-  comment=scheme://username:password@hostname/database/tablename
-  comment=scheme://username:password@hostname/database/tablename
+  connection=scheme://username:password@hostname:port/database/tablename
+  connection=scheme://username@hostname/database/tablename
+  connection=scheme://username:password@hostname/database/tablename
+  connection=scheme://username:password@hostname/database/tablename
+
+  - OR -
+
+  As of 5.1 (See worklog #3031), federated now allows you to use a non-url
+  format, taking advantage of mysql.servers:
+
+  connection="connection_one"
+  connection="connection_one/table_foo"
 
   An example would be:
 
-  comment=mysql://username:password@hostname:port/database/tablename
+  connection=mysql://username:password@hostname:port/database/tablename
 
-  ***IMPORTANT***
+  or, if we had:
+
+  create server 'server_one' foreign data wrapper 'mysql' options
+  (HOST '127.0.0.1',
+  DATABASE 'db1',
+  USER 'root',
+  PASSWORD '',
+  PORT 3306,
+  SOCKET '',
+  OWNER 'root');
+
+  CREATE TABLE federated.t1 (
+    `id` int(20) NOT NULL,
+    `name` varchar(64) NOT NULL default ''
+    )
+  ENGINE="FEDERATED" DEFAULT CHARSET=latin1
+  CONNECTION='server_one';
+
+  So, this will have been the equivalent of
 
-  This is a first release, conceptual release
-  Only 'mysql://' is supported at this release.
+  CONNECTION="mysql://root@stripped:3306/db1/t1"
 
+  Then, we can also change the server to point to a new schema:
 
-  This comment connection string is necessary for the handler to be
-  able to connect to the foreign server.
+  ALTER SERVER 'server_one' options(DATABASE 'db2');
+
+  then (YOU MUST DO THIS!): 
+
+  flush tables;
+
+  All subsequent calls will now be against db2.t1! Guess what? You don't
+  have to perform an alter table!
+
+  This connecton="connection string" is necessary for the handler to be
+  able to connect to the foreign server, either by URL, or by server
+  name. 
 
 
   The basic flow is this:
@@ -166,7 +202,7 @@
       KEY other_key (other))
        ENGINE="FEDERATED"
        DEFAULT CHARSET=latin1
-       COMMENT='root@stripped:9306/federated/test_federated';
+       CONNECTION='mysql://root@stripped:9306/federated/test_federated';
 
    Notice the "COMMENT" and "ENGINE" field? This is where you
    respectively set the engine type, "FEDERATED" and foreign
@@ -263,7 +299,7 @@
     To run these tests, go into ./mysql-test (based in the directory you
     built the server in)
 
-    ./mysql-test-run federatedd
+    ./mysql-test-run federated
 
     To run the test, or if you want to run the test and have debug info:
 
@@ -311,7 +347,7 @@
     -------------
 
     These were the files that were modified or created for this
-    Federated handler to work:
+    Federated handler to work, in 5.0:
 
     ./configure.in
     ./sql/Makefile.am
@@ -329,6 +365,13 @@
     ./sql/ha_federated.cc
     ./sql/ha_federated.h
 
+    In 5.1
+
+    my:~/mysql-build/mysql-5.1-bkbits patg$ ls storage/federated/
+    CMakeLists.txt                  Makefile.in                     ha_federated.h       
          plug.in
+    Makefile                        SCCS                            libfederated.a
+    Makefile.am                     ha_federated.cc                
libfederated_a-ha_federated.o
+
 */
 
 
@@ -713,10 +756,12 @@
                      (long unsigned int) share->connection_string));
 
   DBUG_PRINT("info",("share->connection_string %s",share->connection_string));
-  /* No delimiters, must be a straight connection name */
-  if ( (!strchr(share->connection_string, '/')) &&
-       (!strchr(share->connection_string, '@')) &&
-       (!strchr(share->connection_string, ';')))
+  /*
+    No :// or @ in connection string. Must be a straight connection name of
+    either "servername" or "servername/tablename"
+  */
+  if ( (!strstr(share->connection_string, "://") &&
+       (!strchr(share->connection_string, '@'))))
   {
 
     DBUG_PRINT("info",
@@ -725,17 +770,52 @@
                 share->connection_string,
                 (long unsigned int) share->connection_string));
 
+    /* ok, so we do a little parsing, but not completely! */
     share->parsed= FALSE;
-    if ((error_num= get_connection(share)))
-      goto error;
+    /*
+      If there is a single '/' in the connection string, this means the user is
+      specifying a table name
+    */
+
+    if ((share->table_name= strchr(share->connection_string, '/')))
+    {
+      share->connection_string[share->table_name - share->connection_string]=
'\0';
+      share->table_name++;
+      share->table_name_length= strlen(share->table_name);
+
+      DBUG_PRINT("info", 
+                 ("internal format, parsed table_name share->connection_string \
+                  %s share->table_name %s", 
+                  share->connection_string, share->table_name));
+
+      /*
+        there better not be any more '/'s !
+      */
+      if (strchr(share->table_name, '/'))
+        goto error;
 
+    }
     /*
-      connection specifies everything but, resort to
-      expecting remote and foreign table names to match
+      otherwise, straight server name, use tablename of federated table
+      as remote table name
     */
-    share->table_name= table->s->table_name.str;
-    share->table_name_length= table->s->table_name.length;
-    share->table_name[share->table_name_length]= '\0';
+    else
+    {
+      /*
+        connection specifies everything but, resort to
+        expecting remote and foreign table names to match
+      */
+      share->table_name= table->s->table_name.str;
+      share->table_name_length= table->s->table_name.length;
+      share->table_name[share->table_name_length]= '\0';
+      DBUG_PRINT("info", 
+                 ("internal format, default table_name share->connection_string \
+                  %s share->table_name %s", 
+                  share->connection_string, share->table_name));
+    }
+
+    if ((error_num= get_connection(share)))
+      goto error;
   }
   else
   {

--- 1.4/mysql-test/r/federated_server.result	2007-01-14 19:57:13 -05:00
+++ 1.5/mysql-test/r/federated_server.result	2007-01-14 19:57:13 -05:00
@@ -9,22 +9,38 @@
 CREATE DATABASE federated;
 DROP DATABASE IF EXISTS federated;
 CREATE DATABASE federated;
-create database first_db;
-create database second_db;
-use first_db;
-DROP TABLE IF EXISTS first_db.t1;
+create database db1;
+create database db2;
+use db1;
+DROP TABLE IF EXISTS db1.t1;
 Warnings:
 Note	1051	Unknown table 't1'
-CREATE TABLE first_db.t1 (
+CREATE TABLE db1.t1 (
 `id` int(20) NOT NULL,
 `name` varchar(64) NOT NULL default ''
     )
 DEFAULT CHARSET=latin1;
-use second_db;
-DROP TABLE IF EXISTS second_db.t1;
+DROP TABLE IF EXISTS db1.t2;
+Warnings:
+Note	1051	Unknown table 't2'
+CREATE TABLE db1.t2 (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+    )
+DEFAULT CHARSET=latin1;
+use db2;
+DROP TABLE IF EXISTS db2.t1;
 Warnings:
 Note	1051	Unknown table 't1'
-CREATE TABLE second_db.t1 (
+CREATE TABLE db2.t1 (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+    )
+DEFAULT CHARSET=latin1;
+DROP TABLE IF EXISTS db2.t2;
+Warnings:
+Note	1051	Unknown table 't2'
+CREATE TABLE db2.t2 (
 `id` int(20) NOT NULL,
 `name` varchar(64) NOT NULL default ''
     )
@@ -32,7 +48,7 @@
 drop server if exists 'server_one';
 create server 'server_one' foreign data wrapper 'mysql' options
 (HOST '127.0.0.1',
-DATABASE 'first_db',
+DATABASE 'db1',
 USER 'root',
 PASSWORD '',
 PORT SLAVE_PORT,
@@ -41,7 +57,7 @@
 drop server if exists 'server_two';
 create server 'server_two' foreign data wrapper 'mysql' options
 (HOST '127.0.0.1',
-DATABASE 'second_db',
+DATABASE 'db2',
 USER 'root',
 PASSWORD '',
 PORT SLAVE_PORT,
@@ -50,31 +66,60 @@
 select * from mysql.servers;
 Server_name	Host	Db	Username	Password	Port	Socket	Wrapper	Owner
 test	localhost	test	root		0		mysql	root
-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
-DROP TABLE IF EXISTS federated.old;
+server_one	127.0.0.1	db1	root		SLAVE_PORT		mysql	root
+server_two	127.0.0.1	db2	root		SLAVE_PORT		mysql	root
+DROP TABLE IF EXISTS federated.urldb1t1;
+Warnings:
+Note	1051	Unknown table 'urldb1t1'
+CREATE TABLE federated.urldb1t1 (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+    )
+ENGINE="FEDERATED" DEFAULT CHARSET=latin1
+CONNECTION='mysql://root@stripped:SLAVE_PORT/db1/t1';
+INSERT INTO federated.urldb1t1 (id, name) values (1, 'federated.urldb1t1-> db1.t1, url
format');
+SELECT * FROM federated.urldb1t1;
+id	name
+1	federated.urldb1t1-> db1.t1, url format
+DROP TABLE IF EXISTS federated.urldb1t2;
+Warnings:
+Note	1051	Unknown table 'urldb1t2'
+CREATE TABLE federated.urldb1t2 (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+    )
+ENGINE="FEDERATED" DEFAULT CHARSET=latin1
+CONNECTION='mysql://root@stripped:9308/db1/t2';
+INSERT INTO federated.urldb1t2 (id, name) values (1, 'federated.urldb1t2-> db1.t2, url
format');
+SELECT * FROM federated.urldb1t2;
+id	name
+1	federated.urldb1t2-> db1.t2, url format
+DROP TABLE IF EXISTS federated.urldb2t1;
 Warnings:
-Note	1051	Unknown table 'old'
-CREATE TABLE federated.old (
+Note	1051	Unknown table 'urldb2t1'
+CREATE TABLE federated.urldb2t1 (
 `id` int(20) NOT NULL,
 `name` varchar(64) NOT NULL default ''
     )
 ENGINE="FEDERATED" DEFAULT CHARSET=latin1
-CONNECTION='mysql://root@stripped:SLAVE_PORT/first_db/t1';
-INSERT INTO federated.old (id, name) values (1, 'federated.old url');
-SELECT * FROM federated.old;
+CONNECTION='mysql://root@stripped:SLAVE_PORT/db2/t1';
+INSERT INTO federated.urldb2t1 (id, name) values (1, 'federated.urldb2t1 -> db2.t1,
url format');
+SELECT * FROM federated.urldb2t1;
 id	name
-1	federated.old url
-DROP TABLE IF EXISTS federated.old2;
+1	federated.urldb2t1 -> db2.t1, url format
+DROP TABLE IF EXISTS federated.urldb2t2;
 Warnings:
-Note	1051	Unknown table 'old2'
-CREATE TABLE federated.old2 (
+Note	1051	Unknown table 'urldb2t2'
+CREATE TABLE federated.urldb2t2 (
 `id` int(20) NOT NULL,
 `name` varchar(64) NOT NULL default ''
     )
 ENGINE="FEDERATED" DEFAULT CHARSET=latin1
-CONNECTION='mysql://root@stripped:SLAVE_PORT/second_db/t1';
-INSERT INTO federated.old2 (id, name) values (1, 'federated.old2 url');
+CONNECTION='mysql://root@stripped:SLAVE_PORT/db2/t2';
+INSERT INTO federated.urldb2t2 (id, name) values (1, 'federated.urldb2t2 -> db2.t2,
url format');
+SELECT * FROM federated.urldb2t2;
+id	name
+1	federated.urldb2t2 -> db2.t2, url format
 DROP TABLE IF EXISTS federated.t1;
 Warnings:
 Note	1051	Unknown table 't1'
@@ -84,28 +129,49 @@
     )
 ENGINE="FEDERATED" DEFAULT CHARSET=latin1
 CONNECTION='server_one';
-INSERT INTO federated.t1 (id, name) values (1, 'server_one, new scheme');
+INSERT INTO federated.t1 (id, name) values (1, 'server_one, new scheme, db1.t1');
 SELECT * FROM federated.t1;
 id	name
-1	federated.old url
-1	server_one, new scheme
-ALTER SERVER 'server_one' options(DATABASE 'second_db');
+1	federated.urldb1t1-> db1.t1, url format
+1	server_one, new scheme, db1.t1
+DROP TABLE IF EXISTS federated.whatever;
+Warnings:
+Note	1051	Unknown table 'whatever'
+CREATE TABLE federated.whatever (
+`id` int(20) NOT NULL,
+`name` varchar(64) NOT NULL default ''
+    )
+ENGINE="FEDERATED" DEFAULT CHARSET=latin1
+CONNECTION='server_one/t1';
+INSERT INTO federated.whatever (id, name) values (1, 'server_one, new scheme, whatever,
db1.t1');
+SELECT * FROM federated.whatever;
+id	name
+1	federated.urldb1t1-> db1.t1, url format
+1	server_one, new scheme, db1.t1
+1	server_one, new scheme, whatever, db1.t1
+ALTER SERVER 'server_one' options(DATABASE 'db2');
 flush tables;
-INSERT INTO federated.t1 (id, name) values (1, 'server_two, new scheme');
+INSERT INTO federated.t1 (id, name) values (1, 'server_two, new scheme, db2.t1');
 SELECT * FROM federated.t1;
 id	name
-1	federated.old2 url
-1	server_two, new scheme
+1	federated.urldb2t1 -> db2.t1, url format
+1	server_two, new scheme, db2.t1
+INSERT INTO federated.whatever (id, name) values (1, 'server_two, new scheme, whatever,
db2.t1');
+SELECT * FROM federated.whatever;
+id	name
+1	federated.urldb2t1 -> db2.t1, url format
+1	server_two, new scheme, db2.t1
+1	server_two, new scheme, whatever, db2.t1
 drop table federated.t1;
 drop server 'server_one';
 drop server 'server_two';
 select * from mysql.servers;
 Server_name	Host	Db	Username	Password	Port	Socket	Wrapper	Owner
 test	localhost	test	root		0		mysql	root
-drop table first_db.t1;
-drop table second_db.t1;
-drop database first_db;
-drop database second_db;
+drop table db1.t1;
+drop table db2.t1;
+drop database db1;
+drop database db2;
 DROP TABLE IF EXISTS federated.t1;
 DROP DATABASE IF EXISTS federated;
 DROP TABLE IF EXISTS federated.t1;

--- 1.4/mysql-test/t/federated_server.test	2007-01-14 19:57:13 -05:00
+++ 1.5/mysql-test/t/federated_server.test	2007-01-14 19:57:13 -05:00
@@ -5,21 +5,35 @@
 source include/federated.inc;
 
 connection slave;
-create database first_db;
-create database second_db;
+create database db1;
+create database db2;
 
-use first_db;
+use db1;
 
-DROP TABLE IF EXISTS first_db.t1;
-CREATE TABLE first_db.t1 (
+DROP TABLE IF EXISTS db1.t1;
+CREATE TABLE db1.t1 (
     `id` int(20) NOT NULL,
     `name` varchar(64) NOT NULL default ''
     )
   DEFAULT CHARSET=latin1;
 
-use second_db;
-DROP TABLE IF EXISTS second_db.t1;
-CREATE TABLE second_db.t1 (
+DROP TABLE IF EXISTS db1.t2;
+CREATE TABLE db1.t2 (
+    `id` int(20) NOT NULL,
+    `name` varchar(64) NOT NULL default ''
+    )
+  DEFAULT CHARSET=latin1;
+
+use db2;
+DROP TABLE IF EXISTS db2.t1;
+CREATE TABLE db2.t1 (
+    `id` int(20) NOT NULL,
+    `name` varchar(64) NOT NULL default ''
+    )
+  DEFAULT CHARSET=latin1;
+
+DROP TABLE IF EXISTS db2.t2;
+CREATE TABLE db2.t2 (
     `id` int(20) NOT NULL,
     `name` varchar(64) NOT NULL default ''
     )
@@ -31,7 +45,7 @@
 --replace_result $SLAVE_MYPORT SLAVE_PORT
 eval create server 'server_one' foreign data wrapper 'mysql' options
   (HOST '127.0.0.1',
-  DATABASE 'first_db',
+  DATABASE 'db1',
   USER 'root',
   PASSWORD '',
   PORT $SLAVE_MYPORT,
@@ -42,7 +56,7 @@
 --replace_result $SLAVE_MYPORT SLAVE_PORT
 eval create server 'server_two' foreign data wrapper 'mysql' options
   (HOST '127.0.0.1',
-  DATABASE 'second_db',
+  DATABASE 'db2',
   USER 'root',
   PASSWORD '',
   PORT $SLAVE_MYPORT,
@@ -52,29 +66,50 @@
 --replace_result $SLAVE_MYPORT SLAVE_PORT
 eval select * from mysql.servers;
 
-DROP TABLE IF EXISTS federated.old;
+DROP TABLE IF EXISTS federated.urldb1t1;
 --replace_result $SLAVE_MYPORT SLAVE_PORT
-eval CREATE TABLE federated.old (
+eval CREATE TABLE federated.urldb1t1 (
     `id` int(20) NOT NULL,
     `name` varchar(64) NOT NULL default ''
     )
   ENGINE="FEDERATED" DEFAULT CHARSET=latin1
-  CONNECTION='mysql://root@stripped:$SLAVE_MYPORT/first_db/t1';
+  CONNECTION='mysql://root@stripped:$SLAVE_MYPORT/db1/t1';
+
+INSERT INTO federated.urldb1t1 (id, name) values (1, 'federated.urldb1t1-> db1.t1, url
format');
+SELECT * FROM federated.urldb1t1;
 
-INSERT INTO federated.old (id, name) values (1, 'federated.old url');
+DROP TABLE IF EXISTS federated.urldb1t2;
+eval CREATE TABLE federated.urldb1t2 (
+    `id` int(20) NOT NULL,
+    `name` varchar(64) NOT NULL default ''
+    )
+  ENGINE="FEDERATED" DEFAULT CHARSET=latin1
+  CONNECTION='mysql://root@stripped:$SLAVE_MYPORT/db1/t2';
 
-SELECT * FROM federated.old;
+INSERT INTO federated.urldb1t2 (id, name) values (1, 'federated.urldb1t2-> db1.t2, url
format');
+SELECT * FROM federated.urldb1t2;
 
-DROP TABLE IF EXISTS federated.old2;
+DROP TABLE IF EXISTS federated.urldb2t1;
 --replace_result $SLAVE_MYPORT SLAVE_PORT
-eval CREATE TABLE federated.old2 (
+eval CREATE TABLE federated.urldb2t1 (
     `id` int(20) NOT NULL,
     `name` varchar(64) NOT NULL default ''
     )
   ENGINE="FEDERATED" DEFAULT CHARSET=latin1
-  CONNECTION='mysql://root@stripped:$SLAVE_MYPORT/second_db/t1';
+  CONNECTION='mysql://root@stripped:$SLAVE_MYPORT/db2/t1';
+INSERT INTO federated.urldb2t1 (id, name) values (1, 'federated.urldb2t1 -> db2.t1,
url format');
+SELECT * FROM federated.urldb2t1;
 
-INSERT INTO federated.old2 (id, name) values (1, 'federated.old2 url');
+DROP TABLE IF EXISTS federated.urldb2t2;
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+eval CREATE TABLE federated.urldb2t2 (
+    `id` int(20) NOT NULL,
+    `name` varchar(64) NOT NULL default ''
+    )
+  ENGINE="FEDERATED" DEFAULT CHARSET=latin1
+  CONNECTION='mysql://root@stripped:$SLAVE_MYPORT/db2/t2';
+INSERT INTO federated.urldb2t2 (id, name) values (1, 'federated.urldb2t2 -> db2.t2,
url format');
+SELECT * FROM federated.urldb2t2;
 
 DROP TABLE IF EXISTS federated.t1;
 CREATE TABLE federated.t1 (
@@ -83,18 +118,29 @@
     )
   ENGINE="FEDERATED" DEFAULT CHARSET=latin1
   CONNECTION='server_one';
-
-INSERT INTO federated.t1 (id, name) values (1, 'server_one, new scheme');
-
+INSERT INTO federated.t1 (id, name) values (1, 'server_one, new scheme, db1.t1');
 SELECT * FROM federated.t1;
 
-ALTER SERVER 'server_one' options(DATABASE 'second_db');
+DROP TABLE IF EXISTS federated.whatever;
+CREATE TABLE federated.whatever (
+    `id` int(20) NOT NULL,
+    `name` varchar(64) NOT NULL default ''
+    )
+  ENGINE="FEDERATED" DEFAULT CHARSET=latin1
+  CONNECTION='server_one/t1';
+INSERT INTO federated.whatever (id, name) values (1, 'server_one, new scheme, whatever,
db1.t1');
+SELECT * FROM federated.whatever;
+
+ALTER SERVER 'server_one' options(DATABASE 'db2');
 
 flush tables;
 
-INSERT INTO federated.t1 (id, name) values (1, 'server_two, new scheme');
+INSERT INTO federated.t1 (id, name) values (1, 'server_two, new scheme, db2.t1');
 SELECT * FROM federated.t1;
 
+INSERT INTO federated.whatever (id, name) values (1, 'server_two, new scheme, whatever,
db2.t1');
+SELECT * FROM federated.whatever;
+
 drop table federated.t1;
 
 drop server 'server_one';
@@ -102,9 +148,9 @@
 select * from mysql.servers;
 
 connection slave;
-drop table first_db.t1;
-drop table second_db.t1;
-drop database first_db;
-drop database second_db;
+drop table db1.t1;
+drop table db2.t1;
+drop database db1;
+drop database db2;
 
 source include/federated_cleanup.inc;
Thread
bk commit into 5.1 tree (pgalbraith:1.2391)Patrick Galbraith15 Jan