mirror of
https://github.com/MariaDB/server.git
synced 2025-05-29 21:42:28 +03:00

Backport of functionality in private 5.2 tree. Added new language to parser, new mysql.servers table and associated code to be used by the federated storage engine to allow central connection information per WL entry.
104 lines
2.5 KiB
Plaintext
104 lines
2.5 KiB
Plaintext
# should work with embedded server after mysqltest is fixed
|
|
-- source include/not_embedded.inc
|
|
source include/federated.inc;
|
|
|
|
connection slave;
|
|
create database first_db;
|
|
create database second_db;
|
|
|
|
use first_db;
|
|
|
|
DROP TABLE IF EXISTS first_db.t1;
|
|
CREATE TABLE first_db.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 (
|
|
`id` int(20) NOT NULL,
|
|
`name` varchar(64) NOT NULL default ''
|
|
)
|
|
DEFAULT CHARSET=latin1;
|
|
|
|
connection master;
|
|
|
|
drop server if exists 'server_one';
|
|
eval create server 'server_one' foreign data wrapper 'mysql' options
|
|
(HOST '127.0.0.1',
|
|
DATABASE 'first_db',
|
|
USER 'root',
|
|
PASSWORD '',
|
|
PORT $SLAVE_MYPORT,
|
|
SOCKET '',
|
|
OWNER 'root');
|
|
|
|
drop server if exists 'server_two';
|
|
eval create server 'server_two' foreign data wrapper 'mysql' options
|
|
(HOST '127.0.0.1',
|
|
DATABASE 'second_db',
|
|
USER 'root',
|
|
PASSWORD '',
|
|
PORT $SLAVE_MYPORT,
|
|
SOCKET '',
|
|
OWNER 'root');
|
|
|
|
select * from mysql.servers;
|
|
|
|
DROP TABLE IF EXISTS federated.old;
|
|
eval CREATE TABLE federated.old (
|
|
`id` int(20) NOT NULL,
|
|
`name` varchar(64) NOT NULL default ''
|
|
)
|
|
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
|
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/first_db/t1';
|
|
|
|
INSERT INTO federated.old (id, name) values (1, 'federated.old url');
|
|
|
|
SELECT * FROM federated.old;
|
|
|
|
DROP TABLE IF EXISTS federated.old2;
|
|
eval CREATE TABLE federated.old2 (
|
|
`id` int(20) NOT NULL,
|
|
`name` varchar(64) NOT NULL default ''
|
|
)
|
|
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
|
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/second_db/t1';
|
|
|
|
INSERT INTO federated.old2 (id, name) values (1, 'federated.old2 url');
|
|
|
|
DROP TABLE IF EXISTS federated.t1;
|
|
CREATE TABLE federated.t1 (
|
|
`id` int(20) NOT NULL,
|
|
`name` varchar(64) NOT NULL default ''
|
|
)
|
|
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
|
CONNECTION='server_one';
|
|
|
|
INSERT INTO federated.t1 (id, name) values (1, 'server_one, new scheme');
|
|
|
|
SELECT * FROM federated.t1;
|
|
|
|
ALTER SERVER 'server_one' options(DATABASE 'second_db');
|
|
|
|
flush tables;
|
|
|
|
INSERT INTO federated.t1 (id, name) values (1, 'server_two, new scheme');
|
|
SELECT * FROM federated.t1;
|
|
|
|
drop table federated.t1;
|
|
|
|
drop server 'server_one';
|
|
drop server 'server_two';
|
|
select * from mysql.servers;
|
|
|
|
connection slave;
|
|
drop table first_db.t1;
|
|
drop table second_db.t1;
|
|
drop database first_db;
|
|
drop database second_db;
|
|
|
|
source include/federated_cleanup.inc;
|