[rttopo-dev] reserving face identifiers for state flags

Brian M Hamlin maplabs at light42.com
Wed Sep 14 09:21:16 PDT 2016


As far as I know, a DELETE should be cheap, since the ROW is just marked for deletion

UPDATE is very expensive, and for large tables and large sets, a complete rewrite (new table) is faster

VACUUM is slow and can occur anytime, especially after a DELETE
I suspect you are seeing a VACUUM ?

  just a guess, hth
   --Brian




On Wed, 14 Sep 2016 17:39:57 +0200, Sandro Santilli  wrote:

On Wed, Sep 14, 2016 at 03:04:06PM +0200, Sandro Santilli wrote:

> As a backend might refuse to allow a _face value which does not
> exist in the  table, the library also creates a "placeholder"
> face there with the hard-coded identifier.  Shall the backend topology
> already have a face with the hard-coded value for "unassigned face",
> the backend would raise an exception there, making the process fail.

I'm witnessing a very long time spent by PostgreSQL processing
a DELETE, during a topology.RegisterMissingFaces call.
As the only expected DELETE is deletion of the placeholder
face, I'm now wondering if it makes sense to avoid using
the backend for state completely :(

It's hard to know what to expect by different backends, especially
as the library is not in charge of creating foreign keys and
the like on the actual tables...

--strk;
_______________________________________________
librttopo-dev mailing list
librttopo-dev at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/librttopo-dev



More information about the librttopo-dev mailing list