]> granicus.if.org Git - postgis/commitdiff
Put in costing and make most of the functions either STABLE or IMMUTABLE. We were...
authorRegina Obe <lr@pcorp.us>
Sun, 8 May 2011 16:36:55 +0000 (16:36 +0000)
committerRegina Obe <lr@pcorp.us>
Sun, 8 May 2011 16:36:55 +0000 (16:36 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@7111 b70326c6-7e19-0410-871a-916f4a2858ee

extras/tiger_geocoder/tiger_2010/README
extras/tiger_geocoder/tiger_2010/create_geocode.sql
extras/tiger_geocoder/tiger_2010/geocode/geocode.sql
extras/tiger_geocoder/tiger_2010/geocode/geocode_address.sql
extras/tiger_geocoder/tiger_2010/geocode/geocode_location.sql
extras/tiger_geocoder/tiger_2010/geocode/includes_address.sql
extras/tiger_geocoder/tiger_2010/geocode/interpolate_from_address.sql
extras/tiger_geocoder/tiger_2010/geocode/rate_attributes.sql

index bfffe67cff635d43545164667372b360a6a9b02d..17939ec3e5f6a660194d91829531dfc34dca83a5 100644 (file)
@@ -48,3 +48,8 @@ SELECT g.rating,
        ST_X(geomout) As lon, \r
        ST_Y(geomout) As lat, (addy).* \r
 FROM geocode('1731 New Hampshire Avenue Northwest, Washington, DC 20010') As g;\r
+\r
+Steps to upgrade your install:\r
+If you need to upgrade the geocoder -- run the create_geocode.sql.  \r
+CAUTION: The upgrade script will drop any table columns that have a norm_addy type for a column type.  This is rarely if ever done so you should be fine.\r
+We plan to fix this later.
\ No newline at end of file
index cfc2cfcd1a97ad2ce625b5b58dff4fdfdfd09835..42d32712dc4af7bc116e4700afbee2526c1320ed 100644 (file)
@@ -4,6 +4,8 @@
 SET search_path TO tiger,public;
 BEGIN;
 -- Type used to pass around a normalized address between functions
+-- This is s bit dangerous since it could potentially drop peoples tables
+-- TODO: put in logic to check if any tables have norm_addy and don't drop if they do
 DROP TYPE IF EXISTS norm_addy CASCADE;
 CREATE TYPE norm_addy AS (
     address INTEGER,
index 0f20c910a3475ba15a29b8db41d97970ceb0ace9..e09170a79118978931832d7991f15b34f7054936 100644 (file)
@@ -33,7 +33,7 @@ BEGIN
   RETURN;
 
 END;
-$_$ LANGUAGE plpgsql;
+$_$ LANGUAGE plpgsql STABLE;
 
 
 CREATE OR REPLACE FUNCTION geocode(
@@ -124,4 +124,5 @@ BEGIN
   RETURN;
 
 END;
-$_$ LANGUAGE plpgsql;
+$_$ LANGUAGE plpgsql STABLE
+  COST 1000;
index 228e5e9547f6ea1093ce044c0a8edba8944fe66d..e55bc96c19ea957d6108f6072add3c7a40bcf496 100644 (file)
@@ -157,6 +157,6 @@ BEGIN
   RETURN;
 END;
 $$
-  LANGUAGE 'plpgsql' VOLATILE;
+  LANGUAGE 'plpgsql' STABLE COST 1000;
 
 
index 2fe4a51740a9a7310906a2b06453f494485bb4c1..d6ae4a66947df0ece53c1072143e966100dd9641 100644 (file)
@@ -81,4 +81,4 @@ BEGIN
   RETURN;
 
 END;
-$_$ LANGUAGE plpgsql;
+$_$ LANGUAGE plpgsql STABLE COST 100;
index 5244ec86d7113ce9d3792bd8fab21e7b11440519..ba561e1d97424874822b37b823b7d27ab2ea17b0 100644 (file)
@@ -91,4 +91,4 @@ BEGIN
   -- The address is not within the range
   RETURN FALSE;
 END;
-$_$ LANGUAGE plpgsql;
+$_$ LANGUAGE plpgsql IMMUTABLE COST 100;
index 024f96e58d1037ad0bb0ee250367169c8e502b5b..e0fc434742c7355c50d8a453ce74f95f70eaa4d5 100644 (file)
@@ -12,7 +12,7 @@ BEGIN
   result = interpolate_from_address(given_address, addr1, addr2, road);
   RETURN result;
 END
-$_$ LANGUAGE plpgsql;
+$_$ LANGUAGE plpgsql IMMUTABLE COST 100;
 
 -- interpolate_from_address(local_address, from_address_l, to_address_l, from_address_r, to_address_r, local_road)
 -- This function returns a point along the given geometry (must be linestring)
@@ -55,4 +55,4 @@ BEGIN
     result = ST_Line_Interpolate_Point(road, part);
     RETURN result;
 END;
-$_$ LANGUAGE plpgsql;
+$_$ LANGUAGE plpgsql IMMUTABLE COST 100;
index 0e769beddc740c0b4664fc36a6cdbd2ad9646bfe..54e9debbfe7b124b5b78857fa3d72a7959f81b8e 100644 (file)
@@ -57,4 +57,4 @@ BEGIN
       directionWeight;
   return result;
 END;
-$_$ LANGUAGE plpgsql;
+$_$ LANGUAGE plpgsql STABLE COST 10;