Opened 22 months ago
Closed 22 months ago
#5348 closed defect (fixed)
Non-extension based dump-restore tests failing on new ST_ClusterIntersectingWin
Reported by: | robe | Owned by: | strk |
---|---|---|---|
Priority: | medium | Milestone: | PostGIS 3.4.0 |
Component: | build | Version: | master |
Keywords: | Cc: |
Description
The new functions on https://github.com/postgis/postgis/pull/721
are triggering failure
when running
make check RUNTESTFLAGS="-v --dumprestore"
errors with:
ERROR: function "st_clusterintersectingwin" already exists with same argument types
So I presume postgis_restore.pl is not filtering this function out for some reason.
But work fine with
make check RUNTESTFLAGS="-v --extension--dumprestore"
I'm not seeing anything wrong with the availability checks in it.
I thought maybe postgis_restore.pl is not handling window functions, but if that is the case it should have chocked also on ST_ClusterDBScan and ST_ClusterKMeans.
Whatever the issue is I figure we can fix after its commited.
I'm changing cirrus to test against extension based install, which I think is more useful too because all fixes that would be done using schema quals I assume will only be fixed in extension based dump/restore
Change History (8)
comment:1 by , 22 months ago
comment:2 by , 22 months ago
When non-extension dumprestore fails it's probably the postgis_restore.pl script missing knowledge about a signature that should be stripped from the dump. It might be useful to generate part of that list, given our source knows about ANY signature we EVER released in a version we support soft-upgrade from, but those dumps could also come from earlier version, which is why the list we can generate is partial.
I'm pretty sure restoring a dump from very early releases is going to error out, btw, as we never had a bot testing those ancient dump restores (and current run_test.pl does not support testing restore-only either).
Anyway, for this ticket, check out how the signature is missing here: https://trac.osgeo.org/postgis/browser/git/utils/postgis_restore.pl.in#L1961
Remember to also add the COMMENT part
comment:3 by , 22 months ago
Status: | new → assigned |
---|
I just realized we are theoretically ALREADY generating the list of signatures to strip, via the update-restore
Makefile rule under utils/Makefile.in — I will check to see why that one is failing and whether I broke it at some point
comment:4 by , 22 months ago
For the record: a big change to postgis_restore.pl.in
was made in commit [3e176166f46f43c9704936013b330e0586f20844/git]
comment:7 by , 22 months ago
Ok the problem is still not fixed because our generator generates this skip signature:
FUNCTION st_clusterwithinwin(geometry,distance double precision)
But pg_restore -l
does not report function with argument names, just types, so the generator of signatures needs be improved to strip those argument names out, and the postgis_restore.pl
too.
In 9ea9b675/git: