]> granicus.if.org Git - postgis/commitdiff
more speed optimizations
authorRegina Obe <lr@pcorp.us>
Sun, 5 Jun 2011 07:35:14 +0000 (07:35 +0000)
committerRegina Obe <lr@pcorp.us>
Sun, 5 Jun 2011 07:35:14 +0000 (07:35 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@7323 b70326c6-7e19-0410-871a-916f4a2858ee

extras/tiger_geocoder/tiger_2010/geocode/geocode_address.sql
extras/tiger_geocoder/tiger_2010/geocode/interpolate_from_address.sql
extras/tiger_geocoder/tiger_2010/geocode/rate_attributes.sql

index 27e6d13a015c51ae0d9b1804a23257d761c8089d..7fe3b883a2dd9c7d5ae5237dfa6bad2e60585423 100644 (file)
@@ -78,8 +78,8 @@ BEGIN
          || '            THEN 2'
          || '        ELSE'
          || '            ((1.0 - '
-         ||              '(least(' || coalesce(quote_literal(parsed.address || '.0'),'NULL') || '::numeric,to_number(b.fromhn,''99999999''),to_number(b.tohn,''99999999'')) /'
-         ||              ' greatest(' || coalesce(quote_literal(parsed.address || '.0'),'NULL') || '::numeric,to_number(b.fromhn,''99999999''),to_number(b.tohn,''99999999'')))'
+         ||              '(least_hn(' || coalesce(quote_literal(parsed.address || '.0'),'NULL') || ',least_hn(b.fromhn,b.tohn)::text) /'
+         ||              ' greatest_hn(' || coalesce(quote_literal(parsed.address || '.0'),'NULL') || ',greatest_hn(b.fromhn,b.tohn)::text))'
          ||              ') * 5)::integer + 5'
          || '        END'
          || '    as sub_rating,'
index e0fc434742c7355c50d8a453ce74f95f70eaa4d5..9537cb444d553ba8de477f8041117088e52e9e65 100644 (file)
@@ -55,4 +55,4 @@ BEGIN
     result = ST_Line_Interpolate_Point(road, part);
     RETURN result;
 END;
-$_$ LANGUAGE plpgsql IMMUTABLE COST 100;
+$_$ LANGUAGE plpgsql IMMUTABLE COST 10;
index 54e9debbfe7b124b5b78857fa3d72a7959f81b8e..187ac4a9314fbd3cb44747b139c059bbc6a99e38 100644 (file)
@@ -24,7 +24,7 @@ BEGIN
   result := result + rate_attributes($1, $2, $3, $4, $5, $6, $7, $8);
   RETURN result;
 END;
-$_$ LANGUAGE plpgsql;
+$_$ LANGUAGE plpgsql IMMUTABLE;
 
 -- rate_attributes(dirpA, dirpB, streetNameA, streetNameB, streetTypeA,
 -- streetTypeB, dirsA, dirsB)
@@ -57,4 +57,4 @@ BEGIN
       directionWeight;
   return result;
 END;
-$_$ LANGUAGE plpgsql STABLE COST 10;
+$_$ LANGUAGE plpgsql IMMUTABLE;