Opened 9 months ago

Closed 9 months ago

#5576 closed defect (fixed)

restoring dump from 3.x: ERROR: function "st_mapalgebrafct" already exists with same argument types

Reported by: strk Owned by: pramsey
Priority: medium Milestone: PostGIS 3.4.1
Component: postgis Version: 3.4.x
Keywords: Cc:

Description

To reproduce:

regress/run_test.pl --raster --dumprestore --upgrade-path unpackaged3.5--:auto regress/core/regress -v

We get to: ERROR: function "st_mapalgebrafct" already exists with same argument types

Change History (4)

comment:1 by strk, 9 months ago

This was spotted by CI here: https://woodie.osgeo.org/repos/30/pipeline/1324/7#L9821

The error is not great in that it doesn't include argument types

comment:2 by strk, 9 months ago

The run_test.pl script keeps the dump and the manifest so I can tell the dump contains these signatures:

1165; 1255 32872139 FUNCTION public st_mapalgebrafct(public.raster, regprocedure, text[]) strk
1162; 1255 32872135 FUNCTION public st_mapalgebrafct(public.raster, integer, regprocedure, text[]) strk
1163; 1255 32872137 FUNCTION public st_mapalgebrafct(public.raster, text, regprocedure, text[]) strk
1145; 1255 32872133 FUNCTION public st_mapalgebrafct(public.raster, integer, text, regprocedure, text[]) strk
1170; 1255 32872144 FUNCTION public st_mapalgebrafct(public.raster, public.raster, regprocedure, text, text, text[]) strk
1169; 1255 32872143 FUNCTION public st_mapalgebrafct(public.raster, integer, public.raster, integer, regprocedure, text, text, text[]) strk

While the SKIP list has these:

FUNCTION st_mapalgebrafct(raster, integer, raster, integer, regprocedure, text, text, userargs text[])
FUNCTION st_mapalgebrafct(raster, integer, regprocedure)
FUNCTION st_mapalgebrafct(raster, integer, regprocedure, args text[])
FUNCTION st_mapalgebrafct(raster, integer, text, regprocedure)
FUNCTION st_mapalgebrafct(raster, integer, text, regprocedure, args text[])
FUNCTION st_mapalgebrafct(raster, raster, regprocedure, text[])
FUNCTION st_mapalgebrafct(raster, raster, regprocedure, text, text, userargs text[])
FUNCTION st_mapalgebrafct(raster, regprocedure)
FUNCTION st_mapalgebrafct(raster, regprocedure, args text[])
FUNCTION st_mapalgebrafct(raster, text, regprocedure)
FUNCTION st_mapalgebrafct(raster, text, regprocedure, args text[])

The problem seem to be that we're keeping the "args" and "userargs" parameter names in those skip signatures.

comment:3 by Sandro Santilli <strk@…>, 9 months ago

In a4ac60f/git:

Fix extraction of skip signatures from function with variadic args

References #5576 in master branch (3.5.0dev)

comment:4 by Sandro Santilli <strk@…>, 9 months ago

Resolution: fixed
Status: newclosed

In b328e74/git:

Fix extraction of skip signatures from function with variadic args

Closes #5576 in 3.4 branch (3.4.1dev)

Note: See TracTickets for help on using tickets.