[PostGIS] #5983: Data corruption in topology.topoelement and topology.topogeometry after upgrade to 3.6.0
PostGIS
trac at osgeo.org
Thu Oct 30 07:18:04 PDT 2025
#5983: Data corruption in topology.topoelement and topology.topogeometry after
upgrade to 3.6.0
-----------------------+---------------------------
Reporter: packi | Owner: robe
Type: defect | Status: new
Priority: blocker | Milestone: PostGIS 3.6.1
Component: topology | Version: 3.6.x
Resolution: | Keywords:
-----------------------+---------------------------
Comment (by robe):
Replying to [comment:25 strk]:
> Replying to [comment:23 robe]:
>
> > Wouldn't you end up overupdating with that. I was thinking more like
> >
> > WHERE ( (topogeom).id & 0xFFFFFFFF ) <> (topogeom).id;
>
> I was thinking more like:
>
> {{{
> WHERE ( xmin < ( select xmin from pg_proc where oid =
'topology.st_createtopogeo'::regproc )
> }}}
>
Did you test this out?
If I do something like this:
{{{
SELECT xmin from pg_proc where xmin < ( select p.xmin from pg_proc AS p
where oid = 'topology.st_createtopogeo'::regproc );
}}}
I get error:
{{{
ERROR: operator does not exist: xid < xid
}}}
So we would probably need to change it to:
{{{
WHERE ( xmin::text::int < ( select xmin::text::int from pg_proc where oid
= 'topology.st_createtopogeo'::regproc )
}}}
but like I said, I'm sure there is a good reason they didn't define <>
operators for xid. Though that would probably be a faster test.
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5983#comment:28>
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