mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-23 16:12:01 +00:00
Add tests.
This commit is contained in:
parent
15132d47c9
commit
a5b70fbdda
108
tests/queries/0_stateless/01292_create_user.reference
Normal file
108
tests/queries/0_stateless/01292_create_user.reference
Normal file
@ -0,0 +1,108 @@
|
||||
-- default
|
||||
CREATE USER u1_01292
|
||||
-- same as default
|
||||
CREATE USER u2_01292
|
||||
CREATE USER u3_01292
|
||||
-- rename
|
||||
CREATE USER u2_01292_renamed
|
||||
-- authentication
|
||||
CREATE USER u1_01292
|
||||
CREATE USER u2_01292 IDENTIFIED WITH plaintext_password
|
||||
CREATE USER u3_01292 IDENTIFIED WITH sha256_password
|
||||
CREATE USER u4_01292 IDENTIFIED WITH sha256_password
|
||||
CREATE USER u5_01292 IDENTIFIED WITH sha256_password
|
||||
CREATE USER u6_01292 IDENTIFIED WITH double_sha1_password
|
||||
CREATE USER u7_01292 IDENTIFIED WITH double_sha1_password
|
||||
CREATE USER u1_01292 IDENTIFIED WITH sha256_password
|
||||
CREATE USER u2_01292 IDENTIFIED WITH sha256_password
|
||||
CREATE USER u3_01292 IDENTIFIED WITH sha256_password
|
||||
CREATE USER u4_01292 IDENTIFIED WITH plaintext_password
|
||||
CREATE USER u5_01292
|
||||
-- host
|
||||
CREATE USER u1_01292
|
||||
CREATE USER u2_01292 HOST NONE
|
||||
CREATE USER u3_01292 HOST LOCAL
|
||||
CREATE USER u4_01292 HOST NAME \'myhost.com\'
|
||||
CREATE USER u5_01292 HOST LOCAL, NAME \'myhost.com\'
|
||||
CREATE USER u6_01292 HOST LOCAL, NAME \'myhost.com\'
|
||||
CREATE USER u7_01292 HOST REGEXP \'.*\\\\.myhost\\\\.com\'
|
||||
CREATE USER u8_01292
|
||||
CREATE USER u9_01292 HOST LIKE \'%.myhost.com\'
|
||||
CREATE USER u10_01292 HOST LIKE \'%.myhost.com\'
|
||||
CREATE USER u11_01292 HOST LOCAL
|
||||
CREATE USER u12_01292 HOST IP \'192.168.1.1\'
|
||||
CREATE USER u13_01292 HOST IP \'192.168.0.0/16\'
|
||||
CREATE USER u14_01292 HOST LOCAL
|
||||
CREATE USER u15_01292 HOST IP \'2001:db8:11a3:9d7:1f34:8a2e:7a0:765d\'
|
||||
CREATE USER u16_01292 HOST LOCAL, IP \'65:ff0c::/96\'
|
||||
CREATE USER u1_01292 HOST NONE
|
||||
CREATE USER u2_01292 HOST NAME \'myhost.com\'
|
||||
CREATE USER u3_01292 HOST LOCAL, NAME \'myhost.com\'
|
||||
CREATE USER u4_01292 HOST NONE
|
||||
-- host after @
|
||||
CREATE USER u1_01292
|
||||
CREATE USER u1_01292
|
||||
CREATE USER `u2_01292@%.myhost.com` HOST LIKE \'%.myhost.com\'
|
||||
CREATE USER `u2_01292@%.myhost.com` HOST LIKE \'%.myhost.com\'
|
||||
CREATE USER `u3_01292@192.168.%.%` HOST LIKE \'192.168.%.%\'
|
||||
CREATE USER `u3_01292@192.168.%.%` HOST LIKE \'192.168.%.%\'
|
||||
CREATE USER `u4_01292@::1` HOST LOCAL
|
||||
CREATE USER `u4_01292@::1` HOST LOCAL
|
||||
CREATE USER `u5_01292@65:ff0c::/96` HOST LIKE \'65:ff0c::/96\'
|
||||
CREATE USER `u5_01292@65:ff0c::/96` HOST LIKE \'65:ff0c::/96\'
|
||||
CREATE USER u1_01292 HOST LOCAL
|
||||
CREATE USER `u2_01292@%.myhost.com`
|
||||
-- settings
|
||||
CREATE USER u1_01292
|
||||
CREATE USER u2_01292 SETTINGS PROFILE default
|
||||
CREATE USER u3_01292 SETTINGS max_memory_usage = 5000000
|
||||
CREATE USER u4_01292 SETTINGS max_memory_usage MIN 5000000
|
||||
CREATE USER u5_01292 SETTINGS max_memory_usage MAX 5000000
|
||||
CREATE USER u6_01292 SETTINGS max_memory_usage READONLY
|
||||
CREATE USER u7_01292 SETTINGS max_memory_usage WRITABLE
|
||||
CREATE USER u8_01292 SETTINGS max_memory_usage = 5000000 MIN 4000000 MAX 6000000 READONLY
|
||||
CREATE USER u9_01292 SETTINGS PROFILE default, max_memory_usage = 5000000 WRITABLE
|
||||
CREATE USER u1_01292 SETTINGS readonly = 1
|
||||
CREATE USER u2_01292 SETTINGS readonly = 1
|
||||
CREATE USER u3_01292
|
||||
-- default role
|
||||
CREATE USER u1_01292
|
||||
CREATE USER u2_01292 DEFAULT ROLE NONE
|
||||
CREATE USER u3_01292 DEFAULT ROLE r1_01292
|
||||
CREATE USER u4_01292 DEFAULT ROLE r1_01292, r2_01292
|
||||
CREATE USER u5_01292 DEFAULT ROLE ALL EXCEPT r2_01292
|
||||
CREATE USER u6_01292 DEFAULT ROLE ALL EXCEPT r1_01292, r2_01292
|
||||
CREATE USER u1_01292 DEFAULT ROLE r1_01292
|
||||
CREATE USER u2_01292 DEFAULT ROLE ALL EXCEPT r2_01292
|
||||
CREATE USER u3_01292 DEFAULT ROLE r2_01292
|
||||
CREATE USER u4_01292
|
||||
CREATE USER u5_01292 DEFAULT ROLE ALL EXCEPT r1_01292
|
||||
CREATE USER u6_01292 DEFAULT ROLE NONE
|
||||
-- complex
|
||||
CREATE USER u1_01292 IDENTIFIED WITH plaintext_password HOST LOCAL SETTINGS readonly = 1
|
||||
CREATE USER u1_01292 HOST LIKE \'%.%.myhost.com\' DEFAULT ROLE NONE SETTINGS PROFILE default
|
||||
-- multiple users in one command
|
||||
CREATE USER u1_01292 DEFAULT ROLE NONE
|
||||
CREATE USER u2_01292 DEFAULT ROLE NONE
|
||||
CREATE USER u3_01292 HOST LIKE \'%.%.myhost.com\'
|
||||
CREATE USER u4_01292 HOST LIKE \'%.%.myhost.com\'
|
||||
CREATE USER `u5_01292@%.host.com` HOST LIKE \'%.host.com\'
|
||||
CREATE USER `u6_01292@%.host.com` HOST LIKE \'%.host.com\'
|
||||
CREATE USER `u7_01292@%.host.com` HOST LIKE \'%.host.com\'
|
||||
CREATE USER `u8_01292@%.otherhost.com` HOST LIKE \'%.otherhost.com\'
|
||||
CREATE USER u1_01292 DEFAULT ROLE NONE SETTINGS readonly = 1
|
||||
CREATE USER u2_01292 DEFAULT ROLE r1_01292, r2_01292 SETTINGS readonly = 1
|
||||
CREATE USER u3_01292 HOST LIKE \'%.%.myhost.com\' DEFAULT ROLE r1_01292, r2_01292
|
||||
CREATE USER u4_01292 HOST LIKE \'%.%.myhost.com\' DEFAULT ROLE r1_01292, r2_01292
|
||||
-- system.users
|
||||
u1_01292 disk plaintext_password [] [] ['localhost'] [] [] 1 [] []
|
||||
u2_01292 disk no_password [] [] [] [] ['%.%.myhost.com'] 0 [] []
|
||||
u3_01292 disk sha256_password [] ['192.169.1.1','192.168.0.0/16'] ['localhost'] [] [] 0 ['r1_01292'] []
|
||||
u4_01292 disk double_sha1_password [] ['::/0'] [] [] [] 1 [] ['r1_01292']
|
||||
-- system.settings_profile_elements
|
||||
\N u1_01292 \N 0 readonly 1 \N \N \N \N
|
||||
\N u2_01292 \N 0 \N \N \N \N \N default
|
||||
\N u3_01292 \N 0 max_memory_usage 5000000 4000000 6000000 0 \N
|
||||
\N u4_01292 \N 0 \N \N \N \N \N default
|
||||
\N u4_01292 \N 1 max_memory_usage 5000000 \N \N \N \N
|
||||
\N u4_01292 \N 2 readonly 1 \N \N \N \N
|
211
tests/queries/0_stateless/01292_create_user.sql
Normal file
211
tests/queries/0_stateless/01292_create_user.sql
Normal file
@ -0,0 +1,211 @@
|
||||
DROP USER IF EXISTS u1_01292, u2_01292, u3_01292, u4_01292, u5_01292, u6_01292, u7_01292, u8_01292, u9_01292;
|
||||
DROP USER IF EXISTS u10_01292, u11_01292, u12_01292, u13_01292, u14_01292, u15_01292, u16_01292;
|
||||
DROP USER IF EXISTS u2_01292_renamed;
|
||||
DROP USER IF EXISTS u1_01292@'%', 'u2_01292@%.myhost.com', u3_01292@'192.168.%.%', 'u4_01292@::1', u5_01292@'65:ff0c::/96';
|
||||
DROP USER IF EXISTS u5_01292@'%.host.com', u6_01292@'%.host.com', u7_01292@'%.host.com', u8_01292@'%.otherhost.com';
|
||||
DROP ROLE IF EXISTS r1_01292, r2_01292;
|
||||
|
||||
SELECT '-- default';
|
||||
CREATE USER u1_01292;
|
||||
SHOW CREATE USER u1_01292;
|
||||
|
||||
SELECT '-- same as default';
|
||||
CREATE USER u2_01292 NOT IDENTIFIED HOST ANY SETTINGS NONE DEFAULT ROLE ALL;
|
||||
CREATE USER u3_01292 DEFAULT ROLE ALL IDENTIFIED WITH no_password SETTINGS NONE HOST ANY;
|
||||
SHOW CREATE USER u2_01292;
|
||||
SHOW CREATE USER u3_01292;
|
||||
|
||||
SELECT '-- rename';
|
||||
ALTER USER u2_01292 RENAME TO 'u2_01292_renamed';
|
||||
SHOW CREATE USER u2_01292; -- { serverError 192 } -- User not found
|
||||
SHOW CREATE USER u2_01292_renamed;
|
||||
DROP USER u1_01292, u2_01292_renamed, u3_01292;
|
||||
|
||||
SELECT '-- authentication';
|
||||
CREATE USER u1_01292 NOT IDENTIFIED;
|
||||
CREATE USER u2_01292 IDENTIFIED WITH plaintext_password BY 'qwe123';
|
||||
CREATE USER u3_01292 IDENTIFIED BY 'qwe123';
|
||||
CREATE USER u4_01292 IDENTIFIED WITH sha256_password BY 'qwe123';
|
||||
CREATE USER u5_01292 IDENTIFIED WITH sha256_hash BY '18138372FAD4B94533CD4881F03DC6C69296DD897234E0CEE83F727E2E6B1F63';
|
||||
CREATE USER u6_01292 IDENTIFIED WITH double_sha1_password BY 'qwe123';
|
||||
CREATE USER u7_01292 IDENTIFIED WITH double_sha1_hash BY '8DCDD69CE7D121DE8013062AEAEB2A148910D50E';
|
||||
SHOW CREATE USER u1_01292;
|
||||
SHOW CREATE USER u2_01292;
|
||||
SHOW CREATE USER u3_01292;
|
||||
SHOW CREATE USER u4_01292;
|
||||
SHOW CREATE USER u5_01292;
|
||||
SHOW CREATE USER u6_01292;
|
||||
SHOW CREATE USER u7_01292;
|
||||
ALTER USER u1_01292 IDENTIFIED BY '123qwe';
|
||||
ALTER USER u2_01292 IDENTIFIED BY '123qwe';
|
||||
ALTER USER u3_01292 IDENTIFIED BY '123qwe';
|
||||
ALTER USER u4_01292 IDENTIFIED WITH plaintext_password BY '123qwe';
|
||||
ALTER USER u5_01292 NOT IDENTIFIED;
|
||||
SHOW CREATE USER u1_01292;
|
||||
SHOW CREATE USER u2_01292;
|
||||
SHOW CREATE USER u3_01292;
|
||||
SHOW CREATE USER u4_01292;
|
||||
SHOW CREATE USER u5_01292;
|
||||
DROP USER u1_01292, u2_01292, u3_01292, u4_01292, u5_01292, u6_01292, u7_01292;
|
||||
|
||||
SELECT '-- host';
|
||||
CREATE USER u1_01292 HOST ANY;
|
||||
CREATE USER u2_01292 HOST NONE;
|
||||
CREATE USER u3_01292 HOST LOCAL;
|
||||
CREATE USER u4_01292 HOST NAME 'myhost.com';
|
||||
CREATE USER u5_01292 HOST NAME 'myhost.com', LOCAL;
|
||||
CREATE USER u6_01292 HOST LOCAL, NAME 'myhost.com';
|
||||
CREATE USER u7_01292 HOST REGEXP '.*\\.myhost\\.com';
|
||||
CREATE USER u8_01292 HOST LIKE '%';
|
||||
CREATE USER u9_01292 HOST LIKE '%.myhost.com';
|
||||
CREATE USER u10_01292 HOST LIKE '%.myhost.com', '%.myhost2.com';
|
||||
CREATE USER u11_01292 HOST IP '127.0.0.1';
|
||||
CREATE USER u12_01292 HOST IP '192.168.1.1';
|
||||
CREATE USER u13_01292 HOST IP '192.168.0.0/16';
|
||||
CREATE USER u14_01292 HOST IP '::1';
|
||||
CREATE USER u15_01292 HOST IP '2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d';
|
||||
CREATE USER u16_01292 HOST IP '65:ff0c::/96', '::1';
|
||||
SHOW CREATE USER u1_01292;
|
||||
SHOW CREATE USER u2_01292;
|
||||
SHOW CREATE USER u3_01292;
|
||||
SHOW CREATE USER u4_01292;
|
||||
SHOW CREATE USER u5_01292;
|
||||
SHOW CREATE USER u6_01292;
|
||||
SHOW CREATE USER u7_01292;
|
||||
SHOW CREATE USER u8_01292;
|
||||
SHOW CREATE USER u9_01292;
|
||||
SHOW CREATE USER u10_01292;
|
||||
SHOW CREATE USER u11_01292;
|
||||
SHOW CREATE USER u12_01292;
|
||||
SHOW CREATE USER u13_01292;
|
||||
SHOW CREATE USER u14_01292;
|
||||
SHOW CREATE USER u15_01292;
|
||||
SHOW CREATE USER u16_01292;
|
||||
ALTER USER u1_01292 HOST NONE;
|
||||
ALTER USER u2_01292 HOST NAME 'myhost.com';
|
||||
ALTER USER u3_01292 ADD HOST NAME 'myhost.com';
|
||||
ALTER USER u4_01292 DROP HOST NAME 'myhost.com';
|
||||
SHOW CREATE USER u1_01292;
|
||||
SHOW CREATE USER u2_01292;
|
||||
SHOW CREATE USER u3_01292;
|
||||
SHOW CREATE USER u4_01292;
|
||||
DROP USER u1_01292, u2_01292, u3_01292, u4_01292, u5_01292, u6_01292, u7_01292, u8_01292, u9_01292;
|
||||
DROP USER u10_01292, u11_01292, u12_01292, u13_01292, u14_01292, u15_01292, u16_01292;
|
||||
|
||||
SELECT '-- host after @';
|
||||
CREATE USER u1_01292@'%';
|
||||
CREATE USER u2_01292@'%.myhost.com';
|
||||
CREATE USER u3_01292@'192.168.%.%';
|
||||
CREATE USER u4_01292@'::1';
|
||||
CREATE USER u5_01292@'65:ff0c::/96';
|
||||
SHOW CREATE USER u1_01292@'%';
|
||||
SHOW CREATE USER u1_01292;
|
||||
SHOW CREATE USER u2_01292@'%.myhost.com';
|
||||
SHOW CREATE USER 'u2_01292@%.myhost.com';
|
||||
SHOW CREATE USER u3_01292@'192.168.%.%';
|
||||
SHOW CREATE USER 'u3_01292@192.168.%.%';
|
||||
SHOW CREATE USER u4_01292@'::1';
|
||||
SHOW CREATE USER 'u4_01292@::1';
|
||||
SHOW CREATE USER u5_01292@'65:ff0c::/96';
|
||||
SHOW CREATE USER 'u5_01292@65:ff0c::/96';
|
||||
ALTER USER u1_01292@'%' HOST LOCAL;
|
||||
ALTER USER u2_01292@'%.myhost.com' HOST ANY;
|
||||
SHOW CREATE USER u1_01292@'%';
|
||||
SHOW CREATE USER u2_01292@'%.myhost.com';
|
||||
DROP USER u1_01292@'%', 'u2_01292@%.myhost.com', u3_01292@'192.168.%.%', 'u4_01292@::1', u5_01292@'65:ff0c::/96';
|
||||
|
||||
SELECT '-- settings';
|
||||
CREATE USER u1_01292 SETTINGS NONE;
|
||||
CREATE USER u2_01292 SETTINGS PROFILE 'default';
|
||||
CREATE USER u3_01292 SETTINGS max_memory_usage=5000000;
|
||||
CREATE USER u4_01292 SETTINGS max_memory_usage MIN=5000000;
|
||||
CREATE USER u5_01292 SETTINGS max_memory_usage MAX=5000000;
|
||||
CREATE USER u6_01292 SETTINGS max_memory_usage READONLY;
|
||||
CREATE USER u7_01292 SETTINGS max_memory_usage WRITABLE;
|
||||
CREATE USER u8_01292 SETTINGS max_memory_usage=5000000 MIN 4000000 MAX 6000000 READONLY;
|
||||
CREATE USER u9_01292 SETTINGS PROFILE 'default', max_memory_usage=5000000 WRITABLE;
|
||||
SHOW CREATE USER u1_01292;
|
||||
SHOW CREATE USER u2_01292;
|
||||
SHOW CREATE USER u3_01292;
|
||||
SHOW CREATE USER u4_01292;
|
||||
SHOW CREATE USER u5_01292;
|
||||
SHOW CREATE USER u6_01292;
|
||||
SHOW CREATE USER u7_01292;
|
||||
SHOW CREATE USER u8_01292;
|
||||
SHOW CREATE USER u9_01292;
|
||||
ALTER USER u1_01292 SETTINGS readonly=1;
|
||||
ALTER USER u2_01292 SETTINGS readonly=1;
|
||||
ALTER USER u3_01292 SETTINGS NONE;
|
||||
SHOW CREATE USER u1_01292;
|
||||
SHOW CREATE USER u2_01292;
|
||||
SHOW CREATE USER u3_01292;
|
||||
DROP USER u1_01292, u2_01292, u3_01292, u4_01292, u5_01292, u6_01292, u7_01292, u8_01292, u9_01292;
|
||||
|
||||
SELECT '-- default role';
|
||||
CREATE ROLE r1_01292, r2_01292;
|
||||
CREATE USER u1_01292 DEFAULT ROLE ALL;
|
||||
CREATE USER u2_01292 DEFAULT ROLE NONE;
|
||||
CREATE USER u3_01292 DEFAULT ROLE r1_01292;
|
||||
CREATE USER u4_01292 DEFAULT ROLE r1_01292, r2_01292;
|
||||
CREATE USER u5_01292 DEFAULT ROLE ALL EXCEPT r2_01292;
|
||||
CREATE USER u6_01292 DEFAULT ROLE ALL EXCEPT r1_01292, r2_01292;
|
||||
SHOW CREATE USER u1_01292;
|
||||
SHOW CREATE USER u2_01292;
|
||||
SHOW CREATE USER u3_01292;
|
||||
SHOW CREATE USER u4_01292;
|
||||
SHOW CREATE USER u5_01292;
|
||||
SHOW CREATE USER u6_01292;
|
||||
GRANT r1_01292, r2_01292 TO u1_01292, u2_01292, u3_01292, u4_01292, u5_01292, u6_01292;
|
||||
ALTER USER u1_01292 DEFAULT ROLE r1_01292;
|
||||
ALTER USER u2_01292 DEFAULT ROLE ALL EXCEPT r2_01292;
|
||||
SET DEFAULT ROLE r2_01292 TO u3_01292;
|
||||
SET DEFAULT ROLE ALL TO u4_01292;
|
||||
SET DEFAULT ROLE ALL EXCEPT r1_01292 TO u5_01292;
|
||||
SET DEFAULT ROLE NONE TO u6_01292;
|
||||
SHOW CREATE USER u1_01292;
|
||||
SHOW CREATE USER u2_01292;
|
||||
SHOW CREATE USER u3_01292;
|
||||
SHOW CREATE USER u4_01292;
|
||||
SHOW CREATE USER u5_01292;
|
||||
SHOW CREATE USER u6_01292;
|
||||
DROP USER u1_01292, u2_01292, u3_01292, u4_01292, u5_01292, u6_01292;
|
||||
|
||||
SELECT '-- complex';
|
||||
CREATE USER u1_01292 IDENTIFIED WITH plaintext_password BY 'qwe123' HOST LOCAL SETTINGS readonly=1;
|
||||
SHOW CREATE USER u1_01292;
|
||||
ALTER USER u1_01292 NOT IDENTIFIED HOST LIKE '%.%.myhost.com' DEFAULT ROLE NONE SETTINGS PROFILE 'default';
|
||||
SHOW CREATE USER u1_01292;
|
||||
DROP USER u1_01292;
|
||||
|
||||
SELECT '-- multiple users in one command';
|
||||
CREATE USER u1_01292, u2_01292 DEFAULT ROLE NONE;
|
||||
CREATE USER u3_01292, u4_01292 HOST LIKE '%.%.myhost.com';
|
||||
CREATE USER u5_01292@'%.host.com', u6_01292@'%.host.com';
|
||||
CREATE USER u7_01292@'%.host.com', u8_01292@'%.otherhost.com';
|
||||
SHOW CREATE USER u1_01292, u2_01292, u3_01292, u4_01292, u5_01292@'%.host.com', u6_01292@'%.host.com';
|
||||
SHOW CREATE USER u7_01292@'%.host.com', u8_01292@'%.otherhost.com';
|
||||
ALTER USER u1_01292, u2_01292 SETTINGS readonly=1;
|
||||
GRANT r1_01292, r2_01292 TO u2_01292, u3_01292, u4_01292;
|
||||
SET DEFAULT ROLE r1_01292, r2_01292 TO u2_01292, u3_01292, u4_01292;
|
||||
SHOW CREATE USER u1_01292, u2_01292, u3_01292, u4_01292;
|
||||
DROP USER u1_01292, u2_01292, u3_01292, u4_01292, u5_01292@'%.host.com', u6_01292@'%.host.com';
|
||||
DROP USER u7_01292@'%.host.com', u8_01292@'%.otherhost.com';
|
||||
|
||||
SELECT '-- system.users';
|
||||
CREATE USER u1_01292 IDENTIFIED WITH plaintext_password BY 'qwe123' HOST LOCAL;
|
||||
CREATE USER u2_01292 NOT IDENTIFIED HOST LIKE '%.%.myhost.com' DEFAULT ROLE NONE;
|
||||
CREATE USER u3_01292 IDENTIFIED BY 'qwe123' HOST IP '192.168.0.0/16', '192.169.1.1', '::1' DEFAULT ROLE r1_01292;
|
||||
CREATE USER u4_01292 IDENTIFIED WITH double_sha1_password BY 'qwe123' HOST ANY DEFAULT ROLE ALL EXCEPT r1_01292;
|
||||
SELECT name, storage, auth_type, auth_params, host_ip, host_names, host_names_regexp, host_names_like, default_roles_all, default_roles_list, default_roles_except FROM system.users WHERE name LIKE 'u%\_01292' ORDER BY name;
|
||||
DROP USER u1_01292, u2_01292, u3_01292, u4_01292;
|
||||
|
||||
SELECT '-- system.settings_profile_elements';
|
||||
CREATE USER u1_01292 SETTINGS readonly=1;
|
||||
CREATE USER u2_01292 SETTINGS PROFILE 'default';
|
||||
CREATE USER u3_01292 SETTINGS max_memory_usage=5000000 MIN 4000000 MAX 6000000 WRITABLE;
|
||||
CREATE USER u4_01292 SETTINGS PROFILE 'default', max_memory_usage=5000000, readonly=1;
|
||||
CREATE USER u5_01292 SETTINGS NONE;
|
||||
SELECT * FROM system.settings_profile_elements WHERE user_name LIKE 'u%\_01292' ORDER BY user_name, index;
|
||||
DROP USER u1_01292, u2_01292, u3_01292, u4_01292, u5_01292;
|
||||
|
||||
DROP ROLE r1_01292, r2_01292;
|
38
tests/queries/0_stateless/01293_create_role.reference
Normal file
38
tests/queries/0_stateless/01293_create_role.reference
Normal file
@ -0,0 +1,38 @@
|
||||
-- default
|
||||
CREATE ROLE r1_01293
|
||||
-- same as default
|
||||
CREATE ROLE r2_01293
|
||||
-- rename
|
||||
CREATE ROLE r2_01293_renamed
|
||||
-- host after @
|
||||
CREATE ROLE r1_01293
|
||||
CREATE ROLE r1_01293
|
||||
CREATE ROLE `r2_01293@%.myhost.com`
|
||||
CREATE ROLE `r2_01293@%.myhost.com`
|
||||
-- settings
|
||||
CREATE ROLE r1_01293
|
||||
CREATE ROLE r2_01293 SETTINGS PROFILE default
|
||||
CREATE ROLE r3_01293 SETTINGS max_memory_usage = 5000000
|
||||
CREATE ROLE r4_01293 SETTINGS max_memory_usage MIN 5000000
|
||||
CREATE ROLE r5_01293 SETTINGS max_memory_usage MAX 5000000
|
||||
CREATE ROLE r6_01293 SETTINGS max_memory_usage READONLY
|
||||
CREATE ROLE r7_01293 SETTINGS max_memory_usage WRITABLE
|
||||
CREATE ROLE r8_01293 SETTINGS max_memory_usage = 5000000 MIN 4000000 MAX 6000000 READONLY
|
||||
CREATE ROLE r9_01293 SETTINGS PROFILE default, max_memory_usage = 5000000 WRITABLE
|
||||
CREATE ROLE r1_01293 SETTINGS readonly = 1
|
||||
CREATE ROLE r2_01293 SETTINGS readonly = 1
|
||||
CREATE ROLE r3_01293
|
||||
-- multiple roles in one command
|
||||
CREATE ROLE r1_01293
|
||||
CREATE ROLE r2_01293
|
||||
CREATE ROLE r1_01293 SETTINGS readonly = 1
|
||||
CREATE ROLE r2_01293 SETTINGS readonly = 1
|
||||
-- system.roles
|
||||
r1_01293 disk
|
||||
-- system.settings_profile_elements
|
||||
\N \N r1_01293 0 readonly 1 \N \N \N \N
|
||||
\N \N r2_01293 0 \N \N \N \N \N default
|
||||
\N \N r3_01293 0 max_memory_usage 5000000 4000000 6000000 0 \N
|
||||
\N \N r4_01293 0 \N \N \N \N \N default
|
||||
\N \N r4_01293 1 max_memory_usage 5000000 \N \N \N \N
|
||||
\N \N r4_01293 2 readonly 1 \N \N \N \N
|
74
tests/queries/0_stateless/01293_create_role.sql
Normal file
74
tests/queries/0_stateless/01293_create_role.sql
Normal file
@ -0,0 +1,74 @@
|
||||
DROP ROLE IF EXISTS r1_01293, r2_01293, r3_01293, r4_01293, r5_01293, r6_01293, r7_01293, r8_01293, r9_01293;
|
||||
DROP ROLE IF EXISTS r2_01293_renamed;
|
||||
DROP ROLE IF EXISTS r1_01293@'%', 'r2_01293@%.myhost.com';
|
||||
|
||||
SELECT '-- default';
|
||||
CREATE ROLE r1_01293;
|
||||
SHOW CREATE ROLE r1_01293;
|
||||
|
||||
SELECT '-- same as default';
|
||||
CREATE ROLE r2_01293 SETTINGS NONE;
|
||||
SHOW CREATE ROLE r2_01293;
|
||||
|
||||
SELECT '-- rename';
|
||||
ALTER ROLE r2_01293 RENAME TO 'r2_01293_renamed';
|
||||
SHOW CREATE ROLE r2_01293; -- { serverError 511 } -- Role not found
|
||||
SHOW CREATE ROLE r2_01293_renamed;
|
||||
DROP ROLE r1_01293, r2_01293_renamed;
|
||||
|
||||
SELECT '-- host after @';
|
||||
CREATE ROLE r1_01293@'%';
|
||||
CREATE ROLE r2_01293@'%.myhost.com';
|
||||
SHOW CREATE ROLE r1_01293@'%';
|
||||
SHOW CREATE ROLE r1_01293;
|
||||
SHOW CREATE ROLE r2_01293@'%.myhost.com';
|
||||
SHOW CREATE ROLE 'r2_01293@%.myhost.com';
|
||||
DROP ROLE r1_01293@'%', 'r2_01293@%.myhost.com';
|
||||
|
||||
SELECT '-- settings';
|
||||
CREATE ROLE r1_01293 SETTINGS NONE;
|
||||
CREATE ROLE r2_01293 SETTINGS PROFILE 'default';
|
||||
CREATE ROLE r3_01293 SETTINGS max_memory_usage=5000000;
|
||||
CREATE ROLE r4_01293 SETTINGS max_memory_usage MIN=5000000;
|
||||
CREATE ROLE r5_01293 SETTINGS max_memory_usage MAX=5000000;
|
||||
CREATE ROLE r6_01293 SETTINGS max_memory_usage READONLY;
|
||||
CREATE ROLE r7_01293 SETTINGS max_memory_usage WRITABLE;
|
||||
CREATE ROLE r8_01293 SETTINGS max_memory_usage=5000000 MIN 4000000 MAX 6000000 READONLY;
|
||||
CREATE ROLE r9_01293 SETTINGS PROFILE 'default', max_memory_usage=5000000 WRITABLE;
|
||||
SHOW CREATE ROLE r1_01293;
|
||||
SHOW CREATE ROLE r2_01293;
|
||||
SHOW CREATE ROLE r3_01293;
|
||||
SHOW CREATE ROLE r4_01293;
|
||||
SHOW CREATE ROLE r5_01293;
|
||||
SHOW CREATE ROLE r6_01293;
|
||||
SHOW CREATE ROLE r7_01293;
|
||||
SHOW CREATE ROLE r8_01293;
|
||||
SHOW CREATE ROLE r9_01293;
|
||||
ALTER ROLE r1_01293 SETTINGS readonly=1;
|
||||
ALTER ROLE r2_01293 SETTINGS readonly=1;
|
||||
ALTER ROLE r3_01293 SETTINGS NONE;
|
||||
SHOW CREATE ROLE r1_01293;
|
||||
SHOW CREATE ROLE r2_01293;
|
||||
SHOW CREATE ROLE r3_01293;
|
||||
DROP ROLE r1_01293, r2_01293, r3_01293, r4_01293, r5_01293, r6_01293, r7_01293, r8_01293, r9_01293;
|
||||
|
||||
SELECT '-- multiple roles in one command';
|
||||
CREATE ROLE r1_01293, r2_01293;
|
||||
SHOW CREATE ROLE r1_01293, r2_01293;
|
||||
ALTER ROLE r1_01293, r2_01293 SETTINGS readonly=1;
|
||||
SHOW CREATE ROLE r1_01293, r2_01293;
|
||||
DROP ROLE r1_01293, r2_01293;
|
||||
|
||||
SELECT '-- system.roles';
|
||||
CREATE ROLE r1_01293;
|
||||
SELECT name, storage from system.roles WHERE name='r1_01293';
|
||||
DROP ROLE r1_01293;
|
||||
|
||||
SELECT '-- system.settings_profile_elements';
|
||||
CREATE ROLE r1_01293 SETTINGS readonly=1;
|
||||
CREATE ROLE r2_01293 SETTINGS PROFILE 'default';
|
||||
CREATE ROLE r3_01293 SETTINGS max_memory_usage=5000000 MIN 4000000 MAX 6000000 WRITABLE;
|
||||
CREATE ROLE r4_01293 SETTINGS PROFILE 'default', max_memory_usage=5000000, readonly=1;
|
||||
CREATE ROLE r5_01293 SETTINGS NONE;
|
||||
SELECT * FROM system.settings_profile_elements WHERE role_name LIKE 'r%\_01293' ORDER BY role_name, index;
|
||||
DROP ROLE r1_01293, r2_01293, r3_01293, r4_01293, r5_01293;
|
@ -0,0 +1,56 @@
|
||||
-- default
|
||||
CREATE SETTINGS PROFILE s1_01294
|
||||
-- same as default
|
||||
CREATE SETTINGS PROFILE s2_01294
|
||||
CREATE SETTINGS PROFILE s3_01294
|
||||
-- rename
|
||||
CREATE SETTINGS PROFILE s2_01294_renamed
|
||||
-- settings
|
||||
CREATE SETTINGS PROFILE s1_01294
|
||||
CREATE SETTINGS PROFILE s2_01294 SETTINGS INHERIT default
|
||||
CREATE SETTINGS PROFILE s3_01294 SETTINGS max_memory_usage = 5000000
|
||||
CREATE SETTINGS PROFILE s4_01294 SETTINGS max_memory_usage MIN 5000000
|
||||
CREATE SETTINGS PROFILE s5_01294 SETTINGS max_memory_usage MAX 5000000
|
||||
CREATE SETTINGS PROFILE s6_01294 SETTINGS max_memory_usage READONLY
|
||||
CREATE SETTINGS PROFILE s7_01294 SETTINGS max_memory_usage WRITABLE
|
||||
CREATE SETTINGS PROFILE s8_01294 SETTINGS max_memory_usage = 5000000 MIN 4000000 MAX 6000000 READONLY
|
||||
CREATE SETTINGS PROFILE s9_01294 SETTINGS INHERIT default, max_memory_usage = 5000000 WRITABLE
|
||||
CREATE SETTINGS PROFILE s10_01294 SETTINGS INHERIT s1_01294, INHERIT s3_01294, INHERIT default, readonly = 0, max_memory_usage MAX 6000000
|
||||
CREATE SETTINGS PROFILE s1_01294 SETTINGS readonly = 0
|
||||
CREATE SETTINGS PROFILE s2_01294 SETTINGS readonly = 1
|
||||
CREATE SETTINGS PROFILE s3_01294
|
||||
-- to roles
|
||||
CREATE SETTINGS PROFILE s1_01294
|
||||
CREATE SETTINGS PROFILE s2_01294 TO ALL
|
||||
CREATE SETTINGS PROFILE s3_01294 TO r1_01294
|
||||
CREATE SETTINGS PROFILE s4_01294 TO u1_01294
|
||||
CREATE SETTINGS PROFILE s5_01294 TO r1_01294, u1_01294
|
||||
CREATE SETTINGS PROFILE s6_01294 TO ALL EXCEPT r1_01294
|
||||
CREATE SETTINGS PROFILE s7_01294 TO ALL EXCEPT r1_01294, u1_01294
|
||||
CREATE SETTINGS PROFILE s1_01294 TO u1_01294
|
||||
CREATE SETTINGS PROFILE s2_01294
|
||||
-- complex
|
||||
CREATE SETTINGS PROFILE s1_01294 SETTINGS readonly = 0 TO r1_01294
|
||||
CREATE SETTINGS PROFILE s1_01294 SETTINGS INHERIT default
|
||||
-- multiple profiles in one command
|
||||
CREATE SETTINGS PROFILE s1_01294 SETTINGS max_memory_usage = 5000000
|
||||
CREATE SETTINGS PROFILE s2_01294 SETTINGS max_memory_usage = 5000000
|
||||
CREATE SETTINGS PROFILE s3_01294 TO ALL
|
||||
CREATE SETTINGS PROFILE s4_01294 TO ALL
|
||||
CREATE SETTINGS PROFILE s1_01294 SETTINGS max_memory_usage = 6000000
|
||||
CREATE SETTINGS PROFILE s2_01294 SETTINGS max_memory_usage = 6000000 TO r1_01294
|
||||
CREATE SETTINGS PROFILE s3_01294 SETTINGS max_memory_usage = 6000000 TO r1_01294
|
||||
CREATE SETTINGS PROFILE s4_01294 TO r1_01294
|
||||
-- system.settings_profiles
|
||||
s1_01294 disk 0 0 [] []
|
||||
s2_01294 disk 1 0 ['r1_01294'] []
|
||||
s3_01294 disk 1 0 ['r1_01294'] []
|
||||
s4_01294 disk 1 0 ['r1_01294'] []
|
||||
s5_01294 disk 3 1 [] ['r1_01294']
|
||||
-- system.settings_profile_elements
|
||||
s2_01294 \N \N 0 readonly 0 \N \N \N \N
|
||||
s3_01294 \N \N 0 max_memory_usage 5000000 4000000 6000000 1 \N
|
||||
s4_01294 \N \N 0 max_memory_usage 5000000 \N \N \N \N
|
||||
s5_01294 \N \N 0 \N \N \N \N \N default
|
||||
s5_01294 \N \N 1 readonly 0 \N \N \N \N
|
||||
s5_01294 \N \N 2 max_memory_usage \N \N 6000000 0 \N
|
103
tests/queries/0_stateless/01294_create_settings_profile.sql
Normal file
103
tests/queries/0_stateless/01294_create_settings_profile.sql
Normal file
@ -0,0 +1,103 @@
|
||||
DROP SETTINGS PROFILE IF EXISTS s1_01294, s2_01294, s3_01294, s4_01294, s5_01294, s6_01294, s7_01294, s8_01294, s9_01294, s10_01294;
|
||||
DROP SETTINGS PROFILE IF EXISTS s2_01294_renamed;
|
||||
DROP USER IF EXISTS u1_01294;
|
||||
DROP ROLE IF EXISTS r1_01294;
|
||||
|
||||
SELECT '-- default';
|
||||
CREATE SETTINGS PROFILE s1_01294;
|
||||
SHOW CREATE SETTINGS PROFILE s1_01294;
|
||||
|
||||
SELECT '-- same as default';
|
||||
CREATE SETTINGS PROFILE s2_01294 SETTINGS NONE TO NONE;
|
||||
CREATE PROFILE s3_01294;
|
||||
SHOW CREATE PROFILE s2_01294;
|
||||
SHOW CREATE SETTINGS PROFILE s3_01294;
|
||||
|
||||
SELECT '-- rename';
|
||||
ALTER SETTINGS PROFILE s2_01294 RENAME TO 's2_01294_renamed';
|
||||
SHOW CREATE SETTINGS PROFILE s2_01294; -- { serverError 180 } -- Profile not found
|
||||
SHOW CREATE SETTINGS PROFILE s2_01294_renamed;
|
||||
DROP SETTINGS PROFILE s1_01294, s2_01294_renamed, s3_01294;
|
||||
|
||||
SELECT '-- settings';
|
||||
CREATE PROFILE s1_01294 SETTINGS NONE;
|
||||
CREATE PROFILE s2_01294 SETTINGS INHERIT 'default';
|
||||
CREATE PROFILE s3_01294 SETTINGS max_memory_usage=5000000;
|
||||
CREATE PROFILE s4_01294 SETTINGS max_memory_usage MIN=5000000;
|
||||
CREATE PROFILE s5_01294 SETTINGS max_memory_usage MAX=5000000;
|
||||
CREATE PROFILE s6_01294 SETTINGS max_memory_usage READONLY;
|
||||
CREATE PROFILE s7_01294 SETTINGS max_memory_usage WRITABLE;
|
||||
CREATE PROFILE s8_01294 SETTINGS max_memory_usage=5000000 MIN 4000000 MAX 6000000 READONLY;
|
||||
CREATE PROFILE s9_01294 SETTINGS INHERIT 'default', max_memory_usage=5000000 WRITABLE;
|
||||
CREATE PROFILE s10_01294 SETTINGS INHERIT s1_01294, s3_01294, INHERIT default, readonly=0, max_memory_usage MAX 6000000;
|
||||
SHOW CREATE PROFILE s1_01294;
|
||||
SHOW CREATE PROFILE s2_01294;
|
||||
SHOW CREATE PROFILE s3_01294;
|
||||
SHOW CREATE PROFILE s4_01294;
|
||||
SHOW CREATE PROFILE s5_01294;
|
||||
SHOW CREATE PROFILE s6_01294;
|
||||
SHOW CREATE PROFILE s7_01294;
|
||||
SHOW CREATE PROFILE s8_01294;
|
||||
SHOW CREATE PROFILE s9_01294;
|
||||
SHOW CREATE PROFILE s10_01294;
|
||||
ALTER PROFILE s1_01294 SETTINGS readonly=0;
|
||||
ALTER PROFILE s2_01294 SETTINGS readonly=1;
|
||||
ALTER PROFILE s3_01294 SETTINGS NONE;
|
||||
SHOW CREATE PROFILE s1_01294;
|
||||
SHOW CREATE PROFILE s2_01294;
|
||||
SHOW CREATE PROFILE s3_01294;
|
||||
DROP PROFILE s1_01294, s2_01294, s3_01294, s4_01294, s5_01294, s6_01294, s7_01294, s8_01294, s9_01294, s10_01294;
|
||||
|
||||
SELECT '-- to roles';
|
||||
CREATE ROLE r1_01294;
|
||||
CREATE USER u1_01294;
|
||||
CREATE PROFILE s1_01294 TO NONE;
|
||||
CREATE PROFILE s2_01294 TO ALL;
|
||||
CREATE PROFILE s3_01294 TO r1_01294;
|
||||
CREATE PROFILE s4_01294 TO u1_01294;
|
||||
CREATE PROFILE s5_01294 TO r1_01294, u1_01294;
|
||||
CREATE PROFILE s6_01294 TO ALL EXCEPT r1_01294;
|
||||
CREATE PROFILE s7_01294 TO ALL EXCEPT r1_01294, u1_01294;
|
||||
SHOW CREATE PROFILE s1_01294;
|
||||
SHOW CREATE PROFILE s2_01294;
|
||||
SHOW CREATE PROFILE s3_01294;
|
||||
SHOW CREATE PROFILE s4_01294;
|
||||
SHOW CREATE PROFILE s5_01294;
|
||||
SHOW CREATE PROFILE s6_01294;
|
||||
SHOW CREATE PROFILE s7_01294;
|
||||
ALTER PROFILE s1_01294 TO u1_01294;
|
||||
ALTER PROFILE s2_01294 TO NONE;
|
||||
SHOW CREATE PROFILE s1_01294;
|
||||
SHOW CREATE PROFILE s2_01294;
|
||||
DROP PROFILE s1_01294, s2_01294, s3_01294, s4_01294, s5_01294, s6_01294, s7_01294;
|
||||
|
||||
SELECT '-- complex';
|
||||
CREATE SETTINGS PROFILE s1_01294 SETTINGS readonly=0 TO r1_01294;
|
||||
SHOW CREATE SETTINGS PROFILE s1_01294;
|
||||
ALTER SETTINGS PROFILE s1_01294 SETTINGS INHERIT 'default' TO NONE;
|
||||
SHOW CREATE SETTINGS PROFILE s1_01294;
|
||||
DROP SETTINGS PROFILE s1_01294;
|
||||
|
||||
SELECT '-- multiple profiles in one command';
|
||||
CREATE PROFILE s1_01294, s2_01294 SETTINGS max_memory_usage=5000000;
|
||||
CREATE PROFILE s3_01294, s4_01294 TO ALL;
|
||||
SHOW CREATE PROFILE s1_01294, s2_01294, s3_01294, s4_01294;
|
||||
ALTER PROFILE s1_01294, s2_01294, s3_01294 SETTINGS max_memory_usage=6000000;
|
||||
ALTER PROFILE s2_01294, s3_01294, s4_01294 TO r1_01294;
|
||||
SHOW CREATE PROFILE s1_01294, s2_01294, s3_01294, s4_01294;
|
||||
DROP PROFILE s1_01294, s2_01294, s3_01294, s4_01294;
|
||||
|
||||
SELECT '-- system.settings_profiles';
|
||||
CREATE PROFILE s1_01294;
|
||||
CREATE PROFILE s2_01294 SETTINGS readonly=0 TO r1_01294;;
|
||||
CREATE PROFILE s3_01294 SETTINGS max_memory_usage=5000000 MIN 4000000 MAX 6000000 READONLY TO r1_01294;
|
||||
CREATE PROFILE s4_01294 SETTINGS max_memory_usage=5000000 TO r1_01294;
|
||||
CREATE PROFILE s5_01294 SETTINGS INHERIT default, readonly=0, max_memory_usage MAX 6000000 WRITABLE TO ALL EXCEPT r1_01294;
|
||||
SELECT name, storage, num_elements, apply_to_all, apply_to_list, apply_to_except FROM system.settings_profiles WHERE name LIKE 's%\_01294' ORDER BY name;
|
||||
|
||||
SELECT '-- system.settings_profile_elements';
|
||||
SELECT * FROM system.settings_profile_elements WHERE profile_name LIKE 's%\_01294' ORDER BY profile_name, index;
|
||||
DROP PROFILE s1_01294, s2_01294, s3_01294, s4_01294, s5_01294;
|
||||
|
||||
DROP ROLE r1_01294;
|
||||
DROP USER u1_01294;
|
35
tests/queries/0_stateless/01295_create_row_policy.reference
Normal file
35
tests/queries/0_stateless/01295_create_row_policy.reference
Normal file
@ -0,0 +1,35 @@
|
||||
-- default
|
||||
CREATE ROW POLICY p1_01295 ON db.table
|
||||
-- same as default
|
||||
CREATE ROW POLICY p2_01295 ON db.table
|
||||
CREATE ROW POLICY p3_01295 ON db.table
|
||||
-- rename
|
||||
CREATE ROW POLICY p2_01295_renamed ON db.table
|
||||
-- filter
|
||||
CREATE ROW POLICY p1_01295 ON db.table FOR SELECT USING (a < b) AND (c > d)
|
||||
CREATE ROW POLICY p2_01295 ON db.table AS restrictive FOR SELECT USING id = currentUser()
|
||||
CREATE ROW POLICY p3_01295 ON db.table FOR SELECT USING 1
|
||||
CREATE ROW POLICY p1_01295 ON db.table AS restrictive FOR SELECT USING 0
|
||||
-- to roles
|
||||
CREATE ROW POLICY p1_01295 ON db.table
|
||||
CREATE ROW POLICY p2_01295 ON db.table TO ALL
|
||||
CREATE ROW POLICY p3_01295 ON db.table TO r1_01295
|
||||
CREATE ROW POLICY p4_01295 ON db.table TO u1_01295
|
||||
CREATE ROW POLICY p5_01295 ON db.table TO r1_01295, u1_01295
|
||||
CREATE ROW POLICY p6_01295 ON db.table TO ALL EXCEPT r1_01295
|
||||
CREATE ROW POLICY p7_01295 ON db.table TO ALL EXCEPT r1_01295, u1_01295
|
||||
CREATE ROW POLICY p1_01295 ON db.table TO u1_01295
|
||||
CREATE ROW POLICY p2_01295 ON db.table
|
||||
-- multiple policies in one command
|
||||
CREATE ROW POLICY p1_01295 ON db.table FOR SELECT USING 1
|
||||
CREATE ROW POLICY p2_01295 ON db.table FOR SELECT USING 1
|
||||
CREATE ROW POLICY p3_01295 ON db.table TO u1_01295
|
||||
CREATE ROW POLICY p3_01295 ON db2.table2 TO u1_01295
|
||||
CREATE ROW POLICY p4_01295 ON db.table FOR SELECT USING a = b
|
||||
CREATE ROW POLICY p5_01295 ON db2.table2 FOR SELECT USING a = b
|
||||
CREATE ROW POLICY p1_01295 ON db.table FOR SELECT USING 1 TO ALL
|
||||
CREATE ROW POLICY p2_01295 ON db.table FOR SELECT USING 1 TO ALL
|
||||
-- system.row_policies
|
||||
p1_01295 ON db.table p1_01295 db table disk (a < b) AND (c > d) 0 0 [] []
|
||||
p2_01295 ON db.table p2_01295 db table disk id = currentUser() 1 0 ['u1_01295'] []
|
||||
p3_01295 ON db.table p3_01295 db table disk 1 0 1 [] ['r1_01295']
|
79
tests/queries/0_stateless/01295_create_row_policy.sql
Normal file
79
tests/queries/0_stateless/01295_create_row_policy.sql
Normal file
@ -0,0 +1,79 @@
|
||||
DROP ROW POLICY IF EXISTS p1_01295, p2_01295, p3_01295, p4_01295, p5_01295, p6_01295, p7_01295, p8_01295, p9_01295, p10_01295 ON db.table;
|
||||
DROP ROW POLICY IF EXISTS p2_01295_renamed ON db.table;
|
||||
DROP ROW POLICY IF EXISTS p3_01295 ON db.table, db2.table2;
|
||||
DROP ROW POLICY IF EXISTS p4_01295 ON db.table, p5_01295 ON db2.table2;
|
||||
DROP USER IF EXISTS u1_01295;
|
||||
DROP ROLE IF EXISTS r1_01295;
|
||||
|
||||
SELECT '-- default';
|
||||
CREATE ROW POLICY p1_01295 ON db.table;
|
||||
SHOW CREATE ROW POLICY p1_01295 ON db.table;
|
||||
|
||||
SELECT '-- same as default';
|
||||
CREATE ROW POLICY p2_01295 ON db.table USING NONE TO NONE;
|
||||
CREATE POLICY p3_01295 ON db.table;
|
||||
SHOW CREATE POLICY p2_01295 ON db.table;
|
||||
SHOW CREATE ROW POLICY p3_01295 ON db.table;
|
||||
|
||||
SELECT '-- rename';
|
||||
ALTER ROW POLICY p2_01295 ON db.table RENAME TO 'p2_01295_renamed';
|
||||
SHOW CREATE ROW POLICY p2_01295 ON db.table; -- { serverError 523 } -- Policy not found
|
||||
SHOW CREATE ROW POLICY p2_01295_renamed ON db.table;
|
||||
DROP ROW POLICY p1_01295, p2_01295_renamed, p3_01295 ON db.table;
|
||||
|
||||
SELECT '-- filter';
|
||||
CREATE ROW POLICY p1_01295 ON db.table USING a<b AND c>d;
|
||||
CREATE ROW POLICY p2_01295 ON db.table USING id=currentUser() AS RESTRICTIVE;
|
||||
CREATE ROW POLICY p3_01295 ON db.table USING 1 AS PERMISSIVE;
|
||||
SHOW CREATE POLICY p1_01295 ON db.table;
|
||||
SHOW CREATE POLICY p2_01295 ON db.table;
|
||||
SHOW CREATE POLICY p3_01295 ON db.table;
|
||||
ALTER ROW POLICY p1_01295 ON db.table FOR SELECT USING 0 AS RESTRICTIVE;
|
||||
SHOW CREATE POLICY p1_01295 ON db.table;
|
||||
DROP ROW POLICY p1_01295, p2_01295, p3_01295 ON db.table;
|
||||
|
||||
SELECT '-- to roles';
|
||||
CREATE ROLE r1_01295;
|
||||
CREATE USER u1_01295;
|
||||
CREATE POLICY p1_01295 ON db.table TO NONE;
|
||||
CREATE POLICY p2_01295 ON db.table TO ALL;
|
||||
CREATE POLICY p3_01295 ON db.table TO r1_01295;
|
||||
CREATE POLICY p4_01295 ON db.table TO u1_01295;
|
||||
CREATE POLICY p5_01295 ON db.table TO r1_01295, u1_01295;
|
||||
CREATE POLICY p6_01295 ON db.table TO ALL EXCEPT r1_01295;
|
||||
CREATE POLICY p7_01295 ON db.table TO ALL EXCEPT r1_01295, u1_01295;
|
||||
SHOW CREATE POLICY p1_01295 ON db.table;
|
||||
SHOW CREATE POLICY p2_01295 ON db.table;
|
||||
SHOW CREATE POLICY p3_01295 ON db.table;
|
||||
SHOW CREATE POLICY p4_01295 ON db.table;
|
||||
SHOW CREATE POLICY p5_01295 ON db.table;
|
||||
SHOW CREATE POLICY p6_01295 ON db.table;
|
||||
SHOW CREATE POLICY p7_01295 ON db.table;
|
||||
ALTER POLICY p1_01295 ON db.table TO u1_01295;
|
||||
ALTER POLICY p2_01295 ON db.table TO NONE;
|
||||
SHOW CREATE POLICY p1_01295 ON db.table;
|
||||
SHOW CREATE POLICY p2_01295 ON db.table;
|
||||
DROP POLICY p1_01295, p2_01295, p3_01295, p4_01295, p5_01295, p6_01295, p7_01295 ON db.table;
|
||||
|
||||
SELECT '-- multiple policies in one command';
|
||||
CREATE ROW POLICY p1_01295, p2_01295 ON db.table USING 1;
|
||||
CREATE ROW POLICY p3_01295 ON db.table, db2.table2 TO u1_01295;
|
||||
CREATE ROW POLICY p4_01295 ON db.table, p5_01295 ON db2.table2 USING a=b;
|
||||
SHOW CREATE POLICY p1_01295, p2_01295 ON db.table;
|
||||
SHOW CREATE POLICY p3_01295 ON db.table, db2.table2;
|
||||
SHOW CREATE POLICY p4_01295 ON db.table, p5_01295 ON db2.table2;
|
||||
ALTER POLICY p1_01295, p2_01295 ON db.table TO ALL;
|
||||
SHOW CREATE POLICY p1_01295, p2_01295 ON db.table;
|
||||
DROP POLICY p1_01295, p2_01295 ON db.table;
|
||||
DROP POLICY p3_01295 ON db.table, db2.table2;
|
||||
DROP POLICY p4_01295 ON db.table, p5_01295 ON db2.table2;
|
||||
|
||||
SELECT '-- system.row_policies';
|
||||
CREATE ROW POLICY p1_01295 ON db.table USING a<b AND c>d;
|
||||
CREATE ROW POLICY p2_01295 ON db.table USING id=currentUser() AS RESTRICTIVE TO u1_01295;
|
||||
CREATE ROW POLICY p3_01295 ON db.table USING 1 AS PERMISSIVE TO ALL EXCEPT r1_01295;
|
||||
SELECT name, short_name, database, table, storage, select_filter, is_restrictive, apply_to_all, apply_to_list, apply_to_except from system.row_policies WHERE short_name LIKE 'p%\_01295' ORDER BY name;
|
||||
DROP ROW POLICY p1_01295, p2_01295, p3_01295 ON db.table;
|
||||
|
||||
DROP ROLE r1_01295;
|
||||
DROP USER u1_01295;
|
@ -0,0 +1,20 @@
|
||||
-- one policy
|
||||
CREATE ROW POLICY p1_01296 ON db_01296.table
|
||||
CREATE ROW POLICY p1_01296 ON db_01296.table
|
||||
CREATE ROW POLICY p1_01296 ON db_01296.table FOR SELECT USING 1
|
||||
CREATE ROW POLICY p1_01296 ON db_01296.table FOR SELECT USING 1
|
||||
-- multiple policies
|
||||
CREATE ROW POLICY p1_01296 ON db_01296.table FOR SELECT USING 1
|
||||
CREATE ROW POLICY p2_01296 ON db_01296.table FOR SELECT USING 1
|
||||
CREATE ROW POLICY p3_01296 ON db_01296.table TO u1_01296
|
||||
CREATE ROW POLICY p3_01296 ON db_01296.table2 TO u1_01296
|
||||
CREATE ROW POLICY p4_01296 ON db_01296.table FOR SELECT USING a = b
|
||||
CREATE ROW POLICY p5_01296 ON db_01296.table2 FOR SELECT USING a = b
|
||||
CREATE ROW POLICY p1_01296 ON db_01296.table FOR SELECT USING 1
|
||||
CREATE ROW POLICY p2_01296 ON db_01296.table FOR SELECT USING 1
|
||||
CREATE ROW POLICY p3_01296 ON db_01296.table TO u1_01296
|
||||
CREATE ROW POLICY p3_01296 ON db_01296.table2 TO u1_01296
|
||||
CREATE ROW POLICY p4_01296 ON db_01296.table FOR SELECT USING a = b
|
||||
CREATE ROW POLICY p5_01296 ON db_01296.table2 FOR SELECT USING a = b
|
||||
CREATE ROW POLICY p1_01296 ON db_01296.table FOR SELECT USING 1 TO ALL
|
||||
CREATE ROW POLICY p2_01296 ON db_01296.table FOR SELECT USING 1 TO ALL
|
@ -0,0 +1,51 @@
|
||||
DROP ROW POLICY IF EXISTS p1_01296, p2_01296, p3_01296, p4_01296, p5_01296 ON db_01296.table;
|
||||
DROP ROW POLICY IF EXISTS p3_01296, p5_01296 ON db_01296.table2;
|
||||
DROP DATABASE IF EXISTS db_01296;
|
||||
DROP USER IF EXISTS u1_01296;
|
||||
|
||||
CREATE DATABASE db_01296;
|
||||
USE db_01296;
|
||||
|
||||
SELECT '-- one policy';
|
||||
CREATE POLICY p1_01296 ON table;
|
||||
SHOW CREATE POLICY p1_01296 ON db_01296.table;
|
||||
SHOW CREATE POLICY p1_01296 ON table;
|
||||
ALTER POLICY p1_01296 ON table USING 1;
|
||||
SHOW CREATE POLICY p1_01296 ON db_01296.table;
|
||||
SHOW CREATE POLICY p1_01296 ON table;
|
||||
DROP POLICY p1_01296 ON table;
|
||||
DROP POLICY p1_01296 ON db_01296.table; -- { serverError 523 } -- Policy not found
|
||||
|
||||
SELECT '-- multiple policies';
|
||||
CREATE ROW POLICY p1_01296, p2_01296 ON table USING 1;
|
||||
CREATE USER u1_01296;
|
||||
CREATE ROW POLICY p3_01296 ON table, table2 TO u1_01296;
|
||||
CREATE ROW POLICY p4_01296 ON table, p5_01296 ON table2 USING a=b;
|
||||
SHOW CREATE POLICY p1_01296 ON table;
|
||||
SHOW CREATE POLICY p2_01296 ON table;
|
||||
SHOW CREATE POLICY p3_01296 ON table;
|
||||
SHOW CREATE POLICY p3_01296 ON table2;
|
||||
SHOW CREATE POLICY p4_01296 ON table;
|
||||
SHOW CREATE POLICY p5_01296 ON table2;
|
||||
SHOW CREATE POLICY p1_01296 ON db_01296.table;
|
||||
SHOW CREATE POLICY p2_01296 ON db_01296.table;
|
||||
SHOW CREATE POLICY p3_01296 ON db_01296.table;
|
||||
SHOW CREATE POLICY p3_01296 ON db_01296.table2;
|
||||
SHOW CREATE POLICY p4_01296 ON db_01296.table;
|
||||
SHOW CREATE POLICY p5_01296 ON db_01296.table2;
|
||||
ALTER POLICY p1_01296, p2_01296 ON table TO ALL;
|
||||
SHOW CREATE POLICY p1_01296 ON table;
|
||||
SHOW CREATE POLICY p2_01296 ON table;
|
||||
DROP POLICY p1_01296, p2_01296 ON table;
|
||||
DROP POLICY p3_01296 ON table, table2;
|
||||
DROP POLICY p4_01296 ON table, p5_01296 ON table2;
|
||||
DROP POLICY p1_01296 ON db_01296.table; -- { serverError 523 } -- Policy not found
|
||||
DROP POLICY p2_01296 ON db_01296.table; -- { serverError 523 } -- Policy not found
|
||||
DROP POLICY p3_01296 ON db_01296.table; -- { serverError 523 } -- Policy not found
|
||||
DROP POLICY p3_01296 ON db_01296.table2; -- { serverError 523 } -- Policy not found
|
||||
DROP POLICY p4_01296 ON db_01296.table; -- { serverError 523 } -- Policy not found
|
||||
DROP POLICY p5_01296 ON db_01296.table2; -- { serverError 523 } -- Policy not found
|
||||
|
||||
USE default;
|
||||
DROP DATABASE db_01296;
|
||||
DROP USER u1_01296;
|
63
tests/queries/0_stateless/01297_create_quota.reference
Normal file
63
tests/queries/0_stateless/01297_create_quota.reference
Normal file
@ -0,0 +1,63 @@
|
||||
-- default
|
||||
CREATE QUOTA q1_01297
|
||||
-- same as default
|
||||
CREATE QUOTA q2_01297
|
||||
CREATE QUOTA q3_01297
|
||||
CREATE QUOTA q4_01297
|
||||
-- rename
|
||||
CREATE QUOTA q2_01297_renamed
|
||||
-- key
|
||||
CREATE QUOTA q1_01297
|
||||
CREATE QUOTA q2_01297 KEYED BY user_name
|
||||
CREATE QUOTA q3_01297 KEYED BY ip_address
|
||||
CREATE QUOTA q4_01297 KEYED BY client_key
|
||||
CREATE QUOTA q5_01297 KEYED BY client_key, user_name
|
||||
CREATE QUOTA q6_01297 KEYED BY client_key, ip_address
|
||||
CREATE QUOTA q7_01297
|
||||
CREATE QUOTA q8_01297 KEYED BY user_name
|
||||
CREATE QUOTA q9_01297 KEYED BY ip_address
|
||||
CREATE QUOTA q10_01297 KEYED BY client_key
|
||||
CREATE QUOTA q11_01297 KEYED BY client_key, user_name
|
||||
CREATE QUOTA q12_01297 KEYED BY client_key, ip_address
|
||||
CREATE QUOTA q1_01297 KEYED BY user_name
|
||||
CREATE QUOTA q2_01297 KEYED BY client_key, user_name
|
||||
CREATE QUOTA q3_01297
|
||||
-- intervals
|
||||
CREATE QUOTA q1_01297 FOR INTERVAL 5 day MAX errors = 3
|
||||
CREATE QUOTA q2_01297 FOR INTERVAL 30 minute MAX errors = 4
|
||||
CREATE QUOTA q3_01297 FOR INTERVAL 1 hour MAX errors = 5
|
||||
CREATE QUOTA q4_01297 FOR INTERVAL 2000 second MAX errors = 5
|
||||
CREATE QUOTA q5_01297 FOR RANDOMIZED INTERVAL 1 year MAX queries = 100, errors = 11
|
||||
CREATE QUOTA q6_01297 FOR INTERVAL 2 month MAX queries = 100, errors = 11, result_rows = 1000, result_bytes = 10000, read_rows = 1001, read_bytes = 10001, execution_time = 2.5
|
||||
CREATE QUOTA q7_01297 FOR INTERVAL 1 quarter MAX queries = 100, errors = 11
|
||||
CREATE QUOTA q8_01297 FOR INTERVAL 2 month MAX result_rows = 1002, FOR INTERVAL 2 quarter MAX queries = 100, errors = 11
|
||||
CREATE QUOTA q1_01297
|
||||
CREATE QUOTA q2_01297 FOR INTERVAL 30 minute TRACKING ONLY
|
||||
CREATE QUOTA q3_01297 FOR INTERVAL 1 hour MAX queries = 70, FOR INTERVAL 2 hour MAX errors = 10
|
||||
CREATE QUOTA q4_01297 FOR RANDOMIZED INTERVAL 2000 second MAX errors = 5
|
||||
CREATE QUOTA q5_01297 FOR INTERVAL 1 year MAX errors = 111
|
||||
-- to roles
|
||||
CREATE QUOTA q1_01297
|
||||
CREATE QUOTA q2_01297 TO ALL
|
||||
CREATE QUOTA q3_01297 TO r1_01297
|
||||
CREATE QUOTA q4_01297 TO u1_01297
|
||||
CREATE QUOTA q5_01297 TO r1_01297, u1_01297
|
||||
CREATE QUOTA q6_01297 TO ALL EXCEPT r1_01297
|
||||
CREATE QUOTA q7_01297 TO ALL EXCEPT r1_01297, u1_01297
|
||||
CREATE QUOTA q1_01297 TO u1_01297
|
||||
CREATE QUOTA q2_01297
|
||||
-- multiple quotas in one command
|
||||
CREATE QUOTA q1_01297 FOR INTERVAL 1 day MAX errors = 5
|
||||
CREATE QUOTA q2_01297 FOR INTERVAL 1 day MAX errors = 5
|
||||
CREATE QUOTA q1_01297 FOR INTERVAL 1 day TRACKING ONLY TO r1_01297
|
||||
CREATE QUOTA q2_01297 FOR INTERVAL 1 day TRACKING ONLY TO r1_01297
|
||||
-- system.quotas
|
||||
q1_01297 disk ['user_name'] [] 0 ['r1_01297'] []
|
||||
q2_01297 disk [] [5259492] 0 ['r1_01297','u1_01297'] []
|
||||
q3_01297 disk ['client_key','user_name'] [5259492,15778476] 0 [] []
|
||||
q4_01297 disk [] [604800] 1 [] ['u1_01297']
|
||||
-- system.quota_limits
|
||||
q2_01297 5259492 0 100 11 1000 10000 1001 10001 2.5
|
||||
q3_01297 5259492 0 \N \N 1002 \N \N \N \N
|
||||
q3_01297 15778476 0 100 11 \N \N \N \N \N
|
||||
q4_01297 604800 0 \N \N \N \N \N \N \N
|
129
tests/queries/0_stateless/01297_create_quota.sql
Normal file
129
tests/queries/0_stateless/01297_create_quota.sql
Normal file
@ -0,0 +1,129 @@
|
||||
DROP QUOTA IF EXISTS q1_01297, q2_01297, q3_01297, q4_01297, q5_01297, q6_01297, q7_01297, q8_01297, q9_01297, q10_01297;
|
||||
DROP QUOTA IF EXISTS q11_01297, q12_01297;
|
||||
DROP QUOTA IF EXISTS q2_01297_renamed;
|
||||
DROP USER IF EXISTS u1_01297;
|
||||
DROP ROLE IF EXISTS r1_01297;
|
||||
|
||||
SELECT '-- default';
|
||||
CREATE QUOTA q1_01297;
|
||||
SHOW CREATE QUOTA q1_01297;
|
||||
|
||||
SELECT '-- same as default';
|
||||
CREATE QUOTA q2_01297 TO NONE;
|
||||
CREATE QUOTA q3_01297 FOR INTERVAL 1 HOUR NO LIMITS NOT KEYED TO NONE;
|
||||
CREATE QUOTA q4_01297 KEYED BY none FOR 1 hour NO LIMITS;
|
||||
SHOW CREATE QUOTA q2_01297;
|
||||
SHOW CREATE QUOTA q3_01297;
|
||||
SHOW CREATE QUOTA q4_01297;
|
||||
|
||||
SELECT '-- rename';
|
||||
ALTER QUOTA q2_01297 RENAME TO 'q2_01297_renamed';
|
||||
SHOW CREATE QUOTA q2_01297; -- { serverError 199 } -- Policy not found
|
||||
SHOW CREATE QUOTA q2_01297_renamed;
|
||||
DROP QUOTA q1_01297, q2_01297_renamed, q3_01297, q4_01297;
|
||||
|
||||
SELECT '-- key';
|
||||
CREATE QUOTA q1_01297 NOT KEYED;
|
||||
CREATE QUOTA q2_01297 KEY BY user_name;
|
||||
CREATE QUOTA q3_01297 KEY BY ip_address;
|
||||
CREATE QUOTA q4_01297 KEY BY client_key;
|
||||
CREATE QUOTA q5_01297 KEY BY client_key, user_name;
|
||||
CREATE QUOTA q6_01297 KEY BY client_key, ip_address;
|
||||
CREATE QUOTA q7_01297 KEYED BY 'none';
|
||||
CREATE QUOTA q8_01297 KEYED BY 'user name';
|
||||
CREATE QUOTA q9_01297 KEYED BY 'IP_ADDRESS';
|
||||
CREATE QUOTA q10_01297 KEYED BY CLIENT_KEY;
|
||||
CREATE QUOTA q11_01297 KEYED BY 'client key or user name';
|
||||
CREATE QUOTA q12_01297 KEYED BY 'client key or ip address';
|
||||
SHOW CREATE QUOTA q1_01297;
|
||||
SHOW CREATE QUOTA q2_01297;
|
||||
SHOW CREATE QUOTA q3_01297;
|
||||
SHOW CREATE QUOTA q4_01297;
|
||||
SHOW CREATE QUOTA q5_01297;
|
||||
SHOW CREATE QUOTA q6_01297;
|
||||
SHOW CREATE QUOTA q7_01297;
|
||||
SHOW CREATE QUOTA q8_01297;
|
||||
SHOW CREATE QUOTA q9_01297;
|
||||
SHOW CREATE QUOTA q10_01297;
|
||||
SHOW CREATE QUOTA q11_01297;
|
||||
SHOW CREATE QUOTA q12_01297;
|
||||
ALTER QUOTA q1_01297 KEY BY user_name;
|
||||
ALTER QUOTA q2_01297 KEY BY client_key, user_name;
|
||||
ALTER QUOTA q3_01297 NOT KEYED;
|
||||
SHOW CREATE QUOTA q1_01297;
|
||||
SHOW CREATE QUOTA q2_01297;
|
||||
SHOW CREATE QUOTA q3_01297;
|
||||
DROP QUOTA q1_01297, q2_01297, q3_01297, q4_01297, q5_01297, q6_01297, q7_01297, q8_01297, q9_01297, q10_01297, q11_01297, q12_01297;
|
||||
|
||||
SELECT '-- intervals';
|
||||
CREATE QUOTA q1_01297 FOR INTERVAL 5 DAY MAX ERRORS = 3;
|
||||
CREATE QUOTA q2_01297 FOR INTERVAL 30 minute MAX ERRORS 4;
|
||||
CREATE QUOTA q3_01297 FOR 1 HOUR errors MAX 5;
|
||||
CREATE QUOTA q4_01297 FOR 2000 SECOND errors MAX 5;
|
||||
CREATE QUOTA q5_01297 FOR RANDOMIZED INTERVAL 1 YEAR MAX errors = 11, MAX queries = 100;
|
||||
CREATE QUOTA q6_01297 FOR 2 MONTH MAX errors = 11, queries = 100, result_rows = 1000, result_bytes = 10000, read_rows = 1001, read_bytes = 10001, execution_time=2.5;
|
||||
CREATE QUOTA q7_01297 FOR 1 QUARTER MAX errors 11, queries 100;
|
||||
CREATE QUOTA q8_01297 FOR 0.5 year ERRORS MAX 11, QUERIES MAX 100, FOR 2 MONTH RESULT ROWS MAX 1002;
|
||||
SHOW CREATE QUOTA q1_01297;
|
||||
SHOW CREATE QUOTA q2_01297;
|
||||
SHOW CREATE QUOTA q3_01297;
|
||||
SHOW CREATE QUOTA q4_01297;
|
||||
SHOW CREATE QUOTA q5_01297;
|
||||
SHOW CREATE QUOTA q6_01297;
|
||||
SHOW CREATE QUOTA q7_01297;
|
||||
SHOW CREATE QUOTA q8_01297;
|
||||
ALTER QUOTA q1_01297 FOR INTERVAL 5 DAY NO LIMITS;
|
||||
ALTER QUOTA q2_01297 FOR INTERVAL 30 MINUTE TRACKING ONLY;
|
||||
ALTER QUOTA q3_01297 FOR INTERVAL 2 HOUR MAX errors = 10, FOR INTERVAL 1 HOUR MAX queries = 70;
|
||||
ALTER QUOTA q4_01297 FOR RANDOMIZED INTERVAL 2000 SECOND errors MAX 5;
|
||||
ALTER QUOTA q5_01297 FOR 1 YEAR MAX errors = 111;
|
||||
SHOW CREATE QUOTA q1_01297;
|
||||
SHOW CREATE QUOTA q2_01297;
|
||||
SHOW CREATE QUOTA q3_01297;
|
||||
SHOW CREATE QUOTA q4_01297;
|
||||
SHOW CREATE QUOTA q5_01297;
|
||||
DROP QUOTA q1_01297, q2_01297, q3_01297, q4_01297, q5_01297, q6_01297, q7_01297, q8_01297;
|
||||
|
||||
SELECT '-- to roles';
|
||||
CREATE ROLE r1_01297;
|
||||
CREATE USER u1_01297;
|
||||
CREATE QUOTA q1_01297 TO NONE;
|
||||
CREATE QUOTA q2_01297 TO ALL;
|
||||
CREATE QUOTA q3_01297 TO r1_01297;
|
||||
CREATE QUOTA q4_01297 TO u1_01297;
|
||||
CREATE QUOTA q5_01297 TO r1_01297, u1_01297;
|
||||
CREATE QUOTA q6_01297 TO ALL EXCEPT r1_01297;
|
||||
CREATE QUOTA q7_01297 TO ALL EXCEPT r1_01297, u1_01297;
|
||||
SHOW CREATE QUOTA q1_01297;
|
||||
SHOW CREATE QUOTA q2_01297;
|
||||
SHOW CREATE QUOTA q3_01297;
|
||||
SHOW CREATE QUOTA q4_01297;
|
||||
SHOW CREATE QUOTA q5_01297;
|
||||
SHOW CREATE QUOTA q6_01297;
|
||||
SHOW CREATE QUOTA q7_01297;
|
||||
ALTER QUOTA q1_01297 TO u1_01297;
|
||||
ALTER QUOTA q2_01297 TO NONE;
|
||||
SHOW CREATE QUOTA q1_01297;
|
||||
SHOW CREATE QUOTA q2_01297;
|
||||
DROP QUOTA q1_01297, q2_01297, q3_01297, q4_01297, q5_01297, q6_01297, q7_01297;
|
||||
|
||||
SELECT '-- multiple quotas in one command';
|
||||
CREATE QUOTA q1_01297, q2_01297 FOR 1 day MAX errors=5;
|
||||
SHOW CREATE QUOTA q1_01297, q2_01297;
|
||||
ALTER QUOTA q1_01297, q2_01297 FOR 1 day TRACKING ONLY TO r1_01297;
|
||||
SHOW CREATE QUOTA q1_01297, q2_01297;
|
||||
DROP QUOTA q1_01297, q2_01297;
|
||||
|
||||
SELECT '-- system.quotas';
|
||||
CREATE QUOTA q1_01297 KEYED BY user_name TO r1_01297;
|
||||
CREATE QUOTA q2_01297 FOR 2 MONTH MAX errors = 11, queries = 100, result_rows = 1000, result_bytes = 10000, read_rows = 1001, read_bytes = 10001, execution_time=2.5 TO r1_01297, u1_01297;
|
||||
CREATE QUOTA q3_01297 KEYED BY client_key, user_name FOR 0.5 YEAR ERRORS MAX 11, QUERIES MAX 100, FOR 2 MONTH RESULT ROWS MAX 1002;
|
||||
CREATE QUOTA q4_01297 FOR 1 WEEK TRACKING ONLY TO ALL EXCEPT u1_01297;
|
||||
SELECT name, storage, keys, durations, apply_to_all, apply_to_list, apply_to_except FROM system.quotas WHERE name LIKE 'q%\_01297' ORDER BY name;
|
||||
|
||||
SELECT '-- system.quota_limits';
|
||||
SELECT * FROM system.quota_limits WHERE quota_name LIKE 'q%\_01297' ORDER BY quota_name, duration;
|
||||
DROP QUOTA q1_01297, q2_01297, q3_01297, q4_01297;
|
||||
|
||||
DROP ROLE r1_01297;
|
||||
DROP USER u1_01297;
|
Loading…
Reference in New Issue
Block a user