From cfd8dbc5a4a78f7780f2a43dd5d12175296cb64f Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Fri, 9 May 2014 17:34:18 +0200 Subject: [PATCH] Test calls to CDB_Invalidate_Varnish Also drops the DELETE trigger on CDB_TableMetadata as the call to CDB_Invalidate_Varnish would then get an OID, which is pretty useless. Closes #8 --- expected/test_ddl_triggers.out | 5 +++++ expected/test_setup.out | 6 ++++++ scripts-available/CDB_TableMetadata.sql | 4 +++- sql/test_setup.sql | 6 ++++++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/expected/test_ddl_triggers.out b/expected/test_ddl_triggers.out index fed39b1..7b7ad5d 100644 --- a/expected/test_ddl_triggers.out +++ b/expected/test_ddl_triggers.out @@ -25,6 +25,7 @@ NOTICE: trigger "update_the_geom_webmercator_trigger" for table "c.t3" does not NOTICE: trigger "update_updated_at_trigger" for table "c.t3" does not exist, skipping NOTICE: trigger "test_quota" for table "c.t3" does not exist, skipping NOTICE: trigger "test_quota_per_row" for table "c.t3" does not exist, skipping +NOTICE: cdb_invalidate_varnish(c.t3) called select cartodb_id, created_at=updated_at as "c=u", NOW() - updated_at < '1 secs' as "u<1s", @@ -64,6 +65,7 @@ NOTICE: event trigger "cdb_on_relation_drop" does not exist, skipping NOTICE: event trigger "cdb_on_alter_column" does not exist, skipping NOTICE: event trigger "cdb_on_drop_column" does not exist, skipping NOTICE: event trigger "cdb_on_add_column" does not exist, skipping +NOTICE: cdb_invalidate_varnish(c.t3) called select cartodb_id, created_at=updated_at as "c=u", NOW() - updated_at < '1 secs' as "u<1s", @@ -100,6 +102,7 @@ NOTICE: event trigger "cdb_on_relation_drop" does not exist, skipping NOTICE: event trigger "cdb_on_alter_column" does not exist, skipping NOTICE: event trigger "cdb_on_drop_column" does not exist, skipping NOTICE: event trigger "cdb_on_add_column" does not exist, skipping +NOTICE: cdb_invalidate_varnish(c.t3) called select cartodb_id, created_at=updated_at as "c=u", NOW() - updated_at < '1 secs' as "u<1s", @@ -139,6 +142,7 @@ NOTICE: event trigger "cdb_on_relation_drop" does not exist, skipping NOTICE: event trigger "cdb_on_alter_column" does not exist, skipping NOTICE: event trigger "cdb_on_drop_column" does not exist, skipping NOTICE: event trigger "cdb_on_add_column" does not exist, skipping +NOTICE: cdb_invalidate_varnish(c.t3) called select cartodb_id, created_at=updated_at as "c=u", NOW() - updated_at < '1 secs' as "u<1s", @@ -169,6 +173,7 @@ select pg_sleep(.1); (1 row) alter table c.t3 add column id2 int; +NOTICE: cdb_invalidate_varnish(c.t3) called select cartodb_id, created_at=updated_at as "c=u", NOW() - updated_at < '1 secs' as "u<1s", diff --git a/expected/test_setup.out b/expected/test_setup.out index 137d78d..1f4bf2a 100644 --- a/expected/test_setup.out +++ b/expected/test_setup.out @@ -1,3 +1,9 @@ CREATE EXTENSION postgis; CREATE EXTENSION schema_triggers; CREATE EXTENSION cartodb; +CREATE FUNCTION public.cdb_invalidate_varnish(table_name text) +RETURNS void AS $$ +BEGIN + RAISE NOTICE 'cdb_invalidate_varnish(%) called', table_name; +END; +$$ LANGUAGE 'plpgsql'; diff --git a/scripts-available/CDB_TableMetadata.sql b/scripts-available/CDB_TableMetadata.sql index 5e67f0f..e54f193 100644 --- a/scripts-available/CDB_TableMetadata.sql +++ b/scripts-available/CDB_TableMetadata.sql @@ -94,7 +94,9 @@ $$ LANGUAGE plpgsql VOLATILE SECURITY DEFINER; DROP TRIGGER IF EXISTS table_modified ON CDB_TableMetadata; -CREATE TRIGGER table_modified AFTER INSERT OR UPDATE OR DELETE +-- NOTE: on DELETE we would be unable to convert the table +-- oid (regclass) to its name +CREATE TRIGGER table_modified AFTER INSERT OR UPDATE ON CDB_TableMetadata FOR EACH ROW EXECUTE PROCEDURE _CDB_TableMetadata_Updated(); diff --git a/sql/test_setup.sql b/sql/test_setup.sql index 137d78d..1f4bf2a 100644 --- a/sql/test_setup.sql +++ b/sql/test_setup.sql @@ -1,3 +1,9 @@ CREATE EXTENSION postgis; CREATE EXTENSION schema_triggers; CREATE EXTENSION cartodb; +CREATE FUNCTION public.cdb_invalidate_varnish(table_name text) +RETURNS void AS $$ +BEGIN + RAISE NOTICE 'cdb_invalidate_varnish(%) called', table_name; +END; +$$ LANGUAGE 'plpgsql';