From b1ce8d61c0de72e90740955347f89c037fc2a83e Mon Sep 17 00:00:00 2001 From: Eren Basak Date: Mon, 9 Jan 2017 13:27:34 +0300 Subject: [PATCH] Create Invalidation Trigger for pg_dist_local_group Table Updates --- src/backend/distributed/Makefile | 4 +++- .../distributed/citus--6.1-14--6.1-15.sql | 17 +++++++++++++++++ src/backend/distributed/citus.control | 2 +- src/test/regress/expected/multi_extension.out | 2 ++ src/test/regress/sql/multi_extension.sql | 2 ++ 5 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 src/backend/distributed/citus--6.1-14--6.1-15.sql diff --git a/src/backend/distributed/Makefile b/src/backend/distributed/Makefile index 42fd988f1..40dc62812 100644 --- a/src/backend/distributed/Makefile +++ b/src/backend/distributed/Makefile @@ -9,7 +9,7 @@ EXTVERSIONS = 5.0 5.0-1 5.0-2 \ 5.1-1 5.1-2 5.1-3 5.1-4 5.1-5 5.1-6 5.1-7 5.1-8 \ 5.2-1 5.2-2 5.2-3 5.2-4 \ 6.0-1 6.0-2 6.0-3 6.0-4 6.0-5 6.0-6 6.0-7 6.0-8 6.0-9 6.0-10 6.0-11 6.0-12 6.0-13 6.0-14 6.0-15 6.0-16 6.0-17 6.0-18 \ - 6.1-1 6.1-2 6.1-3 6.1-4 6.1-5 6.1-6 6.1-7 6.1-8 6.1-9 6.1-10 6.1-11 6.1-12 6.1-13 6.1-14 + 6.1-1 6.1-2 6.1-3 6.1-4 6.1-5 6.1-6 6.1-7 6.1-8 6.1-9 6.1-10 6.1-11 6.1-12 6.1-13 6.1-14 6.1-15 # All citus--*.sql files in the source directory DATA = $(patsubst $(citus_abs_srcdir)/%.sql,%.sql,$(wildcard $(citus_abs_srcdir)/$(EXTENSION)--*--*.sql)) @@ -123,6 +123,8 @@ $(EXTENSION)--6.1-13.sql: $(EXTENSION)--6.1-12.sql $(EXTENSION)--6.1-12--6.1-13. cat $^ > $@ $(EXTENSION)--6.1-14.sql: $(EXTENSION)--6.1-13.sql $(EXTENSION)--6.1-13--6.1-14.sql cat $^ > $@ +$(EXTENSION)--6.1-15.sql: $(EXTENSION)--6.1-14.sql $(EXTENSION)--6.1-14--6.1-15.sql + cat $^ > $@ NO_PGXS = 1 diff --git a/src/backend/distributed/citus--6.1-14--6.1-15.sql b/src/backend/distributed/citus--6.1-14--6.1-15.sql new file mode 100644 index 000000000..9683844f6 --- /dev/null +++ b/src/backend/distributed/citus--6.1-14--6.1-15.sql @@ -0,0 +1,17 @@ +/* citus--6.1-14--6.1-15.sql */ + +SET search_path = 'pg_catalog'; + +CREATE FUNCTION master_dist_local_group_cache_invalidate() + RETURNS trigger + LANGUAGE C + AS 'MODULE_PATHNAME', $$master_dist_local_group_cache_invalidate$$; +COMMENT ON FUNCTION master_dist_local_group_cache_invalidate() + IS 'register node cache invalidation for changed rows'; + +CREATE TRIGGER dist_local_group_cache_invalidate + AFTER UPDATE + ON pg_catalog.pg_dist_local_group + FOR EACH ROW EXECUTE PROCEDURE master_dist_local_group_cache_invalidate(); + +RESET search_path; diff --git a/src/backend/distributed/citus.control b/src/backend/distributed/citus.control index 5c7ded9ec..63dbb4c9e 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 = '6.1-14' +default_version = '6.1-15' 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 e32b44512..ff4f90918 100644 --- a/src/test/regress/expected/multi_extension.out +++ b/src/test/regress/expected/multi_extension.out @@ -71,6 +71,8 @@ ALTER EXTENSION citus UPDATE TO '6.1-10'; ALTER EXTENSION citus UPDATE TO '6.1-11'; ALTER EXTENSION citus UPDATE TO '6.1-12'; ALTER EXTENSION citus UPDATE TO '6.1-13'; +ALTER EXTENSION citus UPDATE TO '6.1-14'; +ALTER EXTENSION citus UPDATE TO '6.1-15'; -- ensure no objects were created outside pg_catalog SELECT COUNT(*) FROM pg_depend AS pgd, diff --git a/src/test/regress/sql/multi_extension.sql b/src/test/regress/sql/multi_extension.sql index 42e864018..ae422001f 100644 --- a/src/test/regress/sql/multi_extension.sql +++ b/src/test/regress/sql/multi_extension.sql @@ -71,6 +71,8 @@ ALTER EXTENSION citus UPDATE TO '6.1-10'; ALTER EXTENSION citus UPDATE TO '6.1-11'; ALTER EXTENSION citus UPDATE TO '6.1-12'; ALTER EXTENSION citus UPDATE TO '6.1-13'; +ALTER EXTENSION citus UPDATE TO '6.1-14'; +ALTER EXTENSION citus UPDATE TO '6.1-15'; -- ensure no objects were created outside pg_catalog SELECT COUNT(*)