Thread: BUG #13306: PostgreSQL 9.5 change to array type changes broke PostGIS build

The following bug has been logged on the website:

Bug reference:      13306
Logged by:          Regina Obe
Email address:      lr@pcorp.us
PostgreSQL version: Unsupported/Unknown
Operating system:   All
Description:

I'm not sure if this is a conditional change we need to make to our code for
9.5 (an accidental breaking), or some stuff we've been using that's
deprecated.  Our weekly build against 9.5 for upcoming PostGIS 2.2 fails to
compile.

I suspect the problem commit is this:
https://github.com/postgres/postgres/commit/1dc5ebc9077ab742079ce5dac9a6664248d42916

compilation error we get is:
/lib/jenkins/workspace/pg/rel/pg9.5w64/include/postgresql/internal
-D_GNU_SOURCE   -c -o lwgeom_inout.o lwgeom_inout.c
lwgeom_inout.c: In function ‘TWKBFromLWGEOMArray’:
lwgeom_inout.c:538: error: too few arguments to function
‘array_create_iterator’
lwgeom_inout.c:539: error: too few arguments to function
‘array_create_iterator’
make[1]: *** [lwgeom_inout.o] Error 1
make[1]: Leaving directory
`/var/lib/jenkins/workspace/postgis/regress_pgdev/branches/2.2/postgis'

Related postgis ticket is here:

http://trac.osgeo.org/postgis/ticket/3121
On Sun, May 17, 2015 at 6:07 PM,  <lr@pcorp.us> wrote:
> I suspect the problem commit is this:
> https://github.com/postgres/postgres/commit/1dc5ebc9077ab742079ce5dac9a66=
64248d42916

Looks like commit 13dbc7a8 to me.

> compilation error we get is:
> /lib/jenkins/workspace/pg/rel/pg9.5w64/include/postgresql/internal
> -D_GNU_SOURCE   -c -o lwgeom_inout.o lwgeom_inout.c
> lwgeom_inout.c: In function =E2=80=98TWKBFromLWGEOMArray=E2=80=99:
> lwgeom_inout.c:538: error: too few arguments to function
> =E2=80=98array_create_iterator=E2=80=99
> lwgeom_inout.c:539: error: too few arguments to function
> =E2=80=98array_create_iterator=E2=80=99
> make[1]: *** [lwgeom_inout.o] Error 1
> make[1]: Leaving directory
> `/var/lib/jenkins/workspace/postgis/regress_pgdev/branches/2.2/postgis'
>
> Related postgis ticket is here:

It is safe to just add a third argument to that function call, NULL.
That's all that was done for the array_create_iterator() call in
pl_exec.c by commit 13dbc7a8.

--=20
Peter Geoghegan