mirror of
https://github.com/MariaDB/server.git
synced 2025-11-13 21:42:58 +03:00
Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into poseidon.ndb.mysql.com:/home/tomas/v7 include/my_base.h: Auto merged mysql-test/t/mysqltest.test: Auto merged sql/handler.cc: Auto merged sql/handler.h: Auto merged mysql-test/t/disabled.def: SCCS merged
This commit is contained in:
@@ -47,6 +47,7 @@ create database mysqltest;
|
||||
show databases;
|
||||
Database
|
||||
information_schema
|
||||
cluster_replication
|
||||
mysql
|
||||
mysqltest
|
||||
test
|
||||
@@ -58,6 +59,7 @@ drop database mysqltest;
|
||||
show databases;
|
||||
Database
|
||||
information_schema
|
||||
cluster_replication
|
||||
mysql
|
||||
test
|
||||
drop database mysqltest;
|
||||
|
||||
3
mysql-test/r/have_ndb_extra.require
Normal file
3
mysql-test/r/have_ndb_extra.require
Normal file
@@ -0,0 +1,3 @@
|
||||
select 1;
|
||||
1
|
||||
1
|
||||
@@ -14,6 +14,7 @@ NULL test latin1 latin1_swedish_ci NULL
|
||||
select schema_name from information_schema.schemata;
|
||||
schema_name
|
||||
information_schema
|
||||
cluster_replication
|
||||
mysql
|
||||
test
|
||||
show databases like 't%';
|
||||
@@ -22,6 +23,7 @@ test
|
||||
show databases;
|
||||
Database
|
||||
information_schema
|
||||
cluster_replication
|
||||
mysql
|
||||
test
|
||||
show databases where `database` = 't%';
|
||||
@@ -55,6 +57,7 @@ TABLE_PRIVILEGES
|
||||
TRIGGERS
|
||||
VIEWS
|
||||
USER_PRIVILEGES
|
||||
binlog_index
|
||||
columns_priv
|
||||
db
|
||||
event
|
||||
@@ -331,6 +334,7 @@ create view v0 (c) as select schema_name from information_schema.schemata;
|
||||
select * from v0;
|
||||
c
|
||||
information_schema
|
||||
cluster_replication
|
||||
mysql
|
||||
test
|
||||
explain select * from v0;
|
||||
@@ -728,7 +732,7 @@ CREATE TABLE t_crashme ( f1 BIGINT);
|
||||
CREATE VIEW a1 (t_CRASHME) AS SELECT f1 FROM t_crashme GROUP BY f1;
|
||||
CREATE VIEW a2 AS SELECT t_CRASHME FROM a1;
|
||||
count(*)
|
||||
106
|
||||
107
|
||||
drop view a2, a1;
|
||||
drop table t_crashme;
|
||||
select table_schema,table_name, column_name from
|
||||
@@ -810,6 +814,7 @@ delete from mysql.db where user='mysqltest_4';
|
||||
flush privileges;
|
||||
SELECT table_schema, count(*) FROM information_schema.TABLES GROUP BY TABLE_SCHEMA;
|
||||
table_schema count(*)
|
||||
cluster_replication 1
|
||||
information_schema 19
|
||||
mysql 19
|
||||
create table t1 (i int, j int);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
cluster_replication.binlog_index OK
|
||||
mysql.columns_priv OK
|
||||
mysql.db OK
|
||||
mysql.event OK
|
||||
|
||||
@@ -215,12 +215,11 @@ a long $where variable content
|
||||
|
||||
mysqltest: At line 1: Missing arguments to let
|
||||
mysqltest: At line 1: Missing variable name in let
|
||||
mysqltest: At line 1: Variable name in hi=hi does not start with '$'
|
||||
mysqltest: At line 1: Missing assignment operator in let
|
||||
mysqltest: At line 1: Missing assignment operator in let
|
||||
mysqltest: At line 1: Missing arguments to let
|
||||
mysqltest: At line 1: Missing variable name in let
|
||||
mysqltest: At line 1: Variable name in =hi does not start with '$'
|
||||
mysqltest: At line 1: Missing variable name in let
|
||||
mysqltest: At line 1: Missing assignment operator in let
|
||||
mysqltest: At line 1: Missing file name in source
|
||||
mysqltest: At line 1: Could not open file ./non_existingFile
|
||||
|
||||
@@ -170,35 +170,6 @@ c
|
||||
4
|
||||
5
|
||||
drop table t1;
|
||||
create table t1 ( a int primary key, b varchar(10), c varchar(10), index (b) )
|
||||
engine=ndb;
|
||||
insert into t1 values (1,'one','one'), (2,'two','two'), (3,'three','three');
|
||||
create index c on t1(c);
|
||||
select * from t1 where b = 'two';
|
||||
a b c
|
||||
2 two two
|
||||
alter table t1 drop index c;
|
||||
select * from t1 where b = 'two';
|
||||
ERROR HY000: Can't lock file (errno: 159)
|
||||
select * from t1 where b = 'two';
|
||||
a b c
|
||||
2 two two
|
||||
drop table t1;
|
||||
create table t3 (a int primary key) engine=ndbcluster;
|
||||
begin;
|
||||
insert into t3 values (1);
|
||||
alter table t3 rename t4;
|
||||
delete from t3;
|
||||
insert into t3 values (1);
|
||||
commit;
|
||||
select * from t3;
|
||||
ERROR HY000: Can't lock file (errno: 155)
|
||||
select * from t4;
|
||||
a
|
||||
1
|
||||
drop table t4;
|
||||
show tables;
|
||||
Tables_in_test
|
||||
create table t1 (
|
||||
ai bigint auto_increment,
|
||||
c001 int(11) not null,
|
||||
|
||||
26
mysql-test/r/ndb_alter_table_row.result
Normal file
26
mysql-test/r/ndb_alter_table_row.result
Normal file
@@ -0,0 +1,26 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
create table t1 ( a int primary key, b varchar(10), c varchar(10), index (b) )
|
||||
engine=ndb;
|
||||
insert into t1 values (1,'one','one'), (2,'two','two'), (3,'three','three');
|
||||
create index c on t1(c);
|
||||
select * from t1 where c = 'two';
|
||||
a b c
|
||||
2 two two
|
||||
alter table t1 drop index c;
|
||||
select * from t1 where c = 'two';
|
||||
a b c
|
||||
2 two two
|
||||
drop table t1;
|
||||
create table t3 (a int primary key) engine=ndbcluster;
|
||||
begin;
|
||||
insert into t3 values (1);
|
||||
alter table t3 rename t4;
|
||||
commit;
|
||||
select * from t3;
|
||||
ERROR 42S02: Table 'test.t3' doesn't exist
|
||||
select * from t4;
|
||||
a
|
||||
1
|
||||
drop table t4;
|
||||
show tables;
|
||||
Tables_in_test
|
||||
30
mysql-test/r/ndb_alter_table_stm.result
Normal file
30
mysql-test/r/ndb_alter_table_stm.result
Normal file
@@ -0,0 +1,30 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
create table t1 ( a int primary key, b varchar(10), c varchar(10), index (b) )
|
||||
engine=ndb;
|
||||
insert into t1 values (1,'one','one'), (2,'two','two'), (3,'three','three');
|
||||
create index c on t1(c);
|
||||
select * from t1 where c = 'two';
|
||||
a b c
|
||||
2 two two
|
||||
alter table t1 drop index c;
|
||||
select * from t1 where c = 'two';
|
||||
ERROR HY000: Can't lock file (errno: 159)
|
||||
select * from t1 where c = 'two';
|
||||
a b c
|
||||
2 two two
|
||||
drop table t1;
|
||||
create table t3 (a int primary key) engine=ndbcluster;
|
||||
begin;
|
||||
insert into t3 values (1);
|
||||
alter table t3 rename t4;
|
||||
delete from t3;
|
||||
insert into t3 values (1);
|
||||
commit;
|
||||
select * from t3;
|
||||
ERROR HY000: Can't lock file (errno: 155)
|
||||
select * from t4;
|
||||
a
|
||||
1
|
||||
drop table t4;
|
||||
show tables;
|
||||
Tables_in_test
|
||||
@@ -6,6 +6,13 @@ attr1 INT NOT NULL,
|
||||
attr2 INT,
|
||||
attr3 VARCHAR(10)
|
||||
) ENGINE=ndbcluster;
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
pk1 INT NOT NULL PRIMARY KEY,
|
||||
attr1 INT NOT NULL,
|
||||
attr2 INT,
|
||||
attr3 VARCHAR(10)
|
||||
) ENGINE=ndbcluster;
|
||||
SHOW INDEX FROM t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
t1 0 PRIMARY 1 pk1 A 0 NULL NULL BTREE
|
||||
|
||||
62
mysql-test/r/ndb_binlog_basic.result
Normal file
62
mysql-test/r/ndb_binlog_basic.result
Normal file
@@ -0,0 +1,62 @@
|
||||
drop table if exists t1, t2;
|
||||
drop database if exists mysqltest;
|
||||
create database mysqltest;
|
||||
use mysqltest;
|
||||
drop database mysqltest;
|
||||
use test;
|
||||
create table t1 (a int primary key) engine=ndb;
|
||||
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
select @max_epoch:=max(epoch)-1 from cluster_replication.binlog_index;
|
||||
@max_epoch:=max(epoch)-1
|
||||
#
|
||||
delete from t1;
|
||||
alter table t1 add (b int);
|
||||
insert into t1 values (3,3),(4,4);
|
||||
alter table t1 rename t2;
|
||||
begin;
|
||||
insert into t2 values (1,1),(2,2);
|
||||
update t2 set b=1 where a=3;
|
||||
delete from t2 where a=4;
|
||||
commit;
|
||||
drop table t2;
|
||||
select inserts from cluster_replication.binlog_index where epoch > @max_epoch and inserts > 5;
|
||||
inserts
|
||||
10
|
||||
select deletes from cluster_replication.binlog_index where epoch > @max_epoch and deletes > 5;
|
||||
deletes
|
||||
10
|
||||
select inserts,updates,deletes from
|
||||
cluster_replication.binlog_index where epoch > @max_epoch and updates > 0;
|
||||
inserts updates deletes
|
||||
2 1 1
|
||||
select schemaops from
|
||||
cluster_replication.binlog_index where epoch > @max_epoch and schemaops > 0;
|
||||
schemaops
|
||||
1
|
||||
1
|
||||
1
|
||||
flush logs;
|
||||
purge master logs before now();
|
||||
select count(*) from cluster_replication.binlog_index;
|
||||
count(*)
|
||||
0
|
||||
create table t1 (a int primary key, b int) engine=ndb;
|
||||
create database mysqltest;
|
||||
use mysqltest;
|
||||
create table t1 (c int, d int primary key) engine=ndb;
|
||||
use test;
|
||||
insert into mysqltest.t1 values (2,1),(2,2);
|
||||
select @max_epoch:=max(epoch)-1 from cluster_replication.binlog_index;
|
||||
@max_epoch:=max(epoch)-1
|
||||
#
|
||||
drop table t1;
|
||||
drop database mysqltest;
|
||||
select inserts,updates,deletes from
|
||||
cluster_replication.binlog_index where epoch > @max_epoch and inserts > 0;
|
||||
inserts updates deletes
|
||||
2 0 0
|
||||
select schemaops from
|
||||
cluster_replication.binlog_index where epoch > @max_epoch and schemaops > 0;
|
||||
schemaops
|
||||
1
|
||||
1
|
||||
43
mysql-test/r/ndb_binlog_multi.result
Normal file
43
mysql-test/r/ndb_binlog_multi.result
Normal file
@@ -0,0 +1,43 @@
|
||||
drop table if exists t1,t2;
|
||||
drop table if exists t1,t2;
|
||||
SHOW TABLES;
|
||||
Tables_in_test
|
||||
CREATE TABLE t2 (a INT PRIMARY KEY, b int) ENGINE = NDB;
|
||||
show tables;
|
||||
Tables_in_test
|
||||
t2
|
||||
INSERT INTO t2 VALUES (1,1),(2,2);
|
||||
select * from t2 order by a;
|
||||
a b
|
||||
1 1
|
||||
2 2
|
||||
SELECT @the_epoch:=epoch,inserts,updates,deletes,schemaops FROM
|
||||
cluster_replication.binlog_index ORDER BY epoch DESC LIMIT 1;
|
||||
@the_epoch:=epoch inserts updates deletes schemaops
|
||||
<the_epoch> 2 0 0 0
|
||||
SELECT * FROM t2 ORDER BY a;
|
||||
a b
|
||||
1 1
|
||||
2 2
|
||||
SELECT inserts,updates,deletes,schemaops FROM
|
||||
cluster_replication.binlog_index WHERE epoch=<the_epoch>;
|
||||
inserts updates deletes schemaops
|
||||
2 0 0 0
|
||||
DROP TABLE t2;
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = NDB;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT @the_epoch2:=epoch,inserts,updates,deletes,schemaops FROM
|
||||
cluster_replication.binlog_index ORDER BY epoch DESC LIMIT 1;
|
||||
@the_epoch2:=epoch inserts updates deletes schemaops
|
||||
<the_epoch2> 2 0 0 0
|
||||
SELECT inserts,updates,deletes,schemaops FROM
|
||||
cluster_replication.binlog_index WHERE epoch > <the_epoch> AND epoch < <the_epoch2>;
|
||||
inserts updates deletes schemaops
|
||||
0 0 0 1
|
||||
drop table t1;
|
||||
SHOW TABLES;
|
||||
Tables_in_test
|
||||
SELECT inserts,updates,deletes,schemaops FROM
|
||||
cluster_replication.binlog_index WHERE epoch > <the_epoch> AND epoch < <the_epoch2>;
|
||||
inserts updates deletes schemaops
|
||||
0 0 0 1
|
||||
@@ -1,4 +1,5 @@
|
||||
drop table if exists t1, t2, t3, t4;
|
||||
drop table if exists t1, t2, t3, t4;
|
||||
flush status;
|
||||
create table t1 (a int) engine=ndbcluster;
|
||||
create table t2 (a int) engine=ndbcluster;
|
||||
|
||||
69
mysql-test/r/ndb_multi_row.result
Normal file
69
mysql-test/r/ndb_multi_row.result
Normal file
@@ -0,0 +1,69 @@
|
||||
drop table if exists t1, t2, t3, t4;
|
||||
drop table if exists t1, t2, t3, t4;
|
||||
flush status;
|
||||
create table t1 (a int) engine=ndbcluster;
|
||||
create table t2 (a int) engine=ndbcluster;
|
||||
insert into t1 value (2);
|
||||
insert into t2 value (3);
|
||||
select * from t1;
|
||||
a
|
||||
2
|
||||
select * from t2;
|
||||
a
|
||||
3
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 0
|
||||
select * from t1;
|
||||
a
|
||||
2
|
||||
drop table t1;
|
||||
create table t1 (a int) engine=ndbcluster;
|
||||
insert into t1 value (2);
|
||||
select * from t1;
|
||||
a
|
||||
2
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 0
|
||||
drop table t1;
|
||||
create table t1 (a int) engine=ndbcluster;
|
||||
insert into t1 value (2);
|
||||
select * from t1;
|
||||
a
|
||||
2
|
||||
flush status;
|
||||
select * from t1;
|
||||
a
|
||||
2
|
||||
update t1 set a=3 where a=2;
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 0
|
||||
create table t3 (a int not null primary key, b varchar(22),
|
||||
c int, last_col text) engine=ndb;
|
||||
insert into t3 values(1, 'Hi!', 89, 'Longtext column');
|
||||
create table t4 (pk int primary key, b int) engine=ndb;
|
||||
select * from t1;
|
||||
a
|
||||
3
|
||||
select * from t3;
|
||||
a b c last_col
|
||||
1 Hi! 89 Longtext column
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 1
|
||||
show tables like 't4';
|
||||
Tables_in_test (t4)
|
||||
t4
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 2
|
||||
show tables;
|
||||
Tables_in_test
|
||||
t1
|
||||
t2
|
||||
t3
|
||||
t4
|
||||
drop table t1, t2, t3, t4;
|
||||
drop table t1, t3, t4;
|
||||
2
mysql-test/r/not_ndb.require
Normal file
2
mysql-test/r/not_ndb.require
Normal file
@@ -0,0 +1,2 @@
|
||||
Variable_name Value
|
||||
have_ndbcluster NO
|
||||
@@ -259,6 +259,7 @@ prepare stmt4 from ' show databases ';
|
||||
execute stmt4;
|
||||
Database
|
||||
information_schema
|
||||
cluster_replication
|
||||
mysql
|
||||
test
|
||||
prepare stmt4 from ' show tables from test like ''t2%'' ';
|
||||
|
||||
@@ -33,6 +33,7 @@ create database mysqltest;
|
||||
show databases;
|
||||
Database
|
||||
information_schema
|
||||
cluster_replication
|
||||
mysql
|
||||
mysqltest
|
||||
mysqltest2
|
||||
@@ -50,6 +51,7 @@ set sql_log_bin = 1;
|
||||
show databases;
|
||||
Database
|
||||
information_schema
|
||||
cluster_replication
|
||||
mysql
|
||||
test
|
||||
create database mysqltest2;
|
||||
@@ -69,6 +71,7 @@ load data from master;
|
||||
show databases;
|
||||
Database
|
||||
information_schema
|
||||
cluster_replication
|
||||
mysql
|
||||
mysqltest
|
||||
mysqltest2
|
||||
|
||||
@@ -23,6 +23,7 @@ ALTER DATABASE mysqltest_bob CHARACTER SET latin1;
|
||||
SHOW DATABASES;
|
||||
Database
|
||||
information_schema
|
||||
cluster_replication
|
||||
mysql
|
||||
mysqltest_bob
|
||||
mysqltest_prometheus
|
||||
@@ -31,6 +32,7 @@ test
|
||||
SHOW DATABASES;
|
||||
Database
|
||||
information_schema
|
||||
cluster_replication
|
||||
mysql
|
||||
mysqltest_prometheus
|
||||
mysqltest_sisyfos
|
||||
@@ -45,6 +47,7 @@ CREATE TABLE t2 (a INT);
|
||||
SHOW DATABASES;
|
||||
Database
|
||||
information_schema
|
||||
cluster_replication
|
||||
mysql
|
||||
mysqltest_bob
|
||||
mysqltest_prometheus
|
||||
@@ -53,6 +56,7 @@ test
|
||||
SHOW DATABASES;
|
||||
Database
|
||||
information_schema
|
||||
cluster_replication
|
||||
mysql
|
||||
mysqltest_prometheus
|
||||
mysqltest_sisyfos
|
||||
|
||||
@@ -21,6 +21,7 @@ COUNT(*)
|
||||
SHOW DATABASES;
|
||||
Database
|
||||
information_schema
|
||||
cluster_replication
|
||||
mysql
|
||||
mysqltest
|
||||
test
|
||||
|
||||
120
mysql-test/r/rpl_ndb_bank.result
Normal file
120
mysql-test/r/rpl_ndb_bank.result
Normal file
@@ -0,0 +1,120 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
CREATE DATABASE IF NOT EXISTS BANK;
|
||||
DROP DATABASE BANK;
|
||||
CREATE DATABASE BANK default charset=latin1 default collate=latin1_bin;
|
||||
USE BANK;
|
||||
CREATE TABLE GL ( TIME BIGINT UNSIGNED NOT NULL,
|
||||
ACCOUNT_TYPE INT UNSIGNED NOT NULL,
|
||||
BALANCE INT UNSIGNED NOT NULL,
|
||||
DEPOSIT_COUNT INT UNSIGNED NOT NULL,
|
||||
DEPOSIT_SUM INT UNSIGNED NOT NULL,
|
||||
WITHDRAWAL_COUNT INT UNSIGNED NOT NULL,
|
||||
WITHDRAWAL_SUM INT UNSIGNED NOT NULL,
|
||||
PURGED INT UNSIGNED NOT NULL,
|
||||
PRIMARY KEY USING HASH (TIME,ACCOUNT_TYPE))
|
||||
ENGINE = NDB;
|
||||
CREATE TABLE ACCOUNT ( ACCOUNT_ID INT UNSIGNED NOT NULL,
|
||||
OWNER INT UNSIGNED NOT NULL,
|
||||
BALANCE INT UNSIGNED NOT NULL,
|
||||
ACCOUNT_TYPE INT UNSIGNED NOT NULL,
|
||||
PRIMARY KEY USING HASH (ACCOUNT_ID))
|
||||
ENGINE = NDB;
|
||||
CREATE TABLE TRANSACTION ( TRANSACTION_ID BIGINT UNSIGNED NOT NULL,
|
||||
ACCOUNT INT UNSIGNED NOT NULL,
|
||||
ACCOUNT_TYPE INT UNSIGNED NOT NULL,
|
||||
OTHER_ACCOUNT INT UNSIGNED NOT NULL,
|
||||
TRANSACTION_TYPE INT UNSIGNED NOT NULL,
|
||||
TIME BIGINT UNSIGNED NOT NULL,
|
||||
AMOUNT INT UNSIGNED NOT NULL,
|
||||
PRIMARY KEY USING HASH (TRANSACTION_ID,ACCOUNT))
|
||||
ENGINE = NDB;
|
||||
CREATE TABLE SYSTEM_VALUES ( SYSTEM_VALUES_ID INT UNSIGNED NOT NULL,
|
||||
VALUE BIGINT UNSIGNED NOT NULL,
|
||||
PRIMARY KEY USING HASH (SYSTEM_VALUES_ID))
|
||||
ENGINE = NDB;
|
||||
CREATE TABLE ACCOUNT_TYPE ( ACCOUNT_TYPE_ID INT UNSIGNED NOT NULL,
|
||||
DESCRIPTION CHAR(64) NOT NULL,
|
||||
PRIMARY KEY USING HASH (ACCOUNT_TYPE_ID))
|
||||
ENGINE = NDB;
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
CREATE DATABASE IF NOT EXISTS BANK;
|
||||
DROP DATABASE BANK;
|
||||
CREATE DATABASE BANK;
|
||||
RESET MASTER;
|
||||
CREATE TABLE IF NOT EXISTS cluster_replication.backup_info (id INT, backup_id INT) ENGINE = HEAP;
|
||||
DELETE FROM cluster_replication.backup_info;
|
||||
LOAD DATA INFILE '../../var/tmp.dat' INTO TABLE cluster_replication.backup_info FIELDS TERMINATED BY ',';
|
||||
SELECT @the_backup_id:=backup_id FROM cluster_replication.backup_info;
|
||||
@the_backup_id:=backup_id
|
||||
<the_backup_id>
|
||||
SELECT @the_epoch:=MAX(epoch) FROM cluster_replication.apply_status;
|
||||
@the_epoch:=MAX(epoch)
|
||||
<the_epoch>
|
||||
SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1)
|
||||
FROM cluster_replication.binlog_index WHERE epoch > <the_epoch> ORDER BY epoch ASC LIMIT 1;
|
||||
@the_pos:=Position @the_file:=SUBSTRING_INDEX(FILE, '/', -1)
|
||||
<the_pos> master-bin.000001
|
||||
CHANGE MASTER TO
|
||||
master_log_file = 'master-bin.000001',
|
||||
master_log_pos = <the_pos>;
|
||||
START SLAVE;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
||||
<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
|
||||
STOP SLAVE;
|
||||
START SLAVE;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
||||
<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
|
||||
STOP SLAVE;
|
||||
START SLAVE;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
||||
<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
|
||||
STOP SLAVE;
|
||||
START SLAVE;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
||||
<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
|
||||
STOP SLAVE;
|
||||
START SLAVE;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
||||
<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
|
||||
STOP SLAVE;
|
||||
START SLAVE;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
||||
<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
|
||||
STOP SLAVE;
|
||||
START SLAVE;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
||||
<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
|
||||
STOP SLAVE;
|
||||
START SLAVE;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
||||
<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
|
||||
STOP SLAVE;
|
||||
START SLAVE;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
||||
<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
|
||||
STOP SLAVE;
|
||||
START SLAVE;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
||||
<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
|
||||
STOP SLAVE;
|
||||
START SLAVE;
|
||||
use test;
|
||||
create table t1 (a int primary key) engine=ndb;
|
||||
insert into t1 values (1);
|
||||
drop table t1;
|
||||
90
mysql-test/r/rpl_ndb_basic.result
Normal file
90
mysql-test/r/rpl_ndb_basic.result
Normal file
@@ -0,0 +1,90 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
CREATE TABLE `t1` ( `nid` int(11) NOT NULL default '0',
|
||||
`nom` char(4) default NULL,
|
||||
`prenom` char(4) default NULL,
|
||||
PRIMARY KEY (`nid`))
|
||||
ENGINE=ndbcluster DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 VALUES(1,"XYZ1","ABC1");
|
||||
select * from t1 order by nid;
|
||||
nid nom prenom
|
||||
1 XYZ1 ABC1
|
||||
select * from t1 order by nid;
|
||||
nid nom prenom
|
||||
1 XYZ1 ABC1
|
||||
delete from t1;
|
||||
INSERT INTO t1 VALUES(1,"XYZ2","ABC2");
|
||||
select * from t1 order by nid;
|
||||
nid nom prenom
|
||||
1 XYZ2 ABC2
|
||||
select * from t1 order by nid;
|
||||
nid nom prenom
|
||||
1 XYZ2 ABC2
|
||||
DROP table t1;
|
||||
CREATE TABLE `t1` ( `nid` int(11) NOT NULL default '0',
|
||||
`nom` char(4) default NULL,
|
||||
`prenom` char(4) default NULL)
|
||||
ENGINE=ndbcluster DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 VALUES(1,"XYZ1","ABC1"),(2,"AAA","BBB"),(3,"CCC","DDD");
|
||||
select * from t1 order by nid;
|
||||
nid nom prenom
|
||||
1 XYZ1 ABC1
|
||||
2 AAA BBB
|
||||
3 CCC DDD
|
||||
select * from t1 order by nid;
|
||||
nid nom prenom
|
||||
1 XYZ1 ABC1
|
||||
2 AAA BBB
|
||||
3 CCC DDD
|
||||
delete from t1 where nid = 2;
|
||||
INSERT INTO t1 VALUES(4,"EEE","FFF");
|
||||
select * from t1 order by nid;
|
||||
nid nom prenom
|
||||
1 XYZ1 ABC1
|
||||
3 CCC DDD
|
||||
4 EEE FFF
|
||||
select * from t1 order by nid;
|
||||
nid nom prenom
|
||||
1 XYZ1 ABC1
|
||||
3 CCC DDD
|
||||
4 EEE FFF
|
||||
UPDATE t1 set nid=nid+1;
|
||||
UPDATE t1 set nom="CCP" where nid = 4;
|
||||
select * from t1 order by nid;
|
||||
nid nom prenom
|
||||
2 XYZ1 ABC1
|
||||
4 CCP DDD
|
||||
5 EEE FFF
|
||||
select * from t1 order by nid;
|
||||
nid nom prenom
|
||||
2 XYZ1 ABC1
|
||||
4 CCP DDD
|
||||
5 EEE FFF
|
||||
DROP table t1;
|
||||
CREATE TABLE `t1` ( `nid` int(11) NOT NULL default '0',
|
||||
`nom` char(4) default NULL,
|
||||
`prenom` char(4) default NULL,
|
||||
PRIMARY KEY USING HASH (`nid`))
|
||||
ENGINE=ndbcluster DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 VALUES(1,"XYZ1","ABC1");
|
||||
BEGIN;
|
||||
UPDATE t1 SET `nom`="LOCK" WHERE `nid`=1;
|
||||
set GLOBAL slave_transaction_retries=1;
|
||||
UPDATE t1 SET `nom`="DEAD" WHERE `nid`=1;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
||||
<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes No <Replicate_Ignore_Table> 146 Error in Write_rows event: error during transaction execution on table test.t1 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
|
||||
set GLOBAL slave_transaction_retries=10;
|
||||
START SLAVE;
|
||||
select * from t1 order by nid;
|
||||
nid nom prenom
|
||||
1 LOCK ABC1
|
||||
COMMIT;
|
||||
select * from t1 order by nid;
|
||||
nid nom prenom
|
||||
1 DEAD ABC1
|
||||
DROP TABLE t1;
|
||||
73
mysql-test/r/rpl_ndb_disk.result
Normal file
73
mysql-test/r/rpl_ndb_disk.result
Normal file
@@ -0,0 +1,73 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE LOGFILE GROUP lg1
|
||||
ADD UNDOFILE 'undofile.dat'
|
||||
INITIAL_SIZE 16M
|
||||
UNDO_BUFFER_SIZE = 1M
|
||||
ENGINE=NDB;
|
||||
alter logfile group lg1
|
||||
add undofile 'undofile02.dat'
|
||||
initial_size 4M engine=ndb;
|
||||
CREATE TABLESPACE ts1
|
||||
ADD DATAFILE 'datafile.dat'
|
||||
USE LOGFILE GROUP lg1
|
||||
INITIAL_SIZE 12M
|
||||
ENGINE NDB;
|
||||
alter tablespace ts1
|
||||
add datafile 'datafile02.dat'
|
||||
initial_size 4M engine=ndb;
|
||||
CREATE TABLE t1
|
||||
(pk1 int not null primary key, b int not null, c int not null)
|
||||
tablespace ts1 storage disk
|
||||
engine ndb;
|
||||
insert into t1 values (1,2,3);
|
||||
select * from t1 order by pk1;
|
||||
pk1 b c
|
||||
1 2 3
|
||||
select * from t1 order by pk1;
|
||||
pk1 b c
|
||||
1 2 3
|
||||
show binlog events;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 102 Server ver: VERSION, Binlog ver: 4
|
||||
master-bin.000001 102 Query 1 188 use `test`; DROP TABLE IF EXISTS t1
|
||||
master-bin.000001 188 Query 1 353 CREATE LOGFILE GROUP lg1
|
||||
ADD UNDOFILE 'undofile.dat'
|
||||
INITIAL_SIZE 16M
|
||||
UNDO_BUFFER_SIZE = 1M
|
||||
ENGINE=NDB
|
||||
master-bin.000001 353 Query 1 496 alter logfile group lg1
|
||||
add undofile 'undofile02.dat'
|
||||
initial_size 4M engine=ndb
|
||||
master-bin.000001 496 Query 1 658 CREATE TABLESPACE ts1
|
||||
ADD DATAFILE 'datafile.dat'
|
||||
USE LOGFILE GROUP lg1
|
||||
INITIAL_SIZE 12M
|
||||
ENGINE NDB
|
||||
master-bin.000001 658 Query 1 798 alter tablespace ts1
|
||||
add datafile 'datafile02.dat'
|
||||
initial_size 4M engine=ndb
|
||||
master-bin.000001 798 Query 1 978 use `test`; CREATE TABLE t1
|
||||
(pk1 int not null primary key, b int not null, c int not null)
|
||||
tablespace ts1 storage disk
|
||||
engine ndb
|
||||
master-bin.000001 978 Query 1 1042 BEGIN
|
||||
master-bin.000001 1042 Table_map 1 65 cluster_replication.apply_status
|
||||
master-bin.000001 1107 Write_rows 1 107
|
||||
master-bin.000001 1149 Table_map 1 148 test.t1
|
||||
master-bin.000001 1190 Write_rows 1 190
|
||||
master-bin.000001 1232 Query 1 1297 COMMIT
|
||||
drop table t1;
|
||||
alter tablespace ts1
|
||||
drop datafile 'datafile.dat'
|
||||
engine=ndb;
|
||||
alter tablespace ts1
|
||||
drop datafile 'datafile02.dat'
|
||||
engine=ndb;
|
||||
DROP TABLESPACE ts1 ENGINE=NDB;
|
||||
DROP LOGFILE GROUP lg1 ENGINE=NDB;
|
||||
72
mysql-test/r/rpl_ndb_idempotent.result
Normal file
72
mysql-test/r/rpl_ndb_idempotent.result
Normal file
@@ -0,0 +1,72 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
CREATE TABLE t1 (c1 CHAR(15), c2 CHAR(15), c3 INT, PRIMARY KEY (c3)) ENGINE = NDB ;
|
||||
INSERT INTO t1 VALUES ("row1","will go away",1);
|
||||
SELECT * FROM t1 ORDER BY c3;
|
||||
c1 c2 c3
|
||||
row1 will go away 1
|
||||
SELECT @the_epoch:=MAX(epoch) FROM cluster_replication.apply_status;
|
||||
@the_epoch:=MAX(epoch)
|
||||
<the_epoch>
|
||||
SELECT * FROM t1 ORDER BY c3;
|
||||
c1 c2 c3
|
||||
row1 will go away 1
|
||||
SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1)
|
||||
FROM cluster_replication.binlog_index WHERE epoch = <the_epoch> ;
|
||||
@the_pos:=Position @the_file:=SUBSTRING_INDEX(FILE, '/', -1)
|
||||
<the_pos> master-bin.000001
|
||||
INSERT INTO t1 VALUES ("row2","will go away",2),("row3","will change",3),("row4","D",4);
|
||||
DELETE FROM t1 WHERE c3 = 1;
|
||||
UPDATE t1 SET c2="should go away" WHERE c3 = 2;
|
||||
UPDATE t1 SET c2="C" WHERE c3 = 3;
|
||||
DELETE FROM t1 WHERE c3 = 2;
|
||||
SELECT * FROM t1 ORDER BY c3;
|
||||
c1 c2 c3
|
||||
row3 C 3
|
||||
row4 D 4
|
||||
SELECT * FROM t1 ORDER BY c3;
|
||||
c1 c2 c3
|
||||
row3 C 3
|
||||
row4 D 4
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
||||
<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
|
||||
STOP SLAVE;
|
||||
CHANGE MASTER TO
|
||||
master_log_file = 'master-bin.000001',
|
||||
master_log_pos = <the_pos> ;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
||||
<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 No No <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
|
||||
START SLAVE;
|
||||
SELECT * FROM t1 ORDER BY c3;
|
||||
c1 c2 c3
|
||||
row3 C 3
|
||||
row4 D 4
|
||||
SELECT * FROM t1 ORDER BY c3;
|
||||
c1 c2 c3
|
||||
row3 C 3
|
||||
row4 D 4
|
||||
STOP SLAVE;
|
||||
DROP TABLE t1;
|
||||
RESET master;
|
||||
DROP TABLE t1;
|
||||
RESET slave;
|
||||
START SLAVE;
|
||||
CREATE TABLE t1 (c1 CHAR(15) NOT NULL, c2 CHAR(15) NOT NULL, c3 INT NOT NULL, PRIMARY KEY (c3)) ENGINE = NDB ;
|
||||
INSERT INTO t1 VALUES ("row1","remove on slave",1);
|
||||
DELETE FROM t1;
|
||||
BEGIN;
|
||||
UPDATE t1 SET c2="does not exist" WHERE c3=1;
|
||||
INSERT INTO t1 VALUES ("row2","new on slave",2);
|
||||
COMMIT;
|
||||
SELECT * FROM t1;
|
||||
c1 c2 c3
|
||||
row2 new on slave 2
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
||||
<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
|
||||
42
mysql-test/r/rpl_ndb_load.result
Normal file
42
mysql-test/r/rpl_ndb_load.result
Normal file
@@ -0,0 +1,42 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
DROP DATABASE IF EXISTS TEST_DB;
|
||||
CREATE DATABASE TEST_DB;
|
||||
USE TEST_DB;
|
||||
CREATE TABLE SUBSCRIBER
|
||||
( NUMBER CHAR(12) BINARY NOT NULL,
|
||||
NAME CHAR(32) BINARY NOT NULL,
|
||||
GROUP_ID INT UNSIGNED NOT NULL,
|
||||
LOCATION INT UNSIGNED NOT NULL,
|
||||
SESSIONS INT UNSIGNED NOT NULL,
|
||||
CHANGED_BY CHAR(32) BINARY NOT NULL,
|
||||
CHANGED_TIME CHAR(32) BINARY NOT NULL,
|
||||
PRIMARY KEY USING HASH (NUMBER))
|
||||
ENGINE = NDB;
|
||||
CREATE TABLE GROUP2
|
||||
( GROUP_ID INT UNSIGNED NOT NULL,
|
||||
GROUP_NAME CHAR(32) BINARY NOT NULL,
|
||||
ALLOW_READ CHAR(1) BINARY NOT NULL,
|
||||
ALLOW_INSERT INT UNSIGNED NOT NULL,
|
||||
ALLOW_DELETE INT UNSIGNED NOT NULL,
|
||||
PRIMARY KEY USING HASH (GROUP_ID))
|
||||
ENGINE = NDB;
|
||||
CREATE TABLE SESSION
|
||||
( NUMBER CHAR(12) BINARY NOT NULL,
|
||||
SERVER_ID INT UNSIGNED NOT NULL,
|
||||
DATA BINARY(2000) NOT NULL,
|
||||
PRIMARY KEY USING HASH (NUMBER,SERVER_ID))
|
||||
ENGINE = NDB;
|
||||
CREATE TABLE SERVER
|
||||
( SUFFIX CHAR(2) BINARY NOT NULL,
|
||||
SERVER_ID INT UNSIGNED NOT NULL,
|
||||
NAME CHAR(32) BINARY NOT NULL,
|
||||
NO_OF_READ INT UNSIGNED NOT NULL,
|
||||
NO_OF_INSERT INT UNSIGNED NOT NULL,
|
||||
NO_OF_DELETE INT UNSIGNED NOT NULL,
|
||||
PRIMARY KEY USING HASH (SUFFIX, SERVER_ID))
|
||||
ENGINE = NDB;
|
||||
55
mysql-test/r/rpl_ndb_multi.result
Normal file
55
mysql-test/r/rpl_ndb_multi.result
Normal file
@@ -0,0 +1,55 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
CREATE TABLE t1 (c1 CHAR(15), c2 CHAR(15), c3 INT, PRIMARY KEY (c3)) ENGINE = NDB ;
|
||||
reset master;
|
||||
SHOW TABLES;
|
||||
Tables_in_test
|
||||
t1
|
||||
INSERT INTO t1 VALUES ("row1","will go away",1);
|
||||
SELECT * FROM t1 ORDER BY c3;
|
||||
c1 c2 c3
|
||||
row1 will go away 1
|
||||
SELECT * FROM t1 ORDER BY c3;
|
||||
c1 c2 c3
|
||||
row1 will go away 1
|
||||
SELECT @the_epoch:=MAX(epoch) FROM cluster_replication.apply_status;
|
||||
@the_epoch:=MAX(epoch)
|
||||
<the_epoch>
|
||||
SELECT * FROM t1 ORDER BY c3;
|
||||
c1 c2 c3
|
||||
row1 will go away 1
|
||||
stop slave;
|
||||
SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1)
|
||||
FROM cluster_replication.binlog_index WHERE epoch = <the_epoch> ;
|
||||
@the_pos:=Position @the_file:=SUBSTRING_INDEX(FILE, '/', -1)
|
||||
102 master-bin1.000001
|
||||
CHANGE MASTER TO
|
||||
master_port=<MASTER_PORT1>,
|
||||
master_log_file = 'master-bin1.000001',
|
||||
master_log_pos = 102 ;
|
||||
start slave;
|
||||
INSERT INTO t1 VALUES ("row2","will go away",2),("row3","will change",3),("row4","D",4);
|
||||
DELETE FROM t1 WHERE c3 = 1;
|
||||
UPDATE t1 SET c2="should go away" WHERE c3 = 2;
|
||||
UPDATE t1 SET c2="C" WHERE c3 = 3;
|
||||
DELETE FROM t1 WHERE c3 = 2;
|
||||
SELECT * FROM t1 ORDER BY c3;
|
||||
c1 c2 c3
|
||||
row3 C 3
|
||||
row4 D 4
|
||||
INSERT INTO t1 VALUES ("row5","E",5);
|
||||
SELECT * FROM t1 ORDER BY c3;
|
||||
c1 c2 c3
|
||||
row3 C 3
|
||||
row4 D 4
|
||||
row5 E 5
|
||||
SELECT * FROM t1 ORDER BY c3;
|
||||
c1 c2 c3
|
||||
row3 C 3
|
||||
row4 D 4
|
||||
row5 E 5
|
||||
STOP SLAVE;
|
||||
95
mysql-test/r/rpl_ndb_sync.result
Normal file
95
mysql-test/r/rpl_ndb_sync.result
Normal file
@@ -0,0 +1,95 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
STOP SLAVE;
|
||||
CREATE DATABASE ndbsynctest;
|
||||
USE ndbsynctest;
|
||||
CREATE DATABASE ndbsynctest;
|
||||
USE ndbsynctest;
|
||||
CREATE TABLE t1 (c1 BIT(1) NOT NULL, c2 BIT(1) NOT NULL, c3 CHAR(15), PRIMARY KEY(c3)) ENGINE = NDB ;
|
||||
INSERT INTO t1 VALUES (1,1,"row1"),(0,1,"row2"),(1,0,"row3"),(0,0,"row4");
|
||||
CREATE TABLE t2 (c1 CHAR(15), c2 BIT(1) NOT NULL, c3 BIT(1) NOT NULL, PRIMARY KEY(c1)) ENGINE = NDB ;
|
||||
INSERT INTO t2 VALUES ("ABC",1,1),("BCDEF",0,1),("CD",1,0),("DEFGHIJKL",0,0);
|
||||
SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
|
||||
hex(c1) hex(c2) c3
|
||||
1 1 row1
|
||||
0 1 row2
|
||||
1 0 row3
|
||||
0 0 row4
|
||||
SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1;
|
||||
hex(c2) hex(c3) c1
|
||||
1 1 ABC
|
||||
0 1 BCDEF
|
||||
1 0 CD
|
||||
0 0 DEFGHIJKL
|
||||
CREATE TABLE IF NOT EXISTS cluster_replication.backup_info (id INT, backup_id INT);
|
||||
DELETE FROM cluster_replication.backup_info;
|
||||
LOAD DATA INFILE '../../var/tmp.dat' INTO TABLE cluster_replication.backup_info FIELDS TERMINATED BY ',';
|
||||
SELECT @the_backup_id:=backup_id FROM cluster_replication.backup_info;
|
||||
@the_backup_id:=backup_id
|
||||
<the_backup_id>
|
||||
UPDATE t1 SET c2=0 WHERE c3="row2";
|
||||
SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
|
||||
hex(c1) hex(c2) c3
|
||||
1 1 row1
|
||||
0 0 row2
|
||||
1 0 row3
|
||||
0 0 row4
|
||||
SHOW TABLES;
|
||||
Tables_in_ndbsynctest
|
||||
DROP DATABASE ndbsynctest;
|
||||
CREATE DATABASE ndbsynctest;
|
||||
USE ndbsynctest;
|
||||
SHOW TABLES;
|
||||
Tables_in_ndbsynctest
|
||||
t1
|
||||
t2
|
||||
SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
|
||||
hex(c1) hex(c2) c3
|
||||
1 1 row1
|
||||
0 1 row2
|
||||
1 0 row3
|
||||
0 0 row4
|
||||
SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1;
|
||||
hex(c2) hex(c3) c1
|
||||
1 1 ABC
|
||||
0 1 BCDEF
|
||||
1 0 CD
|
||||
0 0 DEFGHIJKL
|
||||
SELECT @the_epoch:=MAX(epoch) FROM cluster_replication.apply_status;
|
||||
@the_epoch:=MAX(epoch)
|
||||
<the_epoch>
|
||||
SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1)
|
||||
FROM cluster_replication.binlog_index WHERE epoch > <the_epoch> ORDER BY epoch ASC LIMIT 1;
|
||||
@the_pos:=Position @the_file:=SUBSTRING_INDEX(FILE, '/', -1)
|
||||
<the_pos> master-bin.000001
|
||||
CHANGE MASTER TO
|
||||
master_log_file = 'master-bin.000001',
|
||||
master_log_pos = <the_pos> ;
|
||||
START SLAVE;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
||||
<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
|
||||
SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
|
||||
hex(c1) hex(c2) c3
|
||||
1 1 row1
|
||||
0 0 row2
|
||||
1 0 row3
|
||||
0 0 row4
|
||||
SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1;
|
||||
hex(c2) hex(c3) c1
|
||||
1 1 ABC
|
||||
0 1 BCDEF
|
||||
1 0 CD
|
||||
0 0 DEFGHIJKL
|
||||
DROP DATABASE ndbsynctest;
|
||||
STOP SLAVE;
|
||||
reset master;
|
||||
select * from cluster_replication.binlog_index;
|
||||
Position File epoch inserts updates deletes schemaops
|
||||
reset slave;
|
||||
select * from cluster_replication.apply_status;
|
||||
server_id epoch
|
||||
@@ -9,6 +9,7 @@ CREATE DATABASE test_ignore;
|
||||
SHOW DATABASES;
|
||||
Database
|
||||
information_schema
|
||||
cluster_replication
|
||||
mysql
|
||||
test
|
||||
test_ignore
|
||||
@@ -33,6 +34,7 @@ master-bin.000001 235 Write_rows 1 282
|
||||
SHOW DATABASES;
|
||||
Database
|
||||
information_schema
|
||||
cluster_replication
|
||||
mysql
|
||||
test
|
||||
USE test;
|
||||
|
||||
426
mysql-test/r/rpl_row_basic_7ndb.result
Normal file
426
mysql-test/r/rpl_row_basic_7ndb.result
Normal file
@@ -0,0 +1,426 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
CREATE TABLE t1 (C1 CHAR(1), C2 CHAR(1), INDEX (C1)) ENGINE = 'NDB' ;
|
||||
SELECT * FROM t1;
|
||||
C1 C2
|
||||
SELECT * FROM t1;
|
||||
C1 C2
|
||||
INSERT INTO t1 VALUES ('A','B'), ('X','Y'), ('X','X');
|
||||
INSERT INTO t1 VALUES ('A','C'), ('X','Z'), ('A','A');
|
||||
SELECT * FROM t1 ORDER BY C1,C2;
|
||||
C1 C2
|
||||
A A
|
||||
A B
|
||||
A C
|
||||
X X
|
||||
X Y
|
||||
X Z
|
||||
SELECT * FROM t1 ORDER BY C1,C2;
|
||||
C1 C2
|
||||
A A
|
||||
A B
|
||||
A C
|
||||
X X
|
||||
X Y
|
||||
X Z
|
||||
DELETE FROM t1 WHERE C1 = C2;
|
||||
SELECT * FROM t1 ORDER BY C1,C2;
|
||||
C1 C2
|
||||
A B
|
||||
A C
|
||||
X Y
|
||||
X Z
|
||||
SELECT * FROM t1 ORDER BY C1,C2;
|
||||
C1 C2
|
||||
A B
|
||||
A C
|
||||
X Y
|
||||
X Z
|
||||
UPDATE t1 SET C2 = 'I' WHERE C1 = 'A' AND C2 = 'C';
|
||||
SELECT * FROM t1 ORDER BY C1,C2;
|
||||
C1 C2
|
||||
A B
|
||||
A I
|
||||
X Y
|
||||
X Z
|
||||
SELECT * FROM t1 ORDER BY C1,C2;
|
||||
C1 C2
|
||||
A B
|
||||
A I
|
||||
X Y
|
||||
X Z
|
||||
UPDATE t1 SET c2 = 'Q' WHERE c1 = 'A' AND c2 = 'N';
|
||||
SELECT * FROM t1 ORDER BY c1,c2;
|
||||
C1 C2
|
||||
A B
|
||||
A I
|
||||
X Y
|
||||
X Z
|
||||
SELECT * FROM t1 ORDER BY c1,c2;
|
||||
C1 C2
|
||||
A B
|
||||
A I
|
||||
X Y
|
||||
X Z
|
||||
CREATE TABLE t2 (c1 INT, c12 char(1), c2 INT, PRIMARY KEY (c1)) ENGINE = 'NDB' ;
|
||||
INSERT INTO t2
|
||||
VALUES (1,'A',2), (2,'A',4), (3,'A',9), (4,'A',15), (5,'A',25),
|
||||
(6,'A',35), (7,'A',50), (8,'A',64), (9,'A',81);
|
||||
SELECT * FROM t2 ORDER BY c1,c2;
|
||||
c1 c12 c2
|
||||
1 A 2
|
||||
2 A 4
|
||||
3 A 9
|
||||
4 A 15
|
||||
5 A 25
|
||||
6 A 35
|
||||
7 A 50
|
||||
8 A 64
|
||||
9 A 81
|
||||
SELECT * FROM t2 WHERE c2 = c1 * c1 ORDER BY c1,c2;
|
||||
c1 c12 c2
|
||||
2 A 4
|
||||
3 A 9
|
||||
5 A 25
|
||||
8 A 64
|
||||
9 A 81
|
||||
SELECT * FROM t2 ORDER BY c1,c2;
|
||||
c1 c12 c2
|
||||
1 A 2
|
||||
2 A 4
|
||||
3 A 9
|
||||
4 A 15
|
||||
5 A 25
|
||||
6 A 35
|
||||
7 A 50
|
||||
8 A 64
|
||||
9 A 81
|
||||
SELECT * FROM t2 WHERE c2 = c1 * c1 ORDER BY c1,c2;
|
||||
c1 c12 c2
|
||||
2 A 4
|
||||
3 A 9
|
||||
5 A 25
|
||||
8 A 64
|
||||
9 A 81
|
||||
UPDATE t2 SET c2 = c1*c1 WHERE c2 != c1*c1;
|
||||
SELECT * FROM t2 WHERE c2 = c1 * c1 ORDER BY c1,c2;
|
||||
c1 c12 c2
|
||||
1 A 1
|
||||
2 A 4
|
||||
3 A 9
|
||||
4 A 16
|
||||
5 A 25
|
||||
6 A 36
|
||||
7 A 49
|
||||
8 A 64
|
||||
9 A 81
|
||||
SELECT * FROM t2 WHERE c2 = c1 * c1 ORDER BY c1,c2;
|
||||
c1 c12 c2
|
||||
1 A 1
|
||||
2 A 4
|
||||
3 A 9
|
||||
4 A 16
|
||||
5 A 25
|
||||
6 A 36
|
||||
7 A 49
|
||||
8 A 64
|
||||
9 A 81
|
||||
UPDATE t2 SET c12 = 'Q' WHERE c1 = 1 AND c2 = 999;
|
||||
SELECT * FROM t2 ORDER BY c1,c2;
|
||||
c1 c12 c2
|
||||
1 A 1
|
||||
2 A 4
|
||||
3 A 9
|
||||
4 A 16
|
||||
5 A 25
|
||||
6 A 36
|
||||
7 A 49
|
||||
8 A 64
|
||||
9 A 81
|
||||
SELECT * FROM t2 ORDER BY c1,c2;
|
||||
c1 c12 c2
|
||||
1 A 1
|
||||
2 A 4
|
||||
3 A 9
|
||||
4 A 16
|
||||
5 A 25
|
||||
6 A 36
|
||||
7 A 49
|
||||
8 A 64
|
||||
9 A 81
|
||||
DELETE FROM t2 WHERE c1 % 4 = 0;
|
||||
SELECT * FROM t2 ORDER BY c1,c2;
|
||||
c1 c12 c2
|
||||
1 A 1
|
||||
2 A 4
|
||||
3 A 9
|
||||
5 A 25
|
||||
6 A 36
|
||||
7 A 49
|
||||
9 A 81
|
||||
SELECT * FROM t2 ORDER BY c1,c2;
|
||||
c1 c12 c2
|
||||
1 A 1
|
||||
2 A 4
|
||||
3 A 9
|
||||
5 A 25
|
||||
6 A 36
|
||||
7 A 49
|
||||
9 A 81
|
||||
UPDATE t2 SET c12='X';
|
||||
CREATE TABLE t3 (C1 CHAR(1), C2 CHAR(1), pk1 INT, C3 CHAR(1), pk2 INT, PRIMARY KEY (pk1,pk2)) ENGINE = 'NDB' ;
|
||||
INSERT INTO t3 VALUES ('A','B',1,'B',1), ('X','Y',2,'B',1), ('X','X',3,'B',1);
|
||||
INSERT INTO t3 VALUES ('A','C',1,'B',2), ('X','Z',2,'B',2), ('A','A',3,'B',2);
|
||||
SELECT * FROM t3 ORDER BY C1,C2;
|
||||
C1 C2 pk1 C3 pk2
|
||||
A A 3 B 2
|
||||
A B 1 B 1
|
||||
A C 1 B 2
|
||||
X X 3 B 1
|
||||
X Y 2 B 1
|
||||
X Z 2 B 2
|
||||
SELECT * FROM t3 ORDER BY C1,C2;
|
||||
C1 C2 pk1 C3 pk2
|
||||
A A 3 B 2
|
||||
A B 1 B 1
|
||||
A C 1 B 2
|
||||
X X 3 B 1
|
||||
X Y 2 B 1
|
||||
X Z 2 B 2
|
||||
DELETE FROM t3 WHERE C1 = C2;
|
||||
SELECT * FROM t3 ORDER BY C1,C2;
|
||||
C1 C2 pk1 C3 pk2
|
||||
A B 1 B 1
|
||||
A C 1 B 2
|
||||
X Y 2 B 1
|
||||
X Z 2 B 2
|
||||
SELECT * FROM t3 ORDER BY C1,C2;
|
||||
C1 C2 pk1 C3 pk2
|
||||
A B 1 B 1
|
||||
A C 1 B 2
|
||||
X Y 2 B 1
|
||||
X Z 2 B 2
|
||||
UPDATE t3 SET C2 = 'I' WHERE C1 = 'A' AND C2 = 'C';
|
||||
SELECT * FROM t3 ORDER BY C1,C2;
|
||||
C1 C2 pk1 C3 pk2
|
||||
A B 1 B 1
|
||||
A I 1 B 2
|
||||
X Y 2 B 1
|
||||
X Z 2 B 2
|
||||
SELECT * FROM t3 ORDER BY C1,C2;
|
||||
C1 C2 pk1 C3 pk2
|
||||
A B 1 B 1
|
||||
A I 1 B 2
|
||||
X Y 2 B 1
|
||||
X Z 2 B 2
|
||||
CREATE TABLE t6 (C1 CHAR(1), C2 CHAR(1), C3 INT) ENGINE = 'NDB' ;
|
||||
INSERT INTO t6 VALUES ('A','B',1), ('X','Y',2), ('X','X',3);
|
||||
INSERT INTO t6 VALUES ('A','C',4), ('X','Z',5), ('A','A',6);
|
||||
SELECT * FROM t6 ORDER BY C3;
|
||||
C1 C2 C3
|
||||
A B 1
|
||||
X Y 2
|
||||
X X 3
|
||||
A C 4
|
||||
X Z 5
|
||||
A A 6
|
||||
SELECT * FROM t6 ORDER BY C3;
|
||||
C1 C2 C3
|
||||
A B 1
|
||||
X Y 2
|
||||
X X 3
|
||||
A C 4
|
||||
X Z 5
|
||||
A A 6
|
||||
DELETE FROM t6 WHERE C1 = C2;
|
||||
SELECT * FROM t6 ORDER BY C3;
|
||||
C1 C2 C3
|
||||
A B 1
|
||||
X Y 2
|
||||
A C 4
|
||||
X Z 5
|
||||
SELECT * FROM t6 ORDER BY C3;
|
||||
C1 C2 C3
|
||||
A B 1
|
||||
X Y 2
|
||||
A C 4
|
||||
X Z 5
|
||||
UPDATE t6 SET C2 = 'I' WHERE C1 = 'A' AND C2 = 'C';
|
||||
SELECT * FROM t6 ORDER BY C3;
|
||||
C1 C2 C3
|
||||
A B 1
|
||||
X Y 2
|
||||
A I 4
|
||||
X Z 5
|
||||
SELECT * FROM t6 ORDER BY C3;
|
||||
C1 C2 C3
|
||||
A B 1
|
||||
X Y 2
|
||||
A I 4
|
||||
X Z 5
|
||||
CREATE TABLE t5 (C1 CHAR(1), C2 CHAR(1), C3 INT PRIMARY KEY) ENGINE = 'NDB' ;
|
||||
INSERT INTO t5 VALUES ('A','B',1), ('X','Y',2), ('X','X',3);
|
||||
INSERT INTO t5 VALUES ('A','C',4), ('X','Z',5), ('A','A',6);
|
||||
UPDATE t5,t2,t3 SET t5.C2='Q', t2.c12='R', t3.C3 ='S' WHERE t5.C1 = t2.c12 AND t5.C1 = t3.C1;
|
||||
SELECT * FROM t5,t2,t3 WHERE t5.C2='Q' AND t2.c12='R' AND t3.C3 ='S' ORDER BY t5.C3,t2.c1,t3.pk1,t3.pk2;
|
||||
C1 C2 C3 c1 c12 c2 C1 C2 pk1 C3 pk2
|
||||
X Q 2 1 R 1 X Y 2 S 1
|
||||
X Q 2 1 R 1 X Z 2 S 2
|
||||
X Q 2 2 R 4 X Y 2 S 1
|
||||
X Q 2 2 R 4 X Z 2 S 2
|
||||
X Q 2 3 R 9 X Y 2 S 1
|
||||
X Q 2 3 R 9 X Z 2 S 2
|
||||
X Q 2 5 R 25 X Y 2 S 1
|
||||
X Q 2 5 R 25 X Z 2 S 2
|
||||
X Q 2 6 R 36 X Y 2 S 1
|
||||
X Q 2 6 R 36 X Z 2 S 2
|
||||
X Q 2 7 R 49 X Y 2 S 1
|
||||
X Q 2 7 R 49 X Z 2 S 2
|
||||
X Q 2 9 R 81 X Y 2 S 1
|
||||
X Q 2 9 R 81 X Z 2 S 2
|
||||
X Q 3 1 R 1 X Y 2 S 1
|
||||
X Q 3 1 R 1 X Z 2 S 2
|
||||
X Q 3 2 R 4 X Y 2 S 1
|
||||
X Q 3 2 R 4 X Z 2 S 2
|
||||
X Q 3 3 R 9 X Y 2 S 1
|
||||
X Q 3 3 R 9 X Z 2 S 2
|
||||
X Q 3 5 R 25 X Y 2 S 1
|
||||
X Q 3 5 R 25 X Z 2 S 2
|
||||
X Q 3 6 R 36 X Y 2 S 1
|
||||
X Q 3 6 R 36 X Z 2 S 2
|
||||
X Q 3 7 R 49 X Y 2 S 1
|
||||
X Q 3 7 R 49 X Z 2 S 2
|
||||
X Q 3 9 R 81 X Y 2 S 1
|
||||
X Q 3 9 R 81 X Z 2 S 2
|
||||
X Q 5 1 R 1 X Y 2 S 1
|
||||
X Q 5 1 R 1 X Z 2 S 2
|
||||
X Q 5 2 R 4 X Y 2 S 1
|
||||
X Q 5 2 R 4 X Z 2 S 2
|
||||
X Q 5 3 R 9 X Y 2 S 1
|
||||
X Q 5 3 R 9 X Z 2 S 2
|
||||
X Q 5 5 R 25 X Y 2 S 1
|
||||
X Q 5 5 R 25 X Z 2 S 2
|
||||
X Q 5 6 R 36 X Y 2 S 1
|
||||
X Q 5 6 R 36 X Z 2 S 2
|
||||
X Q 5 7 R 49 X Y 2 S 1
|
||||
X Q 5 7 R 49 X Z 2 S 2
|
||||
X Q 5 9 R 81 X Y 2 S 1
|
||||
X Q 5 9 R 81 X Z 2 S 2
|
||||
SELECT * FROM t5,t2,t3 WHERE t5.C2='Q' AND t2.c12='R' AND t3.C3 ='S' ORDER BY t5.C3,t2.c1,t3.pk1,t3.pk2;
|
||||
C1 C2 C3 c1 c12 c2 C1 C2 pk1 C3 pk2
|
||||
X Q 2 1 R 1 X Y 2 S 1
|
||||
X Q 2 1 R 1 X Z 2 S 2
|
||||
X Q 2 2 R 4 X Y 2 S 1
|
||||
X Q 2 2 R 4 X Z 2 S 2
|
||||
X Q 2 3 R 9 X Y 2 S 1
|
||||
X Q 2 3 R 9 X Z 2 S 2
|
||||
X Q 2 5 R 25 X Y 2 S 1
|
||||
X Q 2 5 R 25 X Z 2 S 2
|
||||
X Q 2 6 R 36 X Y 2 S 1
|
||||
X Q 2 6 R 36 X Z 2 S 2
|
||||
X Q 2 7 R 49 X Y 2 S 1
|
||||
X Q 2 7 R 49 X Z 2 S 2
|
||||
X Q 2 9 R 81 X Y 2 S 1
|
||||
X Q 2 9 R 81 X Z 2 S 2
|
||||
X Q 3 1 R 1 X Y 2 S 1
|
||||
X Q 3 1 R 1 X Z 2 S 2
|
||||
X Q 3 2 R 4 X Y 2 S 1
|
||||
X Q 3 2 R 4 X Z 2 S 2
|
||||
X Q 3 3 R 9 X Y 2 S 1
|
||||
X Q 3 3 R 9 X Z 2 S 2
|
||||
X Q 3 5 R 25 X Y 2 S 1
|
||||
X Q 3 5 R 25 X Z 2 S 2
|
||||
X Q 3 6 R 36 X Y 2 S 1
|
||||
X Q 3 6 R 36 X Z 2 S 2
|
||||
X Q 3 7 R 49 X Y 2 S 1
|
||||
X Q 3 7 R 49 X Z 2 S 2
|
||||
X Q 3 9 R 81 X Y 2 S 1
|
||||
X Q 3 9 R 81 X Z 2 S 2
|
||||
X Q 5 1 R 1 X Y 2 S 1
|
||||
X Q 5 1 R 1 X Z 2 S 2
|
||||
X Q 5 2 R 4 X Y 2 S 1
|
||||
X Q 5 2 R 4 X Z 2 S 2
|
||||
X Q 5 3 R 9 X Y 2 S 1
|
||||
X Q 5 3 R 9 X Z 2 S 2
|
||||
X Q 5 5 R 25 X Y 2 S 1
|
||||
X Q 5 5 R 25 X Z 2 S 2
|
||||
X Q 5 6 R 36 X Y 2 S 1
|
||||
X Q 5 6 R 36 X Z 2 S 2
|
||||
X Q 5 7 R 49 X Y 2 S 1
|
||||
X Q 5 7 R 49 X Z 2 S 2
|
||||
X Q 5 9 R 81 X Y 2 S 1
|
||||
X Q 5 9 R 81 X Z 2 S 2
|
||||
CREATE TABLE t4 (C1 CHAR(1) PRIMARY KEY, B1 BIT(1), B2 BIT(1) NOT NULL DEFAULT 0, C2 CHAR(1) NOT NULL DEFAULT 'A') ENGINE = 'NDB' ;
|
||||
INSERT INTO t4 SET C1 = 1;
|
||||
SELECT C1,HEX(B1),HEX(B2) FROM t4 ORDER BY C1;
|
||||
C1 HEX(B1) HEX(B2)
|
||||
1 NULL 0
|
||||
SELECT C1,HEX(B1),HEX(B2) FROM t4 ORDER BY C1;
|
||||
C1 HEX(B1) HEX(B2)
|
||||
1 NULL 0
|
||||
CREATE TABLE t7 (C1 INT PRIMARY KEY, C2 INT) ENGINE = 'NDB' ;
|
||||
|
||||
--- on slave: original values ---
|
||||
INSERT INTO t7 VALUES (1,3), (2,6), (3,9);
|
||||
SELECT * FROM t7 ORDER BY C1;
|
||||
C1 C2
|
||||
1 3
|
||||
2 6
|
||||
3 9
|
||||
|
||||
--- on master: new values inserted ---
|
||||
INSERT INTO t7 VALUES (1,2), (2,4), (3,6);
|
||||
SELECT * FROM t7 ORDER BY C1;
|
||||
C1 C2
|
||||
1 2
|
||||
2 4
|
||||
3 6
|
||||
|
||||
--- on slave: old values should be overwritten by replicated values ---
|
||||
SELECT * FROM t7 ORDER BY C1;
|
||||
C1 C2
|
||||
1 2
|
||||
2 4
|
||||
3 6
|
||||
|
||||
--- on master ---
|
||||
DROP TABLE t7;
|
||||
CREATE TABLE t7 (a INT PRIMARY KEY, b INT UNIQUE, c INT UNIQUE) ENGINE = 'NDB' ;
|
||||
INSERT INTO t7 VALUES (99,99,99);
|
||||
INSERT INTO t7 VALUES (99,22,33);
|
||||
ERROR 23000: Duplicate entry '99' for key 1
|
||||
INSERT INTO t7 VALUES (11,99,33);
|
||||
ERROR 23000: Duplicate entry '11' for key 1
|
||||
INSERT INTO t7 VALUES (11,22,99);
|
||||
ERROR 23000: Duplicate entry '11' for key 1
|
||||
SELECT * FROM t7 ORDER BY a;
|
||||
a b c
|
||||
99 99 99
|
||||
|
||||
--- on slave ---
|
||||
SELECT * FROM t7 ORDER BY a;
|
||||
a b c
|
||||
99 99 99
|
||||
INSERT INTO t7 VALUES (1,2,3), (2,4,6), (3,6,9);
|
||||
SELECT * FROM t7 ORDER BY a;
|
||||
a b c
|
||||
1 2 3
|
||||
2 4 6
|
||||
3 6 9
|
||||
99 99 99
|
||||
|
||||
--- on master ---
|
||||
INSERT INTO t7 VALUES (2,4,8);
|
||||
|
||||
--- on slave ---
|
||||
SELECT * FROM t7 ORDER BY a;
|
||||
a b c
|
||||
1 2 3
|
||||
2 4 8
|
||||
3 6 9
|
||||
99 99 99
|
||||
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
|
||||
@@ -6,6 +6,7 @@ foo CREATE DATABASE `foo` /*!40100 DEFAULT CHARACTER SET latin1 */
|
||||
show schemas;
|
||||
Database
|
||||
information_schema
|
||||
cluster_replication
|
||||
foo
|
||||
mysql
|
||||
test
|
||||
|
||||
@@ -53,6 +53,7 @@ Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length I
|
||||
show databases;
|
||||
Database
|
||||
information_schema
|
||||
cluster_replication
|
||||
mysql
|
||||
test
|
||||
show databases like "test%";
|
||||
|
||||
Reference in New Issue
Block a user