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

PostGIS trac at osgeo.org
Sat Jul 11 00:15:35 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 laopsahl):

 A test case showing how to use row level lock to avoid Topology errors .

 Info from the db_topo_rowlevel_lock_readme.txt in file
 db_topo_rowlevel_lock.zip.

 # Create a empty database

 {{{
 psql postgres -c'create database t1'
 }}}

 # Add the code needed for testing

 {{{
 t1 -f db_topo_rowlevel_lock_init.sql
 }}}

 # Test with no rowlevel locking, should return something like this

 {{{
 psql t1 -f db_topo_rowlevel_lock_test_fail.sql
  ?column?  |      error       | id1 | id2
 ------------+------------------+-----+-----
  validation | face within face |   1 |   2
  validation | face within face |   2 |   1
  validation | face within face |   1 |   3
  validation | face within face |   2 |   3
 (4 rows)
 }}}


 # Test with rowlevel locking , no topop errors should be found

 {{{
 psql t1 -f db_topo_rowlevel_lock_test_ok.sql
 }}}

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