[postgis-tickets] [PostGIS] #4684: concurrent topology construction routine may result in invalid topology

PostGIS trac at osgeo.org
Fri May 15 02:56:47 PDT 2020


#4684: concurrent topology construction routine may result in invalid topology
-----------------------+-------------------
  Reporter:  laopsahl  |      Owner:  strk
      Type:  defect    |     Status:  new
  Priority:  medium    |  Milestone:
 Component:  topology  |    Version:  3.0.x
Resolution:            |   Keywords:
-----------------------+-------------------

Comment (by strk):

 >  So if I have a set of lines to add, how do I  find the edge row and
 >  maybe
 >  face rows to lock ?

 Not easy to tell.
 When adding ONE linestring, records that will possibly be updated are:

   [topo.edge_data]
   - edges that will intersect the line (easy to get)
   - edges of any face that will be affected by the insertion (hard to
     find)

   [topo.face]
   - faces that will be split by the insertion (hard to find)

   [topo.node]
   - isolated nodes that are within tolerance distance from the line

 A pessimistic approach might lock:

   - EVERY FACE whos MBR intersects the input line
   - EVERY EDGE having any of those faces on its right or left side
   - EVERY ISOLATED NODE within tolerance distance from the input line

-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/4684#comment:7>
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