]> granicus.if.org Git - postgis/commitdiff
revise function s so lookup zip utilizes constraint exclusion
authorRegina Obe <lr@pcorp.us>
Sun, 5 Jun 2011 07:07:40 +0000 (07:07 +0000)
committerRegina Obe <lr@pcorp.us>
Sun, 5 Jun 2011 07:07:40 +0000 (07:07 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@7322 b70326c6-7e19-0410-871a-916f4a2858ee

extras/tiger_geocoder/tiger_2010/geocode/geocode_address.sql

index 56e99d5b1ef7e7d0f86b6e0a7b9ebff04054a251..27e6d13a015c51ae0d9b1804a23257d761c8089d 100644 (file)
@@ -101,7 +101,7 @@ BEGIN
          || '  JOIN edges e ON (' || quote_literal(zip_info.statefp) || ' = e.statefp AND sub.tlid = e.tlid)'
          || '  JOIN state s ON (' || quote_literal(zip_info.statefp) || ' = s.statefp)'
          || '  JOIN faces f ON (' || quote_literal(zip_info.statefp) || ' = f.statefp AND (e.tfidl = f.tfid OR e.tfidr = f.tfid))'
-         || '  LEFT JOIN zip_lookup_base zip ON (sub.zip = zip.zip)'
+         || '  LEFT JOIN zip_lookup_base zip ON (sub.zip = zip.zip AND zip.statefp=' || quote_literal(zip_info.statefp) || ')'
          || '  LEFT JOIN place p ON (' || quote_literal(zip_info.statefp) || ' = p.statefp AND f.placefp = p.placefp)'
          || '  LEFT JOIN county co ON (' || quote_literal(zip_info.statefp) || ' = co.statefp AND f.countyfp = co.countyfp)'
          || '  LEFT JOIN cousub cs ON (' || quote_literal(zip_info.statefp) || ' = cs.statefp AND cs.cosbidfp = sub.statefp || co.countyfp || f.cousubfp)'