$$\r
DECLARE\r
result norm_addy;\r
- rec RECORD;\r
+ var_rec RECORD;\r
+ var_parse_rec RECORD;\r
rawInput VARCHAR;\r
\r
BEGIN\r
result.parsed := FALSE;\r
\r
rawInput := trim(in_rawinput);\r
+ var_parse_rec := parse_address(rawInput);\r
+ result.location := var_parse_rec.city;\r
+ result.stateAbbrev := trim(var_parse_rec.state);\r
+ result.zip := var_parse_rec.zip;\r
\r
- 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
+ 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(address1,'')) || '::text As micro, \r
- ' || quote_literal(COALESCE(city || ', ','') || COALESCE(state || ' ', '') || COALESCE(zip,'')) || '::text As macro') As pagc_addr\r
- FROM (SELECT * FROM parse_address(rawInput) ) As a ) ;\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
-- 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(rec.house_num, '[0-9]+'), '99999999999');\r
+ result.address := to_number(substring(var_rec.house_num, '[0-9]+'), '99999999999');\r
--get rid of extraneous spaces before we return\r
- result.zip := rec.postcode;\r
- result.streetName := trim(rec.name);\r
- result.location := trim(rec.city);\r
- result.stateAbbrev := trim(rec.state);\r
+ --result.zip := var_rec.postcode;\r
+ result.streetName := trim(var_rec.name);\r
+ --result.location := trim(var_rec.city);\r
+ --result.stateAbbrev := trim(rec.state);\r
--this should be broken out separately like pagc, but normalizer doesn't have a slot for it\r
- result.streettypeAbbrev := trim(COALESCE(rec.suftype, rec.pretype)); \r
- result.preDirAbbrev := trim(rec.predir);\r
- result.postDirAbbrev := trim(rec.sufdir);\r
- result.internal := trim(rec.unit);\r
+ result.streettypeAbbrev := trim(COALESCE(var_rec.suftype, var_rec.pretype)); \r
+ result.preDirAbbrev := trim(var_rec.predir);\r
+ result.postDirAbbrev := trim(var_rec.sufdir);\r
+ result.internal := trim(var_rec.unit);\r
result.parsed := TRUE;\r
RETURN result;\r
END\r