fix performance regression on getboundariesbygeometry, where pct overlap was being unnecessarily calculated
This commit is contained in:
@@ -585,9 +585,9 @@ BEGIN
|
||||
SELECT
|
||||
String_Agg(DISTINCT
|
||||
CASE
|
||||
WHEN numer_id IS NULL THEN ''
|
||||
WHEN $2 = 'ST_Point' THEN
|
||||
'1 AS pct_' || geom_tablename ||
|
||||
', ' || geom_tablename || '.' || geom_colname || ' AS geom_' || geom_tablename
|
||||
'1 AS pct_' || geom_tablename || ', '
|
||||
ELSE
|
||||
'CASE WHEN ST_Within(_geoms.geom, ' || geom_tablename || '.' || geom_colname || ') ' ||
|
||||
' THEN ST_Area(_geoms.geom) / Nullif(ST_Area(' || geom_tablename || '.' || geom_colname || '), 0)' ||
|
||||
@@ -596,9 +596,8 @@ BEGIN
|
||||
' ELSE ST_Area(cdb_observatory.safe_intersection(_geoms.geom, ' ||
|
||||
geom_tablename || '.' || geom_colname || ')) / ' ||
|
||||
'Nullif(ST_Area(' || geom_tablename || '.' || geom_colname || '), 0) ' ||
|
||||
'END pct_' || geom_tablename ||
|
||||
', ' || geom_tablename || '.' || geom_colname || ' AS geom_' || geom_tablename
|
||||
END
|
||||
'END pct_' || geom_tablename || ', '
|
||||
END || geom_tablename || '.' || geom_colname || ' AS geom_' || geom_tablename
|
||||
, ', ') AS geom_colspecs,
|
||||
String_Agg(DISTINCT 'observatory.' || geom_tablename, ', ') AS geom_tables,
|
||||
String_Agg(
|
||||
|
||||
Reference in New Issue
Block a user