#2489 closed defect (fixed)
st_asgml functions not dropped 2.0 to 2.1 upgrade
Reported by: | kyngchaos | Owned by: | robe |
---|---|---|---|
Priority: | medium | Milestone: | PostGIS 2.1.1 |
Component: | build | Version: | 2.1.x |
Keywords: | history | Cc: | erictheise |
Description
While upgrading Postgres I found a couple functions not dropped (or updated?) in the PostGIS 2.0-2.1 upgrade sql (extension):
_st_asgml (integer, geometry, integer, integer, text) _st_asgml (integer, geography, integer, integer, text)
Change History (12)
comment:1 by , 11 years ago
Milestone: | → PostGIS 2.1.1 |
---|
comment:2 by , 11 years ago
Cc: | added |
---|
comment:3 by , 11 years ago
Component: | postgis → build/upgrade/install |
---|---|
Owner: | changed from | to
These look to be functions dropped in 2.1 and replaced with overloaded versions that have text,text. I'm guessing these might be missing from our drop after script. Have to investigate a bit more
comment:4 by , 11 years ago
there are a bunch of raster ones I see as well.
I think this is the full list (well upgrading from 2.0.4 to 2.1 I need to check with lower than 2.0.4 suspect there are some) need to add to the drop afters. Will do once I can test.
DROP FUNCTION IF EXISTS st_asgml(integer, postgis.geometry, integer, integer, text); DROP FUNCTION IF EXISTS st_asgml(integer, postgis.geography, integer, integer, text); DROP FUNCTION IF EXISTS _st_asgml(integer, postgis.geometry, integer, integer, text); DROP FUNCTION IF EXISTS _st_asgml(integer, postgis.geography, integer, integer, text);
Raster ones
DROP FUNCTION IF EXISTS _st_aspect4ma(double precision[], text, text[]); DROP FUNCTION IF EXISTS _st_hillshade4ma(double precision[], text, text[]); DROP FUNCTION IF EXISTS _st_mapalgebra4unionfinal1(raster); DROP FUNCTION IF EXISTS _st_mapalgebra4unionstate(raster, raster, integer); DROP FUNCTION IF EXISTS _st_mapalgebra4unionstate(raster, raster); DROP FUNCTION IF EXISTS _st_mapalgebra4unionstate(raster, raster, text); DROP FUNCTION IF EXISTS _st_mapalgebra4unionstate(raster, raster, integer, text); DROP FUNCTION IF EXISTS _st_mapalgebra4unionstate(raster, raster, text, text, text, double precision, text, text, text, double precision); DROP FUNCTION IF EXISTS _st_slope4ma(double precision[], text, text[]);
comment:5 by , 11 years ago
I tried upgrading from 2.0.1 to 2.1.0 and only getting these stragglers left behind so I think that may be it.
comment:6 by , 11 years ago
Please try r12010 (2.1 branch). When confirmed, it'll need to be ported to trunk
comment:7 by , 11 years ago
Keywords: | history added |
---|
comment:9 by , 11 years ago
I'm sure the dropping is fine (I've already manually fixed and upgraded all my databases to 2.1, so nothing to test with), only the 2 I mentioned referenced the C library functions and caused upgrade problems.
Will these get into the 2.1.0 to 2.1.1 update scripts as well as 2.0 to 2.1? For those that have manually dropped only the 2 C functions and are now at 2.1.
comment:10 by , 11 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Yes, you'll be able to cleanup things by loading the *upgrade_21_minor.sql files in 2.1.1.
comment:12 by , 11 years ago
extension update scripts are created from the other ones, so ALTER from 2.1.0 to 2.1.1 should do the right thing.
I'm also affected by this defect. In trying to upgrade from postgresql 9.2 to 9.3, I updated postgis from 2.0.3 to 2.1.0, but the migration is not smooth. In my pg_upgrade_dump_N.custom file, I'm seeing (sorry for the binary artifacts):
ALTER EXTENSION "postgis" ADD FUNCTION "_st_asgeojson"(integer, "geometry", integer, integer); @O@@@DROP FUNCTION "public"."_st_asgeojson"(integer, "geometry", integer, integer); AA@@@@F@@@publicAA@@@@H@@@postgres@E@@@false@C@@@191@A@@@5@D@@@1890AA@@@C@@@@@@@@@"A@@@@@@@@D@@@1255@F@@@144795@9@@@_st_asgml(integer, "geography", integer, integer, "text")@H@@@FUNCTION@B@@@@¨@@@CREATE FUNCTION "_st_asgml"(integer, "geography", integer, integer, "text") RETURNS "text"
@T@@@DROP FUNCTION "public"."_st_asgml"(integer, "geography", integer, integer, "text"); AA@@@@F@@@publicAA@@@@H@@@postgres@E@@@false@A@@@5@D@@@1924AA@@@C@@@@@@@@@ A@@@@@@@@D@@@1255@F@@@144614@8@@@_st_asgml(integer, "geometry", integer, integer, "text")@H@@@FUNCTION@B@@@@£@@@CREATE FUNCTION "_st_asgml"(integer, "geometry", integer, integer, "text") RETURNS "text"
@S@@@DROP FUNCTION "public"."_st_asgml"(integer, "geometry", integer, integer, "text"); AA@@@@F@@@publicAA@@@@H@@@postgres@E@@@false@D@@@1890@A@@@5AA@@@C@@@@@@@@@ÔC@@@@@@@@D@@@1255@F@@@830579@A@@@_st_asgml(integer, "geography", integer, integer, "text", "text")@H@@@FUNCTION@B@@@@]A@@CREATE FUNCTION "_st_asgml"(integer, "geography", integer, integer, "text", "text") RETURNS "text"
when everything else refers to postgis-2.1. As a consequence, my loadable_libraries.txt file includes this error:
Could not load library "$libdir/postgis-2.0" ERROR: could not access file "$libdir/postgis-2.0": No such file or directory