From 064b26ccd327bf079a9d25f9ed2fe79c2c742bae Mon Sep 17 00:00:00 2001 From: Raul Ochoa Date: Fri, 1 Jul 2016 12:13:31 +0200 Subject: [PATCH 1/5] Add some extra fields to cdb_analysis_catalog table Track user, error_message for failures, and last entity modifying the node. --- scripts-available/CDB_AnalysisCatalog.sql | 35 ++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/scripts-available/CDB_AnalysisCatalog.sql b/scripts-available/CDB_AnalysisCatalog.sql index 6831e30..a8dd162 100644 --- a/scripts-available/CDB_AnalysisCatalog.sql +++ b/scripts-available/CDB_AnalysisCatalog.sql @@ -1,6 +1,7 @@ -- Table to register analysis nodes from https://github.com/cartodb/camshaft CREATE TABLE IF NOT EXISTS cartodb.cdb_analysis_catalog ( + username text, -- md5 hex hash node_id char(40) CONSTRAINT cdb_analysis_catalog_pkey PRIMARY KEY, -- being json allows to do queries like analysis_def->>'type' = 'buffer' @@ -20,5 +21,37 @@ cartodb.cdb_analysis_catalog ( -- should register the number of times the node was used hits NUMERIC DEFAULT 0, -- should register what was the last node using current node - last_used_from char(40) + last_used_from char(40), + last_modified_by uuid, + error_message text ); + +DO LANGUAGE 'plpgsql' $$ + BEGIN + BEGIN + ALTER TABLE cartodb.cdb_analysis_catalog ADD COLUMN username text; + EXCEPTION + WHEN duplicate_column THEN RAISE NOTICE 'column already exists in .'; + END; + END; +$$; + +DO LANGUAGE 'plpgsql' $$ + BEGIN + BEGIN + ALTER TABLE cartodb.cdb_analysis_catalog ADD COLUMN last_modified_by uuid; + EXCEPTION + WHEN duplicate_column THEN RAISE NOTICE 'column already exists in .'; + END; + END; +$$; + +DO LANGUAGE 'plpgsql' $$ + BEGIN + BEGIN + ALTER TABLE cartodb.cdb_analysis_catalog ADD COLUMN error_message text; + EXCEPTION + WHEN duplicate_column THEN RAISE NOTICE 'column already exists in .'; + END; + END; +$$; From 89e991aae9e5d69ee3297ea35b6f4b0222acf9b3 Mon Sep 17 00:00:00 2001 From: Raul Ochoa Date: Fri, 1 Jul 2016 12:24:44 +0200 Subject: [PATCH 2/5] Document new fields --- scripts-available/CDB_AnalysisCatalog.sql | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts-available/CDB_AnalysisCatalog.sql b/scripts-available/CDB_AnalysisCatalog.sql index a8dd162..9840436 100644 --- a/scripts-available/CDB_AnalysisCatalog.sql +++ b/scripts-available/CDB_AnalysisCatalog.sql @@ -1,6 +1,7 @@ -- Table to register analysis nodes from https://github.com/cartodb/camshaft CREATE TABLE IF NOT EXISTS cartodb.cdb_analysis_catalog ( + -- useful for multi account deployments username text, -- md5 hex hash node_id char(40) CONSTRAINT cdb_analysis_catalog_pkey PRIMARY KEY, @@ -22,7 +23,9 @@ cartodb.cdb_analysis_catalog ( hits NUMERIC DEFAULT 0, -- should register what was the last node using current node last_used_from char(40), + -- last job modifying the node last_modified_by uuid, + -- store error message for failures error_message text ); From 15a8876d067d326fb3204dca5ae8e8db35a7fc15 Mon Sep 17 00:00:00 2001 From: Raul Ochoa Date: Fri, 1 Jul 2016 12:25:05 +0200 Subject: [PATCH 3/5] Rename to last_* pattern --- scripts-available/CDB_AnalysisCatalog.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts-available/CDB_AnalysisCatalog.sql b/scripts-available/CDB_AnalysisCatalog.sql index 9840436..7c0303e 100644 --- a/scripts-available/CDB_AnalysisCatalog.sql +++ b/scripts-available/CDB_AnalysisCatalog.sql @@ -26,7 +26,7 @@ cartodb.cdb_analysis_catalog ( -- last job modifying the node last_modified_by uuid, -- store error message for failures - error_message text + last_error_message text ); DO LANGUAGE 'plpgsql' $$ @@ -52,9 +52,9 @@ $$; DO LANGUAGE 'plpgsql' $$ BEGIN BEGIN - ALTER TABLE cartodb.cdb_analysis_catalog ADD COLUMN error_message text; + ALTER TABLE cartodb.cdb_analysis_catalog ADD COLUMN last_error_message text; EXCEPTION - WHEN duplicate_column THEN RAISE NOTICE 'column already exists in .'; + WHEN duplicate_column THEN RAISE NOTICE 'column already exists in .'; END; END; $$; From c96bf7c7d559335f8cf76fcf6a8357e7fd98038b Mon Sep 17 00:00:00 2001 From: Raul Ochoa Date: Fri, 1 Jul 2016 12:34:40 +0200 Subject: [PATCH 4/5] Do not use plpgsql language --- scripts-available/CDB_AnalysisCatalog.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts-available/CDB_AnalysisCatalog.sql b/scripts-available/CDB_AnalysisCatalog.sql index 7c0303e..3d1d7a5 100644 --- a/scripts-available/CDB_AnalysisCatalog.sql +++ b/scripts-available/CDB_AnalysisCatalog.sql @@ -29,7 +29,7 @@ cartodb.cdb_analysis_catalog ( last_error_message text ); -DO LANGUAGE 'plpgsql' $$ +DO $$ BEGIN BEGIN ALTER TABLE cartodb.cdb_analysis_catalog ADD COLUMN username text; @@ -39,7 +39,7 @@ DO LANGUAGE 'plpgsql' $$ END; $$; -DO LANGUAGE 'plpgsql' $$ +DO $$ BEGIN BEGIN ALTER TABLE cartodb.cdb_analysis_catalog ADD COLUMN last_modified_by uuid; @@ -49,7 +49,7 @@ DO LANGUAGE 'plpgsql' $$ END; $$; -DO LANGUAGE 'plpgsql' $$ +DO $$ BEGIN BEGIN ALTER TABLE cartodb.cdb_analysis_catalog ADD COLUMN last_error_message text; From 2b24390a8a26abdbab00df7452e6ee0860000d8c Mon Sep 17 00:00:00 2001 From: Raul Ochoa Date: Fri, 1 Jul 2016 12:56:44 +0200 Subject: [PATCH 5/5] Do not raise anything on existing columns --- scripts-available/CDB_AnalysisCatalog.sql | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/scripts-available/CDB_AnalysisCatalog.sql b/scripts-available/CDB_AnalysisCatalog.sql index 3d1d7a5..8dbd0b0 100644 --- a/scripts-available/CDB_AnalysisCatalog.sql +++ b/scripts-available/CDB_AnalysisCatalog.sql @@ -34,8 +34,7 @@ DO $$ BEGIN ALTER TABLE cartodb.cdb_analysis_catalog ADD COLUMN username text; EXCEPTION - WHEN duplicate_column THEN RAISE NOTICE 'column already exists in .'; - END; + WHEN duplicate_column THEN END; END; $$; @@ -44,8 +43,7 @@ DO $$ BEGIN ALTER TABLE cartodb.cdb_analysis_catalog ADD COLUMN last_modified_by uuid; EXCEPTION - WHEN duplicate_column THEN RAISE NOTICE 'column already exists in .'; - END; + WHEN duplicate_column THEN END; END; $$; @@ -54,7 +52,6 @@ DO $$ BEGIN ALTER TABLE cartodb.cdb_analysis_catalog ADD COLUMN last_error_message text; EXCEPTION - WHEN duplicate_column THEN RAISE NOTICE 'column already exists in .'; - END; + WHEN duplicate_column THEN END; END; $$;