[postgis-tickets] [PostGIS] #4334: Can't upgrade with a view based on ST_AsMVTGeom

PostGIS trac at osgeo.org
Wed Feb 27 06:21:21 PST 2019


#4334: Can't upgrade with a view based on ST_AsMVTGeom
------------------------------------+---------------------------
  Reporter:  Algunenano             |      Owner:  strk
      Type:  defect                 |     Status:  new
  Priority:  high                   |  Milestone:  PostGIS 2.4.7
 Component:  build/upgrade/install  |    Version:  2.4.x
Resolution:                         |   Keywords:
------------------------------------+---------------------------

Comment (by Algunenano):

 This is reproducible with the following elements:

 * **AddGeometryColumn**:
 {{{
 # CREATE VIEW break_add_geom AS Select AddGeometryColumn(NULL, NULL, NULL,
 NULL, 0, NULL, 0, true);
 CREATE VIEW
 # alter extension postgis update TO "3.0.0devnext";
 ERROR:  cannot drop function addgeometrycolumn(character varying,character
 varying,character varying,character varying,integer,character
 varying,integer,boolean) because other objects depend on it
 DETAIL:  view break_add_geom depends on function
 addgeometrycolumn(character varying,character varying,character
 varying,character varying,integer,character varying,integer,boolean)
 HINT:  Use DROP ... CASCADE to drop the dependent objects too.
 }}}

 * **st_asx3d**:
 {{{
 # CREATE VIEW break_asx3d AS Select st_asx3d(NULL, 0, 0);
 CREATE VIEW
 # alter extension postgis update TO "3.0.0devnext";
 ERROR:  cannot drop function st_asx3d(geometry,integer,integer) because
 other objects depend on it
 DETAIL:  view break_asx3d depends on function
 st_asx3d(geometry,integer,integer)
 HINT:  Use DROP ... CASCADE to drop the dependent objects too.
 }}}

 * **UpdateGeometrySRID**:
 {{{
 # CREATE VIEW break_updategeomtry AS SELECT UpdateGeometrySRID(NULL, NULL,
 NULL, NULL, 0);
 CREATE VIEW
 # alter extension postgis update TO "3.0.0devnext";
 ERROR:  cannot drop function updategeometrysrid(character
 varying,character varying,character varying,character varying,integer)
 because other objects depend on it
 DETAIL:  view break_updategeomtry depends on function
 updategeometrysrid(character varying,character varying,character
 varying,character varying,integer)
 HINT:  Use DROP ... CASCADE to drop the dependent objects too
 }}}

 * **ST_AsLatLonText**:
 {{{
 # CREATE VIEW break_aslatlon AS SELECT ST_AsLatLonText(the_geom, NULL)
 FROM all_month;
 CREATE VIEW
 # alter extension postgis update TO "3.0.0devnext";
 ERROR:  cannot drop function st_aslatlontext(geometry,text) because other
 objects depend on it
 DETAIL:  view break_mvt depends on function st_aslatlontext(geometry,text)
 HINT:  Use DROP ... CASCADE to drop the dependent objects too.
 }}}

 * **ST_AsMVTGeom**:
 {{{
 # CREATE VIEW break_mvt AS SELECT ST_AsMVTGeom(the_geom, NULL) FROM
 all_month;
 CREATE VIEW
 # alter extension postgis update TO "3.0.0devnext";
 ERROR:  cannot drop function
 st_asmvtgeom(geometry,box2d,integer,integer,boolean) because other objects
 depend on it
 DETAIL:  view break_mvt depends on function
 st_asmvtgeom(geometry,box2d,integer,integer,boolean)
 HINT:  Use DROP ... CASCADE to drop the dependent objects too.
 }}}

 * **geometry_columns**:
 {{{
 # CREATE VIEW break_geometry_column AS SELECT * FROM geometry_columns;
 CREATE VIEW
 # alter extension postgis update TO "3.0.0devnext";
 ERROR:  cannot drop view geometry_columns because other objects depend on
 it
 DETAIL:  view break_geometry_column depends on view geometry_columns
 HINT:  Use DROP ... CASCADE to drop the dependent objects too
 }}}


 These are dummy examples but they show that these drops can break
 upgrades. They mostly come from renaming parameters, so we'll need to
 either only drop these functions if they have the old parameters or make
 sure that the upgrade is possible when a parameter is renamed.

-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/4334#comment:1>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-tickets mailing list