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
be780c05
Commit
be780c05
authored
Sep 10, 2019
by
Sergei Golubchik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix CONNECT engine to issue the correct error message
parent
42ada915
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
460 additions
and
481 deletions
+460
-481
storage/connect/ha_connect.cc
storage/connect/ha_connect.cc
+7
-28
storage/connect/mysql-test/connect/r/grant.result
storage/connect/mysql-test/connect/r/grant.result
+87
-87
storage/connect/mysql-test/connect/r/grant2.result
storage/connect/mysql-test/connect/r/grant2.result
+129
-129
storage/connect/mysql-test/connect/r/ini_grant.result
storage/connect/mysql-test/connect/r/ini_grant.result
+13
-13
storage/connect/mysql-test/connect/r/mysql_grant.result
storage/connect/mysql-test/connect/r/mysql_grant.result
+12
-12
storage/connect/mysql-test/connect/r/xml2_grant.result
storage/connect/mysql-test/connect/r/xml2_grant.result
+15
-15
storage/connect/mysql-test/connect/r/xml_grant.result
storage/connect/mysql-test/connect/r/xml_grant.result
+15
-15
storage/connect/mysql-test/connect/t/grant.inc
storage/connect/mysql-test/connect/t/grant.inc
+15
-15
storage/connect/mysql-test/connect/t/grant.test
storage/connect/mysql-test/connect/t/grant.test
+12
-12
storage/connect/mysql-test/connect/t/grant2.test
storage/connect/mysql-test/connect/t/grant2.test
+130
-130
storage/connect/mysql-test/connect/t/ini_grant.test
storage/connect/mysql-test/connect/t/ini_grant.test
+13
-13
storage/connect/mysql-test/connect/t/mysql_grant.test
storage/connect/mysql-test/connect/t/mysql_grant.test
+12
-12
No files found.
storage/connect/ha_connect.cc
View file @
be780c05
...
...
@@ -4503,34 +4503,13 @@ bool ha_connect::check_privileges(THD *thd, PTOS options, char *dbn, bool quick)
case
TAB_DIR
:
case
TAB_ZIP
:
case
TAB_OEM
:
#ifdef NO_EMBEDDED_ACCESS_CHECKS
return
false
;
#endif
/*
Check FILE_ACL
If table or table->mdl_ticket is NULL - it's a DLL, e.g. CREATE TABLE.
if the table has an MDL_EXCLUSIVE lock - it's a DDL too, e.g. the
insert step of CREATE ... SELECT.
Otherwise it's a DML, the table was normally opened, locked,
privilege were already checked, and table->grant.privilege is set.
With SQL SECURITY DEFINER, table->grant.privilege has definer's privileges.
Unless we're in prelocking mode, in this case table->grant.privilege
is only checked in start_stmt(), not in external_lock().
*/
if
(
!
table
||
!
table
->
mdl_ticket
||
table
->
mdl_ticket
->
get_type
()
==
MDL_EXCLUSIVE
)
return
check_access
(
thd
,
FILE_ACL
,
db
,
NULL
,
NULL
,
0
,
0
);
if
((
!
quick
&&
thd
->
lex
->
requires_prelocking
())
||
table
->
grant
.
privilege
&
FILE_ACL
)
return
false
;
status_var_increment
(
thd
->
status_var
.
access_denied_errors
);
my_error
(
access_denied_error_code
(
thd
->
password
),
MYF
(
0
),
thd
->
security_ctx
->
priv_user
,
thd
->
security_ctx
->
priv_host
,
(
thd
->
password
?
ER
(
ER_YES
)
:
ER
(
ER_NO
)));
return
true
;
if
(
table
&&
table
->
pos_in_table_list
)
// if SELECT
{
Switch_to_definer_security_ctx
backup_ctx
(
thd
,
table
->
pos_in_table_list
);
return
check_global_access
(
thd
,
FILE_ACL
);
}
else
return
check_global_access
(
thd
,
FILE_ACL
);
case
TAB_ODBC
:
case
TAB_JDBC
:
case
TAB_MONGO
:
...
...
storage/connect/mysql-test/connect/r/grant.result
View file @
be780c05
...
...
@@ -15,7 +15,7 @@ fname VARCHAR(256) NOT NULL,
ftype CHAR(4) NOT NULL,
size DOUBLE(12,0) NOT NULL flag=5
) ENGINE=CONNECT TABLE_TYPE=DIR FILE_NAME='*.*';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
SELECT user();
user()
...
...
@@ -35,19 +35,19 @@ SELECT user();
user()
user@localhost
SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO t1 VALUES ();
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM t1 WHERE path='xxx';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t1 SET path='yyy' WHERE path='xxx';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
TRUNCATE TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
ALTER TABLE t1 READONLY=1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
CREATE VIEW v1 AS SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
# Testing a VIEW created with FILE privileges but accessed with no FILE
connection default;
SELECT user();
...
...
@@ -59,13 +59,13 @@ SELECT user();
user()
user@localhost
SELECT * FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1 VALUES (1,1,1,1);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1 SET path=123;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
disconnect user;
connection default;
SELECT user();
...
...
@@ -112,7 +112,7 @@ a
DROP VIEW v1;
DROP TABLE t1;
CREATE TABLE t1 (a INT NOT NULL) ENGINE=CONNECT TABLE_TYPE=BIN FILE_NAME='t1.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
SELECT user();
user()
...
...
@@ -124,23 +124,23 @@ SELECT user();
user()
user@localhost
INSERT INTO t1 VALUES (10);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t1 SET a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
TRUNCATE TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
ALTER TABLE t1 READONLY=1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
ALTER TABLE t1 FILE_NAME='t2.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DROP TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
CREATE VIEW v1 AS SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
# Testing a VIEW created with FILE privileges but accessed with no FILE
connection default;
SELECT user();
...
...
@@ -152,13 +152,13 @@ SELECT user();
user()
user@localhost
SELECT * FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1 VALUES (2);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1 SET a=123;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
SELECT user();
user()
...
...
@@ -174,7 +174,7 @@ SELECT user();
user()
user@localhost
ALTER TABLE t1 FILE_NAME='t1.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
disconnect user;
...
...
@@ -217,7 +217,7 @@ a
DROP VIEW v1;
DROP TABLE t1;
CREATE TABLE t1 (a INT NOT NULL) ENGINE=CONNECT TABLE_TYPE=CSV FILE_NAME='t1.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
SELECT user();
user()
...
...
@@ -229,23 +229,23 @@ SELECT user();
user()
user@localhost
INSERT INTO t1 VALUES (10);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t1 SET a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
TRUNCATE TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
ALTER TABLE t1 READONLY=1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
ALTER TABLE t1 FILE_NAME='t2.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DROP TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
CREATE VIEW v1 AS SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
# Testing a VIEW created with FILE privileges but accessed with no FILE
connection default;
SELECT user();
...
...
@@ -257,13 +257,13 @@ SELECT user();
user()
user@localhost
SELECT * FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1 VALUES (2);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1 SET a=123;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
SELECT user();
user()
...
...
@@ -279,7 +279,7 @@ SELECT user();
user()
user@localhost
ALTER TABLE t1 FILE_NAME='t1.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
disconnect user;
...
...
@@ -322,7 +322,7 @@ a
DROP VIEW v1;
DROP TABLE t1;
CREATE TABLE t1 (a INT NOT NULL) ENGINE=CONNECT TABLE_TYPE=DBF FILE_NAME='t1.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
SELECT user();
user()
...
...
@@ -334,23 +334,23 @@ SELECT user();
user()
user@localhost
INSERT INTO t1 VALUES (10);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t1 SET a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
TRUNCATE TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
ALTER TABLE t1 READONLY=1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
ALTER TABLE t1 FILE_NAME='t2.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DROP TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
CREATE VIEW v1 AS SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
# Testing a VIEW created with FILE privileges but accessed with no FILE
connection default;
SELECT user();
...
...
@@ -362,13 +362,13 @@ SELECT user();
user()
user@localhost
SELECT * FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1 VALUES (2);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1 SET a=123;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
SELECT user();
user()
...
...
@@ -384,7 +384,7 @@ SELECT user();
user()
user@localhost
ALTER TABLE t1 FILE_NAME='t1.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
disconnect user;
...
...
@@ -427,7 +427,7 @@ a
DROP VIEW v1;
DROP TABLE t1;
CREATE TABLE t1 (a INT NOT NULL) ENGINE=CONNECT TABLE_TYPE=FIX FILE_NAME='t1.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
SELECT user();
user()
...
...
@@ -439,23 +439,23 @@ SELECT user();
user()
user@localhost
INSERT INTO t1 VALUES (10);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t1 SET a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
TRUNCATE TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
ALTER TABLE t1 READONLY=1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
ALTER TABLE t1 FILE_NAME='t2.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DROP TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
CREATE VIEW v1 AS SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
# Testing a VIEW created with FILE privileges but accessed with no FILE
connection default;
SELECT user();
...
...
@@ -467,13 +467,13 @@ SELECT user();
user()
user@localhost
SELECT * FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1 VALUES (2);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1 SET a=123;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
SELECT user();
user()
...
...
@@ -489,7 +489,7 @@ SELECT user();
user()
user@localhost
ALTER TABLE t1 FILE_NAME='t1.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
disconnect user;
...
...
@@ -532,7 +532,7 @@ a
DROP VIEW v1;
DROP TABLE t1;
CREATE TABLE t1 (a INT NOT NULL) ENGINE=CONNECT TABLE_TYPE=VEC MAX_ROWS=100 FILE_NAME='t1.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
SELECT user();
user()
...
...
@@ -544,23 +544,23 @@ SELECT user();
user()
user@localhost
INSERT INTO t1 VALUES (10);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t1 SET a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
TRUNCATE TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
ALTER TABLE t1 READONLY=1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
ALTER TABLE t1 FILE_NAME='t2.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DROP TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
CREATE VIEW v1 AS SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
# Testing a VIEW created with FILE privileges but accessed with no FILE
connection default;
SELECT user();
...
...
@@ -572,13 +572,13 @@ SELECT user();
user()
user@localhost
SELECT * FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1 VALUES (2);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1 SET a=123;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
SELECT user();
user()
...
...
@@ -594,7 +594,7 @@ SELECT user();
user()
user@localhost
ALTER TABLE t1 FILE_NAME='t1.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
disconnect user;
...
...
storage/connect/mysql-test/connect/r/grant2.result
View file @
be780c05
...
...
@@ -21,12 +21,12 @@ SELECT * FROM v1_definer;
a
10
SELECT * FROM v1_baddefiner;
ERROR
28000: Access denied for user 'root'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connect user,localhost,user,,;
SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
SELECT * FROM v1_invoker;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
SELECT * FROM v1_definer;
a
10
...
...
@@ -44,9 +44,9 @@ UPDATE v1_invoker SET a=12;
UPDATE v1_definer SET a=13;
connection user;
UPDATE t1 SET a=21;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1_invoker SET a=22;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1_definer SET a=23;
connection default;
DROP VIEW v1_invoker, v1_definer;
...
...
@@ -62,9 +62,9 @@ INSERT INTO v1_invoker VALUES (12);
INSERT INTO v1_definer VALUES (13);
connection user;
INSERT INTO t1 VALUES (21);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1_invoker VALUES (22);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1_definer VALUES (23);
connection default;
DROP VIEW v1_invoker, v1_definer;
...
...
@@ -83,9 +83,9 @@ REPLACE INTO v1_definer VALUES (13);
ERROR 42000: CONNECT Unsupported command
connection user;
REPLACE INTO t1 VALUES (21);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
REPLACE INTO v1_invoker VALUES (22);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
REPLACE INTO v1_definer VALUES (23);
ERROR 42000: CONNECT Unsupported command
connection default;
...
...
@@ -102,9 +102,9 @@ DELETE FROM v1_invoker WHERE a=12;
DELETE FROM v1_definer WHERE a=13;
connection user;
DELETE FROM t1 WHERE a=21;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM v1_invoker WHERE a=22;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM v1_definer WHERE a=23;
connection default;
DROP VIEW v1_invoker, v1_definer;
...
...
@@ -120,9 +120,9 @@ LOAD DATA LOCAL INFILE 'MTR_SUITE_DIR/std_data/boys.txt' INTO TABLE v1_invoker;
LOAD DATA LOCAL INFILE 'MTR_SUITE_DIR/std_data/boys.txt' INTO TABLE v1_definer;
connection user;
LOAD DATA LOCAL INFILE 'MTR_SUITE_DIR/std_data/boys.txt' INTO TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
LOAD DATA LOCAL INFILE 'MTR_SUITE_DIR/std_data/boys.txt' INTO TABLE v1_invoker;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
LOAD DATA LOCAL INFILE 'MTR_SUITE_DIR/std_data/boys.txt' INTO TABLE v1_definer;
connection default;
DROP VIEW v1_invoker, v1_definer;
...
...
@@ -135,7 +135,7 @@ TRUNCATE TABLE t1;
INSERT INTO t1 VALUES (11);
connection user;
TRUNCATE TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
# Testing SQLCOM_DROP_TABLE
...
...
@@ -144,7 +144,7 @@ CREATE TABLE t1 (a INT) ENGINE=CONNECT TABLE_TYPE=fix FILE_NAME='t1.fix';
INSERT INTO t1 VALUES (10);
connection user;
DROP TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
# Testing SQLCOM_DROP_VIEW
...
...
@@ -165,7 +165,7 @@ DROP TABLE t1;
# Testing SQLCOM_CREATE_TABLE
connection user;
CREATE TABLE t1 (a INT) ENGINE=CONNECT TABLE_TYPE=fix FILE_NAME='t1.fix';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
# Testing SQLCOM_LOCK_TABLES
connection default;
...
...
@@ -187,13 +187,13 @@ LOCK TABLE v1_definer WRITE;
UNLOCK TABLES;
connection user;
LOCK TABLE t1 READ;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
LOCK TABLE t1 WRITE;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
LOCK TABLE v1_invoker READ;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
LOCK TABLE v1_invoker WRITE;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
LOCK TABLE v1_definer READ;
UNLOCK TABLES;
LOCK TABLE v1_definer WRITE;
...
...
@@ -264,93 +264,93 @@ UPDATE v2_definer a1,v2_invoker a2 SET a1.a=50 WHERE a1.a=a2.a;
UPDATE v2_definer a1,v2_definer a2 SET a1.a=50 WHERE a1.a=a2.a;
connection user;
UPDATE t1 a1,t1 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t1 a1,t2 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t1 a1,t3 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t1 a1,v1_invoker a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t1 a1,v1_definer a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t1 a1,v2_invoker a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t1 a1,v2_definer a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t2 a1,t1 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t2 a1,t2 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t2 a1,t3 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t2 a1,v1_invoker a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t2 a1,v1_definer a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t2 a1,v2_invoker a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t2 a1,v2_definer a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t3 a1,t1 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t3 a1,t2 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t3 a1,t3 a2 SET a1.a=50 WHERE a1.a=a2.a;
UPDATE t3 a1,v1_invoker a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t3 a1,v1_definer a2 SET a1.a=50 WHERE a1.a=a2.a;
UPDATE t3 a1,v2_invoker a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t3 a1,v2_definer a2 SET a1.a=50 WHERE a1.a=a2.a;
UPDATE v1_invoker a1,t1 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1_invoker a1,t2 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1_invoker a1,t3 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1_invoker a1,v1_invoker a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1_invoker a1,v1_definer a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1_invoker a1,v2_invoker a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1_invoker a1,v2_definer a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1_definer a1,t1 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1_definer a1,t2 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1_definer a1,t3 a2 SET a1.a=50 WHERE a1.a=a2.a;
UPDATE v1_definer a1,v1_invoker a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1_definer a1,v1_definer a2 SET a1.a=50 WHERE a1.a=a2.a;
UPDATE v1_definer a1,v2_invoker a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1_definer a1,v2_definer a2 SET a1.a=50 WHERE a1.a=a2.a;
UPDATE v2_invoker a1,t1 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v2_invoker a1,t2 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v2_invoker a1,t3 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v2_invoker a1,v1_invoker a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v2_invoker a1,v1_definer a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v2_invoker a1,v2_invoker a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v2_invoker a1,v2_definer a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v2_definer a1,t1 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v2_definer a1,t2 a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v2_definer a1,t3 a2 SET a1.a=50 WHERE a1.a=a2.a;
UPDATE v2_definer a1,v1_invoker a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v2_definer a1,v1_definer a2 SET a1.a=50 WHERE a1.a=a2.a;
UPDATE v2_definer a1,v2_invoker a2 SET a1.a=50 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v2_definer a1,v2_definer a2 SET a1.a=50 WHERE a1.a=a2.a;
connection default;
DROP VIEW v1_invoker, v1_definer, v2_invoker, v2_definer;
...
...
@@ -418,93 +418,93 @@ DELETE a1 FROM v2_definer a1,v2_invoker a2 WHERE a1.a=a2.a;
DELETE a1 FROM v2_definer a1,v2_definer a2 WHERE a1.a=a2.a;
connection user;
DELETE a1 FROM t1 a1,t1 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t1 a1,t2 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t1 a1,t3 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t1 a1,v1_invoker a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t1 a1,v1_definer a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t1 a1,v2_invoker a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t1 a1,v2_definer a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t2 a1,t1 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t2 a1,t2 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t2 a1,t3 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t2 a1,v1_invoker a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t2 a1,v1_definer a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t2 a1,v2_invoker a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t2 a1,v2_definer a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t3 a1,t1 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t3 a1,t2 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t3 a1,t3 a2 WHERE a1.a=a2.a;
DELETE a1 FROM t3 a1,v1_invoker a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t3 a1,v1_definer a2 WHERE a1.a=a2.a;
DELETE a1 FROM t3 a1,v2_invoker a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM t3 a1,v2_definer a2 WHERE a1.a=a2.a;
DELETE a1 FROM v1_invoker a1,t1 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v1_invoker a1,t2 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v1_invoker a1,t3 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v1_invoker a1,v1_invoker a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v1_invoker a1,v1_definer a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v1_invoker a1,v2_invoker a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v1_invoker a1,v2_definer a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v1_definer a1,t1 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v1_definer a1,t2 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v1_definer a1,t3 a2 WHERE a1.a=a2.a;
DELETE a1 FROM v1_definer a1,v1_invoker a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v1_definer a1,v1_definer a2 WHERE a1.a=a2.a;
DELETE a1 FROM v1_definer a1,v2_invoker a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v1_definer a1,v2_definer a2 WHERE a1.a=a2.a;
DELETE a1 FROM v2_invoker a1,t1 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v2_invoker a1,t2 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v2_invoker a1,t3 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v2_invoker a1,v1_invoker a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v2_invoker a1,v1_definer a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v2_invoker a1,v2_invoker a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v2_invoker a1,v2_definer a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v2_definer a1,t1 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v2_definer a1,t2 a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v2_definer a1,t3 a2 WHERE a1.a=a2.a;
DELETE a1 FROM v2_definer a1,v1_invoker a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v2_definer a1,v1_definer a2 WHERE a1.a=a2.a;
DELETE a1 FROM v2_definer a1,v2_invoker a2 WHERE a1.a=a2.a;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE a1 FROM v2_definer a1,v2_definer a2 WHERE a1.a=a2.a;
connection default;
DROP VIEW v1_invoker, v1_definer, v2_invoker, v2_definer;
...
...
@@ -521,9 +521,9 @@ CREATE VIEW v2 AS SELECT * FROM v1_definer;
DROP VIEW v2;
connection user;
CREATE VIEW v2 AS SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
CREATE VIEW v2 AS SELECT * FROM v1_invoker;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
CREATE VIEW v2 AS SELECT * FROM v1_definer;
DROP VIEW v2;
connection default;
...
...
@@ -546,21 +546,21 @@ INSERT INTO v1_definer SELECT * FROM v1_invoker WHERE a=20;
INSERT INTO v1_definer SELECT * FROM v1_definer WHERE a=20;
connection user;
INSERT INTO t1 SELECT * FROM t1 WHERE a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO t1 SELECT * FROM v1_invoker WHERE a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO t1 SELECT * FROM v1_definer WHERE a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1_invoker SELECT * FROM t1 WHERE a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1_invoker SELECT * FROM v1_invoker WHERE a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1_invoker SELECT * FROM v1_definer WHERE a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1_definer SELECT * FROM t1 WHERE a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1_definer SELECT * FROM v1_invoker WHERE a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1_definer SELECT * FROM v1_definer WHERE a=20;
connection default;
DROP VIEW v1_invoker, v1_definer;
...
...
@@ -591,17 +591,17 @@ REPLACE INTO v1_definer SELECT * FROM v1_definer WHERE a=20;
ERROR 42000: CONNECT Unsupported command
connection user;
REPLACE INTO t1 SELECT * FROM t1 WHERE a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
REPLACE INTO t1 SELECT * FROM v1_invoker WHERE a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
REPLACE INTO t1 SELECT * FROM v1_definer WHERE a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
REPLACE INTO v1_invoker SELECT * FROM t1 WHERE a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
REPLACE INTO v1_invoker SELECT * FROM v1_invoker WHERE a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
REPLACE INTO v1_invoker SELECT * FROM v1_definer WHERE a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
REPLACE INTO v1_definer SELECT * FROM t1 WHERE a=20;
ERROR 42000: CONNECT Unsupported command
REPLACE INTO v1_definer SELECT * FROM v1_invoker WHERE a=20;
...
...
@@ -624,7 +624,7 @@ t2 CREATE TABLE `t2` (
RENAME TABLE t2 TO t1;
connection user;
RENAME TABLE t1 TO t2;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
# Testing SQLCOM_ALTER_TABLE (for ALTER..RENAME)
...
...
@@ -640,7 +640,7 @@ t2 CREATE TABLE `t2` (
ALTER TABLE t2 RENAME TO t1;
connection user;
ALTER TABLE t1 RENAME TO t2;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
# Testing SQLCOM_ALTER_TABLE (changing ENGINE to non-CONNECT)
...
...
@@ -653,7 +653,7 @@ CREATE TABLE t1 (a INT) ENGINE=CONNECT TABLE_TYPE=fix FILE_NAME='t1.fix';
INSERT INTO t1 VALUES (10);
connection user;
ALTER TABLE t1 ENGINE=MyISAM;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
# Testing SQLCOM_ALTER_TABLE (changing ENGINE to CONNECT)
...
...
@@ -669,7 +669,7 @@ CREATE TABLE t1 (a INT) ENGINE=MyISAM;
INSERT INTO t1 VALUES (10);
connection user;
ALTER TABLE t1 ENGINE=CONNECT TABLE_TYPE=fix FILE_NAME='t1.fix';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
# Testing SQLCOM_OPTIMIZE
...
...
@@ -682,7 +682,7 @@ test.t1 optimize status OK
connection user;
OPTIMIZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 optimize Error Access denied
for user 'user'@'localhost' (using password: NO)
test.t1 optimize Error Access denied
; you need (at least one of) the FILE privilege(s) for this operation
test.t1 optimize Error Got error 122 'This operation requires the FILE privilege' from CONNECT
test.t1 optimize error Corrupt
connection default;
...
...
@@ -696,7 +696,7 @@ Warnings:
Warning 1105 This is an outward table, table data were not modified.
connection user;
ALTER TABLE t1 ADD c INT;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
# Testing SQLCOM_ALTER_TABLE (removing columns)
...
...
@@ -708,7 +708,7 @@ Warnings:
Warning 1105 This is an outward table, table data were not modified.
connection user;
ALTER TABLE t1 DROP c;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
# Testing SQLCOM_ALTER_TABLE (adding keys)
...
...
@@ -718,7 +718,7 @@ INSERT INTO t1 VALUES (10,10);
ALTER TABLE t1 ADD KEY(a);
connection user;
ALTER TABLE t1 ADD KEY(b);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
# Testing SQLCOM_ALTER_TABLE (removing keys)
...
...
@@ -728,7 +728,7 @@ INSERT INTO t1 VALUES (10,10);
ALTER TABLE t1 DROP KEY a;
connection user;
ALTER TABLE t1 DROP KEY b;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
# Testing SQLCOM_CREATE_INDEX and SQLCOM_DROP_INDEX
...
...
@@ -740,9 +740,9 @@ DROP INDEX a ON t1;
CREATE INDEX a ON t1 (a);
connection user;
CREATE INDEX b ON t1 (b);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DROP INDEX a ON t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
# Testing stored procedures
...
...
@@ -757,10 +757,10 @@ DROP TABLE t1;
CALL p_invoker();
DROP TABLE t1;
CALL p_baddefiner();
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection user;
CALL p_invoker();
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
CALL p_definer();
connection default;
DROP TABLE t1;
...
...
storage/connect/mysql-test/connect/r/ini_grant.result
View file @
be780c05
...
...
@@ -34,7 +34,7 @@ sec val
DROP VIEW v1;
DROP TABLE t1;
CREATE TABLE t1 (sec CHAR(10) NOT NULL FLAG=1, val CHAR(10) NOT NULL) ENGINE=CONNECT TABLE_TYPE=INI FILE_NAME='t1.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
SELECT user();
user()
...
...
@@ -46,21 +46,21 @@ SELECT user();
user()
user@localhost
INSERT INTO t1 VALUES ('sec2','val2');
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t1 SET val='val11';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
TRUNCATE TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
ALTER TABLE t1 READONLY=1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DROP TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
CREATE VIEW v1 AS SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
# Testing a VIEW created with FILE privileges but accessed with no FILE
connection default;
SELECT user();
...
...
@@ -72,13 +72,13 @@ SELECT user();
user()
user@localhost
SELECT * FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1 VALUES ('sec3','val3');
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1 SET val='val11';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
disconnect user;
connection default;
DROP VIEW v1;
...
...
storage/connect/mysql-test/connect/r/mysql_grant.result
View file @
be780c05
...
...
@@ -11,7 +11,7 @@ SELECT user();
user()
user@localhost
CREATE TABLE t1 (a INT NOT NULL) ENGINE=CONNECT TABLE_TYPE=MySQL OPTION_LIST='host=localhost,user=root1,port=PORT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
SELECT user();
user()
...
...
@@ -29,19 +29,19 @@ SELECT user();
user()
user@localhost
SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO t1 VALUES ('xxx');
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM t1 WHERE a='xxx';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t1 SET a='yyy' WHERE a='xxx';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
TRUNCATE TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
ALTER TABLE t1 READONLY=1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
CREATE VIEW v1 AS SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
# Testing a VIEW created with FILE privileges but accessed with no FILE
connection default;
SELECT user();
...
...
@@ -53,13 +53,13 @@ SELECT user();
user()
user@localhost
SELECT * FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1 VALUES (2);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1 SET a=123;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
disconnect user;
connection default;
SELECT user();
...
...
storage/connect/mysql-test/connect/r/xml2_grant.result
View file @
be780c05
...
...
@@ -35,7 +35,7 @@ a
DROP VIEW v1;
DROP TABLE t1;
CREATE TABLE t1 (a INT NOT NULL) ENGINE=CONNECT TABLE_TYPE=XML OPTION_LIST='xmlsup=libxml2,rownode=row' FILE_NAME='t1.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
SELECT user();
user()
...
...
@@ -47,23 +47,23 @@ SELECT user();
user()
user@localhost
INSERT INTO t1 VALUES (10);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t1 SET a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
TRUNCATE TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
ALTER TABLE t1 READONLY=1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
ALTER TABLE t1 FILE_NAME='t2.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DROP TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
CREATE VIEW v1 AS SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
# Testing a VIEW created with FILE privileges but accessed with no FILE
connection default;
SELECT user();
...
...
@@ -75,13 +75,13 @@ SELECT user();
user()
user@localhost
SELECT * FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1 VALUES (2);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1 SET a=123;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
SELECT user();
user()
...
...
@@ -97,7 +97,7 @@ SELECT user();
user()
user@localhost
ALTER TABLE t1 FILE_NAME='t1.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
disconnect user;
...
...
storage/connect/mysql-test/connect/r/xml_grant.result
View file @
be780c05
...
...
@@ -33,7 +33,7 @@ a
DROP VIEW v1;
DROP TABLE t1;
CREATE TABLE t1 (a INT NOT NULL) ENGINE=CONNECT TABLE_TYPE=XML OPTION_LIST='xmlsup=domdoc,rownode=row' FILE_NAME='t1.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
SELECT user();
user()
...
...
@@ -45,23 +45,23 @@ SELECT user();
user()
user@localhost
INSERT INTO t1 VALUES (10);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE t1 SET a=20;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
TRUNCATE TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
ALTER TABLE t1 READONLY=1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
ALTER TABLE t1 FILE_NAME='t2.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DROP TABLE t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
CREATE VIEW v1 AS SELECT * FROM t1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
# Testing a VIEW created with FILE privileges but accessed with no FILE
connection default;
SELECT user();
...
...
@@ -73,13 +73,13 @@ SELECT user();
user()
user@localhost
SELECT * FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
INSERT INTO v1 VALUES (2);
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
UPDATE v1 SET a=123;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
DELETE FROM v1;
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
SELECT user();
user()
...
...
@@ -95,7 +95,7 @@ SELECT user();
user()
user@localhost
ALTER TABLE t1 FILE_NAME='t1.EXT';
ERROR
28000: Access denied for user 'user'@'localhost' (using password: NO)
ERROR
42000: Access denied; you need (at least one of) the FILE privilege(s) for this operation
connection default;
DROP TABLE t1;
disconnect user;
...
...
storage/connect/mysql-test/connect/t/grant.inc
View file @
be780c05
...
...
@@ -25,7 +25,7 @@ DROP TABLE t1;
# Making sure DROP erased the data file
--
error
1
--
remove_file
$MYSQLD_DATADIR
/
test
/
t1
.
$FILE_EXT
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
--
eval
CREATE
TABLE
t1
(
a
INT
NOT
NULL
)
ENGINE
=
CONNECT
$TABLE_OPTIONS
FILE_NAME
=
't1.EXT'
--
connection
default
SELECT
user
();
...
...
@@ -33,23 +33,23 @@ SELECT user();
INSERT
INTO
t1
VALUES
(
10
);
--
connection
user
SELECT
user
();
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
t1
VALUES
(
10
);
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
SELECT
*
FROM
t1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t1
SET
a
=
20
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
FROM
t1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
TRUNCATE
TABLE
t1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
ALTER
TABLE
t1
READONLY
=
1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
ALTER
TABLE
t1
FILE_NAME
=
't2.EXT'
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DROP
TABLE
t1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
CREATE
VIEW
v1
AS
SELECT
*
FROM
t1
;
--
echo
# Testing a VIEW created with FILE privileges but accessed with no FILE
--
connection
default
...
...
@@ -57,13 +57,13 @@ SELECT user();
CREATE
SQL
SECURITY
INVOKER
VIEW
v1
AS
SELECT
*
FROM
t1
;
--
connection
user
SELECT
user
();
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
SELECT
*
FROM
v1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
v1
VALUES
(
2
);
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v1
SET
a
=
123
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
FROM
v1
;
--
connection
default
SELECT
user
();
...
...
@@ -74,7 +74,7 @@ DROP TABLE t1;
INSERT
INTO
t1
VALUES
(
10
);
--
connection
user
SELECT
user
();
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
ALTER
TABLE
t1
FILE_NAME
=
't1.EXT'
;
--
connection
default
DROP
TABLE
t1
;
...
...
storage/connect/mysql-test/connect/t/grant.test
View file @
be780c05
...
...
@@ -11,7 +11,7 @@ REVOKE FILE ON *.* FROM user@localhost;
--
connect
(
user
,
localhost
,
user
,,)
--
connection
user
SELECT
user
();
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
CREATE
TABLE
t1
(
path
VARCHAR
(
256
)
NOT
NULL
flag
=
1
,
fname
VARCHAR
(
256
)
NOT
NULL
,
...
...
@@ -33,19 +33,19 @@ SELECT fname, ftype, size FROM t1 WHERE size>0;
--
connection
user
SELECT
user
();
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
SELECT
*
FROM
t1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
t1
VALUES
();
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
FROM
t1
WHERE
path
=
'xxx'
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t1
SET
path
=
'yyy'
WHERE
path
=
'xxx'
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
TRUNCATE
TABLE
t1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
ALTER
TABLE
t1
READONLY
=
1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
CREATE
VIEW
v1
AS
SELECT
*
FROM
t1
;
--
echo
# Testing a VIEW created with FILE privileges but accessed with no FILE
...
...
@@ -54,13 +54,13 @@ SELECT user();
CREATE
SQL
SECURITY
INVOKER
VIEW
v1
AS
SELECT
*
FROM
t1
;
--
connection
user
SELECT
user
();
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
SELECT
*
FROM
v1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
v1
VALUES
(
1
,
1
,
1
,
1
);
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v1
SET
path
=
123
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
FROM
v1
;
--
disconnect
user
...
...
storage/connect/mysql-test/connect/t/grant2.test
View file @
be780c05
...
...
@@ -23,13 +23,13 @@ CREATE DEFINER=user@localhost SQL SECURITY DEFINER VIEW v1_baddefiner AS SELECT
SELECT
*
FROM
t1
;
SELECT
*
FROM
v1_invoker
;
SELECT
*
FROM
v1_definer
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
SELECT
*
FROM
v1_baddefiner
;
--
connect
(
user
,
localhost
,
user
,,)
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
SELECT
*
FROM
t1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
SELECT
*
FROM
v1_invoker
;
SELECT
*
FROM
v1_definer
;
--
connection
default
...
...
@@ -47,9 +47,9 @@ UPDATE t1 SET a=11;
UPDATE
v1_invoker
SET
a
=
12
;
UPDATE
v1_definer
SET
a
=
13
;
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t1
SET
a
=
21
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v1_invoker
SET
a
=
22
;
UPDATE
v1_definer
SET
a
=
23
;
--
connection
default
...
...
@@ -67,9 +67,9 @@ INSERT INTO t1 VALUES (11);
INSERT
INTO
v1_invoker
VALUES
(
12
);
INSERT
INTO
v1_definer
VALUES
(
13
);
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
t1
VALUES
(
21
);
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
v1_invoker
VALUES
(
22
);
INSERT
INTO
v1_definer
VALUES
(
23
);
--
connection
default
...
...
@@ -79,7 +79,7 @@ DROP TABLE t1;
--
echo
# Testing SQLCOM_REPLACE
# REPLACE is not supported by ConnectSE, so we're testing the difference
# between ER_ACCESS_DENIED_ERROR vs ER_NOT_ALLOWED_COMMAND
# between ER_
SPECIFIC_
ACCESS_DENIED_ERROR vs ER_NOT_ALLOWED_COMMAND
--
connection
default
CREATE
TABLE
t1
(
a
INT
)
ENGINE
=
CONNECT
TABLE_TYPE
=
fix
FILE_NAME
=
't1.fix'
;
INSERT
INTO
t1
VALUES
(
10
);
...
...
@@ -92,9 +92,9 @@ REPLACE INTO v1_invoker VALUES (12);
--
error
ER_NOT_ALLOWED_COMMAND
REPLACE
INTO
v1_definer
VALUES
(
13
);
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
REPLACE
INTO
t1
VALUES
(
21
);
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
REPLACE
INTO
v1_invoker
VALUES
(
22
);
--
error
ER_NOT_ALLOWED_COMMAND
REPLACE
INTO
v1_definer
VALUES
(
23
);
...
...
@@ -113,9 +113,9 @@ DELETE FROM t1 WHERE a=11;
DELETE
FROM
v1_invoker
WHERE
a
=
12
;
DELETE
FROM
v1_definer
WHERE
a
=
13
;
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
FROM
t1
WHERE
a
=
21
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
FROM
v1_invoker
WHERE
a
=
22
;
DELETE
FROM
v1_definer
WHERE
a
=
23
;
--
connection
default
...
...
@@ -137,10 +137,10 @@ CREATE SQL SECURITY DEFINER VIEW v1_definer AS SELECT * FROM t1;
--
eval
LOAD
DATA
LOCAL
INFILE
'$MTR_SUITE_DIR/std_data/boys.txt'
INTO
TABLE
v1_definer
--
connection
user
--
replace_result
$MTR_SUITE_DIR
MTR_SUITE_DIR
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
--
eval
LOAD
DATA
LOCAL
INFILE
'$MTR_SUITE_DIR/std_data/boys.txt'
INTO
TABLE
t1
--
replace_result
$MTR_SUITE_DIR
MTR_SUITE_DIR
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
--
eval
LOAD
DATA
LOCAL
INFILE
'$MTR_SUITE_DIR/std_data/boys.txt'
INTO
TABLE
v1_invoker
--
replace_result
$MTR_SUITE_DIR
MTR_SUITE_DIR
--
eval
LOAD
DATA
LOCAL
INFILE
'$MTR_SUITE_DIR/std_data/boys.txt'
INTO
TABLE
v1_definer
...
...
@@ -156,7 +156,7 @@ INSERT INTO t1 VALUES (10);
TRUNCATE
TABLE
t1
;
INSERT
INTO
t1
VALUES
(
11
);
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
TRUNCATE
TABLE
t1
;
--
connection
default
DROP
TABLE
t1
;
...
...
@@ -168,7 +168,7 @@ DROP TABLE t1;
CREATE
TABLE
t1
(
a
INT
)
ENGINE
=
CONNECT
TABLE_TYPE
=
fix
FILE_NAME
=
't1.fix'
;
INSERT
INTO
t1
VALUES
(
10
);
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DROP
TABLE
t1
;
--
connection
default
DROP
TABLE
t1
;
...
...
@@ -193,7 +193,7 @@ DROP TABLE t1;
--
echo
# Testing SQLCOM_CREATE_TABLE
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
CREATE
TABLE
t1
(
a
INT
)
ENGINE
=
CONNECT
TABLE_TYPE
=
fix
FILE_NAME
=
't1.fix'
;
--
connection
default
...
...
@@ -216,13 +216,13 @@ UNLOCK TABLES;
LOCK
TABLE
v1_definer
WRITE
;
UNLOCK
TABLES
;
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
LOCK
TABLE
t1
READ
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
LOCK
TABLE
t1
WRITE
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
LOCK
TABLE
v1_invoker
READ
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
LOCK
TABLE
v1_invoker
WRITE
;
LOCK
TABLE
v1_definer
READ
;
UNLOCK
TABLES
;
...
...
@@ -299,108 +299,108 @@ UPDATE v2_definer a1,v2_definer a2 SET a1.a=50 WHERE a1.a=a2.a;
--
connection
user
# All queries with t1 should fail
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t1
a1
,
t1
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t1
a1
,
t2
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t1
a1
,
t3
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t1
a1
,
v1_invoker
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t1
a1
,
v1_definer
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t1
a1
,
v2_invoker
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t1
a1
,
v2_definer
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
# All queries with t2 should fail
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t2
a1
,
t1
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t2
a1
,
t2
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t2
a1
,
t3
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t2
a1
,
v1_invoker
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t2
a1
,
v1_definer
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t2
a1
,
v2_invoker
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t2
a1
,
v2_definer
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
# t3 does not need FILE_ALC
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t3
a1
,
t1
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t3
a1
,
t2
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
# This is OK:
UPDATE
t3
a1
,
t3
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t3
a1
,
v1_invoker
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
# This is OK:
UPDATE
t3
a1
,
v1_definer
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t3
a1
,
v2_invoker
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
# This is OK:
UPDATE
t3
a1
,
v2_definer
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
# All queries with v1_invoker should fail
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v1_invoker
a1
,
t1
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v1_invoker
a1
,
t2
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v1_invoker
a1
,
t3
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v1_invoker
a1
,
v1_invoker
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v1_invoker
a1
,
v1_definer
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v1_invoker
a1
,
v2_invoker
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v1_invoker
a1
,
v2_definer
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
# v1_definer does not need FILE_ACL from the invoker
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v1_definer
a1
,
t1
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v1_definer
a1
,
t2
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
UPDATE
v1_definer
a1
,
t3
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v1_definer
a1
,
v1_invoker
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
UPDATE
v1_definer
a1
,
v1_definer
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v1_definer
a1
,
v2_invoker
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
UPDATE
v1_definer
a1
,
v2_definer
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
# All queries with v2_invoker should fail
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v2_invoker
a1
,
t1
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v2_invoker
a1
,
t2
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v2_invoker
a1
,
t3
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v2_invoker
a1
,
v1_invoker
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v2_invoker
a1
,
v1_definer
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v2_invoker
a1
,
v2_invoker
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v2_invoker
a1
,
v2_definer
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
# v2_definer does not need FILE_ACL from the invoker
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v2_definer
a1
,
t1
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v2_definer
a1
,
t2
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
UPDATE
v2_definer
a1
,
t3
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v2_definer
a1
,
v1_invoker
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
UPDATE
v2_definer
a1
,
v1_definer
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v2_definer
a1
,
v2_invoker
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
UPDATE
v2_definer
a1
,
v2_definer
a2
SET
a1
.
a
=
50
WHERE
a1
.
a
=
a2
.
a
;
...
...
@@ -476,108 +476,108 @@ DELETE a1 FROM v2_definer a1,v2_definer a2 WHERE a1.a=a2.a;
--
connection
user
# All queries with t1 should fail
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t1
a1
,
t1
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t1
a1
,
t2
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t1
a1
,
t3
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t1
a1
,
v1_invoker
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t1
a1
,
v1_definer
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t1
a1
,
v2_invoker
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t1
a1
,
v2_definer
a2
WHERE
a1
.
a
=
a2
.
a
;
# All queries with t2 should fail
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t2
a1
,
t1
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t2
a1
,
t2
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t2
a1
,
t3
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t2
a1
,
v1_invoker
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t2
a1
,
v1_definer
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t2
a1
,
v2_invoker
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t2
a1
,
v2_definer
a2
WHERE
a1
.
a
=
a2
.
a
;
# t3 does not need FILE_ALC
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t3
a1
,
t1
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t3
a1
,
t2
a2
WHERE
a1
.
a
=
a2
.
a
;
# This is OK:
DELETE
a1
FROM
t3
a1
,
t3
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t3
a1
,
v1_invoker
a2
WHERE
a1
.
a
=
a2
.
a
;
# This is OK:
DELETE
a1
FROM
t3
a1
,
v1_definer
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
t3
a1
,
v2_invoker
a2
WHERE
a1
.
a
=
a2
.
a
;
# This is OK:
DELETE
a1
FROM
t3
a1
,
v2_definer
a2
WHERE
a1
.
a
=
a2
.
a
;
# All queries with v1_invoker should fail
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v1_invoker
a1
,
t1
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v1_invoker
a1
,
t2
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v1_invoker
a1
,
t3
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v1_invoker
a1
,
v1_invoker
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v1_invoker
a1
,
v1_definer
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v1_invoker
a1
,
v2_invoker
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v1_invoker
a1
,
v2_definer
a2
WHERE
a1
.
a
=
a2
.
a
;
# v1_definer does not need FILE_ACL from the invoker
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v1_definer
a1
,
t1
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v1_definer
a1
,
t2
a2
WHERE
a1
.
a
=
a2
.
a
;
DELETE
a1
FROM
v1_definer
a1
,
t3
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v1_definer
a1
,
v1_invoker
a2
WHERE
a1
.
a
=
a2
.
a
;
DELETE
a1
FROM
v1_definer
a1
,
v1_definer
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v1_definer
a1
,
v2_invoker
a2
WHERE
a1
.
a
=
a2
.
a
;
DELETE
a1
FROM
v1_definer
a1
,
v2_definer
a2
WHERE
a1
.
a
=
a2
.
a
;
# All queries with v2_invoker should fail
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v2_invoker
a1
,
t1
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v2_invoker
a1
,
t2
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v2_invoker
a1
,
t3
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v2_invoker
a1
,
v1_invoker
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v2_invoker
a1
,
v1_definer
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v2_invoker
a1
,
v2_invoker
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v2_invoker
a1
,
v2_definer
a2
WHERE
a1
.
a
=
a2
.
a
;
# v2_definer does not need FILE_ACL from the invoker
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v2_definer
a1
,
t1
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v2_definer
a1
,
t2
a2
WHERE
a1
.
a
=
a2
.
a
;
DELETE
a1
FROM
v2_definer
a1
,
t3
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v2_definer
a1
,
v1_invoker
a2
WHERE
a1
.
a
=
a2
.
a
;
DELETE
a1
FROM
v2_definer
a1
,
v1_definer
a2
WHERE
a1
.
a
=
a2
.
a
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
a1
FROM
v2_definer
a1
,
v2_invoker
a2
WHERE
a1
.
a
=
a2
.
a
;
DELETE
a1
FROM
v2_definer
a1
,
v2_definer
a2
WHERE
a1
.
a
=
a2
.
a
;
...
...
@@ -598,9 +598,9 @@ DROP VIEW v2;
CREATE
VIEW
v2
AS
SELECT
*
FROM
v1_definer
;
DROP
VIEW
v2
;
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
CREATE
VIEW
v2
AS
SELECT
*
FROM
t1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
CREATE
VIEW
v2
AS
SELECT
*
FROM
v1_invoker
;
CREATE
VIEW
v2
AS
SELECT
*
FROM
v1_definer
;
DROP
VIEW
v2
;
...
...
@@ -625,21 +625,21 @@ INSERT INTO v1_definer SELECT * FROM t1 WHERE a=20;
INSERT
INTO
v1_definer
SELECT
*
FROM
v1_invoker
WHERE
a
=
20
;
INSERT
INTO
v1_definer
SELECT
*
FROM
v1_definer
WHERE
a
=
20
;
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
t1
SELECT
*
FROM
t1
WHERE
a
=
20
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
t1
SELECT
*
FROM
v1_invoker
WHERE
a
=
20
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
t1
SELECT
*
FROM
v1_definer
WHERE
a
=
20
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
v1_invoker
SELECT
*
FROM
t1
WHERE
a
=
20
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
v1_invoker
SELECT
*
FROM
v1_invoker
WHERE
a
=
20
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
v1_invoker
SELECT
*
FROM
v1_definer
WHERE
a
=
20
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
v1_definer
SELECT
*
FROM
t1
WHERE
a
=
20
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
v1_definer
SELECT
*
FROM
v1_invoker
WHERE
a
=
20
;
# This is OK:
INSERT
INTO
v1_definer
SELECT
*
FROM
v1_definer
WHERE
a
=
20
;
...
...
@@ -650,7 +650,7 @@ DROP TABLE t1;
--
echo
# Testing SQLCOM_REPLACE_SELECT
# REPLACE is not supported by CONNECT
# so we're testing ER_NOT_ALLOWED_COMMAND vs ER_ACCESS_DENIED_ERROR here
# so we're testing ER_NOT_ALLOWED_COMMAND vs ER_
SPECIFIC_
ACCESS_DENIED_ERROR here
--
connection
default
CREATE
TABLE
t1
(
a
INT
)
ENGINE
=
CONNECT
TABLE_TYPE
=
fix
FILE_NAME
=
't1.fix'
;
INSERT
INTO
t1
VALUES
(
10
);
...
...
@@ -676,17 +676,17 @@ REPLACE INTO v1_definer SELECT * FROM v1_invoker WHERE a=20;
REPLACE
INTO
v1_definer
SELECT
*
FROM
v1_definer
WHERE
a
=
20
;
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
REPLACE
INTO
t1
SELECT
*
FROM
t1
WHERE
a
=
20
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
REPLACE
INTO
t1
SELECT
*
FROM
v1_invoker
WHERE
a
=
20
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
REPLACE
INTO
t1
SELECT
*
FROM
v1_definer
WHERE
a
=
20
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
REPLACE
INTO
v1_invoker
SELECT
*
FROM
t1
WHERE
a
=
20
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
REPLACE
INTO
v1_invoker
SELECT
*
FROM
v1_invoker
WHERE
a
=
20
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
REPLACE
INTO
v1_invoker
SELECT
*
FROM
v1_definer
WHERE
a
=
20
;
--
error
ER_NOT_ALLOWED_COMMAND
REPLACE
INTO
v1_definer
SELECT
*
FROM
t1
WHERE
a
=
20
;
...
...
@@ -708,7 +708,7 @@ SHOW CREATE TABLE t2;
RENAME
TABLE
t2
TO
t1
;
--
connection
user
# TODO: Perhaps FILE_ACL is needed for RENAME. Discuss with Oliver.
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
RENAME
TABLE
t1
TO
t2
;
--
connection
default
DROP
TABLE
t1
;
...
...
@@ -723,7 +723,7 @@ SHOW CREATE TABLE t2;
ALTER
TABLE
t2
RENAME
TO
t1
;
--
connection
user
# TODO: Perhaps FILE_ACL is not needed for ALTER..RENAME. Discuss with Olivier.
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
ALTER
TABLE
t1
RENAME
TO
t2
;
--
connection
default
DROP
TABLE
t1
;
...
...
@@ -739,7 +739,7 @@ DROP TABLE t1;
CREATE
TABLE
t1
(
a
INT
)
ENGINE
=
CONNECT
TABLE_TYPE
=
fix
FILE_NAME
=
't1.fix'
;
INSERT
INTO
t1
VALUES
(
10
);
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
ALTER
TABLE
t1
ENGINE
=
MyISAM
;
--
connection
default
DROP
TABLE
t1
;
...
...
@@ -756,7 +756,7 @@ DROP TABLE t1;
CREATE
TABLE
t1
(
a
INT
)
ENGINE
=
MyISAM
;
INSERT
INTO
t1
VALUES
(
10
);
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
ALTER
TABLE
t1
ENGINE
=
CONNECT
TABLE_TYPE
=
fix
FILE_NAME
=
't1.fix'
;
--
connection
default
DROP
TABLE
t1
;
...
...
@@ -779,7 +779,7 @@ CREATE TABLE t1 (a INT) ENGINE=CONNECT TABLE_TYPE=fix FILE_NAME='t1.fix';
INSERT
INTO
t1
VALUES
(
10
);
ALTER
TABLE
t1
ADD
b
INT
;
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
ALTER
TABLE
t1
ADD
c
INT
;
--
connection
default
DROP
TABLE
t1
;
...
...
@@ -791,7 +791,7 @@ CREATE TABLE t1 (a INT,b INT,c INT) ENGINE=CONNECT TABLE_TYPE=fix FILE_NAME='t1.
INSERT
INTO
t1
VALUES
(
10
,
10
,
10
);
ALTER
TABLE
t1
DROP
b
;
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
ALTER
TABLE
t1
DROP
c
;
--
connection
default
DROP
TABLE
t1
;
...
...
@@ -803,7 +803,7 @@ CREATE TABLE t1 (a INT NOT NULL,b INT NOT NULL) ENGINE=CONNECT TABLE_TYPE=fix FI
INSERT
INTO
t1
VALUES
(
10
,
10
);
ALTER
TABLE
t1
ADD
KEY
(
a
);
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
ALTER
TABLE
t1
ADD
KEY
(
b
);
--
connection
default
DROP
TABLE
t1
;
...
...
@@ -816,7 +816,7 @@ CREATE TABLE t1 (a INT NOT NULL,b INT NOT NULL, KEY a(a), KEY b(b)) ENGINE=CONNE
INSERT
INTO
t1
VALUES
(
10
,
10
);
ALTER
TABLE
t1
DROP
KEY
a
;
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
ALTER
TABLE
t1
DROP
KEY
b
;
--
connection
default
DROP
TABLE
t1
;
...
...
@@ -831,9 +831,9 @@ CREATE INDEX a ON t1 (a);
DROP
INDEX
a
ON
t1
;
CREATE
INDEX
a
ON
t1
(
a
);
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
CREATE
INDEX
b
ON
t1
(
b
);
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DROP
INDEX
a
ON
t1
;
--
connection
default
DROP
TABLE
t1
;
...
...
@@ -852,11 +852,11 @@ CALL p_definer();
DROP
TABLE
t1
;
CALL
p_invoker
();
DROP
TABLE
t1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
CALL
p_baddefiner
();
--
connection
user
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
CALL
p_invoker
();
CALL
p_definer
();
...
...
storage/connect/mysql-test/connect/t/ini_grant.test
View file @
be780c05
...
...
@@ -29,7 +29,7 @@ DROP TABLE t1;
# Making sure DROP erased the data file
--
error
1
--
remove_file
$MYSQLD_DATADIR
/
test
/
t1
.
ini
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
CREATE
TABLE
t1
(
sec
CHAR
(
10
)
NOT
NULL
FLAG
=
1
,
val
CHAR
(
10
)
NOT
NULL
)
ENGINE
=
CONNECT
TABLE_TYPE
=
INI
FILE_NAME
=
't1.EXT'
;
--
connection
default
SELECT
user
();
...
...
@@ -37,21 +37,21 @@ CREATE TABLE t1 (sec CHAR(10) NOT NULL FLAG=1, val CHAR(10) NOT NULL) ENGINE=CON
INSERT
INTO
t1
VALUES
(
'sec1'
,
'val1'
);
--
connection
user
SELECT
user
();
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
t1
VALUES
(
'sec2'
,
'val2'
);
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
SELECT
*
FROM
t1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t1
SET
val
=
'val11'
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
FROM
t1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
TRUNCATE
TABLE
t1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
ALTER
TABLE
t1
READONLY
=
1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DROP
TABLE
t1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
CREATE
VIEW
v1
AS
SELECT
*
FROM
t1
;
--
echo
# Testing a VIEW created with FILE privileges but accessed with no FILE
--
connection
default
...
...
@@ -59,13 +59,13 @@ SELECT user();
CREATE
SQL
SECURITY
INVOKER
VIEW
v1
AS
SELECT
*
FROM
t1
;
--
connection
user
SELECT
user
();
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
SELECT
*
FROM
v1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
v1
VALUES
(
'sec3'
,
'val3'
);
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v1
SET
val
=
'val11'
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
FROM
v1
;
--
disconnect
user
--
connection
default
...
...
storage/connect/mysql-test/connect/t/mysql_grant.test
View file @
be780c05
...
...
@@ -27,7 +27,7 @@ set sql_mode=default;
--
connection
user
SELECT
user
();
--
replace_result
$PORT
PORT
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
--
eval
CREATE
TABLE
t1
(
a
INT
NOT
NULL
)
ENGINE
=
CONNECT
TABLE_TYPE
=
MySQL
OPTION_LIST
=
'host=localhost,user=root1,port=$PORT'
--
connection
default
SELECT
user
();
...
...
@@ -38,19 +38,19 @@ INSERT INTO t1remote VALUES (10),(20),(30);
SELECT
*
FROM
t1
;
--
connection
user
SELECT
user
();
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
SELECT
*
FROM
t1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
t1
VALUES
(
'xxx'
);
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
FROM
t1
WHERE
a
=
'xxx'
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
t1
SET
a
=
'yyy'
WHERE
a
=
'xxx'
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
TRUNCATE
TABLE
t1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
ALTER
TABLE
t1
READONLY
=
1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
CREATE
VIEW
v1
AS
SELECT
*
FROM
t1
;
--
echo
# Testing a VIEW created with FILE privileges but accessed with no FILE
...
...
@@ -59,13 +59,13 @@ SELECT user();
CREATE
SQL
SECURITY
INVOKER
VIEW
v1
AS
SELECT
*
FROM
t1
;
--
connection
user
SELECT
user
();
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
SELECT
*
FROM
v1
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
INSERT
INTO
v1
VALUES
(
2
);
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
UPDATE
v1
SET
a
=
123
;
--
error
ER_ACCESS_DENIED_ERROR
--
error
ER_
SPECIFIC_
ACCESS_DENIED_ERROR
DELETE
FROM
v1
;
--
disconnect
user
...
...
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