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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
68a52c42
Commit
68a52c42
authored
Oct 31, 2007
by
aelkin/elkin@koti.dsl.inet.fi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug#27571 merging. Fixing offsets and moving tests to the corrent
destination. Removing wrong (local temp) tests.
parent
c2b0410c
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
51 additions
and
81 deletions
+51
-81
mysql-test/suite/binlog/r/binlog_killed.result
mysql-test/suite/binlog/r/binlog_killed.result
+7
-6
mysql-test/suite/binlog/r/binlog_killed_simulate.result
mysql-test/suite/binlog/r/binlog_killed_simulate.result
+33
-0
mysql-test/suite/binlog/t/binlog_killed.test
mysql-test/suite/binlog/t/binlog_killed.test
+6
-4
mysql-test/suite/binlog/t/binlog_killed_simulate-master.opt
mysql-test/suite/binlog/t/binlog_killed_simulate-master.opt
+0
-0
mysql-test/suite/binlog/t/binlog_killed_simulate.test
mysql-test/suite/binlog/t/binlog_killed_simulate.test
+5
-2
mysql-test/t/binlog_killed_bug27571-master.opt
mysql-test/t/binlog_killed_bug27571-master.opt
+0
-1
mysql-test/t/binlog_killed_bug27571.test
mysql-test/t/binlog_killed_bug27571.test
+0
-68
No files found.
mysql-test/suite/binlog/r/binlog_killed.result
View file @
68a52c42
...
@@ -70,9 +70,10 @@ select * from t2 /* must be (1,2), (2,2) */;
...
@@ -70,9 +70,10 @@ select * from t2 /* must be (1,2), (2,2) */;
a b
a b
1 2
1 2
2 2
2 2
show master status /* must have the update event more to FD */;
must have the update event more to FD
File Position Binlog_Do_DB Binlog_Ignore_DB
show binlog events from <binlog_start>;
master-bin.000001 211
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `test`; update t2 set b=b + bug27563(b) order by a
select
select
(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
is not null;
is not null;
...
@@ -98,9 +99,9 @@ select * from t2 /* must be (1,2), (2,2) */;
...
@@ -98,9 +99,9 @@ select * from t2 /* must be (1,2), (2,2) */;
a b
a b
1 1
1 1
2 2
2 2
show master status /* must have the update event more to FD */;
must have the update event more to FD
File Position Binlog_Do_DB Binlog_Ignore_DB
show binlog events from <binlog_start>;
master-bin.000001 98
Log_name Pos Event_type Server_id End_log_pos Info
select
select
(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
is not null;
is not null;
...
...
mysql-test/suite/binlog/r/binlog_killed_simulate.result
0 → 100644
View file @
68a52c42
drop table if exists t1,t2;
create table t1 (a int) engine=MyISAM;
insert into t1 set a=1;
reset master;
update t1 set a=2 /* will be "killed" after work has been done */;
select
(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
is not null;
(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
is not null
1
select 1 /* must return 1 as query completed before got killed*/;
1
1
create table t2 (a int, b int) ENGINE=MyISAM;
reset master;
load data infile '../std_data_ln/rpl_loaddata.dat' into table t2 /* will be "killed" in the middle */;
ERROR 70100: Query execution was interrupted
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Begin_load_query # # ;file_id=1;block_len=12
master-bin.000001 # Execute_load_query # # use `test`; load data infile '../std_data_ln/rpl_loaddata.dat' into table t2 /* will be "killed" in the middle */ ;file_id=1
select
(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
is not null;
(@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
is not null
1
select 0 /* must return 0 to mean the killed query is in */;
0
0
drop table t1,t2;
end of the tests
mysql-test/suite/binlog/t/binlog_killed.test
View file @
68a52c42
...
@@ -216,11 +216,12 @@ connection con2;
...
@@ -216,11 +216,12 @@ connection con2;
--
error
ER_QUERY_INTERRUPTED
--
error
ER_QUERY_INTERRUPTED
reap
;
reap
;
select
*
from
t2
/* must be (1,2), (2,2) */
;
select
*
from
t2
/* must be (1,2), (2,2) */
;
show
master
status
/* must have the update event more to FD */
;
--
echo
must
have
the
update
event
more
to
FD
source
include
/
show_binlog_events
.
inc
;
# a proof the query is binlogged with an error
# a proof the query is binlogged with an error
--
exec
$MYSQL_BINLOG
--
start
-
position
=
98
$MYSQLTEST_VARDIR
/
log
/
master
-
bin
.
000001
>
$MYSQLTEST_VARDIR
/
tmp
/
binlog_killed_bug27571
.
binlog
--
exec
$MYSQL_BINLOG
--
start
-
position
=
106
$MYSQLTEST_VARDIR
/
log
/
master
-
bin
.
000001
>
$MYSQLTEST_VARDIR
/
tmp
/
binlog_killed_bug27571
.
binlog
--
replace_result
$MYSQLTEST_VARDIR
MYSQLTEST_VARDIR
--
replace_result
$MYSQLTEST_VARDIR
MYSQLTEST_VARDIR
eval
select
eval
select
(
@
a
:=
load_file
(
"
$MYSQLTEST_VARDIR
/tmp/binlog_killed_bug27571.binlog"
))
(
@
a
:=
load_file
(
"
$MYSQLTEST_VARDIR
/tmp/binlog_killed_bug27571.binlog"
))
...
@@ -256,11 +257,12 @@ connection con2;
...
@@ -256,11 +257,12 @@ connection con2;
--
error
ER_QUERY_INTERRUPTED
--
error
ER_QUERY_INTERRUPTED
reap
;
reap
;
select
*
from
t2
/* must be (1,2), (2,2) */
;
select
*
from
t2
/* must be (1,2), (2,2) */
;
show
master
status
/* must have the update event more to FD */
;
--
echo
must
have
the
update
event
more
to
FD
source
include
/
show_binlog_events
.
inc
;
# a proof the query is binlogged with an error
# a proof the query is binlogged with an error
--
exec
$MYSQL_BINLOG
--
start
-
position
=
98
$MYSQLTEST_VARDIR
/
log
/
master
-
bin
.
000001
>
$MYSQLTEST_VARDIR
/
tmp
/
binlog_killed_bug27571
.
binlog
--
exec
$MYSQL_BINLOG
--
start
-
position
=
106
$MYSQLTEST_VARDIR
/
log
/
master
-
bin
.
000001
>
$MYSQLTEST_VARDIR
/
tmp
/
binlog_killed_bug27571
.
binlog
--
replace_result
$MYSQLTEST_VARDIR
MYSQLTEST_VARDIR
--
replace_result
$MYSQLTEST_VARDIR
MYSQLTEST_VARDIR
eval
select
eval
select
(
@
a
:=
load_file
(
"
$MYSQLTEST_VARDIR
/tmp/binlog_killed_bug27571.binlog"
))
(
@
a
:=
load_file
(
"
$MYSQLTEST_VARDIR
/tmp/binlog_killed_bug27571.binlog"
))
...
...
mysql-test/t/binlog_killed_simulate-master.opt
→
mysql-test/
suite/binlog/
t/binlog_killed_simulate-master.opt
View file @
68a52c42
File moved
mysql-test/t/binlog_killed_simulate.test
→
mysql-test/
suite/binlog/
t/binlog_killed_simulate.test
View file @
68a52c42
--
source
include
/
have_binlog_format_mixed_or_statement
.
inc
#
#
# bug#27571 asynchronous setting mysql_$query()'s local error and
# bug#27571 asynchronous setting mysql_$query()'s local error and
# Query_log_event::error_code
# Query_log_event::error_code
...
@@ -18,8 +19,10 @@ reset master;
...
@@ -18,8 +19,10 @@ reset master;
update
t1
set
a
=
2
/* will be "killed" after work has been done */
;
update
t1
set
a
=
2
/* will be "killed" after work has been done */
;
# a proof the query is binlogged with no error
# a proof the query is binlogged with no error
#todo: introduce a suite private macro that provides numeric values
--
exec
$MYSQL_BINLOG
--
start
-
position
=
98
$MYSQLTEST_VARDIR
/
log
/
master
-
bin
.
000001
>
$MYSQLTEST_VARDIR
/
tmp
/
binlog_killed_bug27571
.
binlog
# for some constants like the offset of the first real event
# that is different between severs versions.
--
exec
$MYSQL_BINLOG
--
start
-
position
=
106
$MYSQLTEST_VARDIR
/
log
/
master
-
bin
.
000001
>
$MYSQLTEST_VARDIR
/
tmp
/
binlog_killed_bug27571
.
binlog
--
replace_result
$MYSQLTEST_VARDIR
MYSQLTEST_VARDIR
--
replace_result
$MYSQLTEST_VARDIR
MYSQLTEST_VARDIR
eval
select
eval
select
(
@
a
:=
load_file
(
"
$MYSQLTEST_VARDIR
/tmp/binlog_killed_bug27571.binlog"
))
(
@
a
:=
load_file
(
"
$MYSQLTEST_VARDIR
/tmp/binlog_killed_bug27571.binlog"
))
...
...
mysql-test/t/binlog_killed_bug27571-master.opt
deleted
100644 → 0
View file @
c2b0410c
--loose-debug=d,stop_after_row_loop_done
mysql-test/t/binlog_killed_bug27571.test
deleted
100644 → 0
View file @
c2b0410c
--
source
include
/
have_innodb
.
inc
--
source
include
/
not_embedded
.
inc
--
source
include
/
have_log_bin
.
inc
#
# bug#27571 asynchronous setting mysql_`query`::error and Query_log_e::error_code
#
# Checking that if killing happens inbetween of the end of rows loop and
# recording into binlog that will not lead to recording any error incl
# the killed error.
#
connect
(
looser
,
localhost
,
root
,,);
connect
(
killer
,
localhost
,
root
,,);
create
table
t1
(
a
int
auto_increment
,
b
int
,
PRIMARY
KEY
(
a
))
ENGINE
=
InnoDB
;
delete
from
t1
;
insert
into
t1
values
(
1
,
1
),(
2
,
2
);
reset
master
;
connection
looser
;
let
$ID
=
`select connection_id()`
;
send
update
t1
set
b
=
11
where
a
=
2
;
connection
killer
;
sleep
1
;
# let 1 second for the update to get to the sleeping point
--
replace_result
$ID
ID
eval
kill
query
$ID
;
connection
looser
;
--
error
0
# zero even though the query must be got killed while it was sleepin for 5 secs
reap
;
#
# this is another possible artifact. The killed error was not caught
# as that is logical as killing was not effective:
# data are ok and well as binlog event is without killed error (further).
# The reason of the following `show error' is to prove that
# killing simulation was effective
#
show
errors
;
connection
killer
;
# nothing is rolled back
select
*
from
t1
where
a
=
2
/* must be 11 */
;
# a proof the query is binlogged with an error
--
exec
$MYSQL_BINLOG
--
start
-
position
=
98
$MYSQLTEST_VARDIR
/
log
/
master
-
bin
.
000001
>
$MYSQLTEST_VARDIR
/
tmp
/
binlog_killed_bug27571
.
binlog
--
replace_result
$MYSQLTEST_VARDIR
MYSQLTEST_VARDIR
eval
select
(
@
a
:=
load_file
(
"
$MYSQLTEST_VARDIR
/tmp/binlog_killed_bug27571.binlog"
))
is
not
null
;
--
replace_result
$MYSQL_TEST_DIR
MYSQL_TEST_DIR
let
$error_code
=
`select @a like "%#%error_code=0%"`
;
eval
select
$error_code
/* must return 1*/
;
#
# cleanup
#
drop
table
t1
;
--
echo
end
of
the
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