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
5bed4839
Commit
5bed4839
authored
Feb 22, 2006
by
jmiller@mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
New test for wl2321
parent
3de74e62
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
538 additions
and
0 deletions
+538
-0
mysql-test/r/rpl_row_mysqlbinlog.result
mysql-test/r/rpl_row_mysqlbinlog.result
+250
-0
mysql-test/t/rpl_row_mysqlbinlog-master.opt
mysql-test/t/rpl_row_mysqlbinlog-master.opt
+1
-0
mysql-test/t/rpl_row_mysqlbinlog.test
mysql-test/t/rpl_row_mysqlbinlog.test
+287
-0
No files found.
mysql-test/r/rpl_row_mysqlbinlog.result
0 → 100644
View file @
5bed4839
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;
set timestamp=1000000000;
DROP TABLE IF EXISTS t1,t2,t3;
CREATE TABLE t1(word VARCHAR(20));
CREATE TABLE t2(id INT AUTO_INCREMENT NOT NULL PRIMARY KEY);
CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 LONGBLOB, c3 TIMESTAMP, c4 TEXT, c5 FLOAT);
SELECT COUNT(*) from t1;
COUNT(*)
351
SELECT COUNT(*) from t2;
COUNT(*)
500
SELECT COUNT(*) from t3;
COUNT(*)
500
SELECT * FROM t1 ORDER BY word LIMIT 5;
word
Aarhus
Aarhus
Aarhus
Aarhus
Aarhus
SELECT * FROM t2 ORDER BY id LIMIT 5;
id
1
2
3
4
5
SELECT c1, c3, c4, c5 FROM t3 ORDER BY c1 LIMIT 5;
c1 c3 c4 c5
1 2006-02-22 00:00:00 Tested in Texas 2.2
2 2006-02-22 00:00:00 Tested in Texas 4.4
3 2006-02-22 00:00:00 Tested in Texas 6.6
4 2006-02-22 00:00:00 Tested in Texas 8.8
5 2006-02-22 00:00:00 Tested in Texas 11
SELECT COUNT(*) from t1;
COUNT(*)
351
SELECT COUNT(*) from t2;
COUNT(*)
500
SELECT COUNT(*) from t3;
COUNT(*)
500
SELECT * FROM t1 ORDER BY word LIMIT 5;
word
Aarhus
Aarhus
Aarhus
Aarhus
Aarhus
SELECT * FROM t2 ORDER BY id LIMIT 5;
id
1
2
3
4
5
SELECT c1, c3, c4, c5 FROM t3 ORDER BY c1 LIMIT 5;
c1 c3 c4 c5
1 2006-02-22 00:00:00 Tested in Texas 2.2
2 2006-02-22 00:00:00 Tested in Texas 4.4
3 2006-02-22 00:00:00 Tested in Texas 6.6
4 2006-02-22 00:00:00 Tested in Texas 8.8
5 2006-02-22 00:00:00 Tested in Texas 11
insert into t1 values ("Alas");
flush logs;
--- Dump --
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
stop slave;
reset master;
reset slave;
start slave;
SELECT COUNT(*) from t1;
COUNT(*)
352
SELECT COUNT(*) from t2;
COUNT(*)
500
SELECT COUNT(*) from t3;
COUNT(*)
500
SELECT * FROM t1 ORDER BY word LIMIT 5;
word
Aarhus
Aarhus
Aarhus
Aarhus
Aarhus
SELECT * FROM t2 ORDER BY id LIMIT 5;
id
1
2
3
4
5
SELECT c1, c3, c4, c5 FROM t3 ORDER BY c1 LIMIT 5;
c1 c3 c4 c5
1 2006-02-22 00:00:00 Tested in Texas 2.2
2 2006-02-22 00:00:00 Tested in Texas 4.4
3 2006-02-22 00:00:00 Tested in Texas 6.6
4 2006-02-22 00:00:00 Tested in Texas 8.8
5 2006-02-22 00:00:00 Tested in Texas 11
SELECT COUNT(*) from t1;
COUNT(*)
352
SELECT COUNT(*) from t2;
COUNT(*)
500
SELECT COUNT(*) from t3;
COUNT(*)
500
SELECT * FROM t1 ORDER BY word LIMIT 5;
word
Aarhus
Aarhus
Aarhus
Aarhus
Aarhus
SELECT * FROM t2 ORDER BY id LIMIT 5;
id
1
2
3
4
5
SELECT c1, c3, c4, c5 FROM t3 ORDER BY c1 LIMIT 5;
c1 c3 c4 c5
1 2006-02-22 00:00:00 Tested in Texas 2.2
2 2006-02-22 00:00:00 Tested in Texas 4.4
3 2006-02-22 00:00:00 Tested in Texas 6.6
4 2006-02-22 00:00:00 Tested in Texas 8.8
5 2006-02-22 00:00:00 Tested in Texas 11
--- --position --
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
use test;
SET TIMESTAMP=1000000000;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1;
SET @@session.sql_mode=0;
/*!\C latin1 */;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8;
CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 LONGBLOB, c3 TIMESTAMP, c4 TEXT, c5 FLOAT);
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
--- Remote --
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
ROLLBACK;
use test;
SET TIMESTAMP=1000000000;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1;
SET @@session.sql_mode=0;
/*!\C latin1 */;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8;
DROP TABLE IF EXISTS t1,t2,t3;
SET TIMESTAMP=1000000000;
CREATE TABLE t1(word VARCHAR(20));
SET TIMESTAMP=1000000000;
CREATE TABLE t2(id INT AUTO_INCREMENT NOT NULL PRIMARY KEY);
SET TIMESTAMP=1000000000;
CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 LONGBLOB, c3 TIMESTAMP, c4 TEXT, c5 FLOAT);
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
--- LOAD DATA --
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
--- reading stdin --
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
ROLLBACK;
use test;
SET TIMESTAMP=1000000000;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1;
SET @@session.sql_mode=0;
/*!\C latin1 */;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8;
DROP TABLE IF EXISTS t1,t2,t3;
SET TIMESTAMP=1000000000;
CREATE TABLE t1(word VARCHAR(20));
SET TIMESTAMP=1000000000;
CREATE TABLE t2(id INT AUTO_INCREMENT NOT NULL PRIMARY KEY);
SET TIMESTAMP=1000000000;
CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 LONGBLOB, c3 TIMESTAMP, c4 TEXT, c5 FLOAT);
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
use test;
SET TIMESTAMP=1000000000;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1;
SET @@session.sql_mode=0;
/*!\C latin1 */;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8;
CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 LONGBLOB, c3 TIMESTAMP, c4 TEXT, c5 FLOAT);
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
stop slave;
reset master;
reset slave;
start slave;
create table t4 (f text character set utf8);
create table t5 (f text character set cp932);
flush logs;
rename table t4 to t04, t5 to t05;
select HEX(f) from t04;
HEX(f)
E382BD
select HEX(f) from t4;
HEX(f)
E382BD
select HEX(f) from t05;
HEX(f)
835C
select HEX(f) from t5;
HEX(f)
835C
select HEX(f) from t04;
HEX(f)
E382BD
select HEX(f) from t4;
HEX(f)
E382BD
select HEX(f) from t05;
HEX(f)
835C
select HEX(f) from t5;
HEX(f)
835C
DROP TABLE IF EXISTS t1, t2, t3, t04, t05, t4, t5;
mysql-test/t/rpl_row_mysqlbinlog-master.opt
0 → 100644
View file @
5bed4839
--max-binlog-size=1040384
mysql-test/t/rpl_row_mysqlbinlog.test
0 → 100644
View file @
5bed4839
##################################################################
# Author: JBM #
# Date: 2006-02-22 #
# Purpose: To test changes to mysqlbinlog for row based bin logs #
# We are using .opt file since we need small binlog size #
##################################################################
# Include Section
# Make sure that we have row based bin log
--
source
include
/
have_binlog_format_row
.
inc
# Embedded server doesn't support binlogging
--
source
include
/
not_embedded
.
inc
--
source
include
/
master
-
slave
.
inc
# Setup Section
# we need this for getting fixed timestamps inside of this test
set
timestamp
=
1000000000
;
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
,
t2
,
t3
;
--
enable_warnings
connection
master
;
CREATE
TABLE
t1
(
word
VARCHAR
(
20
));
CREATE
TABLE
t2
(
id
INT
AUTO_INCREMENT
NOT
NULL
PRIMARY
KEY
);
CREATE
TABLE
t3
(
c1
INT
NOT
NULL
PRIMARY
KEY
,
c2
LONGBLOB
,
c3
TIMESTAMP
,
c4
TEXT
,
c5
FLOAT
);
# Test Section
# Lets start by putting some data into the tables.
--
disable_query_log
INSERT
INTO
t1
VALUES
(
"abirvalg"
);
LOAD
DATA
INFILE
'../std_data_ln/words.dat'
INTO
TABLE
t1
;
LOAD
DATA
INFILE
'../std_data_ln/words.dat'
INTO
TABLE
t1
;
LOAD
DATA
INFILE
'../std_data_ln/words.dat'
INTO
TABLE
t1
;
LOAD
DATA
INFILE
'../std_data_ln/words.dat'
INTO
TABLE
t1
;
LOAD
DATA
INFILE
'../std_data_ln/words.dat'
INTO
TABLE
t1
;
# d1 length 3000
set
@
d1
=
'dd1'
;
set
@
d1
=
concat
(
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
);
set
@
d1
=
concat
(
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
);
set
@
d1
=
concat
(
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
,
@
d1
);
let
$count
=
500
;
while
(
$count
)
{
INSERT
INTO
t2
VALUES
(
NULL
);
eval
INSERT
INTO
t3
VALUES
(
$count
,
@
d1
,
'20060222000000'
,
'Tested in Texas'
,
$count
*
2.2
);
dec
$count
;
}
--
enable_query_log
# Lets Check the tables on the Master
SELECT
COUNT
(
*
)
from
t1
;
SELECT
COUNT
(
*
)
from
t2
;
SELECT
COUNT
(
*
)
from
t3
;
SELECT
*
FROM
t1
ORDER
BY
word
LIMIT
5
;
SELECT
*
FROM
t2
ORDER
BY
id
LIMIT
5
;
SELECT
c1
,
c3
,
c4
,
c5
FROM
t3
ORDER
BY
c1
LIMIT
5
;
# Should have the same on the slave;
sync_slave_with_master
;
SELECT
COUNT
(
*
)
from
t1
;
SELECT
COUNT
(
*
)
from
t2
;
SELECT
COUNT
(
*
)
from
t3
;
SELECT
*
FROM
t1
ORDER
BY
word
LIMIT
5
;
SELECT
*
FROM
t2
ORDER
BY
id
LIMIT
5
;
SELECT
c1
,
c3
,
c4
,
c5
FROM
t3
ORDER
BY
c1
LIMIT
5
;
# Okay time to get busy, back to master
connection
master
;
# simple query to show more in second binlog
insert
into
t1
values
(
"Alas"
);
flush
logs
;
# delimiters are for easier debugging in future
--
disable_query_log
select
"--- Dump --"
as
""
;
--
enable_query_log
#
# Prepare local temporary file to recreate what we have currently.
--
exec
$MYSQL_BINLOG
$MYSQLTEST_VARDIR
/
log
/
master
-
bin
.
000001
>
$MYSQLTEST_VARDIR
/
tmp
/
master
.
sql
--
exec
$MYSQL_BINLOG
$MYSQLTEST_VARDIR
/
log
/
master
-
bin
.
000002
>>
$MYSQLTEST_VARDIR
/
tmp
/
master
.
sql
# Now that we have our file, lets get rid of the current database.
# Cleanup the master and the slave and try to recreate.
DROP
TABLE
t1
;
DROP
TABLE
t2
;
DROP
TABLE
t3
;
sync_slave_with_master
;
#we expect STOP SLAVE to produce a warning as the slave is stopped
#(the server was started with skip-slave-start)
--
disable_warnings
stop
slave
;
--
enable_warnings
--
require
r
/
slave
-
stopped
.
result
show
status
like
'Slave_running'
;
connection
master
;
reset
master
;
connection
slave
;
reset
slave
;
start
slave
;
--
require
r
/
slave
-
running
.
result
show
status
like
'Slave_running'
;
connection
master
;
# We should be clean at this point, now we will run in the file from above.
--
exec
$MYSQL
-
e
"source
$MYSQLTEST_VARDIR
/tmp/master.sql"
# Lets Check the tables on the Master
SELECT
COUNT
(
*
)
from
t1
;
SELECT
COUNT
(
*
)
from
t2
;
SELECT
COUNT
(
*
)
from
t3
;
SELECT
*
FROM
t1
ORDER
BY
word
LIMIT
5
;
SELECT
*
FROM
t2
ORDER
BY
id
LIMIT
5
;
SELECT
c1
,
c3
,
c4
,
c5
FROM
t3
ORDER
BY
c1
LIMIT
5
;
# Should have the same on the slave;
sync_slave_with_master
;
SELECT
COUNT
(
*
)
from
t1
;
SELECT
COUNT
(
*
)
from
t2
;
SELECT
COUNT
(
*
)
from
t3
;
SELECT
*
FROM
t1
ORDER
BY
word
LIMIT
5
;
SELECT
*
FROM
t2
ORDER
BY
id
LIMIT
5
;
SELECT
c1
,
c3
,
c4
,
c5
FROM
t3
ORDER
BY
c1
LIMIT
5
;
connection
master
;
# We should be gold by the time, so I will get rid of our file.
--
exec
rm
$MYSQLTEST_VARDIR
/
tmp
/
master
.
sql
# this test for position option
# By setting this position to 412, we should only get the create of t3
--
disable_query_log
select
"--- --position --"
as
""
;
--
enable_query_log
--
replace_result
$MYSQLTEST_VARDIR
MYSQLTEST_VARDIR
--
exec
$MYSQL_BINLOG
--
short
-
form
--
local
-
load
=
$MYSQLTEST_VARDIR
/
tmp
/
--
position
=
412
$MYSQLTEST_VARDIR
/
log
/
master
-
bin
.
000001
# These are tests for remote binlog.
# They should return the same as previous test.
--
disable_query_log
select
"--- Remote --"
as
""
;
--
enable_query_log
# This is broken now
--
replace_result
$MYSQLTEST_VARDIR
MYSQLTEST_VARDIR
--
exec
$MYSQL_BINLOG
--
short
-
form
--
local
-
load
=
$MYSQLTEST_VARDIR
/
tmp
/
--
read
-
from
-
remote
-
server
--
user
=
root
--
host
=
127.0
.
0.1
--
port
=
$MASTER_MYPORT
master
-
bin
.
000001
# This part is disabled due to bug #17654
################### Start Bug 17654 ######################
#--exec $MYSQL_BINLOG --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001 > $MYSQLTEST_VARDIR/tmp/remote.sql
#--exec $MYSQL_BINLOG --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002 >> $MYSQLTEST_VARDIR/tmp/remote.sql
# Now that we have our file, lets get rid of the current database.
# Cleanup the master and the slave and try to recreate.
#DROP TABLE t1;
#DROP TABLE t2;
#DROP TABLE t3;
#sync_slave_with_master;
#we expect STOP SLAVE to produce a warning as the slave is stopped
#(the server was started with skip-slave-start)
#--disable_warnings
#stop slave;
#--enable_warnings
#--require r/slave-stopped.result
#show status like 'Slave_running';
#connection master;
#reset master;
#connection slave;
#reset slave;
#start slave;
#--require r/slave-running.result
#show status like 'Slave_running';
#connection master;
# We should be clean at this point, now we will run in the file from above.
#--exec $MYSQL -e "source $MYSQLTEST_VARDIR/tmp/remote.sql"
# Lets Check the tables on the Master
#SELECT COUNT(*) from t1;
#SELECT COUNT(*) from t2;
#SELECT COUNT(*) from t3;
#SELECT * FROM t1 ORDER BY word LIMIT 5;
#SELECT * FROM t2 ORDER BY id LIMIT 5;
#SELECT c1, c3, c4, c5 FROM t3 ORDER BY c1 LIMIT 5;
# Should have the same on the slave;
#sync_slave_with_master;
#SELECT COUNT(*) from t1;
#SELECT COUNT(*) from t2;
#SELECT COUNT(*) from t3;
#SELECT * FROM t1 ORDER BY word LIMIT 5;
#SELECT * FROM t2 ORDER BY id LIMIT 5;
#SELECT c1, c3, c4, c5 FROM t3 ORDER BY c1 LIMIT 5;
#connection master;
# We should be gold by the time, so I will get rid of our file.
#--exec rm $MYSQLTEST_VARDIR/tmp/remote.sql
################### End Bug 17654 ######################
# LOAD DATA
--
disable_query_log
select
"--- LOAD DATA --"
as
""
;
--
enable_query_log
--
replace_result
$MYSQLTEST_VARDIR
MYSQLTEST_VARDIR
--
exec
$MYSQL_BINLOG
--
short
-
form
--
local
-
load
=
$MYSQLTEST_VARDIR
/
tmp
/
--
read
-
from
-
remote
-
server
--
user
=
root
--
host
=
127.0
.
0.1
--
port
=
$MASTER_MYPORT
master
-
bin
.
000002
# Bug#7853 (mysqlbinlog does not accept input from stdin)
--
disable_query_log
select
"--- reading stdin --"
as
""
;
--
enable_query_log
--
replace_result
$MYSQL_TEST_DIR
MYSQL_TEST_DIR
--
exec
$MYSQL_BINLOG
--
short
-
form
-
<
$MYSQLTEST_VARDIR
/
log
/
master
-
bin
.
000001
--
replace_result
$MYSQL_TEST_DIR
MYSQL_TEST_DIR
--
exec
$MYSQL_BINLOG
--
short
-
form
--
position
=
412
-
<
$MYSQLTEST_VARDIR
/
log
/
master
-
bin
.
000001
# Bug#16217 (mysql client did not know how not switch its internal charset)
sync_slave_with_master
;
#we expect STOP SLAVE to produce a warning as the slave is stopped
#(the server was started with skip-slave-start)
--
disable_warnings
stop
slave
;
--
enable_warnings
--
require
r
/
slave
-
stopped
.
result
show
status
like
'Slave_running'
;
connection
master
;
reset
master
;
connection
slave
;
reset
slave
;
start
slave
;
--
require
r
/
slave
-
running
.
result
show
status
like
'Slave_running'
;
connection
master
;
create
table
t4
(
f
text
character
set
utf8
);
create
table
t5
(
f
text
character
set
cp932
);
--
exec
$MYSQL
--
default
-
character
-
set
=
utf8
test
-
e
"insert into t4 values(_utf8'ソ')"
--
exec
$MYSQL
--
default
-
character
-
set
=
cp932
test
-
e
"insert into t5 values(_cp932'\');"
flush
logs
;
rename
table
t4
to
t04
,
t5
to
t05
;
--
exec
$MYSQL_BINLOG
$MYSQLTEST_VARDIR
/
log
/
master
-
bin
.
000001
|
$MYSQL
--
default
-
character
-
set
=
utf8
# original and recovered data must be equal
select
HEX
(
f
)
from
t04
;
select
HEX
(
f
)
from
t4
;
select
HEX
(
f
)
from
t05
;
select
HEX
(
f
)
from
t5
;
# slave should have same
sync_slave_with_master
;
select
HEX
(
f
)
from
t04
;
select
HEX
(
f
)
from
t4
;
select
HEX
(
f
)
from
t05
;
select
HEX
(
f
)
from
t5
;
# clean up
connection
master
;
DROP
TABLE
IF
EXISTS
t1
,
t2
,
t3
,
t04
,
t05
,
t4
,
t5
;
sync_slave_with_master
;
# End of 4.1 tests
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