From a7277526fda586590e68b60968dc24f93e00a3dc Mon Sep 17 00:00:00 2001 From: Murat Tuncer Date: Mon, 9 Jul 2018 16:37:16 +0300 Subject: [PATCH] Make citus_stat_statements_reset() super user function --- citus.control | 2 +- src/backend/distributed/Makefile | 4 +++- src/backend/distributed/citus--7.5-5--7.5-6.sql | 4 ++++ src/backend/distributed/citus.control | 2 +- src/test/regress/expected/multi_extension.out | 1 + src/test/regress/expected/multi_multiuser.out | 2 ++ src/test/regress/expected/multi_multiuser_0.out | 2 ++ src/test/regress/sql/multi_extension.sql | 1 + src/test/regress/sql/multi_multiuser.sql | 2 ++ 9 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 src/backend/distributed/citus--7.5-5--7.5-6.sql diff --git a/citus.control b/citus.control index 4cd20fec5..6b0aba7f5 100644 --- a/citus.control +++ b/citus.control @@ -1,6 +1,6 @@ # Citus extension comment = 'Citus distributed database' -default_version = '7.5-5' +default_version = '7.5-6' module_pathname = '$libdir/citus' relocatable = false schema = pg_catalog diff --git a/src/backend/distributed/Makefile b/src/backend/distributed/Makefile index 36ae6baa6..0bacc0c62 100644 --- a/src/backend/distributed/Makefile +++ b/src/backend/distributed/Makefile @@ -16,7 +16,7 @@ EXTVERSIONS = 5.0 5.0-1 5.0-2 \ 7.2-1 7.2-2 7.2-3 \ 7.3-1 7.3-2 7.3-3 \ 7.4-1 7.4-2 7.4-3 \ - 7.5-1 7.5-2 7.5-3 7.5-4 7.5-5 + 7.5-1 7.5-2 7.5-3 7.5-4 7.5-5 7.5-6 # All citus--*.sql files in the source directory DATA = $(patsubst $(citus_abs_srcdir)/%.sql,%.sql,$(wildcard $(citus_abs_srcdir)/$(EXTENSION)--*--*.sql)) @@ -210,6 +210,8 @@ $(EXTENSION)--7.5-4.sql: $(EXTENSION)--7.5-3.sql $(EXTENSION)--7.5-3--7.5-4.sql cat $^ > $@ $(EXTENSION)--7.5-5.sql: $(EXTENSION)--7.5-4.sql $(EXTENSION)--7.5-4--7.5-5.sql cat $^ > $@ +$(EXTENSION)--7.5-6.sql: $(EXTENSION)--7.5-5.sql $(EXTENSION)--7.5-5--7.5-6.sql + cat $^ > $@ NO_PGXS = 1 diff --git a/src/backend/distributed/citus--7.5-5--7.5-6.sql b/src/backend/distributed/citus--7.5-5--7.5-6.sql new file mode 100644 index 000000000..4de970af1 --- /dev/null +++ b/src/backend/distributed/citus--7.5-5--7.5-6.sql @@ -0,0 +1,4 @@ +/* citus--7.5-5--7.5-6 */ + +-- Don't want this to be available to non-superusers. +REVOKE ALL ON FUNCTION pg_catalog.citus_stat_statements_reset() FROM PUBLIC; diff --git a/src/backend/distributed/citus.control b/src/backend/distributed/citus.control index 4cd20fec5..6b0aba7f5 100644 --- a/src/backend/distributed/citus.control +++ b/src/backend/distributed/citus.control @@ -1,6 +1,6 @@ # Citus extension comment = 'Citus distributed database' -default_version = '7.5-5' +default_version = '7.5-6' module_pathname = '$libdir/citus' relocatable = false schema = pg_catalog diff --git a/src/test/regress/expected/multi_extension.out b/src/test/regress/expected/multi_extension.out index 4b2a35c4a..07cedcf9b 100644 --- a/src/test/regress/expected/multi_extension.out +++ b/src/test/regress/expected/multi_extension.out @@ -141,6 +141,7 @@ ALTER EXTENSION citus UPDATE TO '7.5-2'; ALTER EXTENSION citus UPDATE TO '7.5-3'; ALTER EXTENSION citus UPDATE TO '7.5-4'; ALTER EXTENSION citus UPDATE TO '7.5-5'; +ALTER EXTENSION citus UPDATE TO '7.5-6'; -- show running version SHOW citus.version; citus.version diff --git a/src/test/regress/expected/multi_multiuser.out b/src/test/regress/expected/multi_multiuser.out index b8053a52b..50d968271 100644 --- a/src/test/regress/expected/multi_multiuser.out +++ b/src/test/regress/expected/multi_multiuser.out @@ -210,6 +210,8 @@ BEGIN; SELECT create_intermediate_result('topten', 'SELECT count(*) FROM test'); ERROR: permission denied for table test ABORT; +SELECT * FROM citus_stat_statements_reset(); +ERROR: permission denied for function citus_stat_statements_reset RESET ROLE; DROP TABLE test; DROP USER full_access; diff --git a/src/test/regress/expected/multi_multiuser_0.out b/src/test/regress/expected/multi_multiuser_0.out index 06613b2e0..8b4b72872 100644 --- a/src/test/regress/expected/multi_multiuser_0.out +++ b/src/test/regress/expected/multi_multiuser_0.out @@ -210,6 +210,8 @@ BEGIN; SELECT create_intermediate_result('topten', 'SELECT count(*) FROM test'); ERROR: permission denied for relation test ABORT; +SELECT * FROM citus_stat_statements_reset(); +ERROR: permission denied for function citus_stat_statements_reset RESET ROLE; DROP TABLE test; DROP USER full_access; diff --git a/src/test/regress/sql/multi_extension.sql b/src/test/regress/sql/multi_extension.sql index 6c9ee33ea..5cfeeb947 100644 --- a/src/test/regress/sql/multi_extension.sql +++ b/src/test/regress/sql/multi_extension.sql @@ -141,6 +141,7 @@ ALTER EXTENSION citus UPDATE TO '7.5-2'; ALTER EXTENSION citus UPDATE TO '7.5-3'; ALTER EXTENSION citus UPDATE TO '7.5-4'; ALTER EXTENSION citus UPDATE TO '7.5-5'; +ALTER EXTENSION citus UPDATE TO '7.5-6'; -- show running version SHOW citus.version; diff --git a/src/test/regress/sql/multi_multiuser.sql b/src/test/regress/sql/multi_multiuser.sql index 9ce6c628b..cf434d238 100644 --- a/src/test/regress/sql/multi_multiuser.sql +++ b/src/test/regress/sql/multi_multiuser.sql @@ -136,6 +136,8 @@ BEGIN; SELECT create_intermediate_result('topten', 'SELECT count(*) FROM test'); ABORT; +SELECT * FROM citus_stat_statements_reset(); + RESET ROLE; DROP TABLE test;