[postgis-tickets] [PostGIS] #4684: Topology construction routine results invalid topology

PostGIS trac at osgeo.org
Fri May 8 06:13:24 PDT 2020


#4684: Topology construction routine results invalid topology
-----------------------+---------------------
  Reporter:  laopsahl  |      Owner:  pramsey
      Type:  defect    |     Status:  new
  Priority:  medium    |  Milestone:
 Component:  postgis   |    Version:  3.0.x
Resolution:            |   Keywords:
-----------------------+---------------------

Comment (by strk):

 First of all: it is _expected_ that concurrent processes (threads would
 result in backends, so processes) may end up creating an invalid topology.
 This is because the topology primitive tables DO NOT have proper integrity
 constraints ensuring topology validity. They do have partial constraints
 but not full-coverage of constraints. This was a design choice, initially,
 to avoid an excessive cost on topology population when the caller knows
 what he's doing.

 We *might* be able to change this now, counting on the ability of caller
 to disable (temporary?) those constraints. Anyway this is the current
 situation.

 The fact that you end up with different results is ALSO due to this multi-
 process approach. Depending on what gets into the primitive tables first
 determines the behaviour of the next operation.

 So my question is: can you get topology.TopoGeo_addLinestring to create an
 invalid topology when being run by a backend having exclusive write access
 to the database ? If you can NOT, then this would be an INVALID ticket.

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