#2684 closed defect (fixed)
can't upgrade from 2.1.1 to 2.1.2 with extensions
Reported by: | robe | Owned by: | strk |
---|---|---|---|
Priority: | blocker | Milestone: | PostGIS 2.1.2 |
Component: | build | Version: | 2.1.x |
Keywords: | Cc: |
Description
I don't have my 2.1.1 readily installed but I tried running this:
ALTER EXTENSION postgis UPDATE TO "2.1.2devnext";
on a 2.1.1 I had upgraded earlier to 2.1.2dev.
I got error
operator = already exists
I'll try going from 2.1.1 to 2.1.2 next once I have that setup again.
strk, pramsey can you check. Sorry for holding up the curtain call.
Attachments (1)
Change History (19)
comment:1 by , 11 years ago
Component: | postgis → build/upgrade/install |
---|---|
Owner: | changed from | to
comment:2 by , 11 years ago
comment:3 by , 11 years ago
Regina, but… shouldn't that kind of upgrade be the same that happens on "make check" ? Or had you tried ./run_test.pl —extensions ?
comment:4 by , 11 years ago
Confirmed !
[strk@cdb:/usr/src/postgis/postgis-2.1/raster/test/regress(svn-2.1)] ../../../regress/run_test.pl -v --upgrade --extension --raster tickets.sql PATH is /home/postgresql-9.3.1/bin:/home/postgresql-9.3.1/bin:/home/strk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games://home/strk/bin://home/strk/bin Checking for shp2pgsql ... found Checking for pgsql2shp ... found Checking for raster2pgsql ... found TMPDIR is /tmp/pgis_reg Creating database 'postgis_reg' Preparing db 'postgis_reg' using 'CREATE EXTENSION' Upgrading PostGIS in 'postgis_reg' using 'ALTER EXTENSION' Error encountered altering EXTENSION POSTGIS, see /tmp/pgis_reg/regress_log for details [strk@cdb:/usr/src/postgis/postgis-2.1/raster/test/regress(svn-2.1)] cat /tmp/pgis_reg/regress_log createlang: language "plpgsql" is already installed in database "postgis_reg" CREATE EXTENSION ERROR: operator = already exists
Regina: could you add this step to the buildbots ?
make check RUNTESTFLAGS=--extension
Is only supposed to work _after_ "make install"
comment:5 by , 11 years ago
Regina: the —extension switch to run_test.pl currently fails due to some tests being ambiguous when run in an extension environment due to raster being also forceably loaded. Those tests could be tweaked to be immune…
comment:6 by , 11 years ago
confirmed same issue going from 2.1.1
ALTER EXTENSION postgis UPDATE TO "2.1.2dev";
I have on my list to add to bots but haven't already. Though wondering why doesn't the regular upgrade test fail when we go from 2.1.2 to 2.1.2 (the regular way should fail as well unless its not running in a transaction)
comment:7 by , 11 years ago
Ah I see why it fails for extensions but not for regular script. For regular there is still a rtpostgis_upgrade_21_minor.sql which is different than rtpostgis_upgrade_20_21.sql.
Since extension always uses the rtpostgis_upgrade_20_21.sql, it fails.
comment:8 by , 11 years ago
Summary: | can't upgrade from 2.1.2 to 2.1.2 → can't upgrade from 2.1.1 to 2.1.2 with extensions |
---|
comment:9 by , 11 years ago
I think you should change the Makefile to use 21_minor.sql for 2.1.x to 2.1.x extension upgrades. Will leave that to you as you were the original author of that Makefile, right ?
In trunk it'll be easier as the upgrade script is one for all minor upgrades.
by , 11 years ago
Attachment: | extension_patch.patch added |
---|
comment:11 by , 11 years ago
Does
make check RUNTESTFLAGS=--extension
work for you? it does not for me, even with 2.1.1.
up=# SELECT 'contains100', ST_contains('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))', 'POINT(5 5)'); ERROR: function st_contains(unknown, unknown) is not unique
I've confirmed this isn't a problem with the regression test, it's a problem with the extension install, by running one of the regression queries (the above one) manually on a extension-enabled database. There seem to be lots of others of these type-recognition errors for extension installs.
comment:12 by , 11 years ago
Does not work for me, as stated in http://trac.osgeo.org/postgis/ticket/2684#comment:5
comment:14 by , 11 years ago
Still fails for me with r12371:
postgis_reg=# create extension postgis version '2.1.2dev'; CREATE EXTENSION postgis_reg=# alter extension postgis update to "2.1.2devnext"; ERROR: operator = already exists
comment:15 by , 11 years ago
r12372 fixes that (tweaking the rule to produce the "next" version, used by run_test.pl on —extension —upgrade)
comment:17 by , 11 years ago
Looks good. Just doing garden battery tests to confirm 2.1.1 to 2.1.2 and 2.0.4 to 2.1.2 yield same answers.
comment:18 by , 11 years ago
So far did a garden test of 2.1.1 upgraded to 2.1.2 r12371, compared to the backup of test I created going straight with create extension 2.1.2 r12366.
To my shock I saw differences, but don't think they have anything to do with upgrade. I guess I'll need to retest 2.1.2 for sure. Differences are with
ST_AsGeoJSON (I assume as result of fix pramsey recently did) so not worried about it.
The one that has me a bit concerned (but not concerned enough to hold a release) are with ST_3DExtent, ST_AsLatLonText. I think these are just instability issues of some sort which I think we have related tickets for already.
To do a spot check — I'm just doing a JOIN pg_column_size(postgis_garden_log20_output.log_output) check and also stole some tricks from dustymugs and repurposed his raster_hash to create an xml hash to catch other oddities.
Ouch, stop the release wheels pramsey !!!