From 4d60a211de3470d245f8a72356cadf59e657ebe8 Mon Sep 17 00:00:00 2001 From: Andy Eschbacher Date: Wed, 11 May 2016 13:37:40 -0400 Subject: [PATCH 1/4] fixes timespan mis-naming issue --- src/pg/sql/42_observatory_exploration.sql | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pg/sql/42_observatory_exploration.sql b/src/pg/sql/42_observatory_exploration.sql index 338298e..e0ab8ef 100644 --- a/src/pg/sql/42_observatory_exploration.sql +++ b/src/pg/sql/42_observatory_exploration.sql @@ -89,14 +89,15 @@ DECLARE timespan_query TEXT DEFAULT ''; BEGIN - IF time_span != null THEN - timespan_query = format('AND timespan = %L', time_span); + IF timespan != NULL + THEN + timespan_query = format('AND timespan = %L', timespan); END IF; RETURN QUERY EXECUTE $string$ - select + SELECT column_id, obs_column.description, timespan, @@ -109,11 +110,10 @@ BEGIN observatory.OBS_column_table.column_id = observatory.obs_column.id AND observatory.OBS_column_table.table_id = observatory.obs_table.id AND - observatory.OBS_column.type='Geometry' + observatory.OBS_column.type = 'Geometry' AND $1 && bounds::box2d $string$ || timespan_query - USING geom - RETURN; + USING geom; END $$ LANGUAGE plpgsql; From a6c395e3befeb2493f2556454d78d568946dc227 Mon Sep 17 00:00:00 2001 From: Andy Eschbacher Date: Thu, 12 May 2016 08:03:06 -0400 Subject: [PATCH 2/4] remove hard-coded geoid from getgeometryid --- src/pg/sql/44_observatory_geometries.sql | 25 ++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/pg/sql/44_observatory_geometries.sql b/src/pg/sql/44_observatory_geometries.sql index 27459a6..783d9af 100644 --- a/src/pg/sql/44_observatory_geometries.sql +++ b/src/pg/sql/44_observatory_geometries.sql @@ -113,6 +113,7 @@ AS $$ DECLARE output_id text; target_table text; + geoid_colname text; BEGIN -- If not point, raise error @@ -139,21 +140,33 @@ BEGIN LIMIT 1; END IF; - -- if no tables are found, raise error + -- if no tables are found, raise notice and return null IF target_table IS NULL THEN RAISE NOTICE 'Error: No boundaries found for ''%''', boundary_id; RETURN NULL::text; END IF; - RAISE NOTICE 'target_table: %', target_table; + EXECUTE + format('SELECT ct.colname + FROM observatory.obs_column_to_column c2c, + observatory.obs_column_table ct, + observatory.obs_table t + WHERE c2c.reltype = ''geom_ref'' + AND ct.column_id = c2c.source_id + AND ct.table_id = t.id + AND t.tablename = %L' + , target_table) + INTO geoid_colname; + + RAISE NOTICE 'target_table: %, geoid_colname: %', target_table, geoid_colname; -- return name of geometry id column EXECUTE format( - 'SELECT t.geoid - FROM observatory.%s As t - WHERE ST_Intersects($1, t.the_geom) - LIMIT 1', target_table) + 'SELECT %I + FROM observatory.%I + WHERE ST_Intersects($1, the_geom) + LIMIT 1', geoid_colname, target_table) INTO output_id USING geom; From 9a7c0885bf4eec34504d8c7b5de7a05839f9a83b Mon Sep 17 00:00:00 2001 From: Andy Eschbacher Date: Thu, 12 May 2016 08:08:13 -0400 Subject: [PATCH 3/4] remove words error when it's a notice --- src/pg/sql/44_observatory_geometries.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pg/sql/44_observatory_geometries.sql b/src/pg/sql/44_observatory_geometries.sql index 783d9af..f4a350f 100644 --- a/src/pg/sql/44_observatory_geometries.sql +++ b/src/pg/sql/44_observatory_geometries.sql @@ -143,7 +143,7 @@ BEGIN -- if no tables are found, raise notice and return null IF target_table IS NULL THEN - RAISE NOTICE 'Error: No boundaries found for ''%''', boundary_id; + RAISE NOTICE 'No boundaries found for ''%''', boundary_id; RETURN NULL::text; END IF; From ebb2af249be9576b553bf4bb8ec1b49d29e519d9 Mon Sep 17 00:00:00 2001 From: Andy Eschbacher Date: Thu, 12 May 2016 08:31:20 -0400 Subject: [PATCH 4/4] adding back missing return; --- src/pg/sql/42_observatory_exploration.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pg/sql/42_observatory_exploration.sql b/src/pg/sql/42_observatory_exploration.sql index e0ab8ef..9dfc866 100644 --- a/src/pg/sql/42_observatory_exploration.sql +++ b/src/pg/sql/42_observatory_exploration.sql @@ -115,5 +115,6 @@ BEGIN $1 && bounds::box2d $string$ || timespan_query USING geom; + RETURN; END $$ LANGUAGE plpgsql;