mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-bug1-5.0 sql/sql_view.cc: Auto merged mysql-test/r/view.result: merge mysql-test/t/view.test: merge
This commit is contained in:
@ -2097,6 +2097,14 @@ select * from v1;
|
|||||||
f1
|
f1
|
||||||
1
|
1
|
||||||
drop view v1;
|
drop view v1;
|
||||||
|
create table t1(a int);
|
||||||
|
create procedure p1() create view v1 as select * from t1;
|
||||||
|
drop table t1;
|
||||||
|
call p1();
|
||||||
|
ERROR 42S02: Table 'test.t1' doesn't exist
|
||||||
|
call p1();
|
||||||
|
ERROR 42S02: Table 'test.t1' doesn't exist
|
||||||
|
drop procedure p1;
|
||||||
create table t1 (f1 int);
|
create table t1 (f1 int);
|
||||||
create table t2 (f1 int);
|
create table t2 (f1 int);
|
||||||
insert into t1 values (1);
|
insert into t1 values (1);
|
||||||
|
@ -1943,6 +1943,18 @@ create view v1 as select timestampdiff(day,'1997-01-01 00:00:00','1997-01-02 00:
|
|||||||
select * from v1;
|
select * from v1;
|
||||||
drop view v1;
|
drop view v1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# repeatable CREATE VIEW statement BUG#12468
|
||||||
|
#
|
||||||
|
create table t1(a int);
|
||||||
|
create procedure p1() create view v1 as select * from t1;
|
||||||
|
drop table t1;
|
||||||
|
-- error 1146
|
||||||
|
call p1();
|
||||||
|
-- error 1146
|
||||||
|
call p1();
|
||||||
|
drop procedure p1;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug #10624 Views with multiple UNION and UNION ALL produce incorrect results
|
# Bug #10624 Views with multiple UNION and UNION ALL produce incorrect results
|
||||||
#
|
#
|
||||||
|
@ -230,7 +230,10 @@ bool mysql_create_view(THD *thd,
|
|||||||
(check_access(thd, DROP_ACL, view->db, &view->grant.privilege,
|
(check_access(thd, DROP_ACL, view->db, &view->grant.privilege,
|
||||||
0, 0) ||
|
0, 0) ||
|
||||||
grant_option && check_grant(thd, DROP_ACL, view, 0, 1, 0))))
|
grant_option && check_grant(thd, DROP_ACL, view, 0, 1, 0))))
|
||||||
DBUG_RETURN(TRUE);
|
{
|
||||||
|
res= TRUE;
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
for (sl= select_lex; sl; sl= sl->next_select())
|
for (sl= select_lex; sl; sl= sl->next_select())
|
||||||
{
|
{
|
||||||
for (tbl= sl->get_table_list(); tbl; tbl= tbl->next_local)
|
for (tbl= sl->get_table_list(); tbl; tbl= tbl->next_local)
|
||||||
@ -243,7 +246,8 @@ bool mysql_create_view(THD *thd,
|
|||||||
{
|
{
|
||||||
my_error(ER_TABLEACCESS_DENIED_ERROR, MYF(0),
|
my_error(ER_TABLEACCESS_DENIED_ERROR, MYF(0),
|
||||||
"ANY", thd->priv_user, thd->host_or_ip, tbl->table_name);
|
"ANY", thd->priv_user, thd->host_or_ip, tbl->table_name);
|
||||||
DBUG_RETURN(TRUE);
|
res= TRUE;
|
||||||
|
goto err;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
Mark this table as a table which will be checked after the prepare
|
Mark this table as a table which will be checked after the prepare
|
||||||
@ -302,7 +306,10 @@ bool mysql_create_view(THD *thd,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (open_and_lock_tables(thd, tables))
|
if (open_and_lock_tables(thd, tables))
|
||||||
DBUG_RETURN(TRUE);
|
{
|
||||||
|
res= TRUE;
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
check that tables are not temporary and this VIEW do not used in query
|
check that tables are not temporary and this VIEW do not used in query
|
||||||
@ -372,7 +379,10 @@ bool mysql_create_view(THD *thd,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (check_duplicate_names(select_lex->item_list, 1))
|
if (check_duplicate_names(select_lex->item_list, 1))
|
||||||
DBUG_RETURN(TRUE);
|
{
|
||||||
|
res= TRUE;
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef NO_EMBEDDED_ACCESS_CHECKS
|
#ifndef NO_EMBEDDED_ACCESS_CHECKS
|
||||||
/*
|
/*
|
||||||
@ -402,7 +412,8 @@ bool mysql_create_view(THD *thd,
|
|||||||
my_error(ER_COLUMNACCESS_DENIED_ERROR, MYF(0),
|
my_error(ER_COLUMNACCESS_DENIED_ERROR, MYF(0),
|
||||||
"create view", thd->priv_user, thd->host_or_ip, item->name,
|
"create view", thd->priv_user, thd->host_or_ip, item->name,
|
||||||
view->table_name);
|
view->table_name);
|
||||||
DBUG_RETURN(TRUE);
|
res= TRUE;
|
||||||
|
goto err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user