From: maxious Date: Tue, 29 Nov 2011 11:52:50 +0000 Subject: Merge branch 'master' of github.com:maxious/ACTBus-ui X-Git-Url: http://maxious.lambdacomplex.org/git/?p=busui.git&a=commitdiff&h=41f2ec6cc9e4fadd923d045047239079a2634368 --- Merge branch 'master' of github.com:maxious/ACTBus-ui --- --- a/.box +++ /dev/null @@ -1,5 +1,1 @@ -shared_writable_dirs: - - /labs/tiles - - /lib/staticmaplite/cache -php_extensions: [pgsql, pdo, pdo_pgsql, curl] --- /dev/null +++ b/Boxfile @@ -1,1 +1,7 @@ +web1: + php_extensions: + - pgsql + - pdo + - pdo_pgsql + - curl --- a/about.php +++ b/about.php @@ -27,17 +27,20 @@ feed and this site available from github.
Uses jQuery Mobile, PHP, PostgreSQL, OpenTripPlanner, OpenLayers, OpenStreetMap, Cloudmade Geocoder and Tile Service
+ Suburb Geocoding Based on Australian Bureau of Statistics data.
+ Street geocoding based on work by OpenStreetMap contributors

Feedback encouraged; contact maxious@lambdacomplex.org

Some icons by Joseph Wain / glyphish.com
Native clients also available for iPhone(cbrTimetable by Sandor Kolotenko , ACT Buses by David Sullivan) - and Android (MyBus 2.0 by Imagine Team) + , Android (MyBus 2.0 by Imagine Team) + and Windows Phone 7 (TransHub Canberra by Soul Solutions) Other web clients include iTranzit.
- GTFS-realtime API; + GTFS-realtime API: Alerts and Trip Updates (but only Cancelled or Stop Skipped) - Default format binary but can get JSON by adding ?ascii=yes + Default format binary Protocol Buffer but can get JSON by adding ?ascii=yes

Disclaimer: The content of this website is of a general and informative nature. Please check with printed timetables or those available on http://action.act.gov.au before your trip. --- a/aws/busuidb.sh +++ b/aws/busuidb.sh @@ -11,4 +11,7 @@ #psql -d transitdata -c "GRANT SELECT,INSERT ON TABLE myway_observations,myway_routes,myway_stops,myway_timingdeltas TO transitdata;" #psql -d transitdata -c "GRANT SELECT,INSERT,UPDATE ON TABLE myway_routes,myway_stops TO transitdata;" ##psql -d transitdata -c "GRANT SELECT ON ALL TABLES IN SCHEMA public TO transitdata;" +## INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type") +##SELECT '', 'public', 'shapes', 'shape_pt', ST_CoordDim(shape_pt), ST_SRID(shape_pt), GeometryType(shape_pt) +##FROM shapes LIMIT 1; php /var/www/updatedb.php --- a/aws/busuiphp.sh +++ b/aws/busuiphp.sh @@ -1,20 +1,12 @@ cp /root/aws.php /tmp/ chmod 777 /var/cache/lighttpd/compress/ -mkdir /var/www/lib/staticmaplite/cache chcon -h system_u:object_r:httpd_sys_content_t /var/www chcon -R -h root:object_r:httpd_sys_content_t /var/www/* - -chcon -R -t httpd_sys_content_rw_t /var/www/lib/staticmaplite/cache -chmod -R 777 /var/www/lib/staticmaplite/cache chcon -R -t httpd_sys_content_rw_t /var/www/labs/tiles chmod -R 777 /var/www/labs/tiles -mkdir /var/www/lib/openid-php/oid_store -chcon -R -t httpd_sys_content_rw_t /var/www/lib/openid-php/oid_store -chmod -R 777 /var/www/lib/openid-php/oid_store - wget http://s3-ap-southeast-1.amazonaws.com/busresources/cbrfeed.zip \ -O /var/www/cbrfeed.zip --- /dev/null +++ b/aws/transitdata.sql @@ -1,1 +1,13723 @@ - +-- +-- PostgreSQL database dump +-- + +-- Dumped from database version 9.0.4 +-- Dumped by pg_dump version 9.0.4 +-- Started on 2011-10-11 23:16:11 + +SET statement_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = off; +SET check_function_bodies = false; +SET client_min_messages = warning; +SET escape_string_warning = off; + +-- +-- TOC entry 1168 (class 2612 OID 11574) +-- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: postgres +-- + +CREATE OR REPLACE PROCEDURAL LANGUAGE plpgsql; + + +ALTER PROCEDURAL LANGUAGE plpgsql OWNER TO postgres; + +SET search_path = public, pg_catalog; + +-- +-- TOC entry 1088 (class 0 OID 0) +-- Name: box2d; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE box2d; + + +-- +-- TOC entry 15 (class 1255 OID 18351) +-- Dependencies: 6 1088 +-- Name: box2d_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box2d_in(cstring) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_in'; + + +ALTER FUNCTION public.box2d_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 19 (class 1255 OID 18352) +-- Dependencies: 6 1088 +-- Name: box2d_out(box2d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box2d_out(box2d) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_out'; + + +ALTER FUNCTION public.box2d_out(box2d) OWNER TO postgres; + +-- +-- TOC entry 1087 (class 1247 OID 18350) +-- Dependencies: 6 15 19 +-- Name: box2d; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE box2d ( + INTERNALLENGTH = 16, + INPUT = box2d_in, + OUTPUT = box2d_out, + ALIGNMENT = int4, + STORAGE = plain +); + + +ALTER TYPE public.box2d OWNER TO postgres; + +-- +-- TOC entry 1091 (class 0 OID 0) +-- Name: box3d; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE box3d; + + +-- +-- TOC entry 20 (class 1255 OID 18355) +-- Dependencies: 6 1091 +-- Name: box3d_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box3d_in(cstring) RETURNS box3d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_in'; + + +ALTER FUNCTION public.box3d_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 21 (class 1255 OID 18356) +-- Dependencies: 6 1091 +-- Name: box3d_out(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box3d_out(box3d) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_out'; + + +ALTER FUNCTION public.box3d_out(box3d) OWNER TO postgres; + +-- +-- TOC entry 1090 (class 1247 OID 18354) +-- Dependencies: 6 21 20 +-- Name: box3d; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE box3d ( + INTERNALLENGTH = 48, + INPUT = box3d_in, + OUTPUT = box3d_out, + ALIGNMENT = double, + STORAGE = plain +); + + +ALTER TYPE public.box3d OWNER TO postgres; + +-- +-- TOC entry 1094 (class 0 OID 0) +-- Name: box3d_extent; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE box3d_extent; + + +-- +-- TOC entry 22 (class 1255 OID 18359) +-- Dependencies: 6 1094 +-- Name: box3d_extent_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box3d_extent_in(cstring) RETURNS box3d_extent + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_in'; + + +ALTER FUNCTION public.box3d_extent_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 23 (class 1255 OID 18360) +-- Dependencies: 6 1094 +-- Name: box3d_extent_out(box3d_extent); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box3d_extent_out(box3d_extent) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_extent_out'; + + +ALTER FUNCTION public.box3d_extent_out(box3d_extent) OWNER TO postgres; + +-- +-- TOC entry 1093 (class 1247 OID 18358) +-- Dependencies: 6 23 22 +-- Name: box3d_extent; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE box3d_extent ( + INTERNALLENGTH = 48, + INPUT = box3d_extent_in, + OUTPUT = box3d_extent_out, + ALIGNMENT = double, + STORAGE = plain +); + + +ALTER TYPE public.box3d_extent OWNER TO postgres; + +-- +-- TOC entry 1097 (class 0 OID 0) +-- Name: chip; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE chip; + + +-- +-- TOC entry 24 (class 1255 OID 18363) +-- Dependencies: 6 1097 +-- Name: chip_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION chip_in(cstring) RETURNS chip + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_in'; + + +ALTER FUNCTION public.chip_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 25 (class 1255 OID 18364) +-- Dependencies: 6 1097 +-- Name: chip_out(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION chip_out(chip) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_out'; + + +ALTER FUNCTION public.chip_out(chip) OWNER TO postgres; + +-- +-- TOC entry 1096 (class 1247 OID 18362) +-- Dependencies: 6 25 24 +-- Name: chip; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE chip ( + INTERNALLENGTH = variable, + INPUT = chip_in, + OUTPUT = chip_out, + ALIGNMENT = double, + STORAGE = extended +); + + +ALTER TYPE public.chip OWNER TO postgres; + +-- +-- TOC entry 1100 (class 0 OID 0) +-- Name: geography; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE geography; + + +-- +-- TOC entry 26 (class 1255 OID 18367) +-- Dependencies: 6 +-- Name: geography_analyze(internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_analyze(internal) RETURNS boolean + LANGUAGE c STRICT + AS '$libdir/postgis-1.5', 'geography_analyze'; + + +ALTER FUNCTION public.geography_analyze(internal) OWNER TO postgres; + +-- +-- TOC entry 27 (class 1255 OID 18368) +-- Dependencies: 6 1100 +-- Name: geography_in(cstring, oid, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_in(cstring, oid, integer) RETURNS geography + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_in'; + + +ALTER FUNCTION public.geography_in(cstring, oid, integer) OWNER TO postgres; + +-- +-- TOC entry 28 (class 1255 OID 18369) +-- Dependencies: 6 1100 +-- Name: geography_out(geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_out(geography) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_out'; + + +ALTER FUNCTION public.geography_out(geography) OWNER TO postgres; + +-- +-- TOC entry 29 (class 1255 OID 18370) +-- Dependencies: 6 +-- Name: geography_typmod_in(cstring[]); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_typmod_in(cstring[]) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_typmod_in'; + + +ALTER FUNCTION public.geography_typmod_in(cstring[]) OWNER TO postgres; + +-- +-- TOC entry 30 (class 1255 OID 18371) +-- Dependencies: 6 +-- Name: geography_typmod_out(integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geography_typmod_out(integer) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_typmod_out'; + + +ALTER FUNCTION public.geography_typmod_out(integer) OWNER TO postgres; + +-- +-- TOC entry 1099 (class 1247 OID 18366) +-- Dependencies: 26 6 27 28 29 30 +-- Name: geography; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE geography ( + INTERNALLENGTH = variable, + INPUT = geography_in, + OUTPUT = geography_out, + TYPMOD_IN = geography_typmod_in, + TYPMOD_OUT = geography_typmod_out, + ANALYZE = geography_analyze, + ALIGNMENT = double, + STORAGE = main +); + + +ALTER TYPE public.geography OWNER TO postgres; + +-- +-- TOC entry 1103 (class 0 OID 0) +-- Name: geometry; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE geometry; + + +-- +-- TOC entry 31 (class 1255 OID 18374) +-- Dependencies: 6 +-- Name: geometry_analyze(internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_analyze(internal) RETURNS boolean + LANGUAGE c STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_analyze'; + + +ALTER FUNCTION public.geometry_analyze(internal) OWNER TO postgres; + +-- +-- TOC entry 32 (class 1255 OID 18375) +-- Dependencies: 6 1103 +-- Name: geometry_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_in(cstring) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_in'; + + +ALTER FUNCTION public.geometry_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 33 (class 1255 OID 18376) +-- Dependencies: 6 1103 +-- Name: geometry_out(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_out(geometry) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_out'; + + +ALTER FUNCTION public.geometry_out(geometry) OWNER TO postgres; + +-- +-- TOC entry 34 (class 1255 OID 18377) +-- Dependencies: 6 1103 +-- Name: geometry_recv(internal); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_recv(internal) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_recv'; + + +ALTER FUNCTION public.geometry_recv(internal) OWNER TO postgres; + +-- +-- TOC entry 35 (class 1255 OID 18378) +-- Dependencies: 6 1103 +-- Name: geometry_send(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION geometry_send(geometry) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_send'; + + +ALTER FUNCTION public.geometry_send(geometry) OWNER TO postgres; + +-- +-- TOC entry 1102 (class 1247 OID 18373) +-- Dependencies: 33 34 35 31 6 32 +-- Name: geometry; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE geometry ( + INTERNALLENGTH = variable, + INPUT = geometry_in, + OUTPUT = geometry_out, + RECEIVE = geometry_recv, + SEND = geometry_send, + ANALYZE = geometry_analyze, + DELIMITER = ':', + ALIGNMENT = int4, + STORAGE = main +); + + +ALTER TYPE public.geometry OWNER TO postgres; + +-- +-- TOC entry 1105 (class 1247 OID 18382) +-- Dependencies: 6 2408 +-- Name: geometry_dump; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE geometry_dump AS ( + path integer[], + geom geometry +); + + +ALTER TYPE public.geometry_dump OWNER TO postgres; + +-- +-- TOC entry 1108 (class 0 OID 0) +-- Name: gidx; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE gidx; + + +-- +-- TOC entry 36 (class 1255 OID 18384) +-- Dependencies: 6 1108 +-- Name: gidx_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION gidx_in(cstring) RETURNS gidx + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'gidx_in'; + + +ALTER FUNCTION public.gidx_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 37 (class 1255 OID 18385) +-- Dependencies: 6 1108 +-- Name: gidx_out(gidx); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION gidx_out(gidx) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'gidx_out'; + + +ALTER FUNCTION public.gidx_out(gidx) OWNER TO postgres; + +-- +-- TOC entry 1107 (class 1247 OID 18383) +-- Dependencies: 37 36 6 +-- Name: gidx; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE gidx ( + INTERNALLENGTH = variable, + INPUT = gidx_in, + OUTPUT = gidx_out, + ALIGNMENT = double, + STORAGE = plain +); + + +ALTER TYPE public.gidx OWNER TO postgres; + +-- +-- TOC entry 1111 (class 0 OID 0) +-- Name: pgis_abs; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE pgis_abs; + + +-- +-- TOC entry 38 (class 1255 OID 18388) +-- Dependencies: 6 1111 +-- Name: pgis_abs_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION pgis_abs_in(cstring) RETURNS pgis_abs + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'pgis_abs_in'; + + +ALTER FUNCTION public.pgis_abs_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 39 (class 1255 OID 18389) +-- Dependencies: 6 1111 +-- Name: pgis_abs_out(pgis_abs); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION pgis_abs_out(pgis_abs) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'pgis_abs_out'; + + +ALTER FUNCTION public.pgis_abs_out(pgis_abs) OWNER TO postgres; + +-- +-- TOC entry 1110 (class 1247 OID 18387) +-- Dependencies: 38 6 39 +-- Name: pgis_abs; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE pgis_abs ( + INTERNALLENGTH = 8, + INPUT = pgis_abs_in, + OUTPUT = pgis_abs_out, + ALIGNMENT = double, + STORAGE = plain +); + + +ALTER TYPE public.pgis_abs OWNER TO postgres; + +-- +-- TOC entry 1114 (class 0 OID 0) +-- Name: spheroid; Type: SHELL TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE spheroid; + + +-- +-- TOC entry 40 (class 1255 OID 18392) +-- Dependencies: 6 1114 +-- Name: spheroid_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION spheroid_in(cstring) RETURNS spheroid + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'ellipsoid_in'; + + +ALTER FUNCTION public.spheroid_in(cstring) OWNER TO postgres; + +-- +-- TOC entry 41 (class 1255 OID 18393) +-- Dependencies: 6 1114 +-- Name: spheroid_out(spheroid); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION spheroid_out(spheroid) RETURNS cstring + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'ellipsoid_out'; + + +ALTER FUNCTION public.spheroid_out(spheroid) OWNER TO postgres; + +-- +-- TOC entry 1113 (class 1247 OID 18391) +-- Dependencies: 41 6 40 +-- Name: spheroid; Type: TYPE; Schema: public; Owner: postgres +-- + +CREATE TYPE spheroid ( + INTERNALLENGTH = 65, + INPUT = spheroid_in, + OUTPUT = spheroid_out, + ALIGNMENT = double, + STORAGE = plain +); + + +ALTER TYPE public.spheroid OWNER TO postgres; + +-- +-- TOC entry 42 (class 1255 OID 18395) +-- Dependencies: 6 1102 +-- Name: _st_asgeojson(integer, geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_asgeojson(integer, geometry, integer, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asGeoJson'; + + +ALTER FUNCTION public._st_asgeojson(integer, geometry, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 43 (class 1255 OID 18396) +-- Dependencies: 6 1099 +-- Name: _st_asgeojson(integer, geography, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_asgeojson(integer, geography, integer, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_as_geojson'; + + +ALTER FUNCTION public._st_asgeojson(integer, geography, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 44 (class 1255 OID 18397) +-- Dependencies: 6 1102 +-- Name: _st_asgml(integer, geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_asgml(integer, geometry, integer, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asGML'; + + +ALTER FUNCTION public._st_asgml(integer, geometry, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 45 (class 1255 OID 18398) +-- Dependencies: 6 1099 +-- Name: _st_asgml(integer, geography, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_asgml(integer, geography, integer, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_as_gml'; + + +ALTER FUNCTION public._st_asgml(integer, geography, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 46 (class 1255 OID 18399) +-- Dependencies: 1102 6 +-- Name: _st_askml(integer, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_askml(integer, geometry, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asKML'; + + +ALTER FUNCTION public._st_askml(integer, geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 47 (class 1255 OID 18400) +-- Dependencies: 6 1099 +-- Name: _st_askml(integer, geography, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_askml(integer, geography, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_as_kml'; + + +ALTER FUNCTION public._st_askml(integer, geography, integer) OWNER TO postgres; + +-- +-- TOC entry 49 (class 1255 OID 18402) +-- Dependencies: 1099 6 +-- Name: _st_bestsrid(geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_bestsrid(geography) RETURNS integer + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_BestSRID($1,$1)$_$; + + +ALTER FUNCTION public._st_bestsrid(geography) OWNER TO postgres; + +-- +-- TOC entry 48 (class 1255 OID 18401) +-- Dependencies: 6 1099 1099 +-- Name: _st_bestsrid(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_bestsrid(geography, geography) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_bestsrid'; + + +ALTER FUNCTION public._st_bestsrid(geography, geography) OWNER TO postgres; + +-- +-- TOC entry 50 (class 1255 OID 18403) +-- Dependencies: 1102 6 1102 +-- Name: _st_buffer(geometry, double precision, cstring); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_buffer(geometry, double precision, cstring) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'buffer'; + + +ALTER FUNCTION public._st_buffer(geometry, double precision, cstring) OWNER TO postgres; + +-- +-- TOC entry 51 (class 1255 OID 18404) +-- Dependencies: 6 1102 1102 +-- Name: _st_contains(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_contains(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'contains'; + + +ALTER FUNCTION public._st_contains(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 52 (class 1255 OID 18405) +-- Dependencies: 6 1102 1102 +-- Name: _st_containsproperly(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_containsproperly(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'containsproperly'; + + +ALTER FUNCTION public._st_containsproperly(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 53 (class 1255 OID 18406) +-- Dependencies: 6 1102 1102 +-- Name: _st_coveredby(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_coveredby(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'coveredby'; + + +ALTER FUNCTION public._st_coveredby(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 54 (class 1255 OID 18407) +-- Dependencies: 1102 1102 6 +-- Name: _st_covers(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_covers(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'covers'; + + +ALTER FUNCTION public._st_covers(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 55 (class 1255 OID 18408) +-- Dependencies: 1099 1099 6 +-- Name: _st_covers(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_covers(geography, geography) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'geography_covers'; + + +ALTER FUNCTION public._st_covers(geography, geography) OWNER TO postgres; + +-- +-- TOC entry 56 (class 1255 OID 18409) +-- Dependencies: 1102 1102 6 +-- Name: _st_crosses(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_crosses(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'crosses'; + + +ALTER FUNCTION public._st_crosses(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 57 (class 1255 OID 18410) +-- Dependencies: 1102 6 1102 +-- Name: _st_dfullywithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_dfullywithin(geometry, geometry, double precision) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_dfullywithin'; + + +ALTER FUNCTION public._st_dfullywithin(geometry, geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 58 (class 1255 OID 18411) +-- Dependencies: 1099 6 1099 +-- Name: _st_distance(geography, geography, double precision, boolean); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_distance(geography, geography, double precision, boolean) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'geography_distance'; + + +ALTER FUNCTION public._st_distance(geography, geography, double precision, boolean) OWNER TO postgres; + +-- +-- TOC entry 59 (class 1255 OID 18412) +-- Dependencies: 6 1168 1105 1102 +-- Name: _st_dumppoints(geometry, integer[]); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_dumppoints(the_geom geometry, cur_path integer[]) RETURNS SETOF geometry_dump + LANGUAGE plpgsql + AS $$ +DECLARE + tmp geometry_dump; + tmp2 geometry_dump; + nb_points integer; + nb_geom integer; + i integer; + j integer; + g geometry; + +BEGIN + + RAISE DEBUG '%,%', cur_path, ST_GeometryType(the_geom); + + -- Special case (MULTI* OR GEOMETRYCOLLECTION) : iterate and return the DumpPoints of the geometries + SELECT ST_NumGeometries(the_geom) INTO nb_geom; + + IF (nb_geom IS NOT NULL) THEN + + i = 1; + FOR tmp2 IN SELECT (ST_Dump(the_geom)).* LOOP + + FOR tmp IN SELECT * FROM _ST_DumpPoints(tmp2.geom, cur_path || tmp2.path) LOOP + RETURN NEXT tmp; + END LOOP; + i = i + 1; + + END LOOP; + + RETURN; + END IF; + + + -- Special case (POLYGON) : return the points of the rings of a polygon + IF (ST_GeometryType(the_geom) = 'ST_Polygon') THEN + + FOR tmp IN SELECT * FROM _ST_DumpPoints(ST_ExteriorRing(the_geom), cur_path || ARRAY[1]) LOOP + RETURN NEXT tmp; + END LOOP; + + j := ST_NumInteriorRings(the_geom); + FOR i IN 1..j LOOP + FOR tmp IN SELECT * FROM _ST_DumpPoints(ST_InteriorRingN(the_geom, i), cur_path || ARRAY[i+1]) LOOP + RETURN NEXT tmp; + END LOOP; + END LOOP; + + RETURN; + END IF; + + + -- Special case (POINT) : return the point + IF (ST_GeometryType(the_geom) = 'ST_Point') THEN + + tmp.path = cur_path || ARRAY[1]; + tmp.geom = the_geom; + + RETURN NEXT tmp; + RETURN; + + END IF; + + + -- Use ST_NumPoints rather than ST_NPoints to have a NULL value if the_geom isn't + -- a LINESTRING or CIRCULARSTRING. + SELECT ST_NumPoints(the_geom) INTO nb_points; + + -- This should never happen + IF (nb_points IS NULL) THEN + RAISE EXCEPTION 'Unexpected error while dumping geometry %', ST_AsText(the_geom); + END IF; + + FOR i IN 1..nb_points LOOP + tmp.path = cur_path || ARRAY[i]; + tmp.geom := ST_PointN(the_geom, i); + RETURN NEXT tmp; + END LOOP; + +END +$$; + + +ALTER FUNCTION public._st_dumppoints(the_geom geometry, cur_path integer[]) OWNER TO postgres; + +-- +-- TOC entry 60 (class 1255 OID 18413) +-- Dependencies: 1102 6 1102 +-- Name: _st_dwithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_dwithin(geometry, geometry, double precision) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_dwithin'; + + +ALTER FUNCTION public._st_dwithin(geometry, geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 61 (class 1255 OID 18414) +-- Dependencies: 1099 6 1099 +-- Name: _st_dwithin(geography, geography, double precision, boolean); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_dwithin(geography, geography, double precision, boolean) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'geography_dwithin'; + + +ALTER FUNCTION public._st_dwithin(geography, geography, double precision, boolean) OWNER TO postgres; + +-- +-- TOC entry 62 (class 1255 OID 18415) +-- Dependencies: 1102 6 1102 +-- Name: _st_equals(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_equals(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'geomequals'; + + +ALTER FUNCTION public._st_equals(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 63 (class 1255 OID 18416) +-- Dependencies: 1099 1099 6 +-- Name: _st_expand(geography, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_expand(geography, double precision) RETURNS geography + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_expand'; + + +ALTER FUNCTION public._st_expand(geography, double precision) OWNER TO postgres; + +-- +-- TOC entry 64 (class 1255 OID 18417) +-- Dependencies: 6 1102 1102 +-- Name: _st_intersects(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_intersects(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'intersects'; + + +ALTER FUNCTION public._st_intersects(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 65 (class 1255 OID 18418) +-- Dependencies: 6 1102 1102 +-- Name: _st_linecrossingdirection(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_linecrossingdirection(geometry, geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'ST_LineCrossingDirection'; + + +ALTER FUNCTION public._st_linecrossingdirection(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 66 (class 1255 OID 18419) +-- Dependencies: 1102 1102 1102 6 +-- Name: _st_longestline(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_longestline(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_longestline2d'; + + +ALTER FUNCTION public._st_longestline(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 67 (class 1255 OID 18420) +-- Dependencies: 6 1102 1102 +-- Name: _st_maxdistance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_maxdistance(geometry, geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_maxdistance2d_linestring'; + + +ALTER FUNCTION public._st_maxdistance(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 68 (class 1255 OID 18421) +-- Dependencies: 6 1102 1102 +-- Name: _st_orderingequals(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_orderingequals(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_same'; + + +ALTER FUNCTION public._st_orderingequals(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 69 (class 1255 OID 18422) +-- Dependencies: 1102 1102 6 +-- Name: _st_overlaps(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_overlaps(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'overlaps'; + + +ALTER FUNCTION public._st_overlaps(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 70 (class 1255 OID 18423) +-- Dependencies: 6 1099 1099 +-- Name: _st_pointoutside(geography); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_pointoutside(geography) RETURNS geography + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'geography_point_outside'; + + +ALTER FUNCTION public._st_pointoutside(geography) OWNER TO postgres; + +-- +-- TOC entry 71 (class 1255 OID 18424) +-- Dependencies: 6 1102 1102 +-- Name: _st_touches(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_touches(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'touches'; + + +ALTER FUNCTION public._st_touches(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 72 (class 1255 OID 18425) +-- Dependencies: 6 1102 1102 +-- Name: _st_within(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION _st_within(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'within'; + + +ALTER FUNCTION public._st_within(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 73 (class 1255 OID 18426) +-- Dependencies: 6 1168 +-- Name: addauth(text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION addauth(text) RETURNS boolean + LANGUAGE plpgsql + AS $_$ +DECLARE + lockid alias for $1; + okay boolean; + myrec record; +BEGIN + -- check to see if table exists + -- if not, CREATE TEMP TABLE mylock (transid xid, lockcode text) + okay := 'f'; + FOR myrec IN SELECT * FROM pg_class WHERE relname = 'temp_lock_have_table' LOOP + okay := 't'; + END LOOP; + IF (okay <> 't') THEN + CREATE TEMP TABLE temp_lock_have_table (transid xid, lockcode text); + -- this will only work from pgsql7.4 up + -- ON COMMIT DELETE ROWS; + END IF; + + -- INSERT INTO mylock VALUES ( $1) +-- EXECUTE 'INSERT INTO temp_lock_have_table VALUES ( '|| +-- quote_literal(getTransactionID()) || ',' || +-- quote_literal(lockid) ||')'; + + INSERT INTO temp_lock_have_table VALUES (getTransactionID(), lockid); + + RETURN true::boolean; +END; +$_$; + + +ALTER FUNCTION public.addauth(text) OWNER TO postgres; + +-- +-- TOC entry 74 (class 1255 OID 18427) +-- Dependencies: 6 1102 1102 +-- Name: addbbox(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION addbbox(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_addBBOX'; + + +ALTER FUNCTION public.addbbox(geometry) OWNER TO postgres; + +-- +-- TOC entry 79 (class 1255 OID 18430) +-- Dependencies: 6 1168 +-- Name: addgeometrycolumn(character varying, character varying, integer, character varying, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION addgeometrycolumn(character varying, character varying, integer, character varying, integer) RETURNS text + LANGUAGE plpgsql STRICT + AS $_$ +DECLARE + ret text; +BEGIN + SELECT AddGeometryColumn('','',$1,$2,$3,$4,$5) into ret; + RETURN ret; +END; +$_$; + + +ALTER FUNCTION public.addgeometrycolumn(character varying, character varying, integer, character varying, integer) OWNER TO postgres; + +-- +-- TOC entry 78 (class 1255 OID 18429) +-- Dependencies: 6 1168 +-- Name: addgeometrycolumn(character varying, character varying, character varying, integer, character varying, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION addgeometrycolumn(character varying, character varying, character varying, integer, character varying, integer) RETURNS text + LANGUAGE plpgsql STABLE STRICT + AS $_$ +DECLARE + ret text; +BEGIN + SELECT AddGeometryColumn('',$1,$2,$3,$4,$5,$6) into ret; + RETURN ret; +END; +$_$; + + +ALTER FUNCTION public.addgeometrycolumn(character varying, character varying, character varying, integer, character varying, integer) OWNER TO postgres; + +-- +-- TOC entry 77 (class 1255 OID 18428) +-- Dependencies: 6 1168 +-- Name: addgeometrycolumn(character varying, character varying, character varying, character varying, integer, character varying, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION addgeometrycolumn(character varying, character varying, character varying, character varying, integer, character varying, integer) RETURNS text + LANGUAGE plpgsql STRICT + AS $_$ +DECLARE + catalog_name alias for $1; + schema_name alias for $2; + table_name alias for $3; + column_name alias for $4; + new_srid alias for $5; + new_type alias for $6; + new_dim alias for $7; + rec RECORD; + sr varchar; + real_schema name; + sql text; + +BEGIN + + -- Verify geometry type + IF ( NOT ( (new_type = 'GEOMETRY') OR + (new_type = 'GEOMETRYCOLLECTION') OR + (new_type = 'POINT') OR + (new_type = 'MULTIPOINT') OR + (new_type = 'POLYGON') OR + (new_type = 'MULTIPOLYGON') OR + (new_type = 'LINESTRING') OR + (new_type = 'MULTILINESTRING') OR + (new_type = 'GEOMETRYCOLLECTIONM') OR + (new_type = 'POINTM') OR + (new_type = 'MULTIPOINTM') OR + (new_type = 'POLYGONM') OR + (new_type = 'MULTIPOLYGONM') OR + (new_type = 'LINESTRINGM') OR + (new_type = 'MULTILINESTRINGM') OR + (new_type = 'CIRCULARSTRING') OR + (new_type = 'CIRCULARSTRINGM') OR + (new_type = 'COMPOUNDCURVE') OR + (new_type = 'COMPOUNDCURVEM') OR + (new_type = 'CURVEPOLYGON') OR + (new_type = 'CURVEPOLYGONM') OR + (new_type = 'MULTICURVE') OR + (new_type = 'MULTICURVEM') OR + (new_type = 'MULTISURFACE') OR + (new_type = 'MULTISURFACEM')) ) + THEN + RAISE EXCEPTION 'Invalid type name - valid ones are: + POINT, MULTIPOINT, + LINESTRING, MULTILINESTRING, + POLYGON, MULTIPOLYGON, + CIRCULARSTRING, COMPOUNDCURVE, MULTICURVE, + CURVEPOLYGON, MULTISURFACE, + GEOMETRY, GEOMETRYCOLLECTION, + POINTM, MULTIPOINTM, + LINESTRINGM, MULTILINESTRINGM, + POLYGONM, MULTIPOLYGONM, + CIRCULARSTRINGM, COMPOUNDCURVEM, MULTICURVEM + CURVEPOLYGONM, MULTISURFACEM, + or GEOMETRYCOLLECTIONM'; + RETURN 'fail'; + END IF; + + + -- Verify dimension + IF ( (new_dim >4) OR (new_dim <0) ) THEN + RAISE EXCEPTION 'invalid dimension'; + RETURN 'fail'; + END IF; + + IF ( (new_type LIKE '%M') AND (new_dim!=3) ) THEN + RAISE EXCEPTION 'TypeM needs 3 dimensions'; + RETURN 'fail'; + END IF; + + + -- Verify SRID + IF ( new_srid != -1 ) THEN + SELECT SRID INTO sr FROM spatial_ref_sys WHERE SRID = new_srid; + IF NOT FOUND THEN + RAISE EXCEPTION 'AddGeometryColumns() - invalid SRID'; + RETURN 'fail'; + END IF; + END IF; + + + -- Verify schema + IF ( schema_name IS NOT NULL AND schema_name != '' ) THEN + sql := 'SELECT nspname FROM pg_namespace ' || + 'WHERE text(nspname) = ' || quote_literal(schema_name) || + 'LIMIT 1'; + RAISE DEBUG '%', sql; + EXECUTE sql INTO real_schema; + + IF ( real_schema IS NULL ) THEN + RAISE EXCEPTION 'Schema % is not a valid schemaname', quote_literal(schema_name); + RETURN 'fail'; + END IF; + END IF; + + IF ( real_schema IS NULL ) THEN + RAISE DEBUG 'Detecting schema'; + sql := 'SELECT n.nspname AS schemaname ' || + 'FROM pg_catalog.pg_class c ' || + 'JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace ' || + 'WHERE c.relkind = ' || quote_literal('r') || + ' AND n.nspname NOT IN (' || quote_literal('pg_catalog') || ', ' || quote_literal('pg_toast') || ')' || + ' AND pg_catalog.pg_table_is_visible(c.oid)' || + ' AND c.relname = ' || quote_literal(table_name); + RAISE DEBUG '%', sql; + EXECUTE sql INTO real_schema; + + IF ( real_schema IS NULL ) THEN + RAISE EXCEPTION 'Table % does not occur in the search_path', quote_literal(table_name); + RETURN 'fail'; + END IF; + END IF; + + + -- Add geometry column to table + sql := 'ALTER TABLE ' || + quote_ident(real_schema) || '.' || quote_ident(table_name) + || ' ADD COLUMN ' || quote_ident(column_name) || + ' geometry '; + RAISE DEBUG '%', sql; + EXECUTE sql; + + + -- Delete stale record in geometry_columns (if any) + sql := 'DELETE FROM geometry_columns WHERE + f_table_catalog = ' || quote_literal('') || + ' AND f_table_schema = ' || + quote_literal(real_schema) || + ' AND f_table_name = ' || quote_literal(table_name) || + ' AND f_geometry_column = ' || quote_literal(column_name); + RAISE DEBUG '%', sql; + EXECUTE sql; + + + -- Add record in geometry_columns + sql := 'INSERT INTO geometry_columns (f_table_catalog,f_table_schema,f_table_name,' || + 'f_geometry_column,coord_dimension,srid,type)' || + ' VALUES (' || + quote_literal('') || ',' || + quote_literal(real_schema) || ',' || + quote_literal(table_name) || ',' || + quote_literal(column_name) || ',' || + new_dim::text || ',' || + new_srid::text || ',' || + quote_literal(new_type) || ')'; + RAISE DEBUG '%', sql; + EXECUTE sql; + + + -- Add table CHECKs + sql := 'ALTER TABLE ' || + quote_ident(real_schema) || '.' || quote_ident(table_name) + || ' ADD CONSTRAINT ' + || quote_ident('enforce_srid_' || column_name) + || ' CHECK (ST_SRID(' || quote_ident(column_name) || + ') = ' || new_srid::text || ')' ; + RAISE DEBUG '%', sql; + EXECUTE sql; + + sql := 'ALTER TABLE ' || + quote_ident(real_schema) || '.' || quote_ident(table_name) + || ' ADD CONSTRAINT ' + || quote_ident('enforce_dims_' || column_name) + || ' CHECK (ST_NDims(' || quote_ident(column_name) || + ') = ' || new_dim::text || ')' ; + RAISE DEBUG '%', sql; + EXECUTE sql; + + IF ( NOT (new_type = 'GEOMETRY')) THEN + sql := 'ALTER TABLE ' || + quote_ident(real_schema) || '.' || quote_ident(table_name) || ' ADD CONSTRAINT ' || + quote_ident('enforce_geotype_' || column_name) || + ' CHECK (GeometryType(' || + quote_ident(column_name) || ')=' || + quote_literal(new_type) || ' OR (' || + quote_ident(column_name) || ') is null)'; + RAISE DEBUG '%', sql; + EXECUTE sql; + END IF; + + RETURN + real_schema || '.' || + table_name || '.' || column_name || + ' SRID:' || new_srid::text || + ' TYPE:' || new_type || + ' DIMS:' || new_dim::text || ' '; +END; +$_$; + + +ALTER FUNCTION public.addgeometrycolumn(character varying, character varying, character varying, character varying, integer, character varying, integer) OWNER TO postgres; + +-- +-- TOC entry 80 (class 1255 OID 18431) +-- Dependencies: 6 1102 1102 1102 +-- Name: addpoint(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION addpoint(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_addpoint'; + + +ALTER FUNCTION public.addpoint(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 81 (class 1255 OID 18432) +-- Dependencies: 6 1102 1102 1102 +-- Name: addpoint(geometry, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION addpoint(geometry, geometry, integer) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_addpoint'; + + +ALTER FUNCTION public.addpoint(geometry, geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 83 (class 1255 OID 18434) +-- Dependencies: 1102 6 1102 +-- Name: affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT affine($1, $2, $3, 0, $4, $5, 0, 0, 0, 1, $6, $7, 0)$_$; + + +ALTER FUNCTION public.affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 82 (class 1255 OID 18433) +-- Dependencies: 1102 1102 6 +-- Name: affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_affine'; + + +ALTER FUNCTION public.affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision) OWNER TO postgres; + +-- +-- TOC entry 84 (class 1255 OID 18435) +-- Dependencies: 1102 6 +-- Name: area(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION area(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_area_polygon'; + + +ALTER FUNCTION public.area(geometry) OWNER TO postgres; + +-- +-- TOC entry 85 (class 1255 OID 18436) +-- Dependencies: 1102 6 +-- Name: area2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION area2d(geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_area_polygon'; + + +ALTER FUNCTION public.area2d(geometry) OWNER TO postgres; + +-- +-- TOC entry 86 (class 1255 OID 18437) +-- Dependencies: 1102 6 +-- Name: asbinary(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION asbinary(geometry) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asBinary'; + + +ALTER FUNCTION public.asbinary(geometry) OWNER TO postgres; + +-- +-- TOC entry 87 (class 1255 OID 18438) +-- Dependencies: 1102 6 +-- Name: asbinary(geometry, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION asbinary(geometry, text) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asBinary'; + + +ALTER FUNCTION public.asbinary(geometry, text) OWNER TO postgres; + +-- +-- TOC entry 88 (class 1255 OID 18439) +-- Dependencies: 6 1102 +-- Name: asewkb(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION asewkb(geometry) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'WKBFromLWGEOM'; + + +ALTER FUNCTION public.asewkb(geometry) OWNER TO postgres; + +-- +-- TOC entry 89 (class 1255 OID 18440) +-- Dependencies: 1102 6 +-- Name: asewkb(geometry, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION asewkb(geometry, text) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'WKBFromLWGEOM'; + + +ALTER FUNCTION public.asewkb(geometry, text) OWNER TO postgres; + +-- +-- TOC entry 90 (class 1255 OID 18441) +-- Dependencies: 1102 6 +-- Name: asewkt(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION asewkt(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asEWKT'; + + +ALTER FUNCTION public.asewkt(geometry) OWNER TO postgres; + +-- +-- TOC entry 92 (class 1255 OID 18443) +-- Dependencies: 6 1102 +-- Name: asgml(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION asgml(geometry) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGML(2, $1, 15, 0)$_$; + + +ALTER FUNCTION public.asgml(geometry) OWNER TO postgres; + +-- +-- TOC entry 91 (class 1255 OID 18442) +-- Dependencies: 1102 6 +-- Name: asgml(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION asgml(geometry, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsGML(2, $1, $2, 0)$_$; + + +ALTER FUNCTION public.asgml(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 93 (class 1255 OID 18444) +-- Dependencies: 6 1102 +-- Name: ashexewkb(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION ashexewkb(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asHEXEWKB'; + + +ALTER FUNCTION public.ashexewkb(geometry) OWNER TO postgres; + +-- +-- TOC entry 94 (class 1255 OID 18445) +-- Dependencies: 1102 6 +-- Name: ashexewkb(geometry, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION ashexewkb(geometry, text) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asHEXEWKB'; + + +ALTER FUNCTION public.ashexewkb(geometry, text) OWNER TO postgres; + +-- +-- TOC entry 96 (class 1255 OID 18447) +-- Dependencies: 1102 6 +-- Name: askml(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION askml(geometry) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsKML(2, transform($1,4326), 15)$_$; + + +ALTER FUNCTION public.askml(geometry) OWNER TO postgres; + +-- +-- TOC entry 95 (class 1255 OID 18446) +-- Dependencies: 1102 6 +-- Name: askml(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION askml(geometry, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsKML(2, transform($1,4326), $2)$_$; + + +ALTER FUNCTION public.askml(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 97 (class 1255 OID 18448) +-- Dependencies: 6 1102 +-- Name: askml(integer, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION askml(integer, geometry, integer) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT _ST_AsKML($1, transform($2,4326), $3)$_$; + + +ALTER FUNCTION public.askml(integer, geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 100 (class 1255 OID 18451) +-- Dependencies: 6 1102 +-- Name: assvg(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION assvg(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'assvg_geometry'; + + +ALTER FUNCTION public.assvg(geometry) OWNER TO postgres; + +-- +-- TOC entry 99 (class 1255 OID 18450) +-- Dependencies: 6 1102 +-- Name: assvg(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION assvg(geometry, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'assvg_geometry'; + + +ALTER FUNCTION public.assvg(geometry, integer) OWNER TO postgres; + +-- +-- TOC entry 98 (class 1255 OID 18449) +-- Dependencies: 6 1102 +-- Name: assvg(geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION assvg(geometry, integer, integer) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'assvg_geometry'; + + +ALTER FUNCTION public.assvg(geometry, integer, integer) OWNER TO postgres; + +-- +-- TOC entry 101 (class 1255 OID 18452) +-- Dependencies: 1102 6 +-- Name: astext(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION astext(geometry) RETURNS text + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_asText'; + + +ALTER FUNCTION public.astext(geometry) OWNER TO postgres; + +-- +-- TOC entry 102 (class 1255 OID 18453) +-- Dependencies: 6 1102 1102 +-- Name: azimuth(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION azimuth(geometry, geometry) RETURNS double precision + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_azimuth'; + + +ALTER FUNCTION public.azimuth(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 103 (class 1255 OID 18454) +-- Dependencies: 1102 1168 6 +-- Name: bdmpolyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION bdmpolyfromtext(text, integer) RETURNS geometry + LANGUAGE plpgsql IMMUTABLE STRICT + AS $_$ +DECLARE + geomtext alias for $1; + srid alias for $2; + mline geometry; + geom geometry; +BEGIN + mline := MultiLineStringFromText(geomtext, srid); + + IF mline IS NULL + THEN + RAISE EXCEPTION 'Input is not a MultiLinestring'; + END IF; + + geom := multi(BuildArea(mline)); + + RETURN geom; +END; +$_$; + + +ALTER FUNCTION public.bdmpolyfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 75 (class 1255 OID 18455) +-- Dependencies: 6 1168 1102 +-- Name: bdpolyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION bdpolyfromtext(text, integer) RETURNS geometry + LANGUAGE plpgsql IMMUTABLE STRICT + AS $_$ +DECLARE + geomtext alias for $1; + srid alias for $2; + mline geometry; + geom geometry; +BEGIN + mline := MultiLineStringFromText(geomtext, srid); + + IF mline IS NULL + THEN + RAISE EXCEPTION 'Input is not a MultiLinestring'; + END IF; + + geom := BuildArea(mline); + + IF GeometryType(geom) != 'POLYGON' + THEN + RAISE EXCEPTION 'Input returns more then a single polygon, try using BdMPolyFromText instead'; + END IF; + + RETURN geom; +END; +$_$; + + +ALTER FUNCTION public.bdpolyfromtext(text, integer) OWNER TO postgres; + +-- +-- TOC entry 76 (class 1255 OID 18456) +-- Dependencies: 6 1102 1102 +-- Name: boundary(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION boundary(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'boundary'; + + +ALTER FUNCTION public.boundary(geometry) OWNER TO postgres; + +-- +-- TOC entry 104 (class 1255 OID 18457) +-- Dependencies: 6 1102 +-- Name: box(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box(geometry) RETURNS box + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX'; + + +ALTER FUNCTION public.box(geometry) OWNER TO postgres; + +-- +-- TOC entry 105 (class 1255 OID 18458) +-- Dependencies: 6 1090 +-- Name: box(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box(box3d) RETURNS box + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_to_BOX'; + + +ALTER FUNCTION public.box(box3d) OWNER TO postgres; + +-- +-- TOC entry 106 (class 1255 OID 18459) +-- Dependencies: 6 1087 1093 +-- Name: box2d(box3d_extent); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box2d(box3d_extent) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_to_BOX2DFLOAT4'; + + +ALTER FUNCTION public.box2d(box3d_extent) OWNER TO postgres; + +-- +-- TOC entry 107 (class 1255 OID 18460) +-- Dependencies: 6 1087 1102 +-- Name: box2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box2d(geometry) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX2DFLOAT4'; + + +ALTER FUNCTION public.box2d(geometry) OWNER TO postgres; + +-- +-- TOC entry 108 (class 1255 OID 18461) +-- Dependencies: 1087 1090 6 +-- Name: box2d(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box2d(box3d) RETURNS box2d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_to_BOX2DFLOAT4'; + + +ALTER FUNCTION public.box2d(box3d) OWNER TO postgres; + +-- +-- TOC entry 109 (class 1255 OID 18462) +-- Dependencies: 6 1090 1102 +-- Name: box3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box3d(geometry) RETURNS box3d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX3D'; + + +ALTER FUNCTION public.box3d(geometry) OWNER TO postgres; + +-- +-- TOC entry 110 (class 1255 OID 18463) +-- Dependencies: 6 1090 1087 +-- Name: box3d(box2d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box3d(box2d) RETURNS box3d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_to_BOX3D'; + + +ALTER FUNCTION public.box3d(box2d) OWNER TO postgres; + +-- +-- TOC entry 111 (class 1255 OID 18464) +-- Dependencies: 6 1090 1093 +-- Name: box3d_extent(box3d_extent); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box3d_extent(box3d_extent) RETURNS box3d + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'BOX3D_extent_to_BOX3D'; + + +ALTER FUNCTION public.box3d_extent(box3d_extent) OWNER TO postgres; + +-- +-- TOC entry 112 (class 1255 OID 18465) +-- Dependencies: 6 1090 +-- Name: box3dtobox(box3d); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION box3dtobox(box3d) RETURNS box + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT box($1)$_$; + + +ALTER FUNCTION public.box3dtobox(box3d) OWNER TO postgres; + +-- +-- TOC entry 113 (class 1255 OID 18466) +-- Dependencies: 6 1102 1102 +-- Name: buffer(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION buffer(geometry, double precision) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'buffer'; + + +ALTER FUNCTION public.buffer(geometry, double precision) OWNER TO postgres; + +-- +-- TOC entry 114 (class 1255 OID 18467) +-- Dependencies: 6 1102 1102 +-- Name: buffer(geometry, double precision, integer); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION buffer(geometry, double precision, integer) RETURNS geometry + LANGUAGE sql IMMUTABLE STRICT + AS $_$SELECT ST_Buffer($1, $2, $3)$_$; + + +ALTER FUNCTION public.buffer(geometry, double precision, integer) OWNER TO postgres; + +-- +-- TOC entry 115 (class 1255 OID 18468) +-- Dependencies: 6 1102 1102 +-- Name: buildarea(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION buildarea(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'LWGEOM_buildarea'; + + +ALTER FUNCTION public.buildarea(geometry) OWNER TO postgres; + +-- +-- TOC entry 116 (class 1255 OID 18469) +-- Dependencies: 6 1102 +-- Name: bytea(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION bytea(geometry) RETURNS bytea + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_to_bytea'; + + +ALTER FUNCTION public.bytea(geometry) OWNER TO postgres; + +-- +-- TOC entry 117 (class 1255 OID 18470) +-- Dependencies: 6 1102 1102 +-- Name: centroid(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION centroid(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'centroid'; + + +ALTER FUNCTION public.centroid(geometry) OWNER TO postgres; + +-- +-- TOC entry 119 (class 1255 OID 18472) +-- Dependencies: 6 +-- Name: checkauth(text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION checkauth(text, text) RETURNS integer + LANGUAGE sql + AS $_$ SELECT CheckAuth('', $1, $2) $_$; + + +ALTER FUNCTION public.checkauth(text, text) OWNER TO postgres; + +-- +-- TOC entry 118 (class 1255 OID 18471) +-- Dependencies: 6 1168 +-- Name: checkauth(text, text, text); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION checkauth(text, text, text) RETURNS integer + LANGUAGE plpgsql + AS $_$ +DECLARE + schema text; +BEGIN + IF NOT LongTransactionsEnabled() THEN + RAISE EXCEPTION 'Long transaction support disabled, use EnableLongTransaction() to enable.'; + END IF; + + if ( $1 != '' ) THEN + schema = $1; + ELSE + SELECT current_schema() into schema; + END IF; + + -- TODO: check for an already existing trigger ? + + EXECUTE 'CREATE TRIGGER check_auth BEFORE UPDATE OR DELETE ON ' + || quote_ident(schema) || '.' || quote_ident($2) + ||' FOR EACH ROW EXECUTE PROCEDURE CheckAuthTrigger(' + || quote_literal($3) || ')'; + + RETURN 0; +END; +$_$; + + +ALTER FUNCTION public.checkauth(text, text, text) OWNER TO postgres; + +-- +-- TOC entry 120 (class 1255 OID 18473) +-- Dependencies: 6 +-- Name: checkauthtrigger(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION checkauthtrigger() RETURNS trigger + LANGUAGE c + AS '$libdir/postgis-1.5', 'check_authorization'; + + +ALTER FUNCTION public.checkauthtrigger() OWNER TO postgres; + +-- +-- TOC entry 121 (class 1255 OID 18474) +-- Dependencies: 6 1102 1102 1102 +-- Name: collect(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION collect(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'LWGEOM_collect'; + + +ALTER FUNCTION public.collect(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 122 (class 1255 OID 18475) +-- Dependencies: 6 1087 1087 1102 +-- Name: combine_bbox(box2d, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION combine_bbox(box2d, geometry) RETURNS box2d + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_combine'; + + +ALTER FUNCTION public.combine_bbox(box2d, geometry) OWNER TO postgres; + +-- +-- TOC entry 123 (class 1255 OID 18476) +-- Dependencies: 6 1093 1093 1102 +-- Name: combine_bbox(box3d_extent, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION combine_bbox(box3d_extent, geometry) RETURNS box3d_extent + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'BOX3D_combine'; + + +ALTER FUNCTION public.combine_bbox(box3d_extent, geometry) OWNER TO postgres; + +-- +-- TOC entry 124 (class 1255 OID 18477) +-- Dependencies: 6 1090 1090 1102 +-- Name: combine_bbox(box3d, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION combine_bbox(box3d, geometry) RETURNS box3d + LANGUAGE c IMMUTABLE + AS '$libdir/postgis-1.5', 'BOX3D_combine'; + + +ALTER FUNCTION public.combine_bbox(box3d, geometry) OWNER TO postgres; + +-- +-- TOC entry 125 (class 1255 OID 18478) +-- Dependencies: 6 1096 +-- Name: compression(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION compression(chip) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_getCompression'; + + +ALTER FUNCTION public.compression(chip) OWNER TO postgres; + +-- +-- TOC entry 126 (class 1255 OID 18479) +-- Dependencies: 6 1102 1102 +-- Name: contains(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION contains(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'contains'; + + +ALTER FUNCTION public.contains(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 127 (class 1255 OID 18480) +-- Dependencies: 6 1102 1102 +-- Name: convexhull(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION convexhull(geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT COST 100 + AS '$libdir/postgis-1.5', 'convexhull'; + + +ALTER FUNCTION public.convexhull(geometry) OWNER TO postgres; + +-- +-- TOC entry 128 (class 1255 OID 18481) +-- Dependencies: 6 1102 1102 +-- Name: crosses(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION crosses(geometry, geometry) RETURNS boolean + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'crosses'; + + +ALTER FUNCTION public.crosses(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 129 (class 1255 OID 18482) +-- Dependencies: 6 1096 +-- Name: datatype(chip); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION datatype(chip) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'CHIP_getDatatype'; + + +ALTER FUNCTION public.datatype(chip) OWNER TO postgres; + +-- +-- TOC entry 130 (class 1255 OID 18483) +-- Dependencies: 6 1102 1102 1102 +-- Name: difference(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION difference(geometry, geometry) RETURNS geometry + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'difference'; + + +ALTER FUNCTION public.difference(geometry, geometry) OWNER TO postgres; + +-- +-- TOC entry 131 (class 1255 OID 18484) +-- Dependencies: 6 1102 +-- Name: dimension(geometry); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION dimension(geometry) RETURNS integer + LANGUAGE c IMMUTABLE STRICT + AS '$libdir/postgis-1.5', 'LWGEOM_dimension'; + + +ALTER FUNCTION public.dimension(geometry) OWNER TO postgres; + +-- +-- TOC entry 132 (class 1255 OID 18485) +-- Dependencies: 6 1168 +-- Name: disablelongtransactions(); Type: FUNCTION; Schema: public; Owner: postgres +-- + +CREATE FUNCTION disablelongtransactions() RETURNS text + LANGUAGE plpgsql + AS $$ +DECLARE + rec RECORD; + +BEGIN + + -- + -- Drop all triggers applied by CheckAuth() + -- + FOR rec IN + SELECT c.relname, t.tgname, t.tgargs FROM pg_trigger t, pg_class c, pg_proc p + WHERE p.proname = 'checkauthtrigger' and t.tgfoid = p.oid and t.tgrelid = c.oid + LOOP + EXECUTE 'DROP TRIGGER ' || quote_ident(rec.tgname) || + ' ON ' || quote_ident(rec.relname); + END LOOP; + + -- + -- Drop the authorization_table table + -- + FOR rec IN SELECT * FROM pg_class WHERE relname = 'authorization_table' LOOP + DROP TABLE authorization_table; + END LOOP; + + -- + -- Drop the authorized_tables view + -- + FOR rec IN SELECT * FROM pg_class WHERE relname = 'authorized_ta