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
e7f4df03
Commit
e7f4df03
authored
Jan 26, 2006
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-bug8-4.1
parents
f9ab5549
54d7c6c5
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
125 additions
and
5 deletions
+125
-5
mysql-test/r/rpl_ignore_table.result
mysql-test/r/rpl_ignore_table.result
+16
-0
mysql-test/r/rpl_multi_update4.result
mysql-test/r/rpl_multi_update4.result
+25
-0
mysql-test/t/rpl_ignore_table-slave.opt
mysql-test/t/rpl_ignore_table-slave.opt
+1
-0
mysql-test/t/rpl_ignore_table.test
mysql-test/t/rpl_ignore_table.test
+28
-0
mysql-test/t/rpl_multi_update4-slave.opt
mysql-test/t/rpl_multi_update4-slave.opt
+1
-0
mysql-test/t/rpl_multi_update4.test
mysql-test/t/rpl_multi_update4.test
+44
-0
sql/sql_parse.cc
sql/sql_parse.cc
+10
-5
No files found.
mysql-test/r/rpl_ignore_table.result
0 → 100644
View file @
e7f4df03
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;
**** Test case for BUG#16487 ****
**** Master ****
CREATE TABLE test.t4 (a int);
CREATE TABLE test.t1 (a int);
UPDATE test.t4 NATURAL JOIN test.t1 SET t1.a=5;
**** Slave ****
SELECT * FROM t4;
a
DROP TABLE t1;
DROP TABLE t4;
mysql-test/r/rpl_multi_update4.result
0 → 100644
View file @
e7f4df03
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 d1;
drop database if exists d2;
drop database if exists d2;
create database d1;
create table d1.t0 (id int);
create database d2;
use d2;
create table t1 (id int);
create table t2 (id int);
insert into t1 values (1), (2), (3), (4), (5);
insert into t2 select id + 3 from t1;
update t1 join t2 using (id) set t1.id = 0;
insert into d1.t0 values (0);
use d1;
select * from t0 where id=0;
id
0
drop database d1;
drop database d2;
mysql-test/t/rpl_ignore_table-slave.opt
0 → 100644
View file @
e7f4df03
--replicate-ignore-table=test.t1 --replicate-ignore-table=test.t2 --replicate-ignore-table=test.t3
mysql-test/t/rpl_ignore_table.test
0 → 100644
View file @
e7f4df03
source
include
/
master
-
slave
.
inc
;
#
# BUG#16487
#
# Requirement:
# Multi-updates on ignored tables should not fail even if the slave does
# not have the ignored tables.
#
# Note table t1, t2, and t3 are ignored in the option file to this test.
#
--
echo
****
Test
case
for
BUG
#16487 ****
--
echo
****
Master
****
connection
master
;
CREATE
TABLE
test
.
t4
(
a
int
);
CREATE
TABLE
test
.
t1
(
a
int
);
# Expect: The row must *not* by updated on slave, since t1 is ignored
UPDATE
test
.
t4
NATURAL
JOIN
test
.
t1
SET
t1
.
a
=
5
;
--
echo
****
Slave
****
sync_slave_with_master
;
SELECT
*
FROM
t4
;
connection
master
;
DROP
TABLE
t1
;
DROP
TABLE
t4
;
mysql-test/t/rpl_multi_update4-slave.opt
0 → 100644
View file @
e7f4df03
--replicate-wild-do-table=d1.%
mysql-test/t/rpl_multi_update4.test
0 → 100644
View file @
e7f4df03
# Let's verify that multi-update is not always skipped by slave if
# some replicate-* rules exist.
# (BUG#15699)
source
include
/
master
-
slave
.
inc
;
### Clean-up
connection
master
;
--
disable_warnings
drop
database
if
exists
d1
;
drop
database
if
exists
d2
;
connection
slave
;
drop
database
if
exists
d2
;
--
enable_warnings
### Test
connection
master
;
create
database
d1
;
# accepted by slave
create
table
d1
.
t0
(
id
int
);
create
database
d2
;
# ignored by slave
use
d2
;
create
table
t1
(
id
int
);
create
table
t2
(
id
int
);
insert
into
t1
values
(
1
),
(
2
),
(
3
),
(
4
),
(
5
);
insert
into
t2
select
id
+
3
from
t1
;
# a problematic query which must be filter out by slave
update
t1
join
t2
using
(
id
)
set
t1
.
id
=
0
;
insert
into
d1
.
t0
values
(
0
);
# replication works
sync_slave_with_master
;
use
d1
;
#connection slave;
select
*
from
t0
where
id
=
0
;
# must find
### Clean-up
connection
master
;
drop
database
d1
;
drop
database
d2
;
# End of test
sql/sql_parse.cc
View file @
e7f4df03
...
...
@@ -2840,21 +2840,26 @@ mysql_execute_command(THD *thd)
if
((
res
=
multi_update_precheck
(
thd
,
tables
)))
break
;
if
((
res
=
mysql_multi_update_lock
(
thd
,
tables
,
&
select_lex
->
item_list
,
select_lex
)))
break
;
res
=
mysql_multi_update_lock
(
thd
,
tables
,
&
select_lex
->
item_list
,
select_lex
);
#ifdef HAVE_REPLICATION
/* Check slave filtering rules */
if
(
thd
->
slave_thread
)
if
(
all_tables_not_ok
(
thd
,
tables
))
{
if
(
res
!=
0
)
{
res
=
0
;
/* don't care of prev failure */
thd
->
clear_error
();
/* filters are of highest prior */
}
/* we warn the slave SQL thread */
my_error
(
ER_SLAVE_IGNORED_TABLE
,
MYF
(
0
));
break
;
}
#endif
/* HAVE_REPLICATION */
if
(
res
)
break
;
res
=
mysql_multi_update
(
thd
,
tables
,
&
select_lex
->
item_list
,
&
lex
->
value_list
,
...
...
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