154 lines
5.1 KiB
Plaintext
154 lines
5.1 KiB
Plaintext
reset master;
|
|
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 mysql.ndb_binlog_index;
|
|
@max_epoch:=max(epoch)-1
|
|
#
|
|
Warnings:
|
|
# 1287 Setting user variables within expressions is deprecated and will be removed in a future release. Consider alternatives: 'SET variable=expression, ...', or 'SELECT expression(s) INTO variables(s)'.
|
|
delete from t1;
|
|
alter table t1 add (b_x int);
|
|
Warnings:
|
|
Warning 1478 Converted FIXED field 'b_x' to DYNAMIC to enable online ADD COLUMN
|
|
alter table t1 algorithm=inplace, rename column b_x to b;
|
|
include/show_binlog_events.inc
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
binlog.000001 # Query # # use `test`; create table t1 (a int primary key) engine=ndb
|
|
binlog.000001 # Query # # BEGIN
|
|
binlog.000001 # Table_map # # table_id: # (test.t1)
|
|
binlog.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
|
|
binlog.000001 # Write_rows # # table_id: #
|
|
binlog.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
|
binlog.000001 # Query # # COMMIT
|
|
binlog.000001 # Query # # BEGIN
|
|
binlog.000001 # Table_map # # table_id: # (test.t1)
|
|
binlog.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
|
|
binlog.000001 # Write_rows # # table_id: #
|
|
binlog.000001 # Delete_rows # # table_id: # flags: STMT_END_F
|
|
binlog.000001 # Query # # COMMIT
|
|
binlog.000001 # Query # # use `test`; alter table t1 add (b_x int)
|
|
binlog.000001 # Query # # use `test`; alter table t1 algorithm=inplace, rename column b_x to b
|
|
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 mysql.ndb_binlog_index where epoch > @max_epoch and inserts > 5;
|
|
inserts
|
|
10
|
|
select deletes from mysql.ndb_binlog_index where epoch > @max_epoch and deletes > 5;
|
|
deletes
|
|
10
|
|
select inserts,updates,deletes from
|
|
mysql.ndb_binlog_index where epoch > @max_epoch and updates > 0;
|
|
inserts updates deletes
|
|
2 1 1
|
|
flush logs;
|
|
purge master logs before now();
|
|
Warnings:
|
|
Warning 1868 file ./binlog.000002 was not purged because it is the active log file.
|
|
select count(*) from mysql.ndb_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 mysql.ndb_binlog_index;
|
|
@max_epoch:=max(epoch)-1
|
|
#
|
|
Warnings:
|
|
# 1287 Setting user variables within expressions is deprecated and will be removed in a future release. Consider alternatives: 'SET variable=expression, ...', or 'SELECT expression(s) INTO variables(s)'.
|
|
drop table t1;
|
|
drop database mysqltest;
|
|
select inserts,updates,deletes from
|
|
mysql.ndb_binlog_index where epoch > @max_epoch and inserts > 0;
|
|
inserts updates deletes
|
|
2 0 0
|
|
create table t1 (c1 int not null primary key, c2 blob default null) engine=ndbcluster default charset=latin1;
|
|
insert into t1 values (1, null), (2, null), (3, null), (4, null);
|
|
insert into t1 select c1+4,c2 from t1;
|
|
insert into t1 select c1+8,c2 from t1;
|
|
insert into t1 select c1+16,c2 from t1;
|
|
insert into t1 select c1+32,c2 from t1;
|
|
insert into t1 select c1+64,c2 from t1;
|
|
insert into t1 select c1+128,c2 from t1;
|
|
insert into t1 select c1+256,c2 from t1;
|
|
insert into t1 select c1+512,c2 from t1;
|
|
optimize table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 optimize status OK
|
|
drop table t1;
|
|
SET GLOBAL ndb_log_empty_epochs=ON;
|
|
SHOW VARIABLES LIKE 'ndb_log_empty_epochs';
|
|
Variable_name Value
|
|
ndb_log_empty_epochs ON
|
|
create table t1 (c1 int not null primary key, c2 blob default null) engine=ndbcluster default charset=latin1;
|
|
insert into t1 values (1, null);
|
|
show binlog events;
|
|
update t1 set c2=null;
|
|
select * from t1;
|
|
c1 c2
|
|
1 NULL
|
|
show binlog events;
|
|
optimize table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 optimize status OK
|
|
select * from t1;
|
|
c1 c2
|
|
1 NULL
|
|
drop table t1;
|
|
create table t1 (c1 int not null primary key, c2 varchar(1024) default null) engine=ndbcluster default charset=latin1;
|
|
insert into t1 values (3, null);
|
|
select * from t1;
|
|
c1 c2
|
|
3 NULL
|
|
show binlog events;
|
|
optimize table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 optimize status OK
|
|
select * from t1;
|
|
c1 c2
|
|
3 NULL
|
|
drop table t1;
|
|
SET GLOBAL ndb_log_empty_epochs=OFF;
|
|
show binlog events;
|
|
SHOW VARIABLES LIKE 'ndb_log_empty_epochs';
|
|
Variable_name Value
|
|
ndb_log_empty_epochs OFF
|
|
create table t1 (c1 int not null primary key, c2 blob default null) engine=ndbcluster default charset=latin1;
|
|
insert into t1 values (1, null);
|
|
show binlog events;
|
|
update t1 set c2=null;
|
|
select * from t1;
|
|
c1 c2
|
|
1 NULL
|
|
show binlog events;
|
|
optimize table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 optimize status OK
|
|
select * from t1;
|
|
c1 c2
|
|
1 NULL
|
|
drop table t1;
|
|
create table t1 (c1 int not null primary key, c2 varchar(1024) default null) engine=ndbcluster default charset=latin1;
|
|
insert into t1 values (3, null);
|
|
select * from t1;
|
|
c1 c2
|
|
3 NULL
|
|
show binlog events;
|
|
optimize table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 optimize status OK
|
|
select * from t1;
|
|
c1 c2
|
|
3 NULL
|
|
drop table t1;
|
|
SET GLOBAL ndb_log_empty_epochs=OFF;
|
|
show binlog events;
|