]> granicus.if.org Git - postgis/commitdiff
Add add_search_path helper function and call it in install of postgis_tiger_geocoder...
authorRegina Obe <lr@pcorp.us>
Wed, 26 Dec 2012 13:44:51 +0000 (13:44 +0000)
committerRegina Obe <lr@pcorp.us>
Wed, 26 Dec 2012 13:44:51 +0000 (13:44 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@10934 b70326c6-7e19-0410-871a-916f4a2858ee

extensions/make_unpackaged.sql
extensions/postgis_extension_helper.sql
extensions/postgis_extension_helper_uninstall.sql
extensions/postgis_tiger_geocoder/Makefile.in
extensions/postgis_tiger_geocoder/sql_bits/add_search_path.sql.in [new file with mode: 0644]
extensions/postgis_tiger_geocoder/sql_bits/tiger_geocoder--unpackaged.sql.in

index e0e96eabd8f6711d0eebecd20a51438901314375..b21a248225fbef776160287fba9a5010b3ad181e 100644 (file)
@@ -18,4 +18,14 @@ WHERE d.refclassid = 'pg_catalog.pg_extension'::pg_catalog.regclass
 AND deptype = 'e' AND e.extname = 'postgis_topology'
 ORDER BY sqladd;
 
+-- for postgis tiger geocoder
+SELECT 'ALTER EXTENSION ' || extname || ' ADD ' || regexp_replace(
+    regexp_replace(pg_catalog.pg_describe_object(d.classid, d.objid, 0), E'cast from (.*) to (.*)', E'cast\(\\1 as \\2\)'),
+    E'(.*) for access method (.*)', E'\\1 using \\2') || ';' AS sqladd
+FROM pg_catalog.pg_depend AS d
+INNER JOIN pg_extension AS e ON (d.refobjid = e.oid)
+WHERE d.refclassid = 'pg_catalog.pg_extension'::pg_catalog.regclass
+AND deptype = 'e' AND e.extname = 'postgis_tiger_geocoder'
+ORDER BY sqladd;
+
 
index d47003a21a2935f4e84e10f434ebc58dedf7edd1..4f24a854e9fbdddf275262d908e2167aca578822 100644 (file)
@@ -80,3 +80,24 @@ BEGIN
 END;
 $$
 LANGUAGE plpgsql VOLATILE;
+
+CREATE OR REPLACE FUNCTION postgis_extension_AddToSearchPath(a_schema_name varchar)
+RETURNS text
+AS
+$$
+DECLARE
+       var_result text;
+       var_cur_search_path text;
+BEGIN
+       SELECT reset_val INTO var_cur_search_path FROM pg_settings WHERE name = 'search_path';
+       IF var_cur_search_path LIKE '%' || quote_ident(a_schema_name) || '%' THEN
+               var_result := a_schema_name || ' already in database search_path';
+       ELSE
+               EXECUTE 'ALTER DATABASE ' || quote_ident(current_database()) || ' SET search_path = ' || var_cur_search_path || ', ' || quote_ident(a_schema_name); 
+               var_result := a_schema_name || ' has been added to end of database search_path ';
+       END IF;
+  
+  RETURN var_result;
+END
+$$
+LANGUAGE 'plpgsql' VOLATILE STRICT;
index 8f92c6f8ed37eb9ce5cf2ab1014bbb7cf582a943..a2a5faecd1357b6ff0c604358987e08c0f70bccd 100644 (file)
@@ -15,4 +15,5 @@
 -- This drops extension helper functions
 -- and should be called at the end of the extension upgrade file
 DROP FUNCTION postgis_extension_remove_objects(text, text);
-DROP FUNCTION postgis_extension_drop_if_exists(text, text)
+DROP FUNCTION postgis_extension_drop_if_exists(text, text);
+DROP FUNCTION postgis_extension_AddToSearchPath(varchar);
index 7f0b1f345f569c8a38df883b9321f84f752193b2..3d6d19fa41687805ddcbfcc8a9569fd42219ef9b 100644 (file)
@@ -98,12 +98,18 @@ sql_bits/tiger_geocoder.sql.in: sql_bits/norm_addy_create.sql.in \
        ../../extras/tiger_geocoder/tiger_2011/geocode/geocode.sql \
        ../../extras/tiger_geocoder/tiger_2011/geocode/reverse_geocode.sql \
        ../../extras/tiger_geocoder/tiger_2011/geocode/census_tracts_functions.sql \
-       ../../extras/tiger_geocoder/tiger_2011/topology/tiger_topology_loader.sql
+       ../../extras/tiger_geocoder/tiger_2011/topology/tiger_topology_loader.sql \
+       ../postgis_extension_helper.sql \
+       sql_bits/add_search_path.sql \
+       ../postgis_extension_helper_uninstall.sql 
        cat $^ > $@
        
 sql_bits/tiger_geocoder.sql: sql_bits/tiger_geocoder.sql.in
        sed -e 's/BEGIN;//g' -e 's/COMMIT;//g' -e '/^CREATE SCHEMA/d;'  $< > $@
        
+sql_bits/add_search_path.sql: sql_bits/add_search_path.sql.in
+       cp $< $@
+       
 ../../doc/tiger_geocoder_comments.sql:
        $(MAKE) -C ../../doc comments
        
diff --git a/extensions/postgis_tiger_geocoder/sql_bits/add_search_path.sql.in b/extensions/postgis_tiger_geocoder/sql_bits/add_search_path.sql.in
new file mode 100644 (file)
index 0000000..680333f
--- /dev/null
@@ -0,0 +1,19 @@
+-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\r
+-- \r
+-- $Id$\r
+----\r
+-- PostGIS - Spatial Types for PostgreSQL\r
+-- http://postgis.net\r
+--\r
+-- Copyright (C) 2012 Regina Obe <lr@pcorp.us>\r
+--\r
+-- This is free software; you can redistribute and/or modify it under\r
+-- the terms of the GNU General Public Licence. See the COPYING file.\r
+--\r
+-- Author: Regina Obe <lr@pcorp.us>\r
+--  \r
+-- This adds the tiger schema to search path\r
+-- Functions in tiger are not schema qualified \r
+-- so this is needed for them to work\r
+\r
+SELECT postgis_extension_AddToSearchPath('tiger');\r
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8063a8cb800003356eb5a57fd4d0852896e6218d 100644 (file)
@@ -0,0 +1,87 @@
+ALTER EXTENSION postgis_tiger_geocoder ADD function count_words(character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function create_census_base_tables();\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function cull_null(character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function diff_zip(character varying,character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function drop_dupe_featnames_generate_script();\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function drop_indexes_generate_script(text);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function drop_nation_tables_generate_script(text);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function drop_state_tables_generate_script(text,text);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function end_soundex(character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function geocode(character varying,integer,geometry);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function geocode(norm_addy,integer,geometry);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function geocode_address(norm_addy,integer,geometry);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function geocode_intersection(text,text,text,text,text,integer);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function geocode_location(norm_addy,geometry);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function get_geocode_setting(text);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function get_last_words(character varying,integer);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function get_tract(geometry,text);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function greatest_hn(character varying,character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function includes_address(integer,integer,integer,integer,integer);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function install_geocode_settings();\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function install_missing_indexes();\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function interpolate_from_address(integer,character varying,character varying,geometry,character varying,double precision);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function is_pretype(text);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function least_hn(character varying,character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function levenshtein_ignore_case(character varying,character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function loader_generate_census_script(text[],text);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function loader_generate_nation_script(text);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function loader_generate_script(text[],text);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function loader_load_staged_data(text,text);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function loader_load_staged_data(text,text,text[]);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function loader_macro_replace(text,text[],text[]);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function location_extract(character varying,character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function location_extract_countysub_exact(character varying,character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function location_extract_countysub_fuzzy(character varying,character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function location_extract_place_exact(character varying,character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function location_extract_place_fuzzy(character varying,character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function missing_indexes_generate_script();\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function normalize_address(character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function nullable_levenshtein(character varying,character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function numeric_streets_equal(character varying,character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function pprint_addy(norm_addy);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function rate_attributes(character varying,character varying,character varying,character varying,character varying,character varying,character varying,character varying,character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function rate_attributes(character varying,character varying,character varying,character varying,character varying,character varying,character varying,character varying,character varying,character varying,character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function reverse_geocode(geometry,boolean);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function set_geocode_setting(text,text);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function setsearchpathforinstall(character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function state_extract(character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function topology_load_tiger(character varying,character varying,character varying);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function utmzone(geometry);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD function zip_range(text,integer,integer);\r
+ALTER EXTENSION postgis_tiger_geocoder ADD sequence addr_gid_seq;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD sequence addrfeat_gid_seq;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD sequence county_gid_seq;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD sequence cousub_gid_seq;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD sequence edges_gid_seq;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD sequence faces_gid_seq;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD sequence featnames_gid_seq;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD sequence place_gid_seq;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD sequence state_gid_seq;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD sequence zcta5_gid_seq;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table addr;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table addrfeat;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table county;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table county_lookup;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table countysub_lookup;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table cousub;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table direction_lookup;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table edges;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table faces;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table featnames;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table geocode_settings;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table loader_lookuptables;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table loader_platform;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table loader_variables;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table place;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table place_lookup;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table secondary_unit_lookup;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table state;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table state_lookup;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table street_type_lookup;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table zcta5;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table zip_lookup;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table zip_lookup_all;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table zip_lookup_base;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table zip_state;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD table zip_state_loc;\r
+ALTER EXTENSION postgis_tiger_geocoder ADD type norm_addy;
\ No newline at end of file