# F031-19: REVOKE statement: RESTRICT clause

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_01_01 ( A INT );
CREATE ROLE ROLE_F031_19_01_01;
REVOKE SELECT ON TABLE_F031_19_01_01 FROM ROLE_F031_19_01_01 

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_01_02 ( A INT );
CREATE ROLE ROLE_F031_19_01_02;
REVOKE SELECT ON TABLE_F031_19_01_02 FROM ROLE_F031_19_01_02 , ROLE_F031_19_01_02 

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_01_03 ( A INT );
CREATE ROLE ROLE_F031_19_01_03;
REVOKE SELECT ON TABLE_F031_19_01_03 FROM ROLE_F031_19_01_03 , ROLE_F031_19_01_03 GRANTED BY ROLE_F031_19_01_03 

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_01_04 ( A INT );
CREATE ROLE ROLE_F031_19_01_04;
REVOKE SELECT ON TABLE_F031_19_01_04 FROM ROLE_F031_19_01_04 GRANTED BY ROLE_F031_19_01_04 

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_02_01 ( A INTEGER );
CREATE ROLE ROLE_F031_19_02_01;
REVOKE DELETE ON TABLE_F031_19_02_01 FROM ROLE_F031_19_02_01

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_02_02 ( A INTEGER );
CREATE ROLE ROLE_F031_19_02_02;
REVOKE EXECUTE ON TABLE_F031_19_02_02 FROM ROLE_F031_19_02_02

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_02_03 ( A INTEGER );
CREATE ROLE ROLE_F031_19_02_03;
REVOKE INSERT ( A ) ON TABLE_F031_19_02_03 FROM ROLE_F031_19_02_03

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_02_04 ( A INTEGER );
CREATE ROLE ROLE_F031_19_02_04;
REVOKE INSERT ON TABLE_F031_19_02_04 FROM ROLE_F031_19_02_04

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_02_05 ( A INTEGER );
CREATE ROLE ROLE_F031_19_02_05;
REVOKE REFERENCES ( A ) ON TABLE_F031_19_02_05 FROM ROLE_F031_19_02_05

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_02_06 ( A INTEGER );
CREATE ROLE ROLE_F031_19_02_06;
REVOKE REFERENCES ON TABLE_F031_19_02_06 FROM ROLE_F031_19_02_06

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_02_07 ( A INTEGER );
CREATE ROLE ROLE_F031_19_02_07;
REVOKE SELECT ( A ) ON TABLE_F031_19_02_07 FROM ROLE_F031_19_02_07

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_02_08 ( A INTEGER );
CREATE ROLE ROLE_F031_19_02_08;
REVOKE SELECT ON TABLE_F031_19_02_08 FROM ROLE_F031_19_02_08

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_02_09 ( A INTEGER );
CREATE ROLE ROLE_F031_19_02_09;
REVOKE TRIGGER ON TABLE_F031_19_02_09 FROM ROLE_F031_19_02_09

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_02_10 ( A INTEGER );
CREATE ROLE ROLE_F031_19_02_10;
REVOKE UNDER ON TABLE_F031_19_02_10 FROM ROLE_F031_19_02_10

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_02_11 ( A INTEGER );
CREATE ROLE ROLE_F031_19_02_11;
REVOKE UPDATE ( A ) ON TABLE_F031_19_02_11 FROM ROLE_F031_19_02_11

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_02_12 ( A INTEGER );
CREATE ROLE ROLE_F031_19_02_12;
REVOKE UPDATE ON TABLE_F031_19_02_12 FROM ROLE_F031_19_02_12

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_02_13 ( A INTEGER );
CREATE ROLE ROLE_F031_19_02_13;
REVOKE USAGE ON TABLE_F031_19_02_13 FROM ROLE_F031_19_02_13

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_03_01 ( A INTEGER );
CREATE ROLE ROLE_F031_19_03_01;
REVOKE ALL PRIVILEGES ON TABLE TABLE_F031_19_03_01 FROM ROLE_F031_19_03_01

onlyif Postgres
statement ok
CREATE TABLE TABLE_F031_19_03_02 ( A INTEGER );
CREATE ROLE ROLE_F031_19_03_02;
REVOKE ALL PRIVILEGES ON TABLE_F031_19_03_02 FROM ROLE_F031_19_03_02

onlyif Postgres
statement ok
CREATE DOMAIN DOMAIN1 AS INT;
CREATE ROLE ROLE_F031_19_04_01;
REVOKE ALL PRIVILEGES ON DOMAIN DOMAIN1 FROM ROLE_F031_19_04_01

onlyif Postgres
statement ok
CREATE COLLATION COLLATION1 FROM 'de_DE';
CREATE ROLE ROLE_F031_19_05_01;
REVOKE ALL PRIVILEGES ON COLLATION COLLATION1 FROM ROLE_F031_19_05_01

onlyif Postgres
# (UNSUPPORTED: issue 1) statement ok
# CREATE CHARACTER SET CHARACTERSET1;
# CREATE ROLE ROLE_F031_19_06_01;
# REVOKE ALL PRIVILEGES ON CHARACTER SET CHARACTERSET1 FROM ROLE_F031_19_06_01


onlyif Postgres
statement ok
CREATE TRANSLATION TRANSLATION1;
CREATE ROLE ROLE_F031_19_07_01;
REVOKE ALL PRIVILEGES ON TRANSLATION TRANSLATION1 FROM ROLE_F031_19_07_01

onlyif Postgres
onlyif Postgres
statement ok
CREATE TYPE TYPE1;
CREATE ROLE ROLE_F031_19_08_01;
REVOKE ALL PRIVILEGES ON TYPE TYPE1 FROM ROLE_F031_19_08_01

onlyif Postgres
statement ok
CREATE SEQUENCE SEQUENCE1;
CREATE ROLE ROLE_F031_19_09_01;
REVOKE ALL PRIVILEGES ON SEQUENCE SEQUENCE1 FROM ROLE_F031_19_09_01

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_01;
REVOKE ALL PRIVILEGES ON CONSTRUCTOR METHOD BAR FOR BAZ FROM ROLE_F031_19_10_01

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_02;
REVOKE ALL PRIVILEGES ON CONSTRUCTOR METHOD BAR FROM ROLE_F031_19_10_02

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_03;
REVOKE ALL PRIVILEGES ON FUNCTION BAR FOR BAZ FROM ROLE_F031_19_10_03

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_04;
REVOKE ALL PRIVILEGES ON FUNCTION BAR FROM ROLE_F031_19_10_04

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_05;
REVOKE ALL PRIVILEGES ON INSTANCE METHOD BAR FOR BAZ FROM ROLE_F031_19_10_05

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_06;
REVOKE ALL PRIVILEGES ON INSTANCE METHOD BAR FROM ROLE_F031_19_10_06

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_07;
REVOKE ALL PRIVILEGES ON METHOD BAR FOR BAZ FROM ROLE_F031_19_10_07

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_08;
REVOKE ALL PRIVILEGES ON METHOD BAR FROM ROLE_F031_19_10_08

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_09;
REVOKE ALL PRIVILEGES ON PROCEDURE BAR FOR BAZ FROM ROLE_F031_19_10_09

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_10;
REVOKE ALL PRIVILEGES ON PROCEDURE BAR FROM ROLE_F031_19_10_10

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_11;
REVOKE ALL PRIVILEGES ON ROUTINE BAR FOR BAZ FROM ROLE_F031_19_10_11

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_12;
REVOKE ALL PRIVILEGES ON ROUTINE BAR FROM ROLE_F031_19_10_12

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_13;
REVOKE ALL PRIVILEGES ON SPECIFIC CONSTRUCTOR METHOD FOO FROM ROLE_F031_19_10_13

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_14;
REVOKE ALL PRIVILEGES ON SPECIFIC FUNCTION FOO FROM ROLE_F031_19_10_14

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_15;
REVOKE ALL PRIVILEGES ON SPECIFIC INSTANCE METHOD FOO FROM ROLE_F031_19_10_15

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_16;
REVOKE ALL PRIVILEGES ON SPECIFIC METHOD FOO FROM ROLE_F031_19_10_16

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_17;
REVOKE ALL PRIVILEGES ON SPECIFIC PROCEDURE FOO FROM ROLE_F031_19_10_17

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_18;
REVOKE ALL PRIVILEGES ON SPECIFIC ROUTINE FOO FROM ROLE_F031_19_10_18

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_19;
REVOKE ALL PRIVILEGES ON SPECIFIC STATIC METHOD FOO FROM ROLE_F031_19_10_19

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_20;
REVOKE ALL PRIVILEGES ON STATIC METHOD BAR FOR BAZ FROM ROLE_F031_19_10_20

onlyif Postgres
statement ok
CREATE ROLE ROLE_F031_19_10_21;
REVOKE ALL PRIVILEGES ON STATIC METHOD BAR FROM ROLE_F031_19_10_21
