mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into vajra.(none):/opt/local/work/mysql-5.0-runtime sql/mysql_priv.h: Auto merged sql/sql_base.cc: Auto merged
This commit is contained in:
@ -380,3 +380,27 @@ drop function f2;
|
||||
drop table t2;
|
||||
REVOKE ALL PRIVILEGES, GRANT OPTION FROM `a@`@localhost;
|
||||
drop user `a@`@localhost;
|
||||
drop database if exists mysqltest_1;
|
||||
drop database if exists mysqltest_2;
|
||||
drop user mysqltest_u1@localhost;
|
||||
create database mysqltest_1;
|
||||
create database mysqltest_2;
|
||||
grant all on mysqltest_1.* to mysqltest_u1@localhost;
|
||||
use mysqltest_2;
|
||||
create table t1 (i int);
|
||||
show create table mysqltest_2.t1;
|
||||
ERROR 42000: SELECT command denied to user 'mysqltest_u1'@'localhost' for table 't1'
|
||||
create table t1 like mysqltest_2.t1;
|
||||
ERROR 42000: SELECT command denied to user 'mysqltest_u1'@'localhost' for table 't1'
|
||||
grant select on mysqltest_2.t1 to mysqltest_u1@localhost;
|
||||
show create table mysqltest_2.t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`i` int(11) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
create table t1 like mysqltest_2.t1;
|
||||
use test;
|
||||
drop database mysqltest_1;
|
||||
drop database mysqltest_2;
|
||||
drop user mysqltest_u1@localhost;
|
||||
End of 5.0 tests
|
||||
|
@ -1030,7 +1030,7 @@ select bug12329();
|
||||
bug12329()
|
||||
101
|
||||
execute stmt1;
|
||||
ERROR HY000: Table 't2' was not locked with LOCK TABLES
|
||||
ERROR 42S02: Table 'test.t2' doesn't exist
|
||||
deallocate prepare stmt1;
|
||||
drop function bug12329;
|
||||
drop table t1, t2;
|
||||
@ -1152,12 +1152,12 @@ create trigger t1_ai after insert on t1 for each row insert into t2 values (new.
|
||||
create view v1 as select * from t1;
|
||||
drop table t2;
|
||||
insert into v1 values (1);
|
||||
ERROR HY000: Table 't2' was not locked with LOCK TABLES
|
||||
ERROR 42S02: Table 'test.t2' doesn't exist
|
||||
drop trigger t1_ai;
|
||||
create function bug11555_1() returns int return (select max(i) from t2);
|
||||
create trigger t1_ai after insert on t1 for each row set @a:=bug11555_1();
|
||||
insert into v1 values (2);
|
||||
ERROR HY000: Table 't2' was not locked with LOCK TABLES
|
||||
ERROR 42S02: Table 'test.t2' doesn't exist
|
||||
drop function bug11555_1;
|
||||
drop table t1;
|
||||
drop view v1;
|
||||
|
@ -254,4 +254,17 @@ execute stmt;
|
||||
deallocate prepare stmt;
|
||||
drop function bug19634;
|
||||
drop table t1, t2, t3;
|
||||
drop table if exists bug_27907_logs;
|
||||
drop table if exists bug_27907_t1;
|
||||
create table bug_27907_logs (a int);
|
||||
create table bug_27907_t1 (a int);
|
||||
create trigger bug_27907_t1_ai after insert on bug_27907_t1
|
||||
for each row
|
||||
begin
|
||||
insert into bug_27907_logs (a) values (1);
|
||||
end|
|
||||
drop table bug_27907_logs;
|
||||
insert into bug_27907_t1(a) values (1);
|
||||
ERROR 42S02: Table 'test.bug_27907_logs' doesn't exist
|
||||
drop table bug_27907_t1;
|
||||
End of 5.0 tests
|
||||
|
@ -820,9 +820,9 @@ call p1();
|
||||
drop trigger t1_bi;
|
||||
create trigger t1_bi after insert on t1 for each row insert into t3 values (new.id);
|
||||
execute stmt1;
|
||||
ERROR HY000: Table 't3' was not locked with LOCK TABLES
|
||||
ERROR 42S02: Table 'test.t3' doesn't exist
|
||||
call p1();
|
||||
ERROR HY000: Table 't3' was not locked with LOCK TABLES
|
||||
ERROR 42S02: Table 'test.t3' doesn't exist
|
||||
deallocate prepare stmt1;
|
||||
drop procedure p1;
|
||||
drop table t1, t2, t3;
|
||||
|
@ -513,3 +513,47 @@ disconnect bug13310;
|
||||
connection default;
|
||||
REVOKE ALL PRIVILEGES, GRANT OPTION FROM `a@`@localhost;
|
||||
drop user `a@`@localhost;
|
||||
|
||||
|
||||
#
|
||||
# Bug#25578 "CREATE TABLE LIKE does not require any privileges on source table"
|
||||
#
|
||||
--disable_warnings
|
||||
drop database if exists mysqltest_1;
|
||||
drop database if exists mysqltest_2;
|
||||
--enable_warnings
|
||||
--error 0,ER_CANNOT_USER
|
||||
drop user mysqltest_u1@localhost;
|
||||
|
||||
create database mysqltest_1;
|
||||
create database mysqltest_2;
|
||||
grant all on mysqltest_1.* to mysqltest_u1@localhost;
|
||||
use mysqltest_2;
|
||||
create table t1 (i int);
|
||||
|
||||
# Connect as user with all rights on mysqltest_1 but with no rights on mysqltest_2.
|
||||
connect (user1,localhost,mysqltest_u1,,mysqltest_1);
|
||||
connection user1;
|
||||
# As expected error is emitted
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
show create table mysqltest_2.t1;
|
||||
# This should emit error as well
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
create table t1 like mysqltest_2.t1;
|
||||
|
||||
# Now let us check that SELECT privilege on the source is enough
|
||||
connection default;
|
||||
grant select on mysqltest_2.t1 to mysqltest_u1@localhost;
|
||||
connection user1;
|
||||
show create table mysqltest_2.t1;
|
||||
create table t1 like mysqltest_2.t1;
|
||||
|
||||
# Clean-up
|
||||
connection default;
|
||||
use test;
|
||||
drop database mysqltest_1;
|
||||
drop database mysqltest_2;
|
||||
drop user mysqltest_u1@localhost;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
|
@ -1454,7 +1454,7 @@ select bug12329();
|
||||
# Until we implement proper mechanism for invalidation of PS/SP when table
|
||||
# or SP's are changed the following statement will fail with 'Table ... was
|
||||
# not locked' error (this mechanism should be based on the new TDC).
|
||||
--error 1100
|
||||
--error ER_NO_SUCH_TABLE
|
||||
execute stmt1;
|
||||
deallocate prepare stmt1;
|
||||
drop function bug12329;
|
||||
@ -1639,13 +1639,13 @@ create trigger t1_ai after insert on t1 for each row insert into t2 values (new.
|
||||
create view v1 as select * from t1;
|
||||
drop table t2;
|
||||
# Limitation, the desired error is ER_VIEW_INVALID
|
||||
--error ER_TABLE_NOT_LOCKED
|
||||
--error ER_NO_SUCH_TABLE
|
||||
insert into v1 values (1);
|
||||
drop trigger t1_ai;
|
||||
create function bug11555_1() returns int return (select max(i) from t2);
|
||||
create trigger t1_ai after insert on t1 for each row set @a:=bug11555_1();
|
||||
# Limitation, the desired error is ER_VIEW_INVALID
|
||||
--error ER_TABLE_NOT_LOCKED
|
||||
--error ER_NO_SUCH_TABLE
|
||||
insert into v1 values (2);
|
||||
drop function bug11555_1;
|
||||
drop table t1;
|
||||
|
@ -301,5 +301,36 @@ deallocate prepare stmt;
|
||||
drop function bug19634;
|
||||
drop table t1, t2, t3;
|
||||
|
||||
#
|
||||
# Bug #27907 Misleading error message when opening/locking tables
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists bug_27907_logs;
|
||||
drop table if exists bug_27907_t1;
|
||||
--enable_warnings
|
||||
|
||||
create table bug_27907_logs (a int);
|
||||
create table bug_27907_t1 (a int);
|
||||
|
||||
delimiter |;
|
||||
|
||||
create trigger bug_27907_t1_ai after insert on bug_27907_t1
|
||||
for each row
|
||||
begin
|
||||
insert into bug_27907_logs (a) values (1);
|
||||
end|
|
||||
|
||||
delimiter ;|
|
||||
|
||||
drop table bug_27907_logs;
|
||||
|
||||
#
|
||||
# was failing before with error ER_NOT_LOCKED
|
||||
#
|
||||
--error ER_NO_SUCH_TABLE
|
||||
insert into bug_27907_t1(a) values (1);
|
||||
|
||||
drop table bug_27907_t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -1000,9 +1000,9 @@ create trigger t1_bi after insert on t1 for each row insert into t3 values (new.
|
||||
# Until we implement proper mechanism for invalidation of PS/SP when table
|
||||
# or SP's are changed these two statements will fail with 'Table ... was
|
||||
# not locked' error (this mechanism should be based on the new TDC).
|
||||
--error 1100 #ER_TABLE_NOT_LOCKED
|
||||
--error ER_NO_SUCH_TABLE
|
||||
execute stmt1;
|
||||
--error 1100 #ER_TABLE_NOT_LOCKED
|
||||
--error ER_NO_SUCH_TABLE
|
||||
call p1();
|
||||
deallocate prepare stmt1;
|
||||
drop procedure p1;
|
||||
|
Reference in New Issue
Block a user