From 8a8d198ea293cfd0d60d53ee07ecb39c115592a4 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Thu, 22 May 2014 11:40:01 +0200 Subject: [PATCH] Do not enable DDL triggers on extension create Use cartodb.cdb_enable_ddl_hooks() to enable them. Closes #19 --- cartodb_hooks.sql | 3 ++- expected/test_ddl_triggers.out | 12 ++++++++++++ sql/test_ddl_triggers.sql | 3 +++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/cartodb_hooks.sql b/cartodb_hooks.sql index 0950ec2..5c58844 100644 --- a/cartodb_hooks.sql +++ b/cartodb_hooks.sql @@ -184,4 +184,5 @@ CREATE OR REPLACE FUNCTION cartodb.cdb_enable_ddl_hooks() returns void AS $$ ON "column_add" EXECUTE PROCEDURE cartodb.cdb_handle_add_column(); $$ LANGUAGE sql; -SELECT cartodb.cdb_enable_ddl_hooks(); +-- Do not enable hooks by default +--SELECT cartodb.cdb_enable_ddl_hooks(); diff --git a/expected/test_ddl_triggers.out b/expected/test_ddl_triggers.out index fbbbbb4..cf0978c 100644 --- a/expected/test_ddl_triggers.out +++ b/expected/test_ddl_triggers.out @@ -6,6 +6,18 @@ SELECT CDB_SetUserQuotaInBytes(0); 0 (1 row) +-- Enable ddl triggers +SELECT cartodb.cdb_enable_ddl_hooks(); +NOTICE: event trigger "cdb_on_relation_create" does not exist, skipping +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 + cdb_enable_ddl_hooks +---------------------- + +(1 row) + create schema c; CREATE USER cartodb_postgresql_unpriv_user; GRANT ALL ON SCHEMA c to cartodb_postgresql_unpriv_user; diff --git a/sql/test_ddl_triggers.sql b/sql/test_ddl_triggers.sql index 77fc23b..6972673 100644 --- a/sql/test_ddl_triggers.sql +++ b/sql/test_ddl_triggers.sql @@ -3,6 +3,9 @@ -- Set user quota to infinite SELECT CDB_SetUserQuotaInBytes(0); +-- Enable ddl triggers +SELECT cartodb.cdb_enable_ddl_hooks(); + create schema c; CREATE USER cartodb_postgresql_unpriv_user;