]> granicus.if.org Git - postgis/commitdiff
#2260: revise to use new API structure of pagc standardizer
authorRegina Obe <lr@pcorp.us>
Thu, 25 Apr 2013 10:07:00 +0000 (10:07 +0000)
committerRegina Obe <lr@pcorp.us>
Thu, 25 Apr 2013 10:07:00 +0000 (10:07 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@11324 b70326c6-7e19-0410-871a-916f4a2858ee

extras/tiger_geocoder/tiger_2011/pagc_normalize/pagc_normalize_address.sql
extras/tiger_geocoder/tiger_2011/pagc_normalize/pagc_tables.sql

index b2ac33e419d90c2f91827195fe6b02e1fb41cc8f..98f7e46f5aec7e69ca35f30a41e4fe666a1ae284 100644 (file)
@@ -26,11 +26,12 @@ BEGIN
   result.stateAbbrev := trim(var_parse_rec.state);\r
   result.zip := var_parse_rec.zip;\r
 \r
-  var_rec := (SELECT standardize_address( 'select seq, word::text, stdword::text, token from tiger.pagc_gaz union all select seq, word::text, stdword::text, token from tiger.pagc_lex '\r
-       , 'select seq, word::text, stdword::text, token from tiger.pagc_gaz order by id'\r
-       , 'select * from tiger.pagc_rules order by id'\r
-, 'select 0::int4 as id, ' || quote_literal(COALESCE(var_parse_rec.address1,'')) || '::text As micro, \r
-   ' || quote_literal(COALESCE(var_parse_rec.city || ', ','') || COALESCE(var_parse_rec.state || ' ', '') || COALESCE(var_parse_rec.zip,'')) || '::text As macro') As pagc_addr ) ;\r
+ var_rec := standardize_address('pagc_lex'\r
+       , 'pagc_gaz'\r
+       , 'pagc_rules'\r
+, COALESCE(var_parse_rec.address1,''), \r
+   COALESCE(var_parse_rec.city || ', ','') || COALESCE(var_parse_rec.state || ' ', '') || COALESCE(var_parse_rec.zip,'') ) ;\r
\r
  -- For address number only put numbers and stop if reach a non-number e.g. 123-456 will return 123\r
   result.address := to_number(substring(var_rec.house_num, '[0-9]+'), '99999999999');\r
    --get rid of extraneous spaces before we return\r
index df24a95b3403777ccf6df7a4875a39aac3c6f666..c9356236296a05809dddf646612bcdd3d2ac2d16 100644 (file)
@@ -21,6 +21,13 @@ BEGIN
                CREATE TABLE pagc_rules (id serial NOT NULL primary key,rule text);
                GRANT SELECT ON pagc_rules TO public;
        END IF;
+       IF NOT EXISTS(SELECT table_name FROM information_schema.columns WHERE table_schema = 'tiger' AND table_name = 'pagc_gaz' AND data_type='text')  THEN
+       -- its probably old table structure change type of lex and gaz columns
+               ALTER TABLE tiger.pagc_lex ALTER COLUMN word TYPE text;
+               ALTER TABLE tiger.pagc_lex ALTER COLUMN stdword TYPE text;
+               ALTER TABLE tiger.pagc_gaz ALTER COLUMN word TYPE text;
+               ALTER TABLE tiger.pagc_gaz ALTER COLUMN stdword TYPE text;
+       END IF;
 END;
 $$
 language plpgsql;