]> granicus.if.org Git - postgis/commitdiff
Clamp SRID in AddGeometryColumn, update expected topology test results to expect...
authorSandro Santilli <strk@keybit.net>
Mon, 10 Oct 2011 20:26:22 +0000 (20:26 +0000)
committerSandro Santilli <strk@keybit.net>
Mon, 10 Oct 2011 20:26:22 +0000 (20:26 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@7966 b70326c6-7e19-0410-871a-916f4a2858ee

postgis/postgis.sql.in.c
topology/test/regress/legacy_predicate_expected
topology/test/regress/legacy_query_expected
topology/test/regress/st_remedgemodface_expected
topology/test/regress/st_remedgenewface_expected

index 07403fe5d8f5d1c8877ab878d28c9b3f9801bdfb..be61af11fe5151ab9548468ad6c6de58f2e0ace9 100644 (file)
@@ -1616,7 +1616,7 @@ LANGUAGE 'plpgsql' VOLATILE;
 -- Should also check the precision grid (future expansion).\r
 --\r
 -----------------------------------------------------------------------\r
-CREATE OR REPLACE FUNCTION AddGeometryColumn(catalog_name varchar,schema_name varchar,table_name varchar,column_name varchar,new_srid integer,new_type varchar,new_dim integer, use_typmod boolean DEFAULT true)\r
+CREATE OR REPLACE FUNCTION AddGeometryColumn(catalog_name varchar,schema_name varchar,table_name varchar,column_name varchar,new_srid_in integer,new_type varchar,new_dim integer, use_typmod boolean DEFAULT true)\r
        RETURNS text\r
        AS\r
 $$\r
@@ -1625,6 +1625,7 @@ DECLARE
        sr varchar;\r
        real_schema name;\r
        sql text;\r
+       new_srid integer;\r
 \r
 BEGIN\r
 \r
@@ -1662,12 +1663,21 @@ BEGIN
 \r
 \r
        -- Verify SRID\r
-       IF ( new_srid != 0 AND new_srid != -1) THEN\r
+       IF ( new_srid_in > 0 ) THEN\r
+               IF new_srid_in >= 999000 THEN\r
+                       RAISE EXCEPTION 'AddGeometryColumns() - SRID must be < 999000';\r
+               END IF;\r
+               new_srid := new_srid_in;\r
                SELECT SRID INTO sr FROM spatial_ref_sys WHERE SRID = new_srid;\r
                IF NOT FOUND THEN\r
                        RAISE EXCEPTION 'AddGeometryColumns() - invalid SRID';\r
                        RETURN 'fail';\r
                END IF;\r
+       ELSE\r
+               new_srid := ST_SRID('POINT EMPTY'::geometry);\r
+               IF ( new_srid_in != new_srid ) THEN\r
+                       RAISE NOTICE 'SRID value % converted to the officially unknown SRID value %', new_srid_in, new_srid;\r
+               END IF;\r
        END IF;\r
 \r
 \r
index 72a284df7314742d027cc559173205613235dc01..516b5e0ac0456c49fc5ea55213a43561407d301e 100644 (file)
@@ -10,13 +10,13 @@ BEGIN
 3
 COMMIT
 4
-features.big_parcels.the_geom SRID:-1 TYPE:MULTIPOLYGON DIMS:2 
+features.big_parcels.the_geom SRID:0 TYPE:MULTIPOLYGON DIMS:2 
 P1P2|POLYGON((21 6,9 6,9 14,9 22,21 22,35 22,35 14,35 6,21 6))
 P3P4|MULTIPOLYGON(((47 14,47 6,35 6,35 14,35 22,47 22,47 14)),((25 30,17 30,17 40,31 40,31 30,25 30)))
 F3F6|POLYGON((21 14,21 6,9 6,9 14,9 22,21 22,21 14))
 P1|F3F6
 5
-features.big_signs.the_geom SRID:-1 TYPE:MULTIPOINT DIMS:2 
+features.big_signs.the_geom SRID:0 TYPE:MULTIPOINT DIMS:2 
 S1S2|MULTIPOINT(21 14,35 14)
 BEGIN
 POINT/POINT INTERSECTS
index 3b05e9f21b1b53649adff24e8827b269a75559df..f2036a67ba57a75bf61a889396f8cf34e00db883 100644 (file)
@@ -10,13 +10,13 @@ BEGIN
 3
 COMMIT
 4
-features.big_parcels.the_geom SRID:-1 TYPE:MULTIPOLYGON DIMS:2 
+features.big_parcels.the_geom SRID:0 TYPE:MULTIPOLYGON DIMS:2 
 P1P2|POLYGON((21 6,9 6,9 14,9 22,21 22,35 22,35 14,35 6,21 6))
 P3P4|MULTIPOLYGON(((47 14,47 6,35 6,35 14,35 22,47 22,47 14)),((25 30,17 30,17 40,31 40,31 30,25 30)))
 F3F6|POLYGON((21 14,21 6,9 6,9 14,9 22,21 22,21 14))
 P1|F3F6
 5
-features.big_signs.the_geom SRID:-1 TYPE:MULTIPOINT DIMS:2 
+features.big_signs.the_geom SRID:0 TYPE:MULTIPOINT DIMS:2 
 S1S2|MULTIPOINT(21 14,35 14)
 BEGIN
 P1|1|POLYGON((21 14,21 6,9 6,9 14,9 22,21 22,21 14))
index 69176c1e31c4c71b0c1f757a77c3fff6a0cc3db7..8613e7f68fbc441815612117dde9b96e1a4ff3c4 100644 (file)
@@ -193,9 +193,9 @@ BEGIN
 2
 3
 COMMIT
-features.land_parcels.the_geom SRID:-1 TYPE:MULTIPOLYGON DIMS:2 
-features.city_streets.the_geom SRID:-1 TYPE:MULTILINESTRING DIMS:2 
-features.traffic_signs.the_geom SRID:-1 TYPE:MULTIPOINT DIMS:2 
+features.land_parcels.the_geom SRID:0 TYPE:MULTIPOLYGON DIMS:2 
+features.city_streets.the_geom SRID:0 TYPE:MULTILINESTRING DIMS:2 
+features.traffic_signs.the_geom SRID:0 TYPE:MULTIPOINT DIMS:2 
 ERROR:  TopoGeom 4 in layer 3 (features.city_streets.feature) cannot be represented dropping edge 3
 ERROR:  TopoGeom 2 in layer 3 (features.city_streets.feature) cannot be represented dropping edge 4
 ERROR:  TopoGeom 2 in layer 3 (features.city_streets.feature) cannot be represented dropping edge 5
index 0184a73684ec8fbcb27070e85fa3d8c4848cd746..ded283d1a3f5812ffc742ecbabc32d2c422496c4 100644 (file)
@@ -223,9 +223,9 @@ BEGIN
 2
 3
 COMMIT
-features.land_parcels.the_geom SRID:-1 TYPE:MULTIPOLYGON DIMS:2 
-features.city_streets.the_geom SRID:-1 TYPE:MULTILINESTRING DIMS:2 
-features.traffic_signs.the_geom SRID:-1 TYPE:MULTIPOINT DIMS:2 
+features.land_parcels.the_geom SRID:0 TYPE:MULTIPOLYGON DIMS:2 
+features.city_streets.the_geom SRID:0 TYPE:MULTILINESTRING DIMS:2 
+features.traffic_signs.the_geom SRID:0 TYPE:MULTIPOINT DIMS:2 
 ERROR:  TopoGeom 4 in layer 3 (features.city_streets.feature) cannot be represented dropping edge 3
 ERROR:  TopoGeom 2 in layer 3 (features.city_streets.feature) cannot be represented dropping edge 4
 ERROR:  TopoGeom 2 in layer 3 (features.city_streets.feature) cannot be represented dropping edge 5