#3919 closed defect (fixed)
Broken upgrade: ERROR: function geometry_hash(geometry) does not exist
Reported by: | strk | Owned by: | pramsey |
---|---|---|---|
Priority: | blocker | Milestone: | PostGIS 2.5.0 |
Component: | postgis | Version: | master |
Keywords: | Cc: |
Description
From our good Dronie bot: https://drone.osgeo.org/postgis/postgis/632
Preparing db 'postgis_reg' using: CREATE EXTENSION postgis VERSION '2.1.2' Upgrading PostGIS in 'postgis_reg' using: ALTER EXTENSION postgis UPDATE TO '2.5.0dev' Died at run_test.pl line 1423. failed (Error encountered altering EXTENSION POSTGIS: /tmp/pgis_reg/regress_log) ----------------------------------------------------------------------------- createlang: language "plpgsql" is already installed in database "postgis_reg" CREATE EXTENSION ERROR: function geometry_hash(geometry) does not exist CONTEXT: SQL statement " CREATE OPERATOR CLASS hash_geometry_ops DEFAULT FOR TYPE geometry USING hash AS OPERATOR 1 = , FUNCTION 1 geometry_hash(geometry); " PL/pgSQL function inline_code_block line 4 at EXECUTE statement -----------------------------------------------------------------------------
r16058 was the first failing commit.
Change History (9)
comment:1 by , 7 years ago
comment:4 by , 7 years ago
Sorry, the Availability thing was silly as the whole opclass is new. This may be more into the upgrade creation script to fix.
comment:6 by , 7 years ago
Found: it was a missing "OR REPLACE" in the "CREATE FUNCTION", which confused the upgrade script regexp… Should be fixed by r16066
comment:9 by , 7 years ago
Note:
See TracTickets
for help on using tickets.
If I'm not mistaken our upgrade script generator understands "Availability" comments inside operator class elements, see how it is done with
gist_geometry_ops_nd
for an example.