Skip to content

PostgreSQL 17 support #5

@devrimgunduz

Description

@devrimgunduz

Hi,

I am getting these while compiling pg_rewrite 1.1.0 against PostgreSQL 17. Can you please take a look? Thanks! Devrim

gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wshadow=compatible-local -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -fvisibility=hidden -I. -I./ -I/usr/pgsql-17/include/server -I/usr/pgsql-17/include/internal  -D_GNU_SOURCE -I/usr/include/libxml2 -DWITH_GZFILEOP  -I/usr/include  -c -o pg_rewrite.o pg_rewrite.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wshadow=compatible-local -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -fvisibility=hidden -I. -I./ -I/usr/pgsql-17/include/server -I/usr/pgsql-17/include/internal  -D_GNU_SOURCE -I/usr/include/libxml2 -DWITH_GZFILEOP  -I/usr/include  -c -o concurrent.o concurrent.c
/usr/bin/clang -Wno-ignored-attributes -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -Wno-format-truncation -O2  -I. -I./ -I/usr/pgsql-17/include/server -I/usr/pgsql-17/include/internal  -D_GNU_SOURCE -I/usr/include/libxml2 -DWITH_GZFILEOP  -I/usr/include -flto=thin -emit-llvm -c -o pg_rewrite.bc pg_rewrite.c
/usr/bin/clang -Wno-ignored-attributes -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -Wno-format-truncation -O2  -I. -I./ -I/usr/pgsql-17/include/server -I/usr/pgsql-17/include/internal  -D_GNU_SOURCE -I/usr/include/libxml2 -DWITH_GZFILEOP  -I/usr/include -flto=thin -emit-llvm -c -o concurrent.bc concurrent.c
concurrent.c:672:33: error: no member named 'tuple' in 'struct HeapTupleData'
  672 |                                         &change->data.tp.newtuple->tuple : NULL;
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~  ^
concurrent.c:690:33: error: no member named 'tuple' in 'struct HeapTupleData'
  690 |                                         &change->data.tp.oldtuple->tuple : NULL;
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~  ^
concurrent.c:692:33: error: no member named 'tuple' in 'struct HeapTupleData'
  692 |                                         &change->data.tp.newtuple->tuple : NULL;
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~  ^
concurrent.c:708:33: error: no member named 'tuple' in 'struct HeapTupleData'
  708 |                                         &change->data.tp.oldtuple->tuple : NULL;
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~  ^
4 errors generated.
make[1]: *** [/usr/pgsql-17/lib/pgxs/src/makefiles/../../src/Makefile.global:1085: concurrent.bc] Error 1
make[1]: *** Waiting for unfinished jobs....
concurrent.c: In function ‘plugin_change’:
concurrent.c:672:66: error: ‘HeapTupleData’ has no member named ‘tuple’
  672 |                                         &change->data.tp.newtuple->tuple : NULL;
      |                                                                  ^~
concurrent.c:690:66: error: ‘HeapTupleData’ has no member named ‘tuple’
  690 |                                         &change->data.tp.oldtuple->tuple : NULL;
      |                                                                  ^~
concurrent.c:692:66: error: ‘HeapTupleData’ has no member named ‘tuple’
  692 |                                         &change->data.tp.newtuple->tuple : NULL;
      |                                                                  ^~
concurrent.c:708:66: error: ‘HeapTupleData’ has no member named ‘tuple’
  708 |                                         &change->data.tp.oldtuple->tuple : NULL;
      |                                                                  ^~
make[1]: *** [<builtin>: concurrent.o] Error 1
pg_rewrite.c:1436:60: error: too few arguments to function call, expected 6, have 4
 1436 |         ReplicationSlotCreate(buf->data, true, RS_EPHEMERAL, false);
      |         ~~~~~~~~~~~~~~~~~~~~~                                     ^
/usr/pgsql-17/include/server/replication/slot.h:243:13: note: 'ReplicationSlotCreate' declared here
  243 | extern void ReplicationSlotCreate(const char *name, bool db_specific,
      |             ^                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  244 |                                                                   ReplicationSlotPersistency persistency,
      |                                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  245 |                                                                   bool two_phase, bool failover,
      |                                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  246 |                                                                   bool synced);
      |                                                                   ~~~~~~~~~~~
pg_rewrite.c:2678:14: error: no member named 'attstattarget' in 'struct FormData_pg_attribute'
 2678 |                 if (attr1->attstattarget != attr2->attstattarget)
      |                     ~~~~~  ^
pg_rewrite.c:2678:38: error: no member named 'attstattarget' in 'struct FormData_pg_attribute'
 2678 |                 if (attr1->attstattarget != attr2->attstattarget)
      |                                             ~~~~~  ^
3 errors generated.
make[1]: *** [/usr/pgsql-17/lib/pgxs/src/makefiles/../../src/Makefile.global:1085: pg_rewrite.bc] Error 1
pg_rewrite.c: In function ‘setup_decoding’:
pg_rewrite.c:1436:9: error: too few arguments to function ‘ReplicationSlotCreate’; expected 6, have 4
 1436 |         ReplicationSlotCreate(buf->data, true, RS_EPHEMERAL, false);
      |         ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/pgsql-17/include/server/replication/logical.h:15,
                 from pg_rewrite.h:26,
                 from pg_rewrite.c:10:
/usr/pgsql-17/include/server/replication/slot.h:243:13: note: declared here
  243 | extern void ReplicationSlotCreate(const char *name, bool db_specific,
      |             ^~~~~~~~~~~~~~~~~~~~~
pg_rewrite.c: In function ‘equal_dest_descs’:
pg_rewrite.c:2678:28: error: ‘FormData_pg_attribute’ has no member named ‘attstattarget’; did you mean ‘attstorage’?
 2678 |                 if (attr1->attstattarget != attr2->attstattarget)
      |                            ^~~~~~~~~~~~~
      |                            attstorage
pg_rewrite.c:2678:52: error: ‘FormData_pg_attribute’ has no member named ‘attstattarget’; did you mean ‘attstorage’?
 2678 |                 if (attr1->attstattarget != attr2->attstattarget)
      |                                                    ^~~~~~~~~~~~~
      |                                                    attstorage
make[1]: *** [<builtin>: pg_rewrite.o] Error 1

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