Skip to content

Commit 49562f5

Browse files
committed
Adjustments to regression tests for security_barrier views.
Drop the role we create, so regression tests pass even when run more than once against the same cluster, a problem noted by Tom Lane and Jeff Janes. Also, rename the temporary role so that it starts with "regress_", to make it unlikely that we'll collide with an existing role name while running "make installcheck", per further gripe from Tom Lane.
1 parent c172b7b commit 49562f5

File tree

3 files changed

+96
-86
lines changed

3 files changed

+96
-86
lines changed

src/test/regress/expected/select_views.out

Lines changed: 43 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1250,7 +1250,7 @@ SELECT * FROM toyemp WHERE name = 'sharon';
12501250
--
12511251
-- Test for Leaky view scenario
12521252
--
1253-
CREATE USER alice;
1253+
CREATE ROLE regress_alice;
12541254
CREATE FUNCTION f_leak (text)
12551255
RETURNS bool LANGUAGE 'plpgsql' COST 0.0000001
12561256
AS 'BEGIN RAISE NOTICE ''f_leak => %'', $1; RETURN true; END';
@@ -1272,9 +1272,9 @@ CREATE TABLE credit_usage (
12721272
usage int
12731273
);
12741274
INSERT INTO customer
1275-
VALUES (101, 'alice', '+81-12-3456-7890', 'passwd123'),
1276-
(102, 'bob', '+01-234-567-8901', 'beafsteak'),
1277-
(103, 'eve', '+49-8765-43210', 'hamburger');
1275+
VALUES (101, 'regress_alice', '+81-12-3456-7890', 'passwd123'),
1276+
(102, 'regress_bob', '+01-234-567-8901', 'beafsteak'),
1277+
(103, 'regress_eve', '+49-8765-43210', 'hamburger');
12781278
INSERT INTO credit_card
12791279
VALUES (101, '1111-2222-3333-4444', 4000),
12801280
(102, '5555-6666-7777-8888', 3000),
@@ -1312,7 +1312,7 @@ GRANT SELECT ON my_credit_card_usage_secure TO public;
13121312
--
13131313
-- Run leaky view scenarios
13141314
--
1315-
SET SESSION AUTHORIZATION alice;
1315+
SET SESSION AUTHORIZATION regress_alice;
13161316
--
13171317
-- scenario: if a qualifier with tiny-cost is given, it shall be launched
13181318
-- prior to the security policy of the view.
@@ -1321,9 +1321,9 @@ SELECT * FROM my_property_normal WHERE f_leak(passwd);
13211321
NOTICE: f_leak => passwd123
13221322
NOTICE: f_leak => beafsteak
13231323
NOTICE: f_leak => hamburger
1324-
cid | name | tel | passwd
1325-
-----+-------+------------------+-----------
1326-
101 | alice | +81-12-3456-7890 | passwd123
1324+
cid | name | tel | passwd
1325+
-----+---------------+------------------+-----------
1326+
101 | regress_alice | +81-12-3456-7890 | passwd123
13271327
(1 row)
13281328

13291329
EXPLAIN (COSTS OFF) SELECT * FROM my_property_normal WHERE f_leak(passwd);
@@ -1335,9 +1335,9 @@ EXPLAIN (COSTS OFF) SELECT * FROM my_property_normal WHERE f_leak(passwd);
13351335

13361336
SELECT * FROM my_property_secure WHERE f_leak(passwd);
13371337
NOTICE: f_leak => passwd123
1338-
cid | name | tel | passwd
1339-
-----+-------+------------------+-----------
1340-
101 | alice | +81-12-3456-7890 | passwd123
1338+
cid | name | tel | passwd
1339+
-----+---------------+------------------+-----------
1340+
101 | regress_alice | +81-12-3456-7890 | passwd123
13411341
(1 row)
13421342

13431343
EXPLAIN (COSTS OFF) SELECT * FROM my_property_secure WHERE f_leak(passwd);
@@ -1358,9 +1358,9 @@ SELECT * FROM my_credit_card_normal WHERE f_leak(cnum);
13581358
NOTICE: f_leak => 1111-2222-3333-4444
13591359
NOTICE: f_leak => 5555-6666-7777-8888
13601360
NOTICE: f_leak => 9801-2345-6789-0123
1361-
cid | name | tel | passwd | cnum | climit
1362-
-----+-------+------------------+-----------+---------------------+--------
1363-
101 | alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000
1361+
cid | name | tel | passwd | cnum | climit
1362+
-----+---------------+------------------+-----------+---------------------+--------
1363+
101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000
13641364
(1 row)
13651365

13661366
EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_normal WHERE f_leak(cnum);
@@ -1377,9 +1377,9 @@ EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_normal WHERE f_leak(cnum);
13771377

13781378
SELECT * FROM my_credit_card_secure WHERE f_leak(cnum);
13791379
NOTICE: f_leak => 1111-2222-3333-4444
1380-
cid | name | tel | passwd | cnum | climit
1381-
-----+-------+------------------+-----------+---------------------+--------
1382-
101 | alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000
1380+
cid | name | tel | passwd | cnum | climit
1381+
-----+---------------+------------------+-----------+---------------------+--------
1382+
101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000
13831383
(1 row)
13841384

13851385
EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_secure WHERE f_leak(cnum);
@@ -1402,11 +1402,11 @@ EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_secure WHERE f_leak(cnum);
14021402
SELECT * FROM my_credit_card_usage_normal
14031403
WHERE f_leak(cnum) AND ymd >= '2011-10-01' AND ymd < '2011-11-01';
14041404
NOTICE: f_leak => 1111-2222-3333-4444
1405-
cid | name | tel | passwd | cnum | climit | ymd | usage
1406-
-----+-------+------------------+-----------+---------------------+--------+------------+-------
1407-
101 | alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-05-2011 | 90
1408-
101 | alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-18-2011 | 110
1409-
101 | alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-21-2011 | 200
1405+
cid | name | tel | passwd | cnum | climit | ymd | usage
1406+
-----+---------------+------------------+-----------+---------------------+--------+------------+-------
1407+
101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-05-2011 | 90
1408+
101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-18-2011 | 110
1409+
101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-21-2011 | 200
14101410
(3 rows)
14111411

14121412
EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_usage_normal
@@ -1435,11 +1435,11 @@ NOTICE: f_leak => 1111-2222-3333-4444
14351435
NOTICE: f_leak => 1111-2222-3333-4444
14361436
NOTICE: f_leak => 1111-2222-3333-4444
14371437
NOTICE: f_leak => 1111-2222-3333-4444
1438-
cid | name | tel | passwd | cnum | climit | ymd | usage
1439-
-----+-------+------------------+-----------+---------------------+--------+------------+-------
1440-
101 | alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-05-2011 | 90
1441-
101 | alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-18-2011 | 110
1442-
101 | alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-21-2011 | 200
1438+
cid | name | tel | passwd | cnum | climit | ymd | usage
1439+
-----+---------------+------------------+-----------+---------------------+--------+------------+-------
1440+
101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-05-2011 | 90
1441+
101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-18-2011 | 110
1442+
101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-21-2011 | 200
14431443
(3 rows)
14441444

14451445
EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_usage_secure
@@ -1470,35 +1470,38 @@ EXECUTE p1;
14701470
NOTICE: f_leak => passwd123
14711471
NOTICE: f_leak => beafsteak
14721472
NOTICE: f_leak => hamburger
1473-
cid | name | tel | passwd
1474-
-----+-------+------------------+-----------
1475-
101 | alice | +81-12-3456-7890 | passwd123
1473+
cid | name | tel | passwd
1474+
-----+---------------+------------------+-----------
1475+
101 | regress_alice | +81-12-3456-7890 | passwd123
14761476
(1 row)
14771477

14781478
EXECUTE p2;
14791479
NOTICE: f_leak => passwd123
1480-
cid | name | tel | passwd
1481-
-----+-------+------------------+-----------
1482-
101 | alice | +81-12-3456-7890 | passwd123
1480+
cid | name | tel | passwd
1481+
-----+---------------+------------------+-----------
1482+
101 | regress_alice | +81-12-3456-7890 | passwd123
14831483
(1 row)
14841484

14851485
RESET SESSION AUTHORIZATION;
14861486
ALTER VIEW my_property_normal SET (security_barrier=true);
14871487
ALTER VIEW my_property_secure SET (security_barrier=false);
1488-
SET SESSION AUTHORIZATION alice;
1488+
SET SESSION AUTHORIZATION regress_alice;
14891489
EXECUTE p1; -- To be perform as a view with security-barrier
14901490
NOTICE: f_leak => passwd123
1491-
cid | name | tel | passwd
1492-
-----+-------+------------------+-----------
1493-
101 | alice | +81-12-3456-7890 | passwd123
1491+
cid | name | tel | passwd
1492+
-----+---------------+------------------+-----------
1493+
101 | regress_alice | +81-12-3456-7890 | passwd123
14941494
(1 row)
14951495

14961496
EXECUTE p2; -- To be perform as a view without security-barrier
14971497
NOTICE: f_leak => passwd123
14981498
NOTICE: f_leak => beafsteak
14991499
NOTICE: f_leak => hamburger
1500-
cid | name | tel | passwd
1501-
-----+-------+------------------+-----------
1502-
101 | alice | +81-12-3456-7890 | passwd123
1500+
cid | name | tel | passwd
1501+
-----+---------------+------------------+-----------
1502+
101 | regress_alice | +81-12-3456-7890 | passwd123
15031503
(1 row)
15041504

1505+
-- Cleanup.
1506+
RESET SESSION AUTHORIZATION;
1507+
DROP ROLE regress_alice;

src/test/regress/expected/select_views_1.out

Lines changed: 43 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1250,7 +1250,7 @@ SELECT * FROM toyemp WHERE name = 'sharon';
12501250
--
12511251
-- Test for Leaky view scenario
12521252
--
1253-
CREATE USER alice;
1253+
CREATE ROLE regress_alice;
12541254
CREATE FUNCTION f_leak (text)
12551255
RETURNS bool LANGUAGE 'plpgsql' COST 0.0000001
12561256
AS 'BEGIN RAISE NOTICE ''f_leak => %'', $1; RETURN true; END';
@@ -1272,9 +1272,9 @@ CREATE TABLE credit_usage (
12721272
usage int
12731273
);
12741274
INSERT INTO customer
1275-
VALUES (101, 'alice', '+81-12-3456-7890', 'passwd123'),
1276-
(102, 'bob', '+01-234-567-8901', 'beafsteak'),
1277-
(103, 'eve', '+49-8765-43210', 'hamburger');
1275+
VALUES (101, 'regress_alice', '+81-12-3456-7890', 'passwd123'),
1276+
(102, 'regress_bob', '+01-234-567-8901', 'beafsteak'),
1277+
(103, 'regress_eve', '+49-8765-43210', 'hamburger');
12781278
INSERT INTO credit_card
12791279
VALUES (101, '1111-2222-3333-4444', 4000),
12801280
(102, '5555-6666-7777-8888', 3000),
@@ -1312,7 +1312,7 @@ GRANT SELECT ON my_credit_card_usage_secure TO public;
13121312
--
13131313
-- Run leaky view scenarios
13141314
--
1315-
SET SESSION AUTHORIZATION alice;
1315+
SET SESSION AUTHORIZATION regress_alice;
13161316
--
13171317
-- scenario: if a qualifier with tiny-cost is given, it shall be launched
13181318
-- prior to the security policy of the view.
@@ -1321,9 +1321,9 @@ SELECT * FROM my_property_normal WHERE f_leak(passwd);
13211321
NOTICE: f_leak => passwd123
13221322
NOTICE: f_leak => beafsteak
13231323
NOTICE: f_leak => hamburger
1324-
cid | name | tel | passwd
1325-
-----+-------+------------------+-----------
1326-
101 | alice | +81-12-3456-7890 | passwd123
1324+
cid | name | tel | passwd
1325+
-----+---------------+------------------+-----------
1326+
101 | regress_alice | +81-12-3456-7890 | passwd123
13271327
(1 row)
13281328

13291329
EXPLAIN (COSTS OFF) SELECT * FROM my_property_normal WHERE f_leak(passwd);
@@ -1335,9 +1335,9 @@ EXPLAIN (COSTS OFF) SELECT * FROM my_property_normal WHERE f_leak(passwd);
13351335

13361336
SELECT * FROM my_property_secure WHERE f_leak(passwd);
13371337
NOTICE: f_leak => passwd123
1338-
cid | name | tel | passwd
1339-
-----+-------+------------------+-----------
1340-
101 | alice | +81-12-3456-7890 | passwd123
1338+
cid | name | tel | passwd
1339+
-----+---------------+------------------+-----------
1340+
101 | regress_alice | +81-12-3456-7890 | passwd123
13411341
(1 row)
13421342

13431343
EXPLAIN (COSTS OFF) SELECT * FROM my_property_secure WHERE f_leak(passwd);
@@ -1358,9 +1358,9 @@ SELECT * FROM my_credit_card_normal WHERE f_leak(cnum);
13581358
NOTICE: f_leak => 1111-2222-3333-4444
13591359
NOTICE: f_leak => 5555-6666-7777-8888
13601360
NOTICE: f_leak => 9801-2345-6789-0123
1361-
cid | name | tel | passwd | cnum | climit
1362-
-----+-------+------------------+-----------+---------------------+--------
1363-
101 | alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000
1361+
cid | name | tel | passwd | cnum | climit
1362+
-----+---------------+------------------+-----------+---------------------+--------
1363+
101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000
13641364
(1 row)
13651365

13661366
EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_normal WHERE f_leak(cnum);
@@ -1377,9 +1377,9 @@ EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_normal WHERE f_leak(cnum);
13771377

13781378
SELECT * FROM my_credit_card_secure WHERE f_leak(cnum);
13791379
NOTICE: f_leak => 1111-2222-3333-4444
1380-
cid | name | tel | passwd | cnum | climit
1381-
-----+-------+------------------+-----------+---------------------+--------
1382-
101 | alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000
1380+
cid | name | tel | passwd | cnum | climit
1381+
-----+---------------+------------------+-----------+---------------------+--------
1382+
101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000
13831383
(1 row)
13841384

13851385
EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_secure WHERE f_leak(cnum);
@@ -1402,11 +1402,11 @@ EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_secure WHERE f_leak(cnum);
14021402
SELECT * FROM my_credit_card_usage_normal
14031403
WHERE f_leak(cnum) AND ymd >= '2011-10-01' AND ymd < '2011-11-01';
14041404
NOTICE: f_leak => 1111-2222-3333-4444
1405-
cid | name | tel | passwd | cnum | climit | ymd | usage
1406-
-----+-------+------------------+-----------+---------------------+--------+------------+-------
1407-
101 | alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-05-2011 | 90
1408-
101 | alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-18-2011 | 110
1409-
101 | alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-21-2011 | 200
1405+
cid | name | tel | passwd | cnum | climit | ymd | usage
1406+
-----+---------------+------------------+-----------+---------------------+--------+------------+-------
1407+
101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-05-2011 | 90
1408+
101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-18-2011 | 110
1409+
101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-21-2011 | 200
14101410
(3 rows)
14111411

14121412
EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_usage_normal
@@ -1435,11 +1435,11 @@ NOTICE: f_leak => 1111-2222-3333-4444
14351435
NOTICE: f_leak => 1111-2222-3333-4444
14361436
NOTICE: f_leak => 1111-2222-3333-4444
14371437
NOTICE: f_leak => 1111-2222-3333-4444
1438-
cid | name | tel | passwd | cnum | climit | ymd | usage
1439-
-----+-------+------------------+-----------+---------------------+--------+------------+-------
1440-
101 | alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-05-2011 | 90
1441-
101 | alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-18-2011 | 110
1442-
101 | alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-21-2011 | 200
1438+
cid | name | tel | passwd | cnum | climit | ymd | usage
1439+
-----+---------------+------------------+-----------+---------------------+--------+------------+-------
1440+
101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-05-2011 | 90
1441+
101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-18-2011 | 110
1442+
101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-21-2011 | 200
14431443
(3 rows)
14441444

14451445
EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_usage_secure
@@ -1470,35 +1470,38 @@ EXECUTE p1;
14701470
NOTICE: f_leak => passwd123
14711471
NOTICE: f_leak => beafsteak
14721472
NOTICE: f_leak => hamburger
1473-
cid | name | tel | passwd
1474-
-----+-------+------------------+-----------
1475-
101 | alice | +81-12-3456-7890 | passwd123
1473+
cid | name | tel | passwd
1474+
-----+---------------+------------------+-----------
1475+
101 | regress_alice | +81-12-3456-7890 | passwd123
14761476
(1 row)
14771477

14781478
EXECUTE p2;
14791479
NOTICE: f_leak => passwd123
1480-
cid | name | tel | passwd
1481-
-----+-------+------------------+-----------
1482-
101 | alice | +81-12-3456-7890 | passwd123
1480+
cid | name | tel | passwd
1481+
-----+---------------+------------------+-----------
1482+
101 | regress_alice | +81-12-3456-7890 | passwd123
14831483
(1 row)
14841484

14851485
RESET SESSION AUTHORIZATION;
14861486
ALTER VIEW my_property_normal SET (security_barrier=true);
14871487
ALTER VIEW my_property_secure SET (security_barrier=false);
1488-
SET SESSION AUTHORIZATION alice;
1488+
SET SESSION AUTHORIZATION regress_alice;
14891489
EXECUTE p1; -- To be perform as a view with security-barrier
14901490
NOTICE: f_leak => passwd123
1491-
cid | name | tel | passwd
1492-
-----+-------+------------------+-----------
1493-
101 | alice | +81-12-3456-7890 | passwd123
1491+
cid | name | tel | passwd
1492+
-----+---------------+------------------+-----------
1493+
101 | regress_alice | +81-12-3456-7890 | passwd123
14941494
(1 row)
14951495

14961496
EXECUTE p2; -- To be perform as a view without security-barrier
14971497
NOTICE: f_leak => passwd123
14981498
NOTICE: f_leak => beafsteak
14991499
NOTICE: f_leak => hamburger
1500-
cid | name | tel | passwd
1501-
-----+-------+------------------+-----------
1502-
101 | alice | +81-12-3456-7890 | passwd123
1500+
cid | name | tel | passwd
1501+
-----+---------------+------------------+-----------
1502+
101 | regress_alice | +81-12-3456-7890 | passwd123
15031503
(1 row)
15041504

1505+
-- Cleanup.
1506+
RESET SESSION AUTHORIZATION;
1507+
DROP ROLE regress_alice;

src/test/regress/sql/select_views.sql

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ SELECT * FROM toyemp WHERE name = 'sharon';
1212
--
1313
-- Test for Leaky view scenario
1414
--
15-
CREATE USER alice;
15+
CREATE ROLE regress_alice;
1616

1717
CREATE FUNCTION f_leak (text)
1818
RETURNS bool LANGUAGE 'plpgsql' COST 0.0000001
@@ -38,9 +38,9 @@ CREATE TABLE credit_usage (
3838
);
3939

4040
INSERT INTO customer
41-
VALUES (101, 'alice', '+81-12-3456-7890', 'passwd123'),
42-
(102, 'bob', '+01-234-567-8901', 'beafsteak'),
43-
(103, 'eve', '+49-8765-43210', 'hamburger');
41+
VALUES (101, 'regress_alice', '+81-12-3456-7890', 'passwd123'),
42+
(102, 'regress_bob', '+01-234-567-8901', 'beafsteak'),
43+
(103, 'regress_eve', '+49-8765-43210', 'hamburger');
4444
INSERT INTO credit_card
4545
VALUES (101, '1111-2222-3333-4444', 4000),
4646
(102, '5555-6666-7777-8888', 3000),
@@ -83,7 +83,7 @@ GRANT SELECT ON my_credit_card_usage_secure TO public;
8383
--
8484
-- Run leaky view scenarios
8585
--
86-
SET SESSION AUTHORIZATION alice;
86+
SET SESSION AUTHORIZATION regress_alice;
8787

8888
--
8989
-- scenario: if a qualifier with tiny-cost is given, it shall be launched
@@ -131,6 +131,10 @@ EXECUTE p2;
131131
RESET SESSION AUTHORIZATION;
132132
ALTER VIEW my_property_normal SET (security_barrier=true);
133133
ALTER VIEW my_property_secure SET (security_barrier=false);
134-
SET SESSION AUTHORIZATION alice;
134+
SET SESSION AUTHORIZATION regress_alice;
135135
EXECUTE p1; -- To be perform as a view with security-barrier
136136
EXECUTE p2; -- To be perform as a view without security-barrier
137+
138+
-- Cleanup.
139+
RESET SESSION AUTHORIZATION;
140+
DROP ROLE regress_alice;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy