Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#4845 closed defect (fixed)

PostGIS 3.2 fails compile against PostgreSQL 14 gserialized

Reported by: robe Owned by: pramsey
Priority: medium Milestone: PostGIS 3.1.2
Component: postgis Version: master
Keywords: Cc:

Description

I thought it was time to put debbie to testing PG14 and well bah humbug.

13:07:50 gserialized_supportfn.c: In function ‘postgis_index_supportfn’:
13:07:50 gserialized_supportfn.c:420:40: warning: passing argument 1 of ‘is_pseudo_constant_for_index’ from incompatible pointer type [-Wincompatible-pointer-types]
13:07:50   420 |      if (!is_pseudo_constant_for_index((Node*)expandexpr, req->index))
13:07:50       |                                        ^~~~~~~~~~~~~~~~~
13:07:50       |                                        |
13:07:50       |                                        Node * {aka struct Node *}
13:07:50 In file included from gserialized_supportfn.c:38:
13:07:50 /var/lib/jenkins/workspace/pg/rel/pg14w64/include/postgresql/server/optimizer/optimizer.h:100:55: note: expected ‘PlannerInfo *’ {aka ‘struct PlannerInfo *’} but argument is of type ‘Node *’ {aka ‘struct Node *’}
13:07:50   100 | extern bool is_pseudo_constant_for_index(PlannerInfo *root, Node *expr,
13:07:50       |                                          ~~~~~~~~~~~~~^~~~
13:07:50 gserialized_supportfn.c:420:62: warning: passing argument 2 of ‘is_pseudo_constant_for_index’ from incompatible pointer type [-Wincompatible-pointer-types]
13:07:50   420 |      if (!is_pseudo_constant_for_index((Node*)expandexpr, req->index))
13:07:50       |                                                           ~~~^~~~~~~
13:07:50       |                                                              |
13:07:50       |                                                              struct IndexOptInfo *
13:07:50 In file included from gserialized_supportfn.c:38:
13:07:50 /var/lib/jenkins/workspace/pg/rel/pg14w64/include/postgresql/server/optimizer/optimizer.h:100:67: note: expected ‘Node *’ {aka ‘struct Node *’} but argument is of type ‘struct IndexOptInfo *’
13:07:50   100 | extern bool is_pseudo_constant_for_index(PlannerInfo *root, Node *expr,
13:07:50       |                                                             ~~~~~~^~~~
13:07:50 gserialized_supportfn.c:420:11: error: too few arguments to function ‘is_pseudo_constant_for_index’
13:07:50   420 |      if (!is_pseudo_constant_for_index((Node*)expandexpr, req->index))
13:07:50       |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
13:07:50 In file included from gserialized_supportfn.c:38:
13:07:50 /var/lib/jenkins/workspace/pg/rel/pg14w64/include/postgresql/server/optimizer/optimizer.h:100:13: note: declared here
13:07:50   100 | extern bool is_pseudo_constant_for_index(PlannerInfo *root, Node *expr,
13:07:50       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
13:07:50 gserialized_supportfn.c:443:40: warning: passing argument 1 of ‘is_pseudo_constant_for_index’ from incompatible pointer type [-Wincompatible-pointer-types]
13:07:50   443 |      if (!is_pseudo_constant_for_index(rightarg, req->index))
13:07:50       |                                        ^~~~~~~~
13:07:50       |                                        |
13:07:50       |                                        Node * {aka struct Node *}
13:07:50 In file included from gserialized_supportfn.c:38:
13:07:50 /var/lib/jenkins/workspace/pg/rel/pg14w64/include/postgresql/server/optimizer/optimizer.h:100:55: note: expected ‘PlannerInfo *’ {aka ‘struct PlannerInfo *’} but argument is of type ‘Node *’ {aka ‘struct Node *’}
13:07:50   100 | extern bool is_pseudo_constant_for_index(PlannerInfo *root, Node *expr,
13:07:50       |                                          ~~~~~~~~~~~~~^~~~
13:07:50 gserialized_supportfn.c:443:53: warning: passing argument 2 of ‘is_pseudo_constant_for_index’ from incompatible pointer type [-Wincompatible-pointer-types]
13:07:50   443 |      if (!is_pseudo_constant_for_index(rightarg, req->index))
13:07:50       |                                                  ~~~^~~~~~~
13:07:50       |                                                     |
13:07:50       |                                                     struct IndexOptInfo *
13:07:50 In file included from gserialized_supportfn.c:38:
13:07:50 /var/lib/jenkins/workspace/pg/rel/pg14w64/include/postgresql/server/optimizer/optimizer.h:100:67: note: expected ‘Node *’ {aka ‘struct Node *’} but argument is of type ‘struct IndexOptInfo *’
13:07:50   100 | extern bool is_pseudo_constant_for_index(PlannerInfo *root, Node *expr,
13:07:50       |                                                             ~~~~~~^~~~
13:07:50 gserialized_supportfn.c:443:11: error: too few arguments to function ‘is_pseudo_constant_for_index’
13:07:50   443 |      if (!is_pseudo_constant_for_index(rightarg, req->index))
13:07:50       |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
13:07:50 In file included from gserialized_supportfn.c:38:
13:07:50 /var/lib/jenkins/workspace/pg/rel/pg14w64/include/postgresql/server/optimizer/optimizer.h:100:13: note: declared here
13:07:50   100 | extern bool is_pseudo_constant_for_index(PlannerInfo *root, Node *expr,
13:07:50       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
13:07:50 make[1]: *** [<builtin>: gserialized_supportfn.o] Error 1
13:07:50 make[1]: Leaving directory '/var/lib/jenkins/workspace/postgis/branches/3.2/postgis'
13:07:50 make: *** [GNUmakefile:22: all] Error 1
13:07:50 Build step 'Execute shell' marked build as failure
13:07:50 Triggering a new build of PostgreSQL stop
13:07:50 Finished: FAILURE

Change History (4)

comment:1 by pramsey, 3 years ago

I have a fix for this at https://github.com/pramsey/postgis/tree/master-4845

Need to wait to get our dockerized CI suite updated to latest master, because the master it is carrying didn't have this change yet.

comment:2 by Paul Ramsey <pramsey@…>, 3 years ago

Resolution: fixed
Status: newclosed

In b5bf441e/git:

Support build on PgSQL 14+, Closes #4845

comment:3 by Paul Ramsey <pramsey@…>, 3 years ago

In 77f5ce4/git:

Add Pg14 build support to 3.1 branch. References #4845

comment:4 by robe, 3 years ago

Milestone: PostGIS 3.2.0PostGIS 3.1.2
Note: See TracTickets for help on using tickets.