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
a7d0eaae
Commit
a7d0eaae
authored
Jan 17, 2005
by
bell@sanja.is.com.ua
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added replication of VIEW DDL commands (BUG#4838)
parent
045aea9d
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
103 additions
and
2 deletions
+103
-2
mysql-test/r/rpl_view.result
mysql-test/r/rpl_view.result
+44
-0
mysql-test/t/rpl_view.test
mysql-test/t/rpl_view.test
+44
-0
sql/sql_acl.cc
sql/sql_acl.cc
+3
-0
sql/sql_parse.cc
sql/sql_parse.cc
+12
-2
No files found.
mysql-test/r/rpl_view.result
0 → 100644
View file @
a7d0eaae
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 table if exists t1,v1;
drop view if exists t1,v1;
create table t1 (a int);
insert into t1 values (1);
create view v1 as select a from t1;
insert into v1 values (2);
select * from v1 order by a;
a
1
2
select * from v1 order by a;
a
1
2
update v1 set a=3 where a=1;
select * from v1 order by a;
a
2
3
select * from v1 order by a;
a
2
3
delete from v1 where a=2;
select * from v1 order by a;
a
3
select * from v1 order by a;
a
3
alter view v1 as select a as b from t1;
select * from v1 order by 1;
b
3
drop view v1;
select * from v1 order by a;
ERROR 42S02: Table 'test.v1' doesn't exist
drop table t1;
mysql-test/t/rpl_view.test
0 → 100644
View file @
a7d0eaae
source
include
/
master
-
slave
.
inc
;
--
disable_warnings
drop
table
if
exists
t1
,
v1
;
drop
view
if
exists
t1
,
v1
;
sync_slave_with_master
;
--
enable_warnings
#
# Check that createion drop of view is replicated, also check replication of
# updating of view
#
connection
master
;
create
table
t1
(
a
int
);
insert
into
t1
values
(
1
);
create
view
v1
as
select
a
from
t1
;
insert
into
v1
values
(
2
);
select
*
from
v1
order
by
a
;
sync_slave_with_master
;
# view already have to be on slave
select
*
from
v1
order
by
a
;
connection
master
;
update
v1
set
a
=
3
where
a
=
1
;
select
*
from
v1
order
by
a
;
sync_slave_with_master
;
select
*
from
v1
order
by
a
;
connection
master
;
delete
from
v1
where
a
=
2
;
select
*
from
v1
order
by
a
;
sync_slave_with_master
;
select
*
from
v1
order
by
a
;
connection
master
;
# 'alter view' internally maped to creation, but still check that it works
alter
view
v1
as
select
a
as
b
from
t1
;
sync_slave_with_master
;
select
*
from
v1
order
by
1
;
connection
master
;
drop
view
v1
;
sync_slave_with_master
;
#error, because view have to be removed from slave
--
error
1146
select
*
from
v1
order
by
a
;
connection
master
;
drop
table
t1
;
sync_slave_with_master
;
sql/sql_acl.cc
View file @
a7d0eaae
...
...
@@ -5516,6 +5516,9 @@ void fill_effective_table_privileges(THD *thd, GRANT_INFO *grant,
/* global privileges */
grant
->
privilege
=
thd
->
master_access
;
if
(
!
thd
->
priv_user
)
return
;
// it is slave
/* db privileges */
grant
->
privilege
|=
acl_get
(
thd
->
host
,
thd
->
ip
,
thd
->
priv_user
,
db
,
0
);
...
...
sql/sql_parse.cc
View file @
a7d0eaae
...
...
@@ -4059,7 +4059,12 @@ mysql_execute_command(THD *thd)
}
case
SQLCOM_CREATE_VIEW
:
{
res
=
mysql_create_view
(
thd
,
thd
->
lex
->
create_view_mode
);
if
(
!
(
res
=
mysql_create_view
(
thd
,
thd
->
lex
->
create_view_mode
))
&&
mysql_bin_log
.
is_open
())
{
Query_log_event
qinfo
(
thd
,
thd
->
query
,
thd
->
query_length
,
0
,
FALSE
);
mysql_bin_log
.
write
(
&
qinfo
);
}
break
;
}
case
SQLCOM_DROP_VIEW
:
...
...
@@ -4067,7 +4072,12 @@ mysql_execute_command(THD *thd)
if
(
check_table_access
(
thd
,
DROP_ACL
,
all_tables
,
0
)
||
end_active_trans
(
thd
))
goto
error
;
res
=
mysql_drop_view
(
thd
,
first_table
,
thd
->
lex
->
drop_mode
);
if
(
!
(
res
=
mysql_drop_view
(
thd
,
first_table
,
thd
->
lex
->
drop_mode
))
&&
mysql_bin_log
.
is_open
())
{
Query_log_event
qinfo
(
thd
,
thd
->
query
,
thd
->
query_length
,
0
,
FALSE
);
mysql_bin_log
.
write
(
&
qinfo
);
}
break
;
}
case
SQLCOM_CREATE_TRIGGER
:
...
...
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