Skip to content

Commit a49239b

Browse files
authored
SQL: truncate syntax and privilege [closes #229]
1 parent 904b69c commit a49239b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+359
-429
lines changed

mysql-test/r/alter_user.result

Lines changed: 28 additions & 28 deletions
Large diffs are not rendered by default.

mysql-test/r/create_user.result

Lines changed: 24 additions & 24 deletions
Large diffs are not rendered by default.

mysql-test/r/events_grant.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ SHOW GRANTS;
2323
Grants for ev_test@localhost
2424
GRANT USAGE ON *.* TO 'ev_test'@'localhost'
2525
GRANT ALL PRIVILEGES ON `events_test`.* TO 'ev_test'@'localhost'
26-
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, TRIGGER ON `events_test2`.* TO 'ev_test'@'localhost'
26+
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, TRIGGER, DELETE VERSIONING ROWS ON `events_test2`.* TO 'ev_test'@'localhost'
2727
"Here comes an error:";
2828
SHOW EVENTS;
2929
ERROR 42000: Access denied for user 'ev_test'@'localhost' to database 'events_test2'

mysql-test/r/grant.result

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ Create_user_priv N
4949
Event_priv N
5050
Trigger_priv N
5151
Create_tablespace_priv N
52+
Delete_versioning_rows_priv N
5253
ssl_type SPECIFIED
5354
ssl_cipher EDH-RSA-DES-CBC3-SHA
5455
x509_issuer
@@ -124,6 +125,7 @@ Create_user_priv N
124125
Event_priv N
125126
Trigger_priv N
126127
Create_tablespace_priv N
128+
Delete_versioning_rows_priv N
127129
ssl_type
128130
ssl_cipher
129131
x509_issuer
@@ -175,6 +177,7 @@ Create_user_priv N
175177
Event_priv N
176178
Trigger_priv N
177179
Create_tablespace_priv N
180+
Delete_versioning_rows_priv N
178181
ssl_type
179182
ssl_cipher
180183
x509_issuer
@@ -223,7 +226,7 @@ revoke LOCK TABLES, ALTER on mysqltest.* from mysqltest_1@localhost;
223226
show grants for mysqltest_1@localhost;
224227
Grants for mysqltest_1@localhost
225228
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
226-
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, CREATE TEMPORARY TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `mysqltest`.* TO 'mysqltest_1'@'localhost' WITH GRANT OPTION
229+
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, CREATE TEMPORARY TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER, DELETE VERSIONING ROWS ON `mysqltest`.* TO 'mysqltest_1'@'localhost' WITH GRANT OPTION
227230
revoke all privileges on mysqltest.* from mysqltest_1@localhost;
228231
delete from mysql.user where user='mysqltest_1';
229232
flush privileges;
@@ -609,6 +612,7 @@ Create temporary tables Databases To use CREATE TEMPORARY TABLE
609612
Create view Tables To create new views
610613
Create user Server Admin To create new users
611614
Delete Tables To delete existing rows
615+
Delete versioning rows Tables To delete versioning table historical rows
612616
Drop Databases,Tables To drop databases, tables, and views
613617
Event Server Admin To create, alter, drop and execute events
614618
Execute Functions,Procedures To execute stored routines
@@ -664,8 +668,8 @@ SELECT TABLE_SCHEMA, TABLE_NAME, GROUP_CONCAT(PRIVILEGE_TYPE ORDER BY
664668
PRIVILEGE_TYPE SEPARATOR ', ') AS PRIVILEGES FROM TABLE_PRIVILEGES WHERE GRANTEE
665669
= '\'dummy\'@\'localhost\'' GROUP BY TABLE_SCHEMA, TABLE_NAME;
666670
TABLE_SCHEMA TABLE_NAME PRIVILEGES
667-
mysqltest dummytable ALTER, CREATE, CREATE VIEW, DELETE, DROP, INDEX, INSERT, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE
668-
mysqltest dummyview ALTER, CREATE, CREATE VIEW, DELETE, DROP, INDEX, INSERT, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE
671+
mysqltest dummytable ALTER, CREATE, CREATE VIEW, DELETE, DELETE VERSIONING ROWS, DROP, INDEX, INSERT, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE
672+
mysqltest dummyview ALTER, CREATE, CREATE VIEW, DELETE, DELETE VERSIONING ROWS, DROP, INDEX, INSERT, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE
669673
FLUSH PRIVILEGES;
670674
SHOW GRANTS FOR dummy@localhost;
671675
Grants for dummy@localhost
@@ -676,8 +680,8 @@ SELECT TABLE_SCHEMA, TABLE_NAME, GROUP_CONCAT(PRIVILEGE_TYPE ORDER BY
676680
PRIVILEGE_TYPE SEPARATOR ', ') AS PRIVILEGES FROM TABLE_PRIVILEGES WHERE GRANTEE
677681
= '\'dummy\'@\'localhost\'' GROUP BY TABLE_SCHEMA, TABLE_NAME;
678682
TABLE_SCHEMA TABLE_NAME PRIVILEGES
679-
mysqltest dummytable ALTER, CREATE, CREATE VIEW, DELETE, DROP, INDEX, INSERT, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE
680-
mysqltest dummyview ALTER, CREATE, CREATE VIEW, DELETE, DROP, INDEX, INSERT, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE
683+
mysqltest dummytable ALTER, CREATE, CREATE VIEW, DELETE, DELETE VERSIONING ROWS, DROP, INDEX, INSERT, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE
684+
mysqltest dummyview ALTER, CREATE, CREATE VIEW, DELETE, DELETE VERSIONING ROWS, DROP, INDEX, INSERT, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE
681685
SHOW FIELDS FROM mysql.tables_priv;
682686
Field Type Null Key Default Extra
683687
Host char(60) NO PRI
@@ -686,7 +690,7 @@ User char(80) NO PRI
686690
Table_name char(64) NO PRI
687691
Grantor char(141) NO MUL
688692
Timestamp timestamp NO current_timestamp() on update current_timestamp()
689-
Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') NO
693+
Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows') NO
690694
Column_priv set('Select','Insert','Update','References') NO
691695
use test;
692696
REVOKE ALL PRIVILEGES, GRANT OPTION FROM dummy@localhost;
@@ -769,7 +773,7 @@ flush privileges;
769773
use test;
770774
set @user123="non-existent";
771775
select * from mysql.db where user=@user123;
772-
Host Db User Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Grant_priv References_priv Index_priv Alter_priv Create_tmp_table_priv Lock_tables_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Execute_priv Event_priv Trigger_priv
776+
Host Db User Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Grant_priv References_priv Index_priv Alter_priv Create_tmp_table_priv Lock_tables_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Execute_priv Event_priv Trigger_priv Delete_versioning_rows_priv
773777
set names koi8r;
774778
create database ��;
775779
grant select on ��.* to root@localhost;

mysql-test/r/information_schema.result

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,7 @@ GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
488488
'mysqltest_1'@'localhost' def test ALTER ROUTINE YES
489489
'mysqltest_1'@'localhost' def test EVENT YES
490490
'mysqltest_1'@'localhost' def test TRIGGER YES
491+
'mysqltest_1'@'localhost' def test DELETE VERSIONING ROWS YES
491492
select * from information_schema.TABLE_PRIVILEGES where grantee like '%mysqltest_1%';
492493
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
493494
'mysqltest_1'@'localhost' def test t1 SELECT NO
@@ -744,6 +745,7 @@ Lock_tables_priv select,insert,update,references
744745
Show_view_priv select,insert,update,references
745746
Create_routine_priv select,insert,update,references
746747
Alter_routine_priv select,insert,update,references
748+
Delete_versioning_rows_priv select,insert,update,references
747749
max_questions select,insert,update,references
748750
max_connections select,insert,update,references
749751
max_user_connections select,insert,update,references

mysql-test/r/lowercase_table_grant.result

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@ Grants for mysqltest_1@localhost
77
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
88
GRANT ALL PRIVILEGES ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
99
select * from db where user = 'mysqltest_1';
10-
Host Db User Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Grant_priv References_priv Index_priv Alter_priv Create_tmp_table_priv Lock_tables_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Execute_priv Event_priv Trigger_priv
11-
localhost mysqltest mysqltest_1 Y Y Y Y Y Y N Y Y Y Y Y Y Y Y Y Y Y Y
10+
Host Db User Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Grant_priv References_priv Index_priv Alter_priv Create_tmp_table_priv Lock_tables_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Execute_priv Event_priv Trigger_priv Delete_versioning_rows_priv
11+
localhost mysqltest mysqltest_1 Y Y Y Y Y Y N Y Y Y Y Y Y Y Y Y Y Y Y Y
1212
update db set db = 'MYSQLtest' where db = 'mysqltest' and user = 'mysqltest_1' and host = 'localhost';
1313
flush privileges;
1414
show grants for mysqltest_1@localhost;
1515
Grants for mysqltest_1@localhost
1616
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
1717
GRANT ALL PRIVILEGES ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
1818
select * from db where user = 'mysqltest_1';
19-
Host Db User Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Grant_priv References_priv Index_priv Alter_priv Create_tmp_table_priv Lock_tables_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Execute_priv Event_priv Trigger_priv
20-
localhost MYSQLtest mysqltest_1 Y Y Y Y Y Y N Y Y Y Y Y Y Y Y Y Y Y Y
19+
Host Db User Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Grant_priv References_priv Index_priv Alter_priv Create_tmp_table_priv Lock_tables_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Execute_priv Event_priv Trigger_priv Delete_versioning_rows_priv
20+
localhost MYSQLtest mysqltest_1 Y Y Y Y Y Y N Y Y Y Y Y Y Y Y Y Y Y Y Y
2121
delete from db where db = 'MYSQLtest' and user = 'mysqltest_1' and host = 'localhost';
2222
flush privileges;
2323
drop user mysqltest_1@localhost;

mysql-test/r/no_password_column-mdev-11170.result

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ Create_user_priv enum('N','Y') NO N
4242
Event_priv enum('N','Y') NO N
4343
Trigger_priv enum('N','Y') NO N
4444
Create_tablespace_priv enum('N','Y') NO N
45+
Delete_versioning_rows_priv enum('N','Y') NO N
4546
ssl_type enum('','ANY','X509','SPECIFIED') NO
4647
ssl_cipher blob NO NULL
4748
x509_issuer blob NO NULL

mysql-test/r/ps.result

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1207,21 +1207,21 @@ SET @aux= "SELECT COUNT(*)
12071207
prepare my_stmt from @aux;
12081208
execute my_stmt;
12091209
COUNT(*)
1210-
46
1210+
47
12111211
Warnings:
12121212
Warning 1286 Unknown storage engine 'InnoDB'
12131213
Warning 1286 Unknown storage engine 'InnoDB'
12141214
Warning 1286 Unknown storage engine 'InnoDB'
12151215
execute my_stmt;
12161216
COUNT(*)
1217-
46
1217+
47
12181218
Warnings:
12191219
Warning 1286 Unknown storage engine 'InnoDB'
12201220
Warning 1286 Unknown storage engine 'InnoDB'
12211221
Warning 1286 Unknown storage engine 'InnoDB'
12221222
execute my_stmt;
12231223
COUNT(*)
1224-
46
1224+
47
12251225
Warnings:
12261226
Warning 1286 Unknown storage engine 'InnoDB'
12271227
Warning 1286 Unknown storage engine 'InnoDB'

mysql-test/r/sql_mode.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,7 @@ SET SESSION SQL_MODE = @OLD_SQL_MODE;
531531
DROP USER 'user_no_PCTFL'@'localhost';
532532
FLUSH PRIVILEGES;
533533
SELECT * FROM mysql.db WHERE Host = 'localhost' AND User LIKE 'user_%PCTFL';
534-
Host Db User Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Grant_priv References_priv Index_priv Alter_priv Create_tmp_table_priv Lock_tables_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Execute_priv Event_priv Trigger_priv
534+
Host Db User Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Grant_priv References_priv Index_priv Alter_priv Create_tmp_table_priv Lock_tables_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Execute_priv Event_priv Trigger_priv Delete_versioning_rows_priv
535535
SELECT * FROM mysql.tables_priv WHERE Host = 'localhost' AND User LIKE 'user_%PCTFL';
536536
Host Db User Table_name Grantor Timestamp Table_priv Column_priv
537537
SELECT * FROM mysql.columns_priv WHERE Host = 'localhost' AND User LIKE 'user_%PCTFL';

mysql-test/r/system_mysql_db.result

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ db CREATE TABLE `db` (
5656
`Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
5757
`Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
5858
`Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
59+
`Delete_versioning_rows_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
5960
PRIMARY KEY (`Host`,`Db`,`User`),
6061
KEY `User` (`User`)
6162
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Database privileges'
@@ -119,6 +120,7 @@ user CREATE TABLE `user` (
119120
`Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
120121
`Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
121122
`Create_tablespace_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
123+
`Delete_versioning_rows_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
122124
`ssl_type` enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8 NOT NULL DEFAULT '',
123125
`ssl_cipher` blob NOT NULL,
124126
`x509_issuer` blob NOT NULL,
@@ -153,7 +155,7 @@ tables_priv CREATE TABLE `tables_priv` (
153155
`Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
154156
`Grantor` char(141) COLLATE utf8_bin NOT NULL DEFAULT '',
155157
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
156-
`Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') CHARACTER SET utf8 NOT NULL DEFAULT '',
158+
`Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows') CHARACTER SET utf8 NOT NULL DEFAULT '',
157159
`Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
158160
PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`),
159161
KEY `Grantor` (`Grantor`)

0 commit comments

Comments
 (0)