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
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;