Skip to content

PostgreSQL 18 support #52

@devrimgunduz

Description

@devrimgunduz

Hi,

v18 beta1 is out. jdbc_fdw cannot be compiled against v18. Can you please take a look? Thanks, Devrim

jq.c: In function ‘jdbc_jvm_init’:
jq.c:393:30: error: passing argument 1 of ‘on_proc_exit’ from incompatible pointer type [-Wincompatible-pointer-types]
  393 |                 on_proc_exit(jdbc_destroy_jvm, 0);
      |                              ^~~~~~~~~~~~~~~~
      |                              |
      |                              void (*)(void)
In file included from jq.c:18:
/usr/pgsql-18/include/server/storage/ipc.h:70:46: note: expected ‘pg_on_exit_callback’ {aka ‘void (*)(int,  long unsigned int)’} but argument is of type ‘void (*)(void)’
   70 | extern void on_proc_exit(pg_on_exit_callback function, Datum arg);
      |                          ~~~~~~~~~~~~~~~~~~~~^~~~~~~~
jq.c:268:1: note: ‘jdbc_destroy_jvm’ declared here
  268 | jdbc_destroy_jvm()
      | ^~~~~~~~~~~~~~~~
/usr/pgsql-18/include/server/storage/ipc.h:21:16: note: ‘pg_on_exit_callback’ declared here
   21 | typedef void (*pg_on_exit_callback) (int code, Datum arg);
      |                ^~~~~~~~~~~~~~~~~~~
make[1]: *** [<builtin>: jq.o] Error 1
jdbc_fdw.c:305:68: error: unknown type name ‘ExplainState’; did you mean ‘ExplainStmt’?
  305 |                                                                    ExplainState *es);
      |                                                                    ^~~~~~~~~~~~
      |                                                                    ExplainStmt
jdbc_fdw.c:310:74: error: unknown type name ‘ExplainState’; did you mean ‘ExplainStmt’?
  310 |                                                                          ExplainState *es);
      |                                                                          ^~~~~~~~~~~~
      |                                                                          ExplainStmt
jdbc_fdw.c: In function ‘jdbc_fdw_handler’:
jdbc_fdw.c:401:39: error: ‘jdbcExplainForeignScan’ undeclared (first use in this function); did you mean ‘jdbcReScanForeignScan’?
  401 |         routine->ExplainForeignScan = jdbcExplainForeignScan;
      |                                       ^~~~~~~~~~~~~~~~~~~~~~
      |                                       jdbcReScanForeignScan
jdbc_fdw.c:401:39: note: each undeclared identifier is reported only once for each function it appears in
jdbc_fdw.c:402:41: error: ‘jdbcExplainForeignModify’ undeclared (first use in this function); did you mean ‘jdbcPlanForeignModify’?
  402 |         routine->ExplainForeignModify = jdbcExplainForeignModify;
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
      |                                         jdbcPlanForeignModify
In file included from /usr/pgsql-18/include/server/access/tupdesc.h:19,
                 from jdbc_fdw.h:18,
                 from jdbc_fdw.c:17:
jdbc_fdw.c: In function ‘jdbcGetForeignPaths’:
/usr/pgsql-18/include/server/nodes/pg_list.h:68:58: error: incompatible type for argument 7 of ‘create_foreignscan_path’
   68 | #define NIL                                             ((List *) NULL)
      |                                                         ~^~~~~~~~~~~~~~
      |                                                          |
      |                                                          List *
jdbc_fdw.c:792:74: note: in expansion of macro ‘NIL’
  792 |                                                                          NIL,   /* no pathkeys */
      |                                                                          ^~~
In file included from jdbc_fdw.c:37:
/usr/pgsql-18/include/server/optimizer/pathnode.h:129:113: note: expected ‘Cost’ {aka ‘double’} but argument is of type ‘List *’
  129 |                                                                                         Cost startup_cost, Cost total_cost,
      |                                                                                                            ~~~~~^~~~~~~~~~
jdbc_fdw.c:793:81: error: passing argument 8 of ‘create_foreignscan_path’ from incompatible pointer type [-Wincompatible-pointer-types]
  793 |                                                                          baserel->lateral_relids,
      |                                                                          ~~~~~~~^~~~~~~~~~~~~~~~
      |                                                                                 |
      |                                                                                 Relids {aka Bitmapset *}
/usr/pgsql-18/include/server/optimizer/pathnode.h:130:95: note: expected ‘List *’ but argument is of type ‘Relids’ {aka ‘Bitmapset *’}
  130 |                                                                                         List *pathkeys,
      |                                                                                         ~~~~~~^~~~~~~~
In file included from jdbc_fdw.h:20:
/usr/pgsql-18/include/server/nodes/pathnodes.h:30:20: note: ‘Relids’ declared here
   30 | typedef Bitmapset *Relids;
      |                    ^~~~~~
/usr/pgsql-18/include/server/nodes/pg_list.h:68:58: error: passing argument 10 of ‘create_foreignscan_path’ from incompatible pointer type [-Wincompatible-pointer-types]
   68 | #define NIL                                             ((List *) NULL)
      |                                                         ~^~~~~~~~~~~~~~
      |                                                          |
      |                                                          List *
jdbc_fdw.c:796:74: note: in expansion of macro ‘NIL’
  796 |                                                                          NIL, /* no fdw_restrictinfo list */
      |                                                                          ^~~
/usr/pgsql-18/include/server/optimizer/pathnode.h:132:95: note: expected ‘Path *’ but argument is of type ‘List *’
  132 |                                                                                         Path *fdw_outerpath,
      |                                                                                         ~~~~~~^~~~~~~~~~~~~
jdbc_fdw.c:785:26: error: too few arguments to function ‘create_foreignscan_path’; expected 12, have 11
  785 |                          create_foreignscan_path(root, baserel,
      |                          ^~~~~~~~~~~~~~~~~~~~~~~
/usr/pgsql-18/include/server/optimizer/pathnode.h:126:21: note: declared here
  126 | extern ForeignPath *create_foreignscan_path(PlannerInfo *root, RelOptInfo *rel,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~
jdbc_fdw.c: At top level:
jdbc_fdw.c:2090:48: error: unknown type name ‘ExplainState’; did you mean ‘ExplainStmt’?
 2090 | jdbcExplainForeignScan(ForeignScanState *node, ExplainState *es)
      |                                                ^~~~~~~~~~~~
      |                                                ExplainStmt
jdbc_fdw.c:2113:50: error: unknown type name ‘ExplainState’; did you mean ‘ExplainStmt’?
 2113 |                                                  ExplainState *es)
      |                                                  ^~~~~~~~~~~~
      |                                                  ExplainStmt
jdbc_fdw.c: In function ‘jdbc_add_foreign_grouping_paths’:
/usr/pgsql-18/include/server/nodes/pg_list.h:68:58: error: incompatible type for argument 7 of ‘create_foreign_upper_path’
   68 | #define NIL                                             ((List *) NULL)
      |                                                         ~^~~~~~~~~~~~~~
      |                                                          |
      |                                                          List *
jdbc_fdw.c:2400:83: note: in expansion of macro ‘NIL’
 2400 |                                                                                   NIL,  /* no pathkeys */
      |                                                                                   ^~~
/usr/pgsql-18/include/server/optimizer/pathnode.h:147:115: note: expected ‘Cost’ {aka ‘double’} but argument is of type ‘List *’
  147 |                                                                                           Cost startup_cost, Cost total_cost,
      |                                                                                                              ~~~~~^~~~~~~~~~
/usr/pgsql-18/include/server/nodes/pg_list.h:68:58: error: passing argument 9 of ‘create_foreign_upper_path’ from incompatible pointer type [-Wincompatible-pointer-types]
   68 | #define NIL                                             ((List *) NULL)
      |                                                         ~^~~~~~~~~~~~~~
      |                                                          |
      |                                                          List *
jdbc_fdw.c:2403:83: note: in expansion of macro ‘NIL’
 2403 |                                                                                   NIL,  /* no fdw_restrictinfo list */
      |                                                                                   ^~~
/usr/pgsql-18/include/server/optimizer/pathnode.h:149:97: note: expected ‘Path *’ but argument is of type ‘List *’
  149 |                                                                                           Path *fdw_outerpath,
      |                                                                                           ~~~~~~^~~~~~~~~~~~~
jdbc_fdw.c:2394:21: error: too few arguments to function ‘create_foreign_upper_path’; expected 11, have 10
 2394 |         grouppath = create_foreign_upper_path(root,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/pgsql-18/include/server/optimizer/pathnode.h:144:21: note: declared here
  144 | extern ForeignPath *create_foreign_upper_path(PlannerInfo *root, RelOptInfo *rel,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~
jdbc_fdw.c: In function ‘jdbc_add_foreign_final_paths’:
jdbc_fdw.c:2545:112: error: incompatible type for argument 7 of ‘create_foreign_upper_path’
 2545 |                                                                                                            path->pathkeys,
      |                                                                                                            ~~~~^~~~~~~~~~
      |                                                                                                                |
      |                                                                                                                List *
/usr/pgsql-18/include/server/optimizer/pathnode.h:147:115: note: expected ‘Cost’ {aka ‘double’} but argument is of type ‘List *’
  147 |                                                                                           Cost startup_cost, Cost total_cost,
      |                                                                                                              ~~~~~^~~~~~~~~~
/usr/pgsql-18/include/server/nodes/pg_list.h:68:58: error: passing argument 9 of ‘create_foreign_upper_path’ from incompatible pointer type [-Wincompatible-pointer-types]
   68 | #define NIL                                             ((List *) NULL)
      |                                                         ~^~~~~~~~~~~~~~
      |                                                          |
      |                                                          List *
jdbc_fdw.c:2548:108: note: in expansion of macro ‘NIL’
 2548 |                                                                                                            NIL, /* no fdw_restrictinfo
      |                                                                                                            ^~~
/usr/pgsql-18/include/server/optimizer/pathnode.h:149:97: note: expected ‘Path *’ but argument is of type ‘List *’
  149 |                                                                                           Path *fdw_outerpath,
      |                                                                                           ~~~~~~^~~~~~~~~~~~~
jdbc_fdw.c:2539:46: error: too few arguments to function ‘create_foreign_upper_path’; expected 11, have 10
 2539 |                                 final_path = create_foreign_upper_path(root,
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/pgsql-18/include/server/optimizer/pathnode.h:144:21: note: declared here
  144 | extern ForeignPath *create_foreign_upper_path(PlannerInfo *root, RelOptInfo *rel,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~
jdbc_fdw.c:2689:84: error: incompatible type for argument 7 of ‘create_foreign_upper_path’
 2689 |                                                                                    pathkeys,
      |                                                                                    ^~~~~~~~
      |                                                                                    |
      |                                                                                    List *
/usr/pgsql-18/include/server/optimizer/pathnode.h:147:115: note: expected ‘Cost’ {aka ‘double’} but argument is of type ‘List *’
  147 |                                                                                           Cost startup_cost, Cost total_cost,
      |                                                                                                              ~~~~~^~~~~~~~~~
/usr/pgsql-18/include/server/nodes/pg_list.h:68:58: error: passing argument 9 of ‘create_foreign_upper_path’ from incompatible pointer type [-Wincompatible-pointer-types]
   68 | #define NIL                                             ((List *) NULL)
      |                                                         ~^~~~~~~~~~~~~~
      |                                                          |
      |                                                          List *
jdbc_fdw.c:2692:84: note: in expansion of macro ‘NIL’
 2692 |                                                                                    NIL, /* no fdw_restrictinfo list */
      |                                                                                    ^~~
/usr/pgsql-18/include/server/optimizer/pathnode.h:149:97: note: expected ‘Path *’ but argument is of type ‘List *’
  149 |                                                                                           Path *fdw_outerpath,
      |                                                                                           ~~~~~~^~~~~~~~~~~~~
jdbc_fdw.c:2683:22: error: too few arguments to function ‘create_foreign_upper_path’; expected 11, have 10
 2683 |         final_path = create_foreign_upper_path(root,
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/pgsql-18/include/server/optimizer/pathnode.h:144:21: note: declared here
  144 | extern ForeignPath *create_foreign_upper_path(PlannerInfo *root, RelOptInfo *rel,

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions