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
9d9c9504
Commit
9d9c9504
authored
Oct 04, 2004
by
bell@sanja.is.com.ua
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
postmerge fix
parent
013512ab
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
52 additions
and
44 deletions
+52
-44
mysql-test/r/view.result
mysql-test/r/view.result
+6
-6
mysql-test/t/view.test
mysql-test/t/view.test
+8
-8
sql/table.cc
sql/table.cc
+38
-30
No files found.
mysql-test/r/view.result
View file @
9d9c9504
...
...
@@ -1347,8 +1347,8 @@ insert into v1 values(3);
ERROR HY000: CHECK OPTION failed 'test.v1'
insert ignore into v1 values (2),(3),(0);
Warnings:
Error 13
59
CHECK OPTION failed 'test.v1'
Error 13
59
CHECK OPTION failed 'test.v1'
Error 13
65
CHECK OPTION failed 'test.v1'
Error 13
65
CHECK OPTION failed 'test.v1'
select * from t1;
a
1
...
...
@@ -1361,8 +1361,8 @@ create table t2 (a int);
insert into t2 values (2),(3),(0);
insert ignore into v1 SELECT a from t2;
Warnings:
Error 13
59
CHECK OPTION failed 'test.v1'
Error 13
59
CHECK OPTION failed 'test.v1'
Error 13
65
CHECK OPTION failed 'test.v1'
Error 13
65
CHECK OPTION failed 'test.v1'
select * from t1;
a
1
...
...
@@ -1384,7 +1384,7 @@ a
update v1 set a=a+1;
update ignore v1,t2 set v1.a=v1.a+1 where v1.a=t2.a;
Warnings:
Error 13
59
CHECK OPTION failed 'test.v1'
Error 13
65
CHECK OPTION failed 'test.v1'
select * from t1;
a
1
...
...
@@ -1418,7 +1418,7 @@ insert into v1 values (1) on duplicate key update a=2;
ERROR HY000: CHECK OPTION failed 'test.v1'
insert ignore into v1 values (1) on duplicate key update a=2;
Warnings:
Error 13
59
CHECK OPTION failed 'test.v1'
Error 13
65
CHECK OPTION failed 'test.v1'
select * from t1;
a
1
...
...
mysql-test/t/view.test
View file @
9d9c9504
...
...
@@ -394,7 +394,7 @@ drop table t1;
# syntax compatibility
#
create
table
t1
(
a
int
);
--
error
13
58
--
error
13
64
create
view
v1
as
select
distinct
a
from
t1
WITH
CHECK
OPTION
;
create
view
v1
as
select
a
from
t1
WITH
CHECK
OPTION
;
create
view
v2
as
select
a
from
t1
WITH
CASCADED
CHECK
OPTION
;
...
...
@@ -1318,7 +1318,7 @@ create table t1 (a int);
create
view
v1
as
select
*
from
t1
where
a
<
2
with
check
option
;
# simple insert
insert
into
v1
values
(
1
);
--
error
13
59
--
error
13
65
insert
into
v1
values
(
3
);
# simple insert with ignore
insert
ignore
into
v1
values
(
2
),(
3
),(
0
);
...
...
@@ -1327,7 +1327,7 @@ select * from t1;
delete
from
t1
;
# INSERT SELECT test
insert
into
v1
SELECT
1
;
--
error
13
59
--
error
13
65
insert
into
v1
SELECT
3
;
# prepare data for next check
create
table
t2
(
a
int
);
...
...
@@ -1337,7 +1337,7 @@ insert ignore into v1 SELECT a from t2;
select
*
from
t1
;
#simple UPDATE test
update
v1
set
a
=-
1
where
a
=
0
;
--
error
13
59
--
error
13
65
update
v1
set
a
=
2
where
a
=
1
;
select
*
from
t1
;
# prepare data for next check
...
...
@@ -1364,12 +1364,12 @@ create view v2 as select * from v1 where a > 0 with local check option;
create
view
v3
as
select
*
from
v1
where
a
>
0
with
cascaded
check
option
;
insert
into
v2
values
(
1
);
insert
into
v3
values
(
1
);
--
error
13
59
--
error
13
65
insert
into
v2
values
(
0
);
--
error
13
59
--
error
13
65
insert
into
v3
values
(
0
);
insert
into
v2
values
(
2
);
--
error
13
59
--
error
13
65
insert
into
v3
values
(
2
);
select
*
from
t1
;
drop
view
v3
,
v2
,
v1
;
...
...
@@ -1381,7 +1381,7 @@ drop table t1;
create
table
t1
(
a
int
,
primary
key
(
a
));
create
view
v1
as
select
*
from
t1
where
a
<
2
with
check
option
;
insert
into
v1
values
(
1
)
on
duplicate
key
update
a
=
2
;
--
error
13
59
--
error
13
65
insert
into
v1
values
(
1
)
on
duplicate
key
update
a
=
2
;
insert
ignore
into
v1
values
(
1
)
on
duplicate
key
update
a
=
2
;
select
*
from
t1
;
...
...
sql/table.cc
View file @
9d9c9504
...
...
@@ -1602,16 +1602,23 @@ bool st_table_list::setup_ancestor(THD *thd, Item **conds)
check_option
=
and_conds
(
check_option
,
ancestor
->
check_option
);
}
}
/*
check that it is not VIEW in which we insert with INSERT SELECT
(in this case we can't add view WHERE condition to main SELECT_LEX)
*/
if
(
!
no_where_clause
)
{
/* Go up to join tree and try to find left join */
for
(;
tbl
;
tbl
=
tbl
->
embedding
)
{
if
(
tbl
->
outer_join
)
{
/*
Store WHERE condition to ON expression for outer join, because w
e
can't use WHERE to correctly execute jeft joins on VIEWs and this
expression will not be moved to WHERE condition (i.e. will be clean
correctly for PS/SP)
Store WHERE condition to ON expression for outer join, becaus
e
we can't use WHERE to correctly execute jeft joins on VIEWs and
this expression will not be moved to WHERE condition (i.e. will
be clean
correctly for PS/SP)
*/
tbl
->
on_expr
=
and_conds
(
tbl
->
on_expr
,
where
);
break
;
...
...
@@ -1622,10 +1629,10 @@ bool st_table_list::setup_ancestor(THD *thd, Item **conds)
if
(
outer_join
)
{
/*
Store WHERE condition to ON expression for outer join, because w
e
can't use WHERE to correctly execute jeft joins on VIEWs and this
expression will not be moved to WHERE condition (i.e. will be
clean correctly for PS/SP)
Store WHERE condition to ON expression for outer join, becaus
e
we can't use WHERE to correctly execute jeft joins on VIEWs and
this expression will not be moved to WHERE condition (i.e. will
be
clean correctly for PS/SP)
*/
on_expr
=
and_conds
(
on_expr
,
where
);
}
...
...
@@ -1638,6 +1645,7 @@ bool st_table_list::setup_ancestor(THD *thd, Item **conds)
*
conds
=
and_conds
(
*
conds
,
where
);
}
}
}
if
(
arena
)
thd
->
restore_backup_item_arena
(
arena
,
&
backup
);
...
...
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