Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
89784874
Commit
89784874
authored
Sep 15, 2014
by
Rich Prohaska
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
DB-714 read free replication
parent
3c64729c
Changes
40
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
40 changed files
with
1142 additions
and
44 deletions
+1142
-44
mysql-test/suite/rpl/r/rpl_tokudb_delete_pk.result
mysql-test/suite/rpl/r/rpl_tokudb_delete_pk.result
+17
-0
mysql-test/suite/rpl/r/rpl_tokudb_delete_pk_lookup1.result
mysql-test/suite/rpl/r/rpl_tokudb_delete_pk_lookup1.result
+17
-0
mysql-test/suite/rpl/r/rpl_tokudb_update_pk_uc0_lookup0.result
...-test/suite/rpl/r/rpl_tokudb_update_pk_uc0_lookup0.result
+27
-0
mysql-test/suite/rpl/r/rpl_tokudb_update_pk_uc0_lookup1.result
...-test/suite/rpl/r/rpl_tokudb_update_pk_uc0_lookup1.result
+27
-0
mysql-test/suite/rpl/r/rpl_tokudb_update_pk_uc1_lookup0.result
...-test/suite/rpl/r/rpl_tokudb_update_pk_uc1_lookup0.result
+27
-0
mysql-test/suite/rpl/r/rpl_tokudb_update_pk_uc1_lookup1.result
...-test/suite/rpl/r/rpl_tokudb_update_pk_uc1_lookup1.result
+27
-0
mysql-test/suite/rpl/r/rpl_tokudb_update_unique_uc0_lookup0.result
...t/suite/rpl/r/rpl_tokudb_update_unique_uc0_lookup0.result
+27
-0
mysql-test/suite/rpl/r/rpl_tokudb_update_unique_uc0_lookup1.result
...t/suite/rpl/r/rpl_tokudb_update_unique_uc0_lookup1.result
+27
-0
mysql-test/suite/rpl/r/rpl_tokudb_write_pk.result
mysql-test/suite/rpl/r/rpl_tokudb_write_pk.result
+14
-0
mysql-test/suite/rpl/r/rpl_tokudb_write_pk_uc1.result
mysql-test/suite/rpl/r/rpl_tokudb_write_pk_uc1.result
+14
-0
mysql-test/suite/rpl/r/rpl_tokudb_write_unique.result
mysql-test/suite/rpl/r/rpl_tokudb_write_unique.result
+14
-0
mysql-test/suite/rpl/r/rpl_tokudb_write_unique_uc1.result
mysql-test/suite/rpl/r/rpl_tokudb_write_unique_uc1.result
+14
-0
mysql-test/suite/rpl/t/rpl_tokudb_delete_pk-slave.opt
mysql-test/suite/rpl/t/rpl_tokudb_delete_pk-slave.opt
+1
-0
mysql-test/suite/rpl/t/rpl_tokudb_delete_pk.test
mysql-test/suite/rpl/t/rpl_tokudb_delete_pk.test
+63
-0
mysql-test/suite/rpl/t/rpl_tokudb_delete_pk_lookup1-slave.opt
...l-test/suite/rpl/t/rpl_tokudb_delete_pk_lookup1-slave.opt
+1
-0
mysql-test/suite/rpl/t/rpl_tokudb_delete_pk_lookup1.test
mysql-test/suite/rpl/t/rpl_tokudb_delete_pk_lookup1.test
+66
-0
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc0_lookup0-slave.opt
...st/suite/rpl/t/rpl_tokudb_update_pk_uc0_lookup0-slave.opt
+1
-0
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc0_lookup0.test
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc0_lookup0.test
+70
-0
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc0_lookup1-slave.opt
...st/suite/rpl/t/rpl_tokudb_update_pk_uc0_lookup1-slave.opt
+1
-0
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc0_lookup1.test
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc0_lookup1.test
+70
-0
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc1_lookup0-slave.opt
...st/suite/rpl/t/rpl_tokudb_update_pk_uc1_lookup0-slave.opt
+1
-0
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc1_lookup0.test
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc1_lookup0.test
+70
-0
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc1_lookup1-slave.opt
...st/suite/rpl/t/rpl_tokudb_update_pk_uc1_lookup1-slave.opt
+1
-0
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc1_lookup1.test
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc1_lookup1.test
+70
-0
mysql-test/suite/rpl/t/rpl_tokudb_update_unique_uc0_lookup0-slave.opt
...uite/rpl/t/rpl_tokudb_update_unique_uc0_lookup0-slave.opt
+1
-0
mysql-test/suite/rpl/t/rpl_tokudb_update_unique_uc0_lookup0.test
...est/suite/rpl/t/rpl_tokudb_update_unique_uc0_lookup0.test
+70
-0
mysql-test/suite/rpl/t/rpl_tokudb_update_unique_uc0_lookup1-slave.opt
...uite/rpl/t/rpl_tokudb_update_unique_uc0_lookup1-slave.opt
+1
-0
mysql-test/suite/rpl/t/rpl_tokudb_update_unique_uc0_lookup1.test
...est/suite/rpl/t/rpl_tokudb_update_unique_uc0_lookup1.test
+69
-0
mysql-test/suite/rpl/t/rpl_tokudb_write_pk-slave.opt
mysql-test/suite/rpl/t/rpl_tokudb_write_pk-slave.opt
+1
-0
mysql-test/suite/rpl/t/rpl_tokudb_write_pk.test
mysql-test/suite/rpl/t/rpl_tokudb_write_pk.test
+53
-0
mysql-test/suite/rpl/t/rpl_tokudb_write_pk_uc1-slave.opt
mysql-test/suite/rpl/t/rpl_tokudb_write_pk_uc1-slave.opt
+1
-0
mysql-test/suite/rpl/t/rpl_tokudb_write_pk_uc1.test
mysql-test/suite/rpl/t/rpl_tokudb_write_pk_uc1.test
+53
-0
mysql-test/suite/rpl/t/rpl_tokudb_write_unique-slave.opt
mysql-test/suite/rpl/t/rpl_tokudb_write_unique-slave.opt
+1
-0
mysql-test/suite/rpl/t/rpl_tokudb_write_unique.test
mysql-test/suite/rpl/t/rpl_tokudb_write_unique.test
+52
-0
mysql-test/suite/rpl/t/rpl_tokudb_write_unique_uc1-slave.opt
mysql-test/suite/rpl/t/rpl_tokudb_write_unique_uc1-slave.opt
+1
-0
mysql-test/suite/rpl/t/rpl_tokudb_write_unique_uc1.test
mysql-test/suite/rpl/t/rpl_tokudb_write_unique_uc1.test
+52
-0
storage/tokudb/ha_tokudb.cc
storage/tokudb/ha_tokudb.cc
+86
-40
storage/tokudb/ha_tokudb.h
storage/tokudb/ha_tokudb.h
+13
-0
storage/tokudb/hatoku_hton.cc
storage/tokudb/hatoku_hton.cc
+4
-0
storage/tokudb/hatoku_hton.h
storage/tokudb/hatoku_hton.h
+17
-4
No files found.
mysql-test/suite/rpl/r/rpl_tokudb_delete_pk.result
0 → 100644
View file @
89784874
include/master-slave.inc
[connection master]
drop table if exists t;
create table t (a bigint not null, primary key(a)) engine=tokudb;
insert into t values (1);
insert into t values (2),(3);
insert into t values (4);
include/diff_tables.inc [master:test.t, slave:test.t]
delete from t where a=2;
select unix_timestamp() into @tstart;
select unix_timestamp() into @tend;
select @tend-@tstart <= 5;
@tend-@tstart <= 5
1
include/diff_tables.inc [master:test.t, slave:test.t]
drop table if exists t;
include/rpl_end.inc
mysql-test/suite/rpl/r/rpl_tokudb_delete_pk_lookup1.result
0 → 100644
View file @
89784874
include/master-slave.inc
[connection master]
drop table if exists t;
create table t (a bigint not null, primary key(a)) engine=tokudb;
insert into t values (1);
insert into t values (2),(3);
insert into t values (4);
include/diff_tables.inc [master:test.t, slave:test.t]
delete from t where a=2;
select unix_timestamp() into @tstart;
select unix_timestamp() into @tend;
select @tend-@tstart > 5;
@tend-@tstart > 5
1
include/diff_tables.inc [master:test.t, slave:test.t]
drop table if exists t;
include/rpl_end.inc
mysql-test/suite/rpl/r/rpl_tokudb_update_pk_uc0_lookup0.result
0 → 100644
View file @
89784874
include/master-slave.inc
[connection master]
drop table if exists t;
create table t (a bigint not null, b bigint not null, primary key(a)) engine=tokudb;
insert into t values (1,0);
insert into t values (2,0),(3,0);
insert into t values (4,0);
include/diff_tables.inc [master:test.t, slave:test.t]
update t set b=b+1 where a=2;
update t set b=b+2 where a=1;
update t set b=b+3 where a=4;
update t set b=b+4 where a=3;
update t set b=b+1 where 1<=a and a<=3;
select unix_timestamp() into @tstart;
select unix_timestamp() into @tend;
select @tend-@tstart <= 5;
@tend-@tstart <= 5
1
select * from t;
a b
1 3
2 2
3 5
4 3
include/diff_tables.inc [master:test.t, slave:test.t]
drop table if exists t;
include/rpl_end.inc
mysql-test/suite/rpl/r/rpl_tokudb_update_pk_uc0_lookup1.result
0 → 100644
View file @
89784874
include/master-slave.inc
[connection master]
drop table if exists t;
create table t (a bigint not null, b bigint not null, primary key(a)) engine=tokudb;
insert into t values (1,0);
insert into t values (2,0),(3,0);
insert into t values (4,0);
include/diff_tables.inc [master:test.t, slave:test.t]
update t set b=b+1 where a=2;
update t set b=b+2 where a=1;
update t set b=b+3 where a=4;
update t set b=b+4 where a=3;
update t set b=b+1 where 1<=a and a<=3;
select unix_timestamp() into @tstart;
select unix_timestamp() into @tend;
select @tend-@tstart <= 5;
@tend-@tstart <= 5
0
select * from t;
a b
1 3
2 2
3 5
4 3
include/diff_tables.inc [master:test.t, slave:test.t]
drop table if exists t;
include/rpl_end.inc
mysql-test/suite/rpl/r/rpl_tokudb_update_pk_uc1_lookup0.result
0 → 100644
View file @
89784874
include/master-slave.inc
[connection master]
drop table if exists t;
create table t (a bigint not null, b bigint not null, primary key(a)) engine=tokudb;
insert into t values (1,0);
insert into t values (2,0),(3,0);
insert into t values (4,0);
include/diff_tables.inc [master:test.t, slave:test.t]
update t set b=b+1 where a=2;
update t set b=b+2 where a=1;
update t set b=b+3 where a=4;
update t set b=b+4 where a=3;
update t set b=b+1 where 1<=a and a<=3;
select unix_timestamp() into @tstart;
select unix_timestamp() into @tend;
select @tend-@tstart <= 5;
@tend-@tstart <= 5
0
select * from t;
a b
1 3
2 2
3 5
4 3
include/diff_tables.inc [master:test.t, slave:test.t]
drop table if exists t;
include/rpl_end.inc
mysql-test/suite/rpl/r/rpl_tokudb_update_pk_uc1_lookup1.result
0 → 100644
View file @
89784874
include/master-slave.inc
[connection master]
drop table if exists t;
create table t (a bigint not null, b bigint not null, primary key(a)) engine=tokudb;
insert into t values (1,0);
insert into t values (2,0),(3,0);
insert into t values (4,0);
include/diff_tables.inc [master:test.t, slave:test.t]
update t set b=b+1 where a=2;
update t set b=b+2 where a=1;
update t set b=b+3 where a=4;
update t set b=b+4 where a=3;
update t set b=b+1 where 1<=a and a<=3;
select unix_timestamp() into @tstart;
select unix_timestamp() into @tend;
select @tend-@tstart <= 5;
@tend-@tstart <= 5
0
select * from t;
a b
1 3
2 2
3 5
4 3
include/diff_tables.inc [master:test.t, slave:test.t]
drop table if exists t;
include/rpl_end.inc
mysql-test/suite/rpl/r/rpl_tokudb_update_unique_uc0_lookup0.result
0 → 100644
View file @
89784874
include/master-slave.inc
[connection master]
drop table if exists t;
create table t (a bigint not null, b bigint not null, c bigint not null, primary key(a), unique key(c)) engine=tokudb;
insert into t values (1,0,-1);
insert into t values (2,0,-2),(3,0,-3);
insert into t values (4,0,-4);
include/diff_tables.inc [master:test.t, slave:test.t]
update t set b=b+1 where a=2;
update t set b=b+2 where a=1;
update t set b=b+3 where a=4;
update t set b=b+4 where a=3;
update t set b=b+1 where 1<=a and a<=3;
select unix_timestamp() into @tstart;
select unix_timestamp() into @tend;
select @tend-@tstart <= 5;
@tend-@tstart <= 5
1
select * from t;
a b c
1 3 -1
2 2 -2
3 5 -3
4 3 -4
include/diff_tables.inc [master:test.t, slave:test.t]
drop table if exists t;
include/rpl_end.inc
mysql-test/suite/rpl/r/rpl_tokudb_update_unique_uc0_lookup1.result
0 → 100644
View file @
89784874
include/master-slave.inc
[connection master]
drop table if exists t;
create table t (a bigint not null, b bigint not null, c bigint not null, primary key(a), unique key(c)) engine=tokudb;
insert into t values (1,0,-1);
insert into t values (2,0,-2),(3,0,-3);
insert into t values (4,0,-4);
include/diff_tables.inc [master:test.t, slave:test.t]
update t set b=b+1 where a=2;
update t set b=b+2 where a=1;
update t set b=b+3 where a=4;
update t set b=b+4 where a=3;
update t set b=b+1 where 1<=a and a<=3;
select unix_timestamp() into @tstart;
select unix_timestamp() into @tend;
select @tend-@tstart <= 5;
@tend-@tstart <= 5
0
select * from t;
a b c
1 3 -1
2 2 -2
3 5 -3
4 3 -4
include/diff_tables.inc [master:test.t, slave:test.t]
drop table if exists t;
include/rpl_end.inc
mysql-test/suite/rpl/r/rpl_tokudb_write_pk.result
0 → 100644
View file @
89784874
include/master-slave.inc
[connection master]
drop table if exists t;
create table t (a bigint not null, primary key(a)) engine=tokudb;
select unix_timestamp() into @tstart;
insert into t values (1);
insert into t values (2),(3);
insert into t values (4);
select unix_timestamp()-@tstart <= 10;
unix_timestamp()-@tstart <= 10
1
include/diff_tables.inc [master:test.t, slave:test.t]
drop table if exists t;
include/rpl_end.inc
mysql-test/suite/rpl/r/rpl_tokudb_write_pk_uc1.result
0 → 100644
View file @
89784874
include/master-slave.inc
[connection master]
drop table if exists t;
create table t (a bigint not null, primary key(a)) engine=tokudb;
select unix_timestamp() into @tstart;
insert into t values (1);
insert into t values (2),(3);
insert into t values (4);
select unix_timestamp()-@tstart <= 10;
unix_timestamp()-@tstart <= 10
0
include/diff_tables.inc [master:test.t, slave:test.t]
drop table if exists t;
include/rpl_end.inc
mysql-test/suite/rpl/r/rpl_tokudb_write_unique.result
0 → 100644
View file @
89784874
include/master-slave.inc
[connection master]
drop table if exists t;
create table t (a bigint not null, b bigint not null, primary key(a), unique key(b)) engine=tokudb;
select unix_timestamp() into @tstart;
insert into t values (1,2);
insert into t values (2,3),(3,4);
insert into t values (4,5);
select unix_timestamp()-@tstart <= 10;
unix_timestamp()-@tstart <= 10
1
include/diff_tables.inc [master:test.t, slave:test.t]
drop table if exists t;
include/rpl_end.inc
mysql-test/suite/rpl/r/rpl_tokudb_write_unique_uc1.result
0 → 100644
View file @
89784874
include/master-slave.inc
[connection master]
drop table if exists t;
create table t (a bigint not null, b bigint not null, primary key(a), unique key(b)) engine=tokudb;
select unix_timestamp() into @tstart;
insert into t values (1,2);
insert into t values (2,3),(3,4);
insert into t values (4,5);
select unix_timestamp()-@tstart <= 10;
unix_timestamp()-@tstart <= 10
0
include/diff_tables.inc [master:test.t, slave:test.t]
drop table if exists t;
include/rpl_end.inc
mysql-test/suite/rpl/t/rpl_tokudb_delete_pk-slave.opt
0 → 100644
View file @
89784874
--read-only=ON --tokudb-rpl-unique-checks-delay=10000 --tokudb-rpl-unique-checks=OFF --tokudb-rpl-lookup-rows-delay=10000 --tokudb-rpl-lookup-rows=OFF
mysql-test/suite/rpl/t/rpl_tokudb_delete_pk.test
0 → 100644
View file @
89784874
# test replicated delete rows log events on a table with a primary key.
# the slave is read only with tokudb rpl row lookups OFF.
source
include
/
have_tokudb
.
inc
;
let
$engine
=
tokudb
;
source
include
/
have_binlog_format_row
.
inc
;
source
include
/
master
-
slave
.
inc
;
# initialize
connection
master
;
disable_warnings
;
drop
table
if
exists
t
;
enable_warnings
;
connection
slave
;
# show variables like 'read_only';
# show variables like 'tokudb_rpl_%';
# insert some rows
connection
master
;
# select @@binlog_format;
# select @@autocommit;
eval
create
table
t
(
a
bigint
not
null
,
primary
key
(
a
))
engine
=
$engine
;
# show create table t;
insert
into
t
values
(
1
);
insert
into
t
values
(
2
),(
3
);
insert
into
t
values
(
4
);
# wait for the inserts to finish on the slave
connection
master
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
# diff tables
connection
master
;
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# delete a row
connection
master
;
delete
from
t
where
a
=
2
;
select
unix_timestamp
()
into
@
tstart
;
# wait for the delete to finish on the slave
connection
master
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
connection
master
;
select
unix_timestamp
()
into
@
tend
;
select
@
tend
-@
tstart
<=
5
;
# assert no delay in the delete time
# diff tables
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# cleanup
connection
master
;
drop
table
if
exists
t
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
source
include
/
rpl_end
.
inc
;
mysql-test/suite/rpl/t/rpl_tokudb_delete_pk_lookup1-slave.opt
0 → 100644
View file @
89784874
--read-only=ON --tokudb-rpl-unique-checks-delay=0 --tokudb-rpl-unique-checks=ON --tokudb-rpl-lookup-rows-delay=10000 --tokudb-rpl-lookup-rows=ON
mysql-test/suite/rpl/t/rpl_tokudb_delete_pk_lookup1.test
0 → 100644
View file @
89784874
# test replicated delete rows log events on a table with a primary key.
# the slave is read only with tokudb rpl row lookups ON.
# this will cause SLOW deletes.
source
include
/
have_tokudb
.
inc
;
let
$engine
=
tokudb
;
source
include
/
have_binlog_format_row
.
inc
;
source
include
/
master
-
slave
.
inc
;
# initialize
connection
master
;
disable_warnings
;
drop
table
if
exists
t
;
enable_warnings
;
connection
slave
;
# show variables like 'read_only';
# show variables like 'tokudb_rpl_%';
# insert some rows
connection
master
;
# select @@binlog_format;
# select @@autocommit;
eval
create
table
t
(
a
bigint
not
null
,
primary
key
(
a
))
engine
=
$engine
;
# show create table t;
insert
into
t
values
(
1
);
insert
into
t
values
(
2
),(
3
);
insert
into
t
values
(
4
);
# wait for the inserts to finish on the slave
connection
master
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
# diff tables
connection
master
;
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# delete a row
connection
master
;
delete
from
t
where
a
=
2
;
select
unix_timestamp
()
into
@
tstart
;
# wait for the delete to finish on the slave
connection
master
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
connection
master
;
select
unix_timestamp
()
into
@
tend
;
select
@
tend
-@
tstart
>
5
;
# assert big delay in the delete time
# diff tables
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# cleanup
connection
master
;
drop
table
if
exists
t
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
source
include
/
rpl_end
.
inc
;
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc0_lookup0-slave.opt
0 → 100644
View file @
89784874
--read-only=ON --tokudb-rpl-unique-checks-delay=10000 --tokudb-rpl-unique-checks=OFF --tokudb-rpl-lookup-rows-delay=10000 --tokudb-rpl-lookup-rows=OFF
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc0_lookup0.test
0 → 100644
View file @
89784874
# test replicated update rows log events on a table with a primary key.
source
include
/
have_tokudb
.
inc
;
let
$engine
=
tokudb
;
source
include
/
have_binlog_format_row
.
inc
;
source
include
/
master
-
slave
.
inc
;
# initialize
connection
master
;
disable_warnings
;
drop
table
if
exists
t
;
enable_warnings
;
connection
slave
;
# show variables like 'read_only';
# show variables like 'tokudb_rpl_%';
# insert some rows
connection
master
;
# select @@binlog_format;
# select @@autocommit;
eval
create
table
t
(
a
bigint
not
null
,
b
bigint
not
null
,
primary
key
(
a
))
engine
=
$engine
;
# show create table t;
insert
into
t
values
(
1
,
0
);
insert
into
t
values
(
2
,
0
),(
3
,
0
);
insert
into
t
values
(
4
,
0
);
# wait for the inserts to finish on the slave
connection
master
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
# diff tables
connection
master
;
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# delete a row
connection
master
;
update
t
set
b
=
b
+
1
where
a
=
2
;
update
t
set
b
=
b
+
2
where
a
=
1
;
update
t
set
b
=
b
+
3
where
a
=
4
;
update
t
set
b
=
b
+
4
where
a
=
3
;
update
t
set
b
=
b
+
1
where
1
<=
a
and
a
<=
3
;
select
unix_timestamp
()
into
@
tstart
;
# wait for the delete to finish on the slave
connection
master
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
connection
master
;
select
unix_timestamp
()
into
@
tend
;
select
@
tend
-@
tstart
<=
5
;
# assert no delay in the delete time
connection
slave
;
select
*
from
t
;
# diff tables
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# cleanup
connection
master
;
drop
table
if
exists
t
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
source
include
/
rpl_end
.
inc
;
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc0_lookup1-slave.opt
0 → 100644
View file @
89784874
--read-only=ON --tokudb-rpl-unique-checks-delay=10000 --tokudb-rpl-unique-checks=OFF --tokudb-rpl-lookup-rows-delay=10000 --tokudb-rpl-lookup-rows=ON
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc0_lookup1.test
0 → 100644
View file @
89784874
# test replicated update rows log events on a table with a primary key.
source
include
/
have_tokudb
.
inc
;
let
$engine
=
tokudb
;
source
include
/
have_binlog_format_row
.
inc
;
source
include
/
master
-
slave
.
inc
;
# initialize
connection
master
;
disable_warnings
;
drop
table
if
exists
t
;
enable_warnings
;
connection
slave
;
# show variables like 'read_only';
# show variables like 'tokudb_rpl_%';
# insert some rows
connection
master
;
# select @@binlog_format;
# select @@autocommit;
eval
create
table
t
(
a
bigint
not
null
,
b
bigint
not
null
,
primary
key
(
a
))
engine
=
$engine
;
# show create table t;
insert
into
t
values
(
1
,
0
);
insert
into
t
values
(
2
,
0
),(
3
,
0
);
insert
into
t
values
(
4
,
0
);
# wait for the inserts to finish on the slave
connection
master
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
# diff tables
connection
master
;
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# delete a row
connection
master
;
update
t
set
b
=
b
+
1
where
a
=
2
;
update
t
set
b
=
b
+
2
where
a
=
1
;
update
t
set
b
=
b
+
3
where
a
=
4
;
update
t
set
b
=
b
+
4
where
a
=
3
;
update
t
set
b
=
b
+
1
where
1
<=
a
and
a
<=
3
;
select
unix_timestamp
()
into
@
tstart
;
# wait for the delete to finish on the slave
connection
master
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
connection
master
;
select
unix_timestamp
()
into
@
tend
;
select
@
tend
-@
tstart
<=
5
;
# assert no delay in the delete time
connection
slave
;
select
*
from
t
;
# diff tables
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# cleanup
connection
master
;
drop
table
if
exists
t
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
source
include
/
rpl_end
.
inc
;
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc1_lookup0-slave.opt
0 → 100644
View file @
89784874
--read-only=ON --tokudb-rpl-unique-checks-delay=10000 --tokudb-rpl-unique-checks=ON --tokudb-rpl-lookup-rows-delay=10000 --tokudb-rpl-lookup-rows=OFF
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc1_lookup0.test
0 → 100644
View file @
89784874
# test replicated update rows log events on a table with a primary key.
source
include
/
have_tokudb
.
inc
;
let
$engine
=
tokudb
;
source
include
/
have_binlog_format_row
.
inc
;
source
include
/
master
-
slave
.
inc
;
# initialize
connection
master
;
disable_warnings
;
drop
table
if
exists
t
;
enable_warnings
;
connection
slave
;
# show variables like 'read_only';
# show variables like 'tokudb_rpl_%';
# insert some rows
connection
master
;
# select @@binlog_format;
# select @@autocommit;
eval
create
table
t
(
a
bigint
not
null
,
b
bigint
not
null
,
primary
key
(
a
))
engine
=
$engine
;
# show create table t;
insert
into
t
values
(
1
,
0
);
insert
into
t
values
(
2
,
0
),(
3
,
0
);
insert
into
t
values
(
4
,
0
);
# wait for the inserts to finish on the slave
connection
master
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
# diff tables
connection
master
;
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# delete a row
connection
master
;
update
t
set
b
=
b
+
1
where
a
=
2
;
update
t
set
b
=
b
+
2
where
a
=
1
;
update
t
set
b
=
b
+
3
where
a
=
4
;
update
t
set
b
=
b
+
4
where
a
=
3
;
update
t
set
b
=
b
+
1
where
1
<=
a
and
a
<=
3
;
select
unix_timestamp
()
into
@
tstart
;
# wait for the delete to finish on the slave
connection
master
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
connection
master
;
select
unix_timestamp
()
into
@
tend
;
select
@
tend
-@
tstart
<=
5
;
# assert no delay in the delete time
connection
slave
;
select
*
from
t
;
# diff tables
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# cleanup
connection
master
;
drop
table
if
exists
t
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
source
include
/
rpl_end
.
inc
;
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc1_lookup1-slave.opt
0 → 100644
View file @
89784874
--read-only=ON --tokudb-rpl-unique-checks-delay=10000 --tokudb-rpl-unique-checks=ON --tokudb-rpl-lookup-rows-delay=10000 --tokudb-rpl-lookup-rows=ON
mysql-test/suite/rpl/t/rpl_tokudb_update_pk_uc1_lookup1.test
0 → 100644
View file @
89784874
# test replicated update rows log events on a table with a primary key.
source
include
/
have_tokudb
.
inc
;
let
$engine
=
tokudb
;
source
include
/
have_binlog_format_row
.
inc
;
source
include
/
master
-
slave
.
inc
;
# initialize
connection
master
;
disable_warnings
;
drop
table
if
exists
t
;
enable_warnings
;
connection
slave
;
# show variables like 'read_only';
# show variables like 'tokudb_rpl_%';
# insert some rows
connection
master
;
# select @@binlog_format;
# select @@autocommit;
eval
create
table
t
(
a
bigint
not
null
,
b
bigint
not
null
,
primary
key
(
a
))
engine
=
$engine
;
# show create table t;
insert
into
t
values
(
1
,
0
);
insert
into
t
values
(
2
,
0
),(
3
,
0
);
insert
into
t
values
(
4
,
0
);
# wait for the inserts to finish on the slave
connection
master
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
# diff tables
connection
master
;
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# delete a row
connection
master
;
update
t
set
b
=
b
+
1
where
a
=
2
;
update
t
set
b
=
b
+
2
where
a
=
1
;
update
t
set
b
=
b
+
3
where
a
=
4
;
update
t
set
b
=
b
+
4
where
a
=
3
;
update
t
set
b
=
b
+
1
where
1
<=
a
and
a
<=
3
;
select
unix_timestamp
()
into
@
tstart
;
# wait for the delete to finish on the slave
connection
master
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
connection
master
;
select
unix_timestamp
()
into
@
tend
;
select
@
tend
-@
tstart
<=
5
;
# assert no delay in the delete time
connection
slave
;
select
*
from
t
;
# diff tables
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# cleanup
connection
master
;
drop
table
if
exists
t
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
source
include
/
rpl_end
.
inc
;
mysql-test/suite/rpl/t/rpl_tokudb_update_unique_uc0_lookup0-slave.opt
0 → 100644
View file @
89784874
--read-only=ON --tokudb-rpl-unique-checks-delay=10000 --tokudb-rpl-unique-checks=OFF --tokudb-rpl-lookup-rows-delay=10000 --tokudb-rpl-lookup-rows=OFF
mysql-test/suite/rpl/t/rpl_tokudb_update_unique_uc0_lookup0.test
0 → 100644
View file @
89784874
# test replicated update rows log events on a table with a primary key.
source
include
/
have_tokudb
.
inc
;
let
$engine
=
tokudb
;
source
include
/
have_binlog_format_row
.
inc
;
source
include
/
master
-
slave
.
inc
;
# initialize
connection
master
;
disable_warnings
;
drop
table
if
exists
t
;
enable_warnings
;
connection
slave
;
# show variables like 'read_only';
# show variables like 'tokudb_rpl_%';
# insert some rows
connection
master
;
# select @@binlog_format;
# select @@autocommit;
eval
create
table
t
(
a
bigint
not
null
,
b
bigint
not
null
,
c
bigint
not
null
,
primary
key
(
a
),
unique
key
(
c
))
engine
=
$engine
;
# show create table t;
insert
into
t
values
(
1
,
0
,
-
1
);
insert
into
t
values
(
2
,
0
,
-
2
),(
3
,
0
,
-
3
);
insert
into
t
values
(
4
,
0
,
-
4
);
# wait for the inserts to finish on the slave
connection
master
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
# diff tables
connection
master
;
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# delete a row
connection
master
;
update
t
set
b
=
b
+
1
where
a
=
2
;
update
t
set
b
=
b
+
2
where
a
=
1
;
update
t
set
b
=
b
+
3
where
a
=
4
;
update
t
set
b
=
b
+
4
where
a
=
3
;
update
t
set
b
=
b
+
1
where
1
<=
a
and
a
<=
3
;
select
unix_timestamp
()
into
@
tstart
;
# wait for the delete to finish on the slave
connection
master
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
connection
master
;
select
unix_timestamp
()
into
@
tend
;
select
@
tend
-@
tstart
<=
5
;
# assert no delay in the delete time
connection
slave
;
select
*
from
t
;
# diff tables
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# cleanup
connection
master
;
drop
table
if
exists
t
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
source
include
/
rpl_end
.
inc
;
mysql-test/suite/rpl/t/rpl_tokudb_update_unique_uc0_lookup1-slave.opt
0 → 100644
View file @
89784874
--read-only=ON --tokudb-rpl-unique-checks-delay=10000 --tokudb-rpl-unique-checks=OFF --tokudb-rpl-lookup-rows-delay=10000 --tokudb-rpl-lookup-rows=ON
mysql-test/suite/rpl/t/rpl_tokudb_update_unique_uc0_lookup1.test
0 → 100644
View file @
89784874
# test replicated update rows log events on a table with a primary key.
source
include
/
have_tokudb
.
inc
;
let
$engine
=
tokudb
;
source
include
/
have_binlog_format_row
.
inc
;
source
include
/
master
-
slave
.
inc
;
# initialize
connection
master
;
disable_warnings
;
drop
table
if
exists
t
;
enable_warnings
;
connection
slave
;
# show variables like 'read_only';
# show variables like 'tokudb_rpl_%';
# insert some rows
connection
master
;
# select @@binlog_format;
# select @@autocommit;
eval
create
table
t
(
a
bigint
not
null
,
b
bigint
not
null
,
c
bigint
not
null
,
primary
key
(
a
),
unique
key
(
c
))
engine
=
$engine
;
# show create table t;
insert
into
t
values
(
1
,
0
,
-
1
);
insert
into
t
values
(
2
,
0
,
-
2
),(
3
,
0
,
-
3
);
insert
into
t
values
(
4
,
0
,
-
4
);
# wait for the inserts to finish on the slave
connection
master
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
# diff tables
connection
master
;
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# delete a row
connection
master
;
update
t
set
b
=
b
+
1
where
a
=
2
;
update
t
set
b
=
b
+
2
where
a
=
1
;
update
t
set
b
=
b
+
3
where
a
=
4
;
update
t
set
b
=
b
+
4
where
a
=
3
;
update
t
set
b
=
b
+
1
where
1
<=
a
and
a
<=
3
;
select
unix_timestamp
()
into
@
tstart
;
# wait for the delete to finish on the slave
connection
master
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
connection
master
;
select
unix_timestamp
()
into
@
tend
;
select
@
tend
-@
tstart
<=
5
;
# assert no delay in the delete time
connection
slave
;
select
*
from
t
;
# diff tables
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# cleanup
connection
master
;
drop
table
if
exists
t
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
source
include
/
rpl_end
.
inc
;
mysql-test/suite/rpl/t/rpl_tokudb_write_pk-slave.opt
0 → 100644
View file @
89784874
--read-only=ON --tokudb-rpl-unique-checks-delay=5000 --tokudb-rpl-unique-checks=OFF
mysql-test/suite/rpl/t/rpl_tokudb_write_pk.test
0 → 100644
View file @
89784874
# test replicated write rows log events on a table with a primary key.
# the slave is read only with tokudb unique checks disabled.
source
include
/
have_tokudb
.
inc
;
let
$engine
=
tokudb
;
source
include
/
have_binlog_format_row
.
inc
;
source
include
/
master
-
slave
.
inc
;
# initialize
connection
master
;
disable_warnings
;
drop
table
if
exists
t
;
enable_warnings
;
connection
slave
;
# show variables like 'read_only';
# show variables like 'tokudb_rpl_unique_checks%';
# insert some rows
connection
master
;
# select @@binlog_format;
# select @@autocommit;
eval
create
table
t
(
a
bigint
not
null
,
primary
key
(
a
))
engine
=
$engine
;
# show create table t;
select
unix_timestamp
()
into
@
tstart
;
insert
into
t
values
(
1
);
insert
into
t
values
(
2
),(
3
);
insert
into
t
values
(
4
);
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
connection
master
;
select
unix_timestamp
()
-@
tstart
<=
10
;
connection
slave
;
# insert into t values (5); # test read-only
# show create table t;
# diff tables
connection
master
;
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# cleanup
connection
master
;
drop
table
if
exists
t
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
source
include
/
rpl_end
.
inc
;
mysql-test/suite/rpl/t/rpl_tokudb_write_pk_uc1-slave.opt
0 → 100644
View file @
89784874
--read-only=ON --tokudb-rpl-unique-checks-delay=10000 --tokudb-rpl-unique-checks=ON
mysql-test/suite/rpl/t/rpl_tokudb_write_pk_uc1.test
0 → 100644
View file @
89784874
# test replicated write rows log events on a table with a primary key.
# the slave is read only with tokudb unique checks disabled.
source
include
/
have_tokudb
.
inc
;
let
$engine
=
tokudb
;
source
include
/
have_binlog_format_row
.
inc
;
source
include
/
master
-
slave
.
inc
;
# initialize
connection
master
;
disable_warnings
;
drop
table
if
exists
t
;
enable_warnings
;
connection
slave
;
# show variables like 'read_only';
# show variables like 'tokudb_rpl_unique_checks%';
# insert some rows
connection
master
;
# select @@binlog_format;
# select @@autocommit;
eval
create
table
t
(
a
bigint
not
null
,
primary
key
(
a
))
engine
=
$engine
;
# show create table t;
select
unix_timestamp
()
into
@
tstart
;
insert
into
t
values
(
1
);
insert
into
t
values
(
2
),(
3
);
insert
into
t
values
(
4
);
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
connection
master
;
select
unix_timestamp
()
-@
tstart
<=
10
;
connection
slave
;
# insert into t values (5); # test read-only
# show create table t;
# diff tables
connection
master
;
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# cleanup
connection
master
;
drop
table
if
exists
t
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
source
include
/
rpl_end
.
inc
;
mysql-test/suite/rpl/t/rpl_tokudb_write_unique-slave.opt
0 → 100644
View file @
89784874
--read-only=ON --tokudb-rpl-unique-checks-delay=5000 --tokudb-rpl-unique-checks=OFF
mysql-test/suite/rpl/t/rpl_tokudb_write_unique.test
0 → 100644
View file @
89784874
# test replicated write rows log events on a table with a primary key and a unique secondary key.
# the slave is read only with tokudb unique checks disabled.
source
include
/
have_tokudb
.
inc
;
let
$engine
=
tokudb
;
source
include
/
have_binlog_format_row
.
inc
;
source
include
/
master
-
slave
.
inc
;
# initialize
connection
master
;
disable_warnings
;
drop
table
if
exists
t
;
enable_warnings
;
connection
slave
;
# show variables like 'read_only';
# show variables like 'tokudb_rpl_unique_checks%';
# insert some rows
connection
master
;
# select @@binlog_format;
# select @@autocommit;
eval
create
table
t
(
a
bigint
not
null
,
b
bigint
not
null
,
primary
key
(
a
),
unique
key
(
b
))
engine
=
$engine
;
# show create table t;
select
unix_timestamp
()
into
@
tstart
;
insert
into
t
values
(
1
,
2
);
insert
into
t
values
(
2
,
3
),(
3
,
4
);
insert
into
t
values
(
4
,
5
);
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
connection
master
;
select
unix_timestamp
()
-@
tstart
<=
10
;
connection
slave
;
# show create table t;
# diff tables
connection
master
;
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# cleanup
connection
master
;
drop
table
if
exists
t
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
source
include
/
rpl_end
.
inc
;
mysql-test/suite/rpl/t/rpl_tokudb_write_unique_uc1-slave.opt
0 → 100644
View file @
89784874
--read-only=ON --tokudb-rpl-unique-checks-delay=5000 --tokudb-rpl-unique-checks=ON
mysql-test/suite/rpl/t/rpl_tokudb_write_unique_uc1.test
0 → 100644
View file @
89784874
# test replicated write rows log events on a table with a primary key and a unique secondary key.
# the slave is read only with tokudb unique checks disabled.
source
include
/
have_tokudb
.
inc
;
let
$engine
=
tokudb
;
source
include
/
have_binlog_format_row
.
inc
;
source
include
/
master
-
slave
.
inc
;
# initialize
connection
master
;
disable_warnings
;
drop
table
if
exists
t
;
enable_warnings
;
connection
slave
;
# show variables like 'read_only';
# show variables like 'tokudb_rpl_unique_checks%';
# insert some rows
connection
master
;
# select @@binlog_format;
# select @@autocommit;
eval
create
table
t
(
a
bigint
not
null
,
b
bigint
not
null
,
primary
key
(
a
),
unique
key
(
b
))
engine
=
$engine
;
# show create table t;
select
unix_timestamp
()
into
@
tstart
;
insert
into
t
values
(
1
,
2
);
insert
into
t
values
(
2
,
3
),(
3
,
4
);
insert
into
t
values
(
4
,
5
);
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
connection
master
;
select
unix_timestamp
()
-@
tstart
<=
10
;
connection
slave
;
# show create table t;
# diff tables
connection
master
;
--
let
$diff_tables
=
master
:
test
.
t
,
slave
:
test
.
t
source
include
/
diff_tables
.
inc
;
# cleanup
connection
master
;
drop
table
if
exists
t
;
sync_slave_with_master
;
# source include/sync_slave_sql_with_master.inc;
source
include
/
rpl_end
.
inc
;
storage/tokudb/ha_tokudb.cc
View file @
89784874
This diff is collapsed.
Click to expand it.
storage/tokudb/ha_tokudb.h
View file @
89784874
...
@@ -799,6 +799,19 @@ class ha_tokudb : public handler {
...
@@ -799,6 +799,19 @@ class ha_tokudb : public handler {
private:
private:
int
do_optimize
(
THD
*
thd
);
int
do_optimize
(
THD
*
thd
);
int
map_to_handler_error
(
int
error
);
int
map_to_handler_error
(
int
error
);
public:
void
rpl_before_write_rows
();
void
rpl_after_write_rows
();
void
rpl_before_delete_rows
();
void
rpl_after_delete_rows
();
void
rpl_before_update_rows
();
void
rpl_after_update_rows
();
bool
rpl_lookup_rows
();
private:
bool
in_rpl_write_rows
;
bool
in_rpl_delete_rows
;
bool
in_rpl_update_rows
;
};
};
#if TOKU_INCLUDE_OPTION_STRUCTS
#if TOKU_INCLUDE_OPTION_STRUCTS
...
...
storage/tokudb/hatoku_hton.cc
View file @
89784874
...
@@ -1442,6 +1442,10 @@ static struct st_mysql_sys_var *tokudb_system_variables[] = {
...
@@ -1442,6 +1442,10 @@ static struct st_mysql_sys_var *tokudb_system_variables[] = {
#if TOKU_INCLUDE_XA
#if TOKU_INCLUDE_XA
MYSQL_SYSVAR
(
support_xa
),
MYSQL_SYSVAR
(
support_xa
),
#endif
#endif
MYSQL_SYSVAR
(
rpl_unique_checks
),
MYSQL_SYSVAR
(
rpl_unique_checks_delay
),
MYSQL_SYSVAR
(
rpl_lookup_rows
),
MYSQL_SYSVAR
(
rpl_lookup_rows_delay
),
NULL
NULL
};
};
...
...
storage/tokudb/hatoku_hton.h
View file @
89784874
...
@@ -504,17 +504,20 @@ static TYPELIB tokudb_empty_scan_typelib = {
...
@@ -504,17 +504,20 @@ static TYPELIB tokudb_empty_scan_typelib = {
NULL
NULL
};
};
static
MYSQL_THDVAR_ENUM
(
empty_scan
,
static
MYSQL_THDVAR_ENUM
(
empty_scan
,
PLUGIN_VAR_OPCMDARG
,
PLUGIN_VAR_OPCMDARG
,
"TokuDB algorithm to check if the table is empty when opened. "
,
"TokuDB algorithm to check if the table is empty when opened. "
,
NULL
,
NULL
,
TOKUDB_EMPTY_SCAN_RL
,
&
tokudb_empty_scan_typelib
NULL
,
NULL
,
TOKUDB_EMPTY_SCAN_RL
,
&
tokudb_empty_scan_typelib
);
);
#if TOKUDB_CHECK_JEMALLOC
#if TOKUDB_CHECK_JEMALLOC
static
uint
tokudb_check_jemalloc
;
static
uint
tokudb_check_jemalloc
;
static
MYSQL_SYSVAR_UINT
(
check_jemalloc
,
tokudb_check_jemalloc
,
0
,
"Check if jemalloc is linked"
,
NULL
,
NULL
,
1
,
0
,
1
,
0
);
static
MYSQL_SYSVAR_UINT
(
check_jemalloc
,
tokudb_check_jemalloc
,
0
,
"Check if jemalloc is linked"
,
NULL
,
NULL
,
1
,
0
,
1
,
0
);
#endif
#endif
static
MYSQL_THDVAR_BOOL
(
bulk_fetch
,
PLUGIN_VAR_THDLOCAL
,
"enable bulk fetch"
,
NULL
/*check*/
,
NULL
/*update*/
,
true
/*default*/
);
#if TOKU_INCLUDE_XA
#if TOKU_INCLUDE_XA
static
MYSQL_THDVAR_BOOL
(
support_xa
,
static
MYSQL_THDVAR_BOOL
(
support_xa
,
PLUGIN_VAR_OPCMDARG
,
PLUGIN_VAR_OPCMDARG
,
...
@@ -525,7 +528,17 @@ static MYSQL_THDVAR_BOOL(support_xa,
...
@@ -525,7 +528,17 @@ static MYSQL_THDVAR_BOOL(support_xa,
);
);
#endif
#endif
static
MYSQL_THDVAR_BOOL
(
bulk_fetch
,
PLUGIN_VAR_THDLOCAL
,
"enable bulk fetch"
,
NULL
/*check*/
,
NULL
/*update*/
,
true
/*default*/
);
static
MYSQL_THDVAR_BOOL
(
rpl_unique_checks
,
PLUGIN_VAR_THDLOCAL
,
"enable unique checks on replication slave"
,
NULL
/*check*/
,
NULL
/*update*/
,
true
/*default*/
);
static
MYSQL_THDVAR_ULONGLONG
(
rpl_unique_checks_delay
,
PLUGIN_VAR_THDLOCAL
,
"time in milliseconds to add to unique checks test on replication slave"
,
NULL
,
NULL
,
0
/*default*/
,
0
/*min*/
,
~
0ULL
/*max*/
,
1
/*blocksize*/
);
static
MYSQL_THDVAR_BOOL
(
rpl_lookup_rows
,
PLUGIN_VAR_THDLOCAL
,
"lookup a row on rpl slave"
,
NULL
/*check*/
,
NULL
/*update*/
,
true
/*default*/
);
static
MYSQL_THDVAR_ULONGLONG
(
rpl_lookup_rows_delay
,
PLUGIN_VAR_THDLOCAL
,
"time in milliseconds to add to lookups on replication slave"
,
NULL
,
NULL
,
0
/*default*/
,
0
/*min*/
,
~
0ULL
/*max*/
,
1
/*blocksize*/
);
extern
HASH
tokudb_open_tables
;
extern
HASH
tokudb_open_tables
;
extern
pthread_mutex_t
tokudb_mutex
;
extern
pthread_mutex_t
tokudb_mutex
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment