diff --git a/regress/Makefile b/regress/Makefile index 28b4663..81a0d53 100644 --- a/regress/Makefile +++ b/regress/Makefile @@ -17,7 +17,7 @@ INTVERSION := $(shell echo $$(($$(echo $(VERSION).0 | sed 's/\([[:digit:]]\{1,\} # Test suite # -REGRESS := init-extension repack after-schema tablespace issue3 +REGRESS := init-extension repack after-schema nosuper tablespace issue3 USE_PGXS = 1 # use pgxs if not in contrib directory PGXS := $(shell $(PG_CONFIG) --pgxs) diff --git a/regress/expected/nosuper.out b/regress/expected/nosuper.out new file mode 100644 index 0000000..b16f4b1 --- /dev/null +++ b/regress/expected/nosuper.out @@ -0,0 +1,19 @@ +-- +-- no superuser check +-- +SET client_min_messages = error; +DROP ROLE IF EXISTS nosuper; +SET client_min_messages = warning; +CREATE ROLE nosuper WITH LOGIN; +-- => OK +\! pg_repack --dbname=contrib_regression --table=tbl_cluster --no-superuser-check +INFO: repacking table "tbl_cluster" +-- => ERROR +\! pg_repack --dbname=contrib_regression --table=tbl_cluster --username=nosuper +ERROR: pg_repack failed with error: You must be a superuser to use pg_repack +-- => ERROR +\! pg_repack --dbname=contrib_regression --table=tbl_cluster --username=nosuper --no-superuser-check +ERROR: pg_repack failed with error: ERROR: permission denied for schema repack +LINE 1: select repack.version(), repack.version_sql() + ^ +DROP ROLE IF EXISTS nosuper; diff --git a/regress/expected/nosuper_1.out b/regress/expected/nosuper_1.out new file mode 100644 index 0000000..d227516 --- /dev/null +++ b/regress/expected/nosuper_1.out @@ -0,0 +1,17 @@ +-- +-- no superuser check +-- +SET client_min_messages = error; +DROP ROLE IF EXISTS nosuper; +SET client_min_messages = warning; +CREATE ROLE nosuper WITH LOGIN; +-- => OK +\! pg_repack --dbname=contrib_regression --table=tbl_cluster --no-superuser-check +INFO: repacking table "tbl_cluster" +-- => ERROR +\! pg_repack --dbname=contrib_regression --table=tbl_cluster --username=nosuper +ERROR: pg_repack failed with error: You must be a superuser to use pg_repack +-- => ERROR +\! pg_repack --dbname=contrib_regression --table=tbl_cluster --username=nosuper --no-superuser-check +ERROR: pg_repack failed with error: ERROR: permission denied for schema repack +DROP ROLE IF EXISTS nosuper; diff --git a/regress/expected/repack.out b/regress/expected/repack.out index 1c0a370..5e62ffb 100644 --- a/regress/expected/repack.out +++ b/regress/expected/repack.out @@ -433,23 +433,6 @@ ERROR: cannot repack specific schema(s) in all databases \! pg_repack --dbname=contrib_regression --table=tbl_cluster --no-kill-backend INFO: repacking table "tbl_cluster" -- --- no superuser check --- -DROP ROLE IF EXISTS nosuper; -CREATE ROLE nosuper WITH LOGIN; --- => OK -\! pg_repack --dbname=contrib_regression --table=tbl_cluster --no-superuser-check -INFO: repacking table "tbl_cluster" --- => ERROR -\! pg_repack --dbname=contrib_regression --table=tbl_cluster --username=nosuper -ERROR: pg_repack failed with error: You must be a superuser to use pg_repack --- => ERROR -\! pg_repack --dbname=contrib_regression --table=tbl_cluster --username=nosuper --no-superuser-check -ERROR: pg_repack failed with error: ERROR: permission denied for schema repack -LINE 1: select repack.version(), repack.version_sql() - ^ -DROP ROLE IF EXISTS nosuper; --- -- exclude extension check -- CREATE SCHEMA exclude_extension_schema; diff --git a/regress/expected/repack_1.out b/regress/expected/repack_1.out index 6b0ecf6..dd08837 100644 --- a/regress/expected/repack_1.out +++ b/regress/expected/repack_1.out @@ -433,21 +433,6 @@ ERROR: cannot repack specific schema(s) in all databases \! pg_repack --dbname=contrib_regression --table=tbl_cluster --no-kill-backend INFO: repacking table "tbl_cluster" -- --- no superuser check --- -DROP ROLE IF EXISTS nosuper; -CREATE ROLE nosuper WITH LOGIN; --- => OK -\! pg_repack --dbname=contrib_regression --table=tbl_cluster --no-superuser-check -INFO: repacking table "tbl_cluster" --- => ERROR -\! pg_repack --dbname=contrib_regression --table=tbl_cluster --username=nosuper -ERROR: pg_repack failed with error: You must be a superuser to use pg_repack --- => ERROR -\! pg_repack --dbname=contrib_regression --table=tbl_cluster --username=nosuper --no-superuser-check -ERROR: pg_repack failed with error: ERROR: permission denied for schema repack -DROP ROLE IF EXISTS nosuper; --- -- exclude extension check -- CREATE SCHEMA exclude_extension_schema; diff --git a/regress/expected/repack_3.out b/regress/expected/repack_3.out index d619fe9..96818f5 100644 --- a/regress/expected/repack_3.out +++ b/regress/expected/repack_3.out @@ -433,23 +433,6 @@ ERROR: cannot repack specific schema(s) in all databases \! pg_repack --dbname=contrib_regression --table=tbl_cluster --no-kill-backend INFO: repacking table "tbl_cluster" -- --- no superuser check --- -DROP ROLE IF EXISTS nosuper; -CREATE ROLE nosuper WITH LOGIN; --- => OK -\! pg_repack --dbname=contrib_regression --table=tbl_cluster --no-superuser-check -INFO: repacking table "tbl_cluster" --- => ERROR -\! pg_repack --dbname=contrib_regression --table=tbl_cluster --username=nosuper -ERROR: pg_repack failed with error: You must be a superuser to use pg_repack --- => ERROR -\! pg_repack --dbname=contrib_regression --table=tbl_cluster --username=nosuper --no-superuser-check -ERROR: pg_repack failed with error: ERROR: permission denied for schema repack -LINE 1: select repack.version(), repack.version_sql() - ^ -DROP ROLE IF EXISTS nosuper; --- -- exclude extension check -- CREATE SCHEMA exclude_extension_schema; diff --git a/regress/expected/repack_5.out b/regress/expected/repack_5.out index 3a30ee6..b7e6efc 100644 --- a/regress/expected/repack_5.out +++ b/regress/expected/repack_5.out @@ -433,21 +433,6 @@ ERROR: cannot repack specific schema(s) in all databases \! pg_repack --dbname=contrib_regression --table=tbl_cluster --no-kill-backend INFO: repacking table "tbl_cluster" -- --- no superuser check --- -DROP ROLE IF EXISTS nosuper; -CREATE ROLE nosuper WITH LOGIN; --- => OK -\! pg_repack --dbname=contrib_regression --table=tbl_cluster --no-superuser-check -INFO: repacking table "tbl_cluster" --- => ERROR -\! pg_repack --dbname=contrib_regression --table=tbl_cluster --username=nosuper -ERROR: pg_repack failed with error: You must be a superuser to use pg_repack --- => ERROR -\! pg_repack --dbname=contrib_regression --table=tbl_cluster --username=nosuper --no-superuser-check -ERROR: pg_repack failed with error: ERROR: permission denied for schema repack -DROP ROLE IF EXISTS nosuper; --- -- exclude extension check -- CREATE SCHEMA exclude_extension_schema; diff --git a/regress/sql/nosuper.sql b/regress/sql/nosuper.sql new file mode 100644 index 0000000..198f345 --- /dev/null +++ b/regress/sql/nosuper.sql @@ -0,0 +1,14 @@ +-- +-- no superuser check +-- +SET client_min_messages = error; +DROP ROLE IF EXISTS nosuper; +SET client_min_messages = warning; +CREATE ROLE nosuper WITH LOGIN; +-- => OK +\! pg_repack --dbname=contrib_regression --table=tbl_cluster --no-superuser-check +-- => ERROR +\! pg_repack --dbname=contrib_regression --table=tbl_cluster --username=nosuper +-- => ERROR +\! pg_repack --dbname=contrib_regression --table=tbl_cluster --username=nosuper --no-superuser-check +DROP ROLE IF EXISTS nosuper; diff --git a/regress/sql/repack.sql b/regress/sql/repack.sql index 04b1a79..63b38c8 100644 --- a/regress/sql/repack.sql +++ b/regress/sql/repack.sql @@ -291,19 +291,6 @@ CREATE TABLE test_schema2.tbl2 (id INTEGER PRIMARY KEY); -- \! pg_repack --dbname=contrib_regression --table=tbl_cluster --no-kill-backend --- --- no superuser check --- -DROP ROLE IF EXISTS nosuper; -CREATE ROLE nosuper WITH LOGIN; --- => OK -\! pg_repack --dbname=contrib_regression --table=tbl_cluster --no-superuser-check --- => ERROR -\! pg_repack --dbname=contrib_regression --table=tbl_cluster --username=nosuper --- => ERROR -\! pg_repack --dbname=contrib_regression --table=tbl_cluster --username=nosuper --no-superuser-check -DROP ROLE IF EXISTS nosuper; - -- -- exclude extension check --