File: locking_clause_privileges.test

package info (click to toggle)
mysql-8.0 8.0.43-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,273,924 kB
  • sloc: cpp: 4,684,605; ansic: 412,450; pascal: 108,398; java: 83,641; perl: 30,221; cs: 27,067; sql: 26,594; sh: 24,181; python: 21,816; yacc: 17,169; php: 11,522; xml: 7,388; javascript: 7,076; makefile: 2,194; lex: 1,075; awk: 670; asm: 520; objc: 183; ruby: 97; lisp: 86
file content (101 lines) | stat: -rw-r--r-- 3,634 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
--echo #
--echo # Test of locking clause privileges.
--echo #


--echo #
--echo #  Test of the parser tokens for use as role names.
--echo #

--error ER_PARSE_ERROR
CREATE ROLE of;
CREATE ROLE skip;
CREATE ROLE locked;
CREATE ROLE nowait;

DROP ROLE skip, locked, nowait;

CREATE DATABASE db1;
CREATE TABLE db1.t1( a INT );
CREATE TABLE db1.t2( a INT );

--let $locking_clause_privileges=SELECT
--let $locking_clause_privileges_expected_error_no_clause=0
--let $locking_clause_privileges_expected_error_for_update=ER_TABLEACCESS_DENIED_ERROR
--let $locking_clause_privileges_expected_error_for_share=0
--source include/locking_clause_privileges.inc

--let $locking_clause_privileges=INSERT
--let $locking_clause_privileges_expected_error_no_clause=ER_TABLEACCESS_DENIED_ERROR
--let $locking_clause_privileges_expected_error_for_share=ER_TABLEACCESS_DENIED_ERROR
--let $locking_clause_privileges_expected_error_for_update=ER_TABLEACCESS_DENIED_ERROR
--source include/locking_clause_privileges.inc

--let $locking_clause_privileges=UPDATE
--let $locking_clause_privileges_expected_error_no_clause=ER_TABLEACCESS_DENIED_ERROR
--let $locking_clause_privileges_expected_error_for_share=ER_TABLEACCESS_DENIED_ERROR
--let $locking_clause_privileges_expected_error_for_update=ER_TABLEACCESS_DENIED_ERROR
--source include/locking_clause_privileges.inc

--let $locking_clause_privileges=DELETE
--let $locking_clause_privileges_expected_error_no_clause=ER_TABLEACCESS_DENIED_ERROR
--let $locking_clause_privileges_expected_error_for_update=ER_TABLEACCESS_DENIED_ERROR
--let $locking_clause_privileges_expected_error_for_share=ER_TABLEACCESS_DENIED_ERROR
--source include/locking_clause_privileges.inc

--let $locking_clause_privileges=LOCK TABLES
--let $locking_clause_privileges_expected_error_no_clause=ER_TABLEACCESS_DENIED_ERROR
--let $locking_clause_privileges_expected_error_for_update=ER_TABLEACCESS_DENIED_ERROR
--let $locking_clause_privileges_expected_error_for_share=ER_TABLEACCESS_DENIED_ERROR
--source include/locking_clause_privileges.inc

--let $locking_clause_privileges=SELECT, UPDATE
--let $locking_clause_privileges_expected_error_no_clause=0
--let $locking_clause_privileges_expected_error_for_update=0
--let $locking_clause_privileges_expected_error_for_share=0
--source include/locking_clause_privileges.inc

--let $locking_clause_privileges=SELECT, UPDATE, DELETE
--let $locking_clause_privileges_expected_error_no_clause=0
--let $locking_clause_privileges_expected_error_for_update=0
--let $locking_clause_privileges_expected_error_for_share=0
--source include/locking_clause_privileges.inc

--let $locking_clause_privileges=SELECT, DELETE
--let $locking_clause_privileges_expected_error_no_clause=0
--let $locking_clause_privileges_expected_error_for_update=0
--let $locking_clause_privileges_expected_error_for_share=0
--source include/locking_clause_privileges.inc

--let $locking_clause_privileges=SELECT, LOCK TABLES
--let $locking_clause_privileges_expected_error_no_clause=0
--let $locking_clause_privileges_expected_error_for_update=0
--let $locking_clause_privileges_expected_error_for_share=0
--source include/locking_clause_privileges.inc

DROP DATABASE db1;

--echo #
--echo # Bug#28581664: SELECT FOR UPDATE PRODUCES ERROR 1143
--echo # (42000) SINCE MYSQL 8
--echo #

CREATE DATABASE db1;

CREATE TABLE db1.t1 ( a INT );

INSERT INTO db1.t1 VALUES ( 1 );

CREATE USER mysqluser1;
GRANT ALL ON db1.t1 TO mysqluser1;

--connect(conn1, localhost, mysqluser1, , db1)
--connection conn1

SELECT * FROM t1 WHERE a = 1 FOR UPDATE;

--disconnect conn1
--connection default

DROP DATABASE db1;
DROP USER mysqluser1;