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
a9c7fb9d
Commit
a9c7fb9d
authored
Dec 31, 2004
by
serg@sergbook.mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
post-merge
parent
a04fc26c
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
87 additions
and
91 deletions
+87
-91
mysql-test/r/grant.result
mysql-test/r/grant.result
+11
-11
mysql-test/r/grant2.result
mysql-test/r/grant2.result
+17
-17
mysql-test/r/mysqldump.result
mysql-test/r/mysqldump.result
+1
-2
mysql-test/r/show_check.result
mysql-test/r/show_check.result
+4
-4
mysql-test/r/sp-security.result
mysql-test/r/sp-security.result
+3
-3
mysql-test/r/timezone2.result
mysql-test/r/timezone2.result
+2
-2
mysql-test/r/user_limits.result
mysql-test/r/user_limits.result
+1
-1
mysql-test/r/view.result
mysql-test/r/view.result
+19
-19
mysql-test/t/grant2.test
mysql-test/t/grant2.test
+22
-23
mysql-test/t/mysqldump.test
mysql-test/t/mysqldump.test
+1
-0
mysql-test/t/user_limits.test
mysql-test/t/user_limits.test
+1
-0
sql/sql_acl.cc
sql/sql_acl.cc
+1
-5
sql/sql_prepare.cc
sql/sql_prepare.cc
+4
-4
No files found.
mysql-test/r/grant.result
View file @
a9c7fb9d
...
...
@@ -11,7 +11,7 @@ GRANT SELECT ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
grant delete on mysqltest.* to mysqltest_1@localhost;
select * from mysql.user where user="mysqltest_1";
Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
localhost mysqltest_1 N N N N N N N N N N N N N N N N N N N N N
0 0 0 0
localhost mysqltest_1 N N N N N N N N N N N N N N N N N N N N N
N N N N SPECIFIED EDH-RSA-DES-CBC3-SHA
0 0 0 0
show grants for mysqltest_1@localhost;
Grants for mysqltest_1@localhost
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' REQUIRE CIPHER 'EDH-RSA-DES-CBC3-SHA'
...
...
@@ -41,15 +41,15 @@ delete from mysql.user where user='mysqltest_1';
flush privileges;
grant usage on *.* to mysqltest_1@localhost with max_queries_per_hour 10;
select * from mysql.user where user="mysqltest_1";
Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv
ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max
_connections
localhost mysqltest_1 N N N N N N N N N N N N N N N N N N N N N
1
0 0 0
Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv
Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user
_connections
localhost mysqltest_1 N N N N N N N N N N N N N N N N N N N N N
N N N N 10
0 0 0
show grants for mysqltest_1@localhost;
Grants for mysqltest_1@localhost
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' WITH MAX_QUERIES_PER_HOUR 10
grant usage on *.* to mysqltest_1@localhost with max_updates_per_hour 20 max_connections_per_hour 30;
select * from mysql.user where user="mysqltest_1";
Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv
ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max
_connections
localhost mysqltest_1 N N N N N N N N N N N N N N N N N N N N N
10 20 3
0
Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv
Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user
_connections
localhost mysqltest_1 N N N N N N N N N N N N N N N N N N N N N
N N N N 10 20 30
0
show grants for mysqltest_1@localhost;
Grants for mysqltest_1@localhost
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' WITH MAX_QUERIES_PER_HOUR 10 MAX_UPDATES_PER_HOUR 20 MAX_CONNECTIONS_PER_HOUR 30
...
...
@@ -388,9 +388,9 @@ ERROR 42000: UPDATE command denied to user 'mysqltest_3'@'localhost' for column
update mysqltest_1.t2, mysqltest_2.t2 set d=20 where d=1;
ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for column 'd' in table 't2'
update mysqltest_1.t1, mysqltest_2.t2 set d=20 where d=1;
ERROR 42000:
select
command denied to user 'mysqltest_3'@'localhost' for table 't1'
ERROR 42000:
SELECT
command denied to user 'mysqltest_3'@'localhost' for table 't1'
update mysqltest_2.t1, mysqltest_1.t2 set c=20 where b=1;
ERROR 42000:
update
command denied to user 'mysqltest_3'@'localhost' for table 't1'
ERROR 42000:
UPDATE
command denied to user 'mysqltest_3'@'localhost' for table 't1'
update mysqltest_2.t1, mysqltest_2.t2 set d=10 where s=2;
ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for column 's' in table 't1'
update mysqltest_1.t1, mysqltest_2.t2 set a=10,d=10;
...
...
@@ -411,14 +411,14 @@ flush privileges;
use mysqltest_1;
update mysqltest_2.t1, mysqltest_2.t2 set c=500,d=600;
update mysqltest_1.t1, mysqltest_1.t2 set a=100,b=200;
ERROR 42000:
update
command denied to user 'mysqltest_3'@'localhost' for table 't1'
ERROR 42000:
UPDATE
command denied to user 'mysqltest_3'@'localhost' for table 't1'
use mysqltest_2;
update mysqltest_1.t1, mysqltest_1.t2 set a=100,b=200;
ERROR 42000:
update
command denied to user 'mysqltest_3'@'localhost' for table 't1'
ERROR 42000:
UPDATE
command denied to user 'mysqltest_3'@'localhost' for table 't1'
update mysqltest_2.t1, mysqltest_1.t2 set c=100,b=200;
ERROR 42000:
update
command denied to user 'mysqltest_3'@'localhost' for table 't2'
ERROR 42000:
UPDATE
command denied to user 'mysqltest_3'@'localhost' for table 't2'
update mysqltest_1.t1, mysqltest_2.t2 set a=100,d=200;
ERROR 42000:
update
command denied to user 'mysqltest_3'@'localhost' for table 't1'
ERROR 42000:
UPDATE
command denied to user 'mysqltest_3'@'localhost' for table 't1'
select t1.*,t2.* from mysqltest_1.t1,mysqltest_1.t2;
a q b r
10 2 1 2
...
...
mysql-test/r/grant2.result
View file @
a9c7fb9d
...
...
@@ -47,9 +47,9 @@ GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
GRANT SELECT, INSERT ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
insert into t1 values (1, 'I can''t change it!');
update t1 set data='I can change it!' where id = 1;
ERROR 42000:
update
command denied to user 'mysqltest_1'@'localhost' for table 't1'
ERROR 42000:
UPDATE
command denied to user 'mysqltest_1'@'localhost' for table 't1'
insert into t1 values (1, 'XXX') on duplicate key update data= 'I can change it!';
ERROR 42000:
update
command denied to user 'mysqltest_1'@'localhost' for table 't1'
ERROR 42000:
UPDATE
command denied to user 'mysqltest_1'@'localhost' for table 't1'
select * from t1;
id data
1 I can't change it!
...
...
@@ -57,6 +57,20 @@ drop table t1;
delete from mysql.user where user like 'mysqltest\_%';
delete from mysql.db where user like 'mysqltest\_%';
flush privileges;
create table t1 (a int, b int);
grant select (a) on t1 to mysqltest_1@localhost with grant option;
grant select (a,b) on t1 to mysqltest_2@localhost;
ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for column 'b' in table 't1'
grant select on t1 to mysqltest_3@localhost;
ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table 't1'
drop table t1;
delete from mysql.user where user like 'mysqltest\_%';
delete from mysql.db where user like 'mysqltest\_%';
delete from mysql.tables_priv where user like 'mysqltest\_%';
delete from mysql.columns_priv where user like 'mysqltest\_%';
flush privileges;
drop database mysqltest;
use test;
set sql_mode='maxdb';
drop table if exists t1, t2;
create table t1(c1 int);
...
...
@@ -199,7 +213,7 @@ drop user '%@a'@'a';
create user mysqltest_2@localhost;
grant usage on *.* to mysqltest_2@localhost with grant option;
select host,user,password from mysql.user where user like 'mysqltest_%' order by host,user,password;
ERROR 42000:
select
command denied to user 'mysqltest_2'@'localhost' for table 'user'
ERROR 42000:
SELECT
command denied to user 'mysqltest_2'@'localhost' for table 'user'
create user mysqltest_A@'%';
rename user mysqltest_A@'%' to mysqltest_B@'%';
drop user mysqltest_B@'%';
...
...
@@ -219,17 +233,3 @@ drop user mysqltest_B@'%';
ERROR 42000: Access denied for user 'mysqltest_3'@'localhost' to database 'mysql'
drop user mysqltest_B@'%';
drop user mysqltest_3@localhost;
create table t1 (a int, b int);
grant select (a) on t1 to mysqltest_1@localhost with grant option;
grant select (a,b) on t1 to mysqltest_2@localhost;
ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for column 'b' in table 't1'
grant select on t1 to mysqltest_3@localhost;
ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table 't1'
drop table t1;
delete from mysql.user where user like 'mysqltest\_%';
delete from mysql.db where user like 'mysqltest\_%';
delete from mysql.tables_priv where user like 'mysqltest\_%';
delete from mysql.columns_priv where user like 'mysqltest\_%';
flush privileges;
drop database mysqltest;
use test;
mysql-test/r/mysqldump.result
View file @
a9c7fb9d
DROP TABLE IF EXISTS t1, `"t"1`;
drop database if exists mysqldump_test_db;
CREATE TABLE t1(a int);
INSERT INTO t1 VALUES (1), (2);
<?xml version="1.0"?>
...
...
@@ -387,7 +388,6 @@ USE `test`;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
drop database mysqldump_test_db;
create database mysqldump_test_db character set latin2 collate latin2_bin;
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
...
...
@@ -549,4 +549,3 @@ UNLOCK TABLES;
DROP TABLE t1;
DROP TABLE t2;
drop database mysqldump_test_db;
mysql-test/r/show_check.result
View file @
a9c7fb9d
...
...
@@ -382,19 +382,19 @@ show create database mysqltest;
Database Create Database
mysqltest CREATE DATABASE `mysqltest` /*!40100 DEFAULT CHARACTER SET latin1 */
drop table t1;
ERROR 42000:
drop
command denied to user 'mysqltest_1'@'localhost' for table 't1'
ERROR 42000:
DROP
command denied to user 'mysqltest_1'@'localhost' for table 't1'
drop database mysqltest;
ERROR 42000: Access denied for user 'mysqltest_1'@'localhost' to database 'mysqltest'
select * from mysqltest.t1;
ERROR 42000:
select
command denied to user 'mysqltest_2'@'localhost' for table 't1'
ERROR 42000:
SELECT
command denied to user 'mysqltest_2'@'localhost' for table 't1'
show create database mysqltest;
ERROR 42000: Access denied for user 'mysqltest_2'@'localhost' to database 'mysqltest'
drop table mysqltest.t1;
ERROR 42000:
drop
command denied to user 'mysqltest_2'@'localhost' for table 't1'
ERROR 42000:
DROP
command denied to user 'mysqltest_2'@'localhost' for table 't1'
drop database mysqltest;
ERROR 42000: Access denied for user 'mysqltest_2'@'localhost' to database 'mysqltest'
select * from mysqltest.t1;
ERROR 42000:
select
command denied to user 'mysqltest_3'@'localhost' for table 't1'
ERROR 42000:
SELECT
command denied to user 'mysqltest_3'@'localhost' for table 't1'
show create database mysqltest;
ERROR 42000: Access denied for user 'mysqltest_3'@'localhost' to database 'mysqltest'
drop table mysqltest.t1;
...
...
mysql-test/r/sp-security.result
View file @
a9c7fb9d
...
...
@@ -32,7 +32,7 @@ select db1_secret.db();
db1_secret.db()
db1_secret
select * from db1_secret.t1;
ERROR 42000:
select
command denied to user 'user1'@'localhost' for table 't1'
ERROR 42000:
SELECT
command denied to user 'user1'@'localhost' for table 't1'
create procedure db1_secret.dummy() begin end;
ERROR 42000: Access denied for user 'user1'@'localhost' to database 'db1_secret'
drop procedure db1_secret.dummy;
...
...
@@ -42,7 +42,7 @@ select db1_secret.db();
db1_secret.db()
db1_secret
select * from db1_secret.t1;
ERROR 42000:
select
command denied to user ''@'localhost' for table 't1'
ERROR 42000:
SELECT
command denied to user ''@'localhost' for table 't1'
create procedure db1_secret.dummy() begin end;
ERROR 42000: Access denied for user ''@'localhost' to database 'db1_secret'
drop procedure db1_secret.dummy;
...
...
@@ -92,7 +92,7 @@ flush privileges;
use db2;
create procedure p () insert into t2 values (1);
call p();
ERROR 42000:
insert
command denied to user 'user1'@'localhost' for table 't2'
ERROR 42000:
INSERT
command denied to user 'user1'@'localhost' for table 't2'
use db2;
call p();
ERROR 42000: execute command denied to user 'user2'@'localhost' for routine 'db2.p'
...
...
mysql-test/r/timezone2.result
View file @
a9c7fb9d
...
...
@@ -273,9 +273,9 @@ convert_tz(b, 'Europe/Moscow', 'UTC')
update t1, t2 set t1.b = convert_tz('2004-10-21 19:00:00', 'Europe/Moscow', 'UTC')
where t1.a = t2.c and t2.d = (select max(d) from t2);
select * from mysql.time_zone_name;
ERROR 42000:
select
command denied to user 'mysqltest_1'@'localhost' for table 'time_zone_name'
ERROR 42000:
SELECT
command denied to user 'mysqltest_1'@'localhost' for table 'time_zone_name'
select Name, convert_tz('2004-10-21 19:00:00', Name, 'UTC') from mysql.time_zone_name;
ERROR 42000:
select
command denied to user 'mysqltest_1'@'localhost' for table 'time_zone_name'
ERROR 42000:
SELECT
command denied to user 'mysqltest_1'@'localhost' for table 'time_zone_name'
delete from mysql.db where user like 'mysqltest\_%';
flush privileges;
grant all privileges on test.t1 to mysqltest_1@localhost;
...
...
mysql-test/r/user_limits.result
View file @
a9c7fb9d
...
...
@@ -42,7 +42,7 @@ connect(localhost,mysqltest_1,,test,MYSQL_PORT,MYSQL_SOCK);
ERROR 42000: User 'mysqltest_1' has exceeded the 'max_connections' resource (current value: 2)
select * from t1;
i
connect(localhost,mysqltest_1,,test,
9306,/home/dlenev/src/mysql-5.0-1339/mysql-test/var/tmp/master.sock
);
connect(localhost,mysqltest_1,,test,
MYSQL_PORT,MYSQL_SOCK
);
ERROR 42000: User 'mysqltest_1' has exceeded the 'max_connections' resource (current value: 2)
drop user mysqltest_1@localhost;
flush privileges;
...
...
mysql-test/r/view.result
View file @
a9c7fb9d
...
...
@@ -237,11 +237,11 @@ grant select on mysqltest.t1 to mysqltest_1@localhost;
grant create view,select on test.* to mysqltest_1@localhost;
create view v1 as select * from mysqltest.t1;
alter view v1 as select * from mysqltest.t1;
ERROR 42000:
delete
command denied to user 'mysqltest_1'@'localhost' for table 'v1'
ERROR 42000:
DELETE
command denied to user 'mysqltest_1'@'localhost' for table 'v1'
create or replace view v1 as select * from mysqltest.t1;
ERROR 42000:
delete
command denied to user 'mysqltest_1'@'localhost' for table 'v1'
ERROR 42000:
DELETE
command denied to user 'mysqltest_1'@'localhost' for table 'v1'
create view mysqltest.v2 as select * from mysqltest.t1;
ERROR 42000:
create view
command denied to user 'mysqltest_1'@'localhost' for table 'v2'
ERROR 42000:
CREATE VIEW
command denied to user 'mysqltest_1'@'localhost' for table 'v2'
create view v2 as select * from mysqltest.t2;
ERROR 42000: ANY command denied to user 'mysqltest_1'@'localhost' for table 't2'
revoke all privileges on mysqltest.t1 from mysqltest_1@localhost;
...
...
@@ -300,39 +300,39 @@ d bigint(20) YES NULL
explain select c from mysqltest.v1;
ERROR HY000: EXPLAIN/SHOW can not be issued; lacking privileges for underlying table
show create view mysqltest.v1;
ERROR 42000:
show create view
command denied to user 'mysqltest_1'@'localhost' for table 'v1'
ERROR 42000:
SHOW VIEW
command denied to user 'mysqltest_1'@'localhost' for table 'v1'
explain select c from mysqltest.v2;
ERROR HY000: EXPLAIN/SHOW can not be issued; lacking privileges for underlying table
show create view mysqltest.v2;
ERROR 42000:
show create view
command denied to user 'mysqltest_1'@'localhost' for table 'v2'
ERROR 42000:
SHOW VIEW
command denied to user 'mysqltest_1'@'localhost' for table 'v2'
explain select c from mysqltest.v3;
ERROR HY000: EXPLAIN/SHOW can not be issued; lacking privileges for underlying table
show create view mysqltest.v3;
ERROR 42000:
show create view
command denied to user 'mysqltest_1'@'localhost' for table 'v3'
ERROR 42000:
SHOW VIEW
command denied to user 'mysqltest_1'@'localhost' for table 'v3'
explain select c from mysqltest.v4;
ERROR HY000: EXPLAIN/SHOW can not be issued; lacking privileges for underlying table
show create view mysqltest.v4;
ERROR 42000:
show create view
command denied to user 'mysqltest_1'@'localhost' for table 'v4'
ERROR 42000:
SHOW VIEW
command denied to user 'mysqltest_1'@'localhost' for table 'v4'
grant select on mysqltest.t1 to mysqltest_1@localhost;
explain select c from mysqltest.v1;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 system NULL NULL NULL NULL 0 const row not found
show create view mysqltest.v1;
ERROR 42000:
show create view
command denied to user 'mysqltest_1'@'localhost' for table 'v1'
ERROR 42000:
SHOW VIEW
command denied to user 'mysqltest_1'@'localhost' for table 'v1'
explain select c from mysqltest.v2;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY <derived2> system NULL NULL NULL NULL 0 const row not found
2 DERIVED NULL NULL NULL NULL NULL NULL NULL no matching row in const table
show create view mysqltest.v2;
ERROR 42000:
show create view
command denied to user 'mysqltest_1'@'localhost' for table 'v2'
ERROR 42000:
SHOW VIEW
command denied to user 'mysqltest_1'@'localhost' for table 'v2'
explain select c from mysqltest.v3;
ERROR HY000: EXPLAIN/SHOW can not be issued; lacking privileges for underlying table
show create view mysqltest.v3;
ERROR 42000:
show create view
command denied to user 'mysqltest_1'@'localhost' for table 'v3'
ERROR 42000:
SHOW VIEW
command denied to user 'mysqltest_1'@'localhost' for table 'v3'
explain select c from mysqltest.v4;
ERROR HY000: EXPLAIN/SHOW can not be issued; lacking privileges for underlying table
show create view mysqltest.v4;
ERROR 42000:
show create view
command denied to user 'mysqltest_1'@'localhost' for table 'v4'
ERROR 42000:
SHOW VIEW
command denied to user 'mysqltest_1'@'localhost' for table 'v4'
grant show view on mysqltest.* to mysqltest_1@localhost;
explain select c from mysqltest.v1;
id select_type table type possible_keys key key_len ref rows Extra
...
...
@@ -659,9 +659,9 @@ ERROR 42000: UPDATE command denied to user 'mysqltest_1'@'localhost' for column
update v2 set c=a+c;
ERROR 42000: UPDATE command denied to user 'mysqltest_1'@'localhost' for column 'c' in table 'v2'
update t2,v3 set v3.a=v3.a+v3.c where t2.x=v3.c;
ERROR 42000:
update
command denied to user 'mysqltest_1'@'localhost' for table 'v3'
ERROR 42000:
UPDATE
command denied to user 'mysqltest_1'@'localhost' for table 'v3'
update v3 set a=a+c;
ERROR 42000:
update
command denied to user 'mysqltest_1'@'localhost' for table 'v3'
ERROR 42000:
UPDATE
command denied to user 'mysqltest_1'@'localhost' for table 'v3'
use test;
REVOKE ALL PRIVILEGES, GRANT OPTION FROM mysqltest_1@localhost;
drop database mysqltest;
...
...
@@ -756,9 +756,9 @@ select * from t1;
a b
5 10
delete v2 from t2,v2 where t2.x=v2.c;
ERROR 42000:
delete
command denied to user 'mysqltest_1'@'localhost' for table 'v2'
ERROR 42000:
DELETE
command denied to user 'mysqltest_1'@'localhost' for table 'v2'
delete from v2 where c < 4;
ERROR 42000:
delete
command denied to user 'mysqltest_1'@'localhost' for table 'v2'
ERROR 42000:
DELETE
command denied to user 'mysqltest_1'@'localhost' for table 'v2'
use test;
REVOKE ALL PRIVILEGES, GRANT OPTION FROM mysqltest_1@localhost;
drop database mysqltest;
...
...
@@ -866,9 +866,9 @@ a b
5 6
3 4
insert into v2 values (5,6);
ERROR 42000:
insert
command denied to user 'mysqltest_1'@'localhost' for table 'v2'
ERROR 42000:
INSERT
command denied to user 'mysqltest_1'@'localhost' for table 'v2'
insert into v2 select x,y from t2;
ERROR 42000:
insert
command denied to user 'mysqltest_1'@'localhost' for table 'v2'
ERROR 42000:
INSERT
command denied to user 'mysqltest_1'@'localhost' for table 'v2'
use test;
REVOKE ALL PRIVILEGES, GRANT OPTION FROM mysqltest_1@localhost;
drop database mysqltest;
...
...
@@ -925,7 +925,7 @@ grant create view,update on test.* to mysqltest_1@localhost;
create view v1 as select * from mysqltest.t1;
create view v2 as select b from mysqltest.t2;
create view mysqltest.v1 as select * from mysqltest.t1;
ERROR 42000:
create view
command denied to user 'mysqltest_1'@'localhost' for table 'v1'
ERROR 42000:
CREATE VIEW
command denied to user 'mysqltest_1'@'localhost' for table 'v1'
create view v3 as select a from mysqltest.t2;
ERROR 42000: ANY command denied to user 'mysqltest_1'@'localhost' for column 'a' in table 't2'
create table mysqltest.v3 (b int);
...
...
@@ -943,7 +943,7 @@ create table mysqltest.v3 (b int);
grant select(b) on mysqltest.v3 to mysqltest_1@localhost;
drop table mysqltest.v3;
create view mysqltest.v3 as select b from mysqltest.t2;
ERROR 42000:
create view
command denied to user 'mysqltest_1'@'localhost' for table 'v3'
ERROR 42000:
CREATE VIEW
command denied to user 'mysqltest_1'@'localhost' for table 'v3'
create view v4 as select b+1 from mysqltest.t2;
ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for column 'b' in table 't2'
grant create view,update,select on test.* to mysqltest_1@localhost;
...
...
mysql-test/t/grant2.test
View file @
a9c7fb9d
...
...
@@ -76,6 +76,28 @@ drop table t1;
delete
from
mysql
.
user
where
user
like
'mysqltest\_%'
;
delete
from
mysql
.
db
where
user
like
'mysqltest\_%'
;
flush
privileges
;
#
#
create
table
t1
(
a
int
,
b
int
);
grant
select
(
a
)
on
t1
to
mysqltest_1
@
localhost
with
grant
option
;
connect
(
mrugly
,
localhost
,
mysqltest_1
,,
mysqltest
);
connection
mrugly
;
--
error
1143
grant
select
(
a
,
b
)
on
t1
to
mysqltest_2
@
localhost
;
--
error
1142
grant
select
on
t1
to
mysqltest_3
@
localhost
;
disconnect
mrugly
;
connection
default
;
drop
table
t1
;
delete
from
mysql
.
user
where
user
like
'mysqltest\_%'
;
delete
from
mysql
.
db
where
user
like
'mysqltest\_%'
;
delete
from
mysql
.
tables_priv
where
user
like
'mysqltest\_%'
;
delete
from
mysql
.
columns_priv
where
user
like
'mysqltest\_%'
;
flush
privileges
;
drop
database
mysqltest
;
use
test
;
#
# Create and drop user
...
...
@@ -224,26 +246,3 @@ connection default;
drop
user
mysqltest_B
@
'%'
;
drop
user
mysqltest_3
@
localhost
;
#
#
#
create
table
t1
(
a
int
,
b
int
);
grant
select
(
a
)
on
t1
to
mysqltest_1
@
localhost
with
grant
option
;
connect
(
mrugly
,
localhost
,
mysqltest_1
,,
mysqltest
);
connection
mrugly
;
--
error
1143
grant
select
(
a
,
b
)
on
t1
to
mysqltest_2
@
localhost
;
--
error
1142
grant
select
on
t1
to
mysqltest_3
@
localhost
;
disconnect
mrugly
;
connection
default
;
drop
table
t1
;
delete
from
mysql
.
user
where
user
like
'mysqltest\_%'
;
delete
from
mysql
.
db
where
user
like
'mysqltest\_%'
;
delete
from
mysql
.
tables_priv
where
user
like
'mysqltest\_%'
;
delete
from
mysql
.
columns_priv
where
user
like
'mysqltest\_%'
;
flush
privileges
;
drop
database
mysqltest
;
use
test
;
mysql-test/t/mysqldump.test
View file @
a9c7fb9d
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
,
`"t"1`
;
drop
database
if
exists
mysqldump_test_db
;
--
enable_warnings
# XML output
...
...
mysql-test/t/user_limits.test
View file @
a9c7fb9d
...
...
@@ -72,6 +72,7 @@ select * from t1;
# counters are not thrown away if there are no connections for this user.
disconnect
mcph1
;
disconnect
mcph2
;
--
replace_result
$MASTER_MYPORT
MYSQL_PORT
$MASTER_MYSOCK
MYSQL_SOCK
--
error
1226
connect
(
mcph3
,
localhost
,
mysqltest_1
,,);
# Cleanup
...
...
sql/sql_acl.cc
View file @
a9c7fb9d
...
...
@@ -2605,7 +2605,7 @@ bool mysql_table_grant(THD *thd, TABLE_LIST *table_list,
uint
unused_field_idx
=
NO_CACHED_FIELD_INDEX
;
Field
*
f
=
find_field_in_table
(
thd
,
table_list
,
column
->
column
.
ptr
(),
column
->
column
.
ptr
(),
column
->
column
.
length
(),
0
,
0
,
0
,
0
,
column
->
column
.
length
(),
0
,
1
,
1
,
0
,
&
unused_field_idx
,
FALSE
);
if
(
f
==
(
Field
*
)
0
)
{
...
...
@@ -3359,10 +3359,6 @@ bool check_grant(THD *thd, ulong want_access, TABLE_LIST *tables,
{
char
command
[
128
];
get_privilege_desc
(
command
,
sizeof
(
command
),
want_access
);
else
if
(
want_access
&
CREATE_VIEW_ACL
)
command
=
"create view"
;
else
if
(
want_access
&
SHOW_VIEW_ACL
)
command
=
"show create view"
;
my_error
(
ER_TABLEACCESS_DENIED_ERROR
,
MYF
(
0
),
command
,
thd
->
priv_user
,
...
...
sql/sql_prepare.cc
View file @
a9c7fb9d
...
...
@@ -907,6 +907,7 @@ static bool mysql_test_insert(Prepared_statement *stmt,
ulong
counter
=
0
;
Item
*
unused_conds
=
0
;
if
(
table_list
->
table
)
table_list
->
table
->
insert_values
=
(
byte
*
)
1
;
// don't allocate insert_values
if
((
res
=
mysql_prepare_insert
(
thd
,
table_list
,
table_list
->
table
,
fields
,
values
,
update_fields
,
...
...
@@ -933,6 +934,7 @@ static bool mysql_test_insert(Prepared_statement *stmt,
res
=
0
;
error:
lex
->
unit
.
cleanup
();
if
(
table_list
->
table
)
table_list
->
table
->
insert_values
=
0
;
DBUG_RETURN
(
res
);
}
...
...
@@ -1697,7 +1699,6 @@ bool mysql_stmt_prepare(THD *thd, char *packet, uint packet_length,
lex_end
(
lex
);
thd
->
restore_backup_statement
(
stmt
,
&
thd
->
stmt_backup
);
cleanup_items
(
stmt
->
free_list
);
cleanup_stmt_for_execute
(
stmt
);
close_thread_tables
(
thd
);
thd
->
rollback_item_tree_changes
();
thd
->
cleanup_after_query
();
...
...
@@ -2042,7 +2043,6 @@ static void execute_stmt(THD *thd, Prepared_statement *stmt,
cleanup_items
(
stmt
->
free_list
);
thd
->
rollback_item_tree_changes
();
reset_stmt_params
(
stmt
);
cleanup_stmt_for_execute
(
stmt
);
close_thread_tables
(
thd
);
// to close derived tables
thd
->
set_statement
(
&
thd
->
stmt_backup
);
thd
->
cleanup_after_query
();
...
...
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