[postgis-tickets] [PostGIS] #5403: topology.ValidateTopology have a call to missing schema name function getringedges(unknown, integer) does not exist

PostGIS trac at osgeo.org
Sat Jun 17 21:16:25 PDT 2023


#5403: topology.ValidateTopology have a call to missing schema name function
getringedges(unknown, integer) does not exist
-------------------------------+---------------------------
 Reporter:  Lars Aksel Opsahl  |      Owner:  strk
     Type:  defect             |     Status:  new
 Priority:  medium             |  Milestone:  PostGIS 3.3.4
Component:  topology           |    Version:  3.3.x
 Keywords:                     |
-------------------------------+---------------------------
 To run topology.ValidateTopology(topo,bbox) you have set the topology path
 in psql (SET search_path TO "$user", topology, public;) or else I get the
 error below.

 Running on


 {{{
 POSTGIS="3.4.0dev 3.3.0rc2-958-g4c776d418" [EXTENSION] PGSQL="120"
 GEOS="3.9.1-CAPI-1.14.2" SFCGAL="1.3.7" PROJ="7.2.1" LIBXML="2.9.10"
 LIBJSON="0.13.1" LIBPROTOBUF="1.3.3" WAGYU="0.5.0 (Internal)" TOPOLOGY
 }}}

 error message

 {{{
 ERROR:  42883: function getringedges(unknown, integer) does not exist
 LINE 29:           GetRingEdges(
                    ^
 HINT:  No function matches the given name and argument types. You might
 need to add explicit type casts.
 QUERY:
       WITH
       outside_point AS (
         SELECT ST_Translate(
           ST_StartPoint( ST_BoundingDiagonal(mbr) ),
           -1,
           -1
         )
         FROM prosj_mdir_hs_topo_v3.face
         WHERE face_id = $1
       ),
       leftmost_edge AS (
         SELECT
           CASE WHEN left_face = $1
           THEN
             edge_id
           ELSE
             -edge_id
           END ring_id
         FROM prosj_mdir_hs_topo_v3.edge
         WHERE left_face = $1 or right_face = $1
         ORDER BY
           geom <-> $2
         LIMIT 1
       ),
       edgering AS (
         SELECT *
         FROM
           GetRingEdges(
             'prosj_mdir_hs_topo_v3',
             (SELECT ring_id FROM leftmost_edge)
           )
       )
       SELECT
         ST_MakeLine(
           CASE WHEN r.edge > 0 THEN
             e.geom
           ELSE
             ST_Reverse(e.geom)
           END
           ORDER BY r.sequence
         ) outerRing
       FROM edgering r, prosj_mdir_hs_topo_v3.edge e
       WHERE e.edge_id = abs(r.edge)

 CONTEXT:  PL/pgSQL function
 topology._validatetopologygetfaceshellmaximaledgering(character
 varying,integer) line 74 at EXECUTE
 SQL statement "INSERT INTO pg_temp.face_check
     SELECT face_id,
       topology._ValidateTopologyGetFaceShellMaximalEdgeRing(toponame,
 face_id),
       mbr
     FROM face
     WHERE mbr && bbox
     AND (
       CASE WHEN invalid_faces IS NOT NULL THEN
         NOT face_id = ANY(invalid_faces)
       ELSE
         TRUE
       END
     )
     AND face_id NOT IN (
       SELECT face_id FROM pg_temp.face_check
     )"
 PL/pgSQL function topology.validatetopology(character varying,geometry)
 line 336 at SQL statement
 SQL statement "CREATE table prosj_mdir_hs_topo_v3.tables_grid_validate AS
 SELECT ARRAY_AGG(validate_topology) AS validate_result, cell_bbox, id
 FROM (
 SELECT topology.ValidateTopology('prosj_mdir_hs_topo_v3',g.cell_bbox) AS
 validate_topology ,
 g.cell_bbox, g.id
 FROM
 prosj_mdir_hs_topo_v3.multi_input_9_tables_grid g
 WHERE EXISTS (SELECT 1 FROM prosj_mdir_hs_topo_v3.edge e WHERE
 ST_intersects(e.geom,g.cell_bbox) LIMIT 1)
 order by id
 ) AS r
 where id = 10 GROUP BY cell_bbox, id"
 PL/pgSQL function inline_code_block line 7 at SQL statement
 LOCATION:  ParseFuncOrColumn, parse_func.c:624


 }}}
-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5403>
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