diff options
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/regress/expected/matview.out | 12 | ||||
-rw-r--r-- | src/test/regress/sql/matview.sql | 13 |
2 files changed, 25 insertions, 0 deletions
diff --git a/src/test/regress/expected/matview.out b/src/test/regress/expected/matview.out index ddac97bea66..b04cb931697 100644 --- a/src/test/regress/expected/matview.out +++ b/src/test/regress/expected/matview.out @@ -502,3 +502,15 @@ SELECT * FROM mv_v; DROP TABLE v CASCADE; NOTICE: drop cascades to materialized view mv_v +-- make sure running as superuser works when MV owned by another role (bug #11208) +CREATE ROLE user_dw; +SET ROLE user_dw; +CREATE TABLE foo_data AS SELECT i, md5(random()::text) + FROM generate_series(1, 10) i; +CREATE MATERIALIZED VIEW mv_foo AS SELECT * FROM foo_data; +CREATE UNIQUE INDEX ON mv_foo (i); +RESET ROLE; +REFRESH MATERIALIZED VIEW mv_foo; +REFRESH MATERIALIZED VIEW CONCURRENTLY mv_foo; +DROP OWNED BY user_dw CASCADE; +DROP ROLE user_dw; diff --git a/src/test/regress/sql/matview.sql b/src/test/regress/sql/matview.sql index 3a6a3276f84..fee1ddc8424 100644 --- a/src/test/regress/sql/matview.sql +++ b/src/test/regress/sql/matview.sql @@ -194,3 +194,16 @@ DELETE FROM v WHERE EXISTS ( SELECT * FROM mv_v WHERE mv_v.a = v.a ); SELECT * FROM v; SELECT * FROM mv_v; DROP TABLE v CASCADE; + +-- make sure running as superuser works when MV owned by another role (bug #11208) +CREATE ROLE user_dw; +SET ROLE user_dw; +CREATE TABLE foo_data AS SELECT i, md5(random()::text) + FROM generate_series(1, 10) i; +CREATE MATERIALIZED VIEW mv_foo AS SELECT * FROM foo_data; +CREATE UNIQUE INDEX ON mv_foo (i); +RESET ROLE; +REFRESH MATERIALIZED VIEW mv_foo; +REFRESH MATERIALIZED VIEW CONCURRENTLY mv_foo; +DROP OWNED BY user_dw CASCADE; +DROP ROLE user_dw; |