Skip to content

Build error against PostgreSQL 18 #172

@devrimgunduz

Description

@devrimgunduz

Hi,

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

/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../include -I/usr/pgsql-18/include -I. -I./ -I/usr/pgsql-18/include/server -I/usr/pgsql-18/include/internal    -D_GNU_SOURCE -I/usr/include/libxml2 -DWITH_GZFILEOP  -I/usr/include -flto=thin -emit-llvm -c -o binary.bc binary.c
pg_btree.c:49:2: error: #error unsupported PostgreSQL version
   49 | #error unsupported PostgreSQL version
      |  ^~~~~
/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../include -I/usr/pgsql-18/include -I. -I./ -I/usr/pgsql-18/include/server -I/usr/pgsql-18/include/internal    -D_GNU_SOURCE -I/usr/include/libxml2 -DWITH_GZFILEOP  -I/usr/include -flto=thin -emit-llvm -c -o logger.bc logger.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../include -I/usr/pgsql-18/include -I. -I./ -I/usr/pgsql-18/include/server -I/usr/pgsql-18/include/internal    -D_GNU_SOURCE -I/usr/include/libxml2 -DWITH_GZFILEOP  -I/usr/include -flto=thin -emit-llvm -c -o parser_binary.bc parser_binary.c
In file included from pg_btree.c:89:
nbtree/nbtsort-common.c:17:8: error: unknown type name ‘BTSpool’
   17 | static BTSpool *
      |        ^~~~~~~
nbtree/nbtsort-common.c: In function ‘_bt_spoolinit’:
nbtree/nbtsort-common.c:24:9: error: unknown type name ‘BTSpool’
   24 |         BTSpool    *btspool = (BTSpool *) palloc0(sizeof(BTSpool));
      |         ^~~~~~~
nbtree/nbtsort-common.c:24:32: error: ‘BTSpool’ undeclared (first use in this function); did you mean ‘btspool’?
   24 |         BTSpool    *btspool = (BTSpool *) palloc0(sizeof(BTSpool));
      |                                ^~~~~~~
      |                                btspool
nbtree/nbtsort-common.c:24:32: note: each undeclared identifier is reported only once for each function it appears in
nbtree/nbtsort-common.c:24:41: error: expected expression before ‘)’ token
   24 |         BTSpool    *btspool = (BTSpool *) palloc0(sizeof(BTSpool));
      |                                         ^
nbtree/nbtsort-common.c:27:16: error: request for member ‘heap’ in something not a structure or union
   27 |         btspool->heap = heap;
      |                ^~
nbtree/nbtsort-common.c:28:16: error: request for member ‘index’ in something not a structure or union
   28 |         btspool->index = index;
      |                ^~
nbtree/nbtsort-common.c:29:16: error: request for member ‘isunique’ in something not a structure or union
   29 |         btspool->isunique = isunique;
      |                ^~
nbtree/nbtsort-common.c:31:16: error: request for member ‘nulls_not_distinct’ in something not a structure or union
   31 |         btspool->nulls_not_distinct = nulls_not_distinct;
      |                ^~
nbtree/nbtsort-common.c:42:29: error: ‘work_mem’ undeclared (first use in this function)
   42 |         btKbytes = isdead ? work_mem : maintenance_work_mem;
      |                             ^~~~~~~~
nbtree/nbtsort-common.c:42:40: error: ‘maintenance_work_mem’ undeclared (first use in this function)
   42 |         btKbytes = isdead ? work_mem : maintenance_work_mem;
      |                                        ^~~~~~~~~~~~~~~~~~~~
nbtree/nbtsort-common.c:43:16: error: request for member ‘sortstate’ in something not a structure or union
   43 |         btspool->sortstate = tuplesort_begin_index_btree(heap, index, isunique,
      |                ^~
pg_btree.c: At top level:
pg_btree.c:110:8: error: unknown type name ‘BTSpool’
  110 | static BTSpool **IndexSpoolBegin(ResultRelInfo *relinfo, bool enforceUnique);
      |        ^~~~~~~
reader.c: In function ‘ReaderNext’:
reader.c:282:48: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 3 has type ‘int64’ {aka ‘long int’} [-Wformat=]
  282 |                         appendStringInfo(&buf, "Parse error Record " int64_FMT
      |                                                ^~~~~~~~~~~~~~~~~~~~~
  283 |                                 ": Input Record " int64_FMT ": Rejected",
  284 |                                 rd->parse_errors, parser->count);
      |                                 ~~~~~~~~~~~~~~~~
      |                                   |
      |                                   int64 {aka long int}
In file included from reader.c:11:
../include/pg_bulkload.h:80:37: note: format string is defined here
   80 | #define int64_FMT               "%lld"
      |                                  ~~~^
      |                                     |
      |                                     long long int
      |                                  %ld
reader.c:282:48: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 4 has type ‘int64’ {aka ‘long int’} [-Wformat=]
  282 |                         appendStringInfo(&buf, "Parse error Record " int64_FMT
      |                                                ^~~~~~~~~~~~~~~~~~~~~
  283 |                                 ": Input Record " int64_FMT ": Rejected",
  284 |                                 rd->parse_errors, parser->count);
      |                                                   ~~~~~~~~~~~~~
      |                                                         |
      |                                                         int64 {aka long int}
../include/pg_bulkload.h:80:37: note: format string is defined here
   80 | #define int64_FMT               "%lld"
      |                                  ~~~^
      |                                     |
      |                                     long long int
      |                                  %ld
reader.c:298:41: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 3 has type ‘int64’ {aka ‘long int’} [-Wformat=]
  298 |                                         "Maximum parse error count exceeded - " int64_FMT
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  299 |                                         " error(s) found in input file\n",
  300 |                                         rd->parse_errors);
      |                                         ~~~~~~~~~~~~~~~~
      |                                           |
      |                                           int64 {aka long int}
../include/pg_bulkload.h:80:37: note: format string is defined here
   80 | #define int64_FMT               "%lld"
      |                                  ~~~^
      |                                     |
      |                                     long long int
      |                                  %ld
reader.c: In function ‘ReaderDumpParams’:
reader.c:348:40: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 3 has type ‘int64’ {aka ‘long int’} [-Wformat=]
  348 |                 appendStringInfo(&buf, "LIMIT = " int64_FMT "\n", self->limit);
      |                                        ^~~~~~~~~~                 ~~~~~~~~~~~
      |                                                                       |
      |                                                                       int64 {aka long int}
../include/pg_bulkload.h:80:37: note: format string is defined here
   80 | #define int64_FMT               "%lld"
      |                                  ~~~^
      |                                     |
      |                                     long long int
      |                                  %ld
reader.c:353:40: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 3 has type ‘int64’ {aka ‘long int’} [-Wformat=]
  353 |                 appendStringInfo(&buf, "PARSE_ERRORS = " int64_FMT "\n",
      |                                        ^~~~~~~~~~~~~~~~~
  354 |                                                  self->max_parse_errors);
      |                                                  ~~~~~~~~~~~~~~~~~~~~~~
      |                                                      |
      |                                                      int64 {aka long int}
../include/pg_bulkload.h:80:37: note: format string is defined here
   80 | #define int64_FMT               "%lld"
      |                                  ~~~^
      |                                     |
      |                                     long long int
      |                                  %ld
reader.c: In function ‘CheckerInit’:
reader.c:475:17: error: too few arguments to function ‘ExecInitRangeTable’; expected 4, have 3
  475 |                 ExecInitRangeTable(checker->estate, range_table, perminfos);
      |                 ^~~~~~~~~~~~~~~~~~
In file included from /usr/pgsql-18/include/server/funcapi.h:21,
                 from reader.c:20:
/usr/pgsql-18/include/server/executor/executor.h:713:13: note: declared here
  713 | extern void ExecInitRangeTable(EState *estate, List *rangeTable, List *permInfos,
      |             ^~~~~~~~~~~~~~~~~~
reader.c:497:38: error: ‘struct TupleDescData’ has no member named ‘attrs’
  497 |                         checker->desc->attrs[n].attnotnull = desc->attrs[n].attnotnull;
      |                                      ^~
reader.c:497:66: error: ‘struct TupleDescData’ has no member named ‘attrs’
  497 |                         checker->desc->attrs[n].attnotnull = desc->attrs[n].attnotnull;
      |                                                                  ^~
reader.c: In function ‘CheckerConstraints’:
reader.c:599:33: error: ‘struct TupleDescData’ has no member named ‘attrs’
  599 |                         if (desc->attrs[i].attnotnull &&
      |                                 ^~
In file included from /usr/pgsql-18/include/server/postgres.h:49,
                 from ../include/pg_bulkload.h:9:
reader.c:612:61: error: ‘struct TupleDescData’ has no member named ‘attrs’
  612 |                                                 NameStr(desc->attrs[i].attname))));
      |                                                             ^~
/usr/pgsql-18/include/server/utils/elog.h:147:25: note: in definition of macro ‘ereport_domain’
  147 |                         __VA_ARGS__, errfinish(__FILE__, __LINE__, __func__); \
      |                         ^~~~~~~~~~~
reader.c:608:33: note: in expansion of macro ‘ereport’
  608 |                                 ereport(ERROR,
      |                                 ^~~~~~~
reader.c:612:49: note: in expansion of macro ‘NameStr’
  612 |                                                 NameStr(desc->attrs[i].attname))));
      |                                                 ^~~~~~~
/usr/pgsql-18/include/server/utils/elog.h:147:36: warning: left-hand operand of comma expression has no effect [-Wunused-value]
  147 |                         __VA_ARGS__, errfinish(__FILE__, __LINE__, __func__); \
      |                                    ^
/usr/pgsql-18/include/server/utils/elog.h:164:9: note: in expansion of macro ‘ereport_domain’
  164 |         ereport_domain(elevel, TEXTDOMAIN, __VA_ARGS__)
      |         ^~~~~~~~~~~~~~
reader.c:608:33: note: in expansion of macro ‘ereport’
  608 |                                 ereport(ERROR,
      |                                 ^~~~~~~
reader.c: In function ‘TupleFormerInit’:
reader.c:634:29: error: ‘struct TupleDescData’ has no member named ‘attrs’
  634 |                 former->desc->attrs[i].attnotnull = desc->attrs[i].attnotnull;
      |                             ^~
reader.c:634:57: error: ‘struct TupleDescData’ has no member named ‘attrs’
  634 |                 former->desc->attrs[i].attnotnull = desc->attrs[i].attnotnull;
      |                                                         ^~
reader.c:688:29: error: ‘struct TupleDescData’ has no member named ‘attrs’
  688 |                 attrs = desc->attrs;
      |                             ^~
reader.c: In function ‘tupledesc_match’:
reader.c:811:58: error: ‘struct TupleDescData’ has no member named ‘attrs’
  811 |                 FormData_pg_attribute dattr = dst_tupdesc->attrs[i];
      |                                                          ^~
reader.c:812:58: error: ‘struct TupleDescData’ has no member named ‘attrs’
  812 |                 FormData_pg_attribute sattr = src_tupdesc->attrs[i];
      |                                                          ^~
reader.c: In function ‘CoercionDeformTuple’:
reader.c:1266:45: error: ‘struct TupleDescData’ has no member named ‘attrs’
 1266 |                         if (self->sourceDesc->attrs[i].atttypid ==
      |                                             ^~
reader.c:1267:49: error: ‘struct TupleDescData’ has no member named ‘attrs’
 1267 |                                 self->targetDesc->attrs[i].atttypid)
      |                                                 ^~
reader.c:1270:59: error: ‘struct TupleDescData’ has no member named ‘attrs’
 1270 |                         getTypeOutputInfo(self->sourceDesc->attrs[i].atttypid,
      |                                                           ^~
reader.c:1274:58: error: ‘struct TupleDescData’ has no member named ‘attrs’
 1274 |                         getTypeInputInfo(self->targetDesc->attrs[i].atttypid, &iofunc,
      |                                                          ^~
reader.c:1303:37: error: ‘struct TupleDescData’ has no member named ‘attrs’
 1303 |                 if (self->targetDesc->attrs[i].attisdropped)
      |                                     ^~
reader.c:1311:42: error: ‘struct TupleDescData’ has no member named ‘attrs’
 1311 |                 else if (self->sourceDesc->attrs[i].atttypid ==
      |                                          ^~
reader.c:1312:50: error: ‘struct TupleDescData’ has no member named ‘attrs’
 1312 |                                  self->targetDesc->attrs[i].atttypid)
      |                                                  ^~
reader.c:1323:97: error: ‘struct TupleDescData’ has no member named ‘attrs’
 1323 |                                                                                 self->targetDesc->attrs[i].atttypmod);
      |                                                                                                 ^~
pg_btree.c:112:30: error: unknown type name ‘BTSpool’
  112 | static void IndexSpoolInsert(BTSpool **spools, TupleTableSlot *slot,
      |                              ^~~~~~~
make[2]: *** [<builtin>: reader.o] Error 1
make[2]: *** Waiting for unfinished jobs....
pg_btree.c:115:38: error: unknown type name ‘BTSpool’
  115 | static IndexTuple BTSpoolGetNextItem(BTSpool *spool, IndexTuple itup, bool *should_free);
      |                                      ^~~~~~~
pg_btree.c:121:43: error: unknown type name ‘BTSpool’
  121 | static bool _bt_mergebuild(Spooler *self, BTSpool *btspool);
      |                                           ^~~~~~~
pg_btree.c:122:42: error: unknown type name ‘BTWriteState’; did you mean ‘BulkWriteState’?
  122 | static void _bt_mergeload(Spooler *self, BTWriteState *wstate, BTSpool *btspool,
      |                                          ^~~~~~~~~~~~
      |                                          BulkWriteState
pg_btree.c:122:64: error: unknown type name ‘BTSpool’
  122 | static void _bt_mergeload(Spooler *self, BTWriteState *wstate, BTSpool *btspool,
      |                                                                ^~~~~~~
pg_btree.c: In function ‘SpoolerOpen’:
pg_btree.c:176:22: error: assignment to ‘struct BTSpool **’ from incompatible pointer type ‘int **’ [-Wincompatible-pointer-types]
  176 |         self->spools = IndexSpoolBegin(self->relinfo,
      |                      ^
parser_csv.c: In function ‘CSVParserInit’:
parser_csv.c:237:62: error: ‘struct TupleDescData’ has no member named ‘attrs’
  237 |                                 if (strcmp(lfirst(name), desc->attrs[i].attname.data) == 0)
      |                                                              ^~
In file included from /usr/pgsql-18/include/server/postgres.h:49,
                 from ../include/pg_bulkload.h:9,
                 from parser_csv.c:11:
parser_csv.c: In function ‘CSVParserRead’:
parser_csv.c:408:32: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘int64’ {aka ‘long int’} [-Wformat=]
  408 |                         errmsg("could not skip " int64_FMT " lines in the input file: %m",
      |                                ^~~~~~~~~~~~~~~~~
  409 |                                 self->need_offset)));
      |                                 ~~~~~~~~~~~~~~~~~
      |                                     |
      |                                     int64 {aka long int}
/usr/pgsql-18/include/server/utils/elog.h:147:25: note: in definition of macro ‘ereport_domain’
  147 |                         __VA_ARGS__, errfinish(__FILE__, __LINE__, __func__); \
      |                         ^~~~~~~~~~~
parser_csv.c:407:17: note: in expansion of macro ‘ereport’
  407 |                 ereport(ERROR, (errcode_for_file_access(),
      |                 ^~~~~~~
parser_csv.c:698:93: error: ‘struct TupleDescData’ has no member named ‘attrs’
  698 |                                                                    NameStr(self->former.desc->attrs[self->former.attnum[self->base.parsing_field]].attname)),
      |                                                                                             ^~
/usr/pgsql-18/include/server/utils/elog.h:147:25: note: in definition of macro ‘ereport_domain’
  147 |                         __VA_ARGS__, errfinish(__FILE__, __LINE__, __func__); \
      |                         ^~~~~~~~~~~
parser_csv.c:695:25: note: in expansion of macro ‘ereport’
  695 |                         ereport(ERROR, (errcode(ERRCODE_INTERNAL_ERROR),
      |                         ^~~~~~~
parser_csv.c:698:68: note: in expansion of macro ‘NameStr’
  698 |                                                                    NameStr(self->former.desc->attrs[self->former.attnum[self->base.parsing_field]].attname)),
      |                                                                    ^~~~~~~
parser_csv.c:698:157: warning: left-hand operand of comma expression has no effect [-Wunused-value]
  698 |                                                                    NameStr(self->former.desc->attrs[self->former.attnum[self->base.parsing_field]].attname)),
      |                                                                                                                                                             ^
/usr/pgsql-18/include/server/utils/elog.h:147:25: note: in definition of macro ‘ereport_domain’
  147 |                         __VA_ARGS__, errfinish(__FILE__, __LINE__, __func__); \
      |                         ^~~~~~~~~~~
parser_csv.c:695:25: note: in expansion of macro ‘ereport’
  695 |                         ereport(ERROR, (errcode(ERRCODE_INTERNAL_ERROR),
      |                         ^~~~~~~
parser_csv.c: In function ‘CSVParserDumpParams’:
parser_csv.c:784:32: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 3 has type ‘int64’ {aka ‘long int’} [-Wformat=]
  784 |         appendStringInfo(&buf, "SKIP = " int64_FMT "\n", self->offset);
      |                                ^~~~~~~~~                 ~~~~~~~~~~~~
      |                                                              |
      |                                                              int64 {aka long int}
../include/pg_bulkload.h:80:37: note: format string is defined here
   80 | #define int64_FMT               "%lld"
      |                                  ~~~^
      |                                     |
      |                                     long long int
      |                                  %ld
make[2]: *** [<builtin>: parser_csv.o] Error 1
pg_btree.c: In function ‘SpoolerInsert’:
pg_btree.c:225:9: error: implicit declaration of function ‘IndexSpoolInsert’; did you mean ‘IndexSpoolEnd’? [-Wimplicit-function-declaration]
  225 |         IndexSpoolInsert(self->spools, self->slot,
      |         ^~~~~~~~~~~~~~~~
      |         IndexSpoolEnd
pg_btree.c: At top level:
pg_btree.c:234:8: error: unknown type name ‘BTSpool’
  234 | static BTSpool **
      |        ^~~~~~~
pg_btree.c: In function ‘IndexSpoolBegin’:
pg_btree.c:240:9: error: unknown type name ‘BTSpool’; use ‘struct’ keyword to refer to the type
  240 |         BTSpool           **spools;
      |         ^~~~~~~
      |         struct 
pg_btree.c:245:45: error: ‘BTSpool’ undeclared (first use in this function)
  245 |         spools = palloc(numIndices * sizeof(BTSpool *));
      |                                             ^~~~~~~
pg_btree.c:245:54: error: expected expression before ‘)’ token
  245 |         spools = palloc(numIndices * sizeof(BTSpool *));
      |                                                      ^
pg_btree.c:268:34: error: request for member ‘isunique’ in something not a structure or union
  268 |                         spools[i]->isunique = indices[i]->rd_index->indisunique;
      |                                  ^~
pg_btree.c: In function ‘IndexSpoolEnd’:
pg_btree.c:283:9: error: unknown type name ‘BTSpool’; use ‘struct’ keyword to refer to the type
  283 |         BTSpool **spools = self->spools;
      |         ^~~~~~~
      |         struct 
pg_btree.c:283:28: error: initialization of ‘int **’ from incompatible pointer type ‘struct BTSpool **’ [-Wincompatible-pointer-types]
  283 |         BTSpool **spools = self->spools;
      |                            ^~~~
parser_function.c: In function ‘FunctionParserInit’:
parser_function.c:337:27: error: ‘struct TupleDescData’ has no member named ‘attrs’
  337 |                 self->desc->attrs[i].attnotnull = desc->attrs[i].attnotnull;
      |                           ^~
parser_function.c:337:55: error: ‘struct TupleDescData’ has no member named ‘attrs’
  337 |                 self->desc->attrs[i].attnotnull = desc->attrs[i].attnotnull;
      |                                                       ^~
make[2]: *** [<builtin>: parser_function.o] Error 1
pg_btree.c:295:42: error: implicit declaration of function ‘_bt_mergebuild’ [-Wimplicit-function-declaration]
  295 |                 if (spools[i] != NULL && _bt_mergebuild(self, spools[i]))
      |                                          ^~~~~~~~~~~~~~
pg_btree.c:297:25: error: implicit declaration of function ‘_bt_spooldestroy’; did you mean ‘_bt_spoolinit’? [-Wimplicit-function-declaration]
  297 |                         _bt_spooldestroy(spools[i]);
      |                         ^~~~~~~~~~~~~~~~
      |                         _bt_spoolinit
pg_btree.c: At top level:
pg_btree.c:337:18: error: unknown type name ‘BTSpool’
  337 | IndexSpoolInsert(BTSpool **spools, TupleTableSlot *slot,
      |                  ^~~~~~~
pg_btree.c:434:31: error: unknown type name ‘BTSpool’
  434 | _bt_mergebuild(Spooler *self, BTSpool *btspool)
      |                               ^~~~~~~
pg_btree.c:533:30: error: unknown type name ‘BTWriteState’; did you mean ‘BulkWriteState’?
  533 | _bt_mergeload(Spooler *self, BTWriteState *wstate, BTSpool *btspool, BTReader *btspool2, Relation heapRel)
      |                              ^~~~~~~~~~~~
      |                              BulkWriteState
pg_btree.c:533:52: error: unknown type name ‘BTSpool’
  533 | _bt_mergeload(Spooler *self, BTWriteState *wstate, BTSpool *btspool, BTReader *btspool2, Relation heapRel)
      |                                                    ^~~~~~~
pg_btree.c:785:20: error: unknown type name ‘BTSpool’
  785 | BTSpoolGetNextItem(BTSpool *spool, IndexTuple itup, bool *should_free)
      |                    ^~~~~~~
pg_btree.c: In function ‘BTReaderInit’:
pg_btree.c:834:65: error: ‘MyBackendType’ undeclared (first use in this function)
  834 |         reader->smgr.smgr_rlocator.backend = rel->rd_backend == MyBackendType ? MyBackendType : InvalidCommandId;
      |                                                                 ^~~~~~~~~~~~~
pg_btree.c: In function ‘remove_duplicate’:
pg_btree.c:1161:28: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 3 has type ‘int64’ {aka ‘long int’} [-Wformat=]
 1161 |         LoggerLog(WARNING, "Duplicate error Record " int64_FMT
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~
 1162 |                 ": Rejected - duplicate key value violates unique constraint \"%s\"\n",
 1163 |                 self->dup_old + self->dup_new, relname);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                               |
      |                               int64 {aka long int}
In file included from pg_btree.c:11:
../include/pg_bulkload.h:80:37: note: format string is defined here
   80 | #define int64_FMT               "%lld"
      |                                  ~~~^
      |                                     |
      |                                     long long int
      |                                  %ld
pg_btree.c: In function ‘tuple_to_cstring’:
pg_btree.c:1195:28: error: ‘struct TupleDescData’ has no member named ‘attrs’
 1195 |                 if (tupdesc->attrs[i].attisdropped)
      |                            ^~
pg_btree.c:1216:50: error: ‘struct TupleDescData’ has no member named ‘attrs’
 1216 |                         getTypeOutputInfo(tupdesc->attrs[i].atttypid, &foutoid, &typisvarlena);
      |                                                  ^~
pg_btree.c: At top level:
pg_btree.c:1111:1: warning: ‘remove_duplicate’ defined but not used [-Wunused-function]
 1111 | remove_duplicate(Spooler *self, Relation heap, IndexTuple itup, const char *relname)
      | ^~~~~~~~~~~~~~~~
pg_btree.c:1093:1: warning: ‘heap_is_visible’ defined but not used [-Wunused-function]
 1093 | heap_is_visible(Relation heapRel, ItemPointer htid)
      | ^~~~~~~~~~~~~~~
pg_btree.c:1027:1: warning: ‘compare_indextuple’ defined but not used [-Wunused-function]
 1027 | compare_indextuple(const IndexTuple itup1, const IndexTuple itup2,
      | ^~~~~~~~~~~~~~~~~~
pg_btree.c:975:1: warning: ‘BTReaderGetNextItem’ defined but not used [-Wunused-function]
  975 | BTReaderGetNextItem(BTReader *reader)
      | ^~~~~~~~~~~~~~~~~~~
pg_btree.c:938:1: warning: ‘BTReaderTerm’ defined but not used [-Wunused-function]
  938 | BTReaderTerm(BTReader *reader)
      | ^~~~~~~~~~~~
pg_btree.c:817:1: warning: ‘BTReaderInit’ defined but not used [-Wunused-function]
  817 | BTReaderInit(BTReader *reader, Relation rel)
      | ^~~~~~~~~~~~
make[2]: *** [<builtin>: pg_btree.o] Error 1
In file included from /usr/pgsql-18/include/server/postgres.h:49,
                 from ../include/pg_bulkload.h:9,
                 from parser_binary.c:11:
parser_binary.c: In function ‘BinaryParserRead’:
parser_binary.c:232:72: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘int64’ {aka ‘long int’} [-Wformat=]
  232 |                                                                 errmsg("could not skip " int64_FMT " lines ("
      |                                                                        ^~~~~~~~~~~~~~~~~
  233 |                                                                 int64_FMT " bytes) in the input file: %m",
  234 |                                                                 self->need_offset,
      |                                                                 ~~~~~~~~~~~~~~~~~
      |                                                                     |
      |                                                                     int64 {aka long int}
/usr/pgsql-18/include/server/utils/elog.h:147:25: note: in definition of macro ‘ereport_domain’
  147 |                         __VA_ARGS__, errfinish(__FILE__, __LINE__, __func__); \
      |                         ^~~~~~~~~~~
parser_binary.c:231:33: note: in expansion of macro ‘ereport’
  231 |                                 ereport(ERROR, (errcode_for_file_access(),
      |                                 ^~~~~~~
parser_binary.c:232:72: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
  232 |                                                                 errmsg("could not skip " int64_FMT " lines ("
      |                                                                        ^~~~~~~~~~~~~~~~~
......
  235 |                                                                 self->rec_len * self->need_offset)));
      |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                                               |
      |                                                                               long unsigned int
/usr/pgsql-18/include/server/utils/elog.h:147:25: note: in definition of macro ‘ereport_domain’
  147 |                         __VA_ARGS__, errfinish(__FILE__, __LINE__, __func__); \
      |                         ^~~~~~~~~~~
parser_binary.c:231:33: note: in expansion of macro ‘ereport’
  231 |                                 ereport(ERROR, (errcode_for_file_access(),
      |                                 ^~~~~~~
parser_binary.c: In function ‘BinaryParserDumpParams’:
parser_binary.c:367:32: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 3 has type ‘int64’ {aka ‘long int’} [-Wformat=]
  367 |         appendStringInfo(&buf, "SKIP = " int64_FMT "\n", self->offset);
      |                                ^~~~~~~~~                 ~~~~~~~~~~~~
      |                                                              |
      |                                                              int64 {aka long int}
../include/pg_bulkload.h:80:37: note: format string is defined here
   80 | #define int64_FMT               "%lld"
      |                                  ~~~^
      |                                     |
      |                                     long long int
      |                                  %ld
writer_direct.c: In function ‘DirectWriterDumpParams’:
writer_direct.c:433:40: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 3 has type ‘int64’ {aka ‘long int’} [-Wformat=]
  433 |                 appendStringInfo(&buf, "DUPLICATE_ERRORS = " int64_FMT "\n",
      |                                        ^~~~~~~~~~~~~~~~~~~~~
  434 |                                                  self->base.max_dup_errors);
      |                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                            |
      |                                                            int64 {aka long int}
In file included from writer_direct.c:7:
../include/pg_bulkload.h:80:37: note: format string is defined here
   80 | #define int64_FMT               "%lld"
      |                                  ~~~^
      |                                     |
      |                                     long long int
      |                                  %ld
In file included from /usr/pgsql-18/include/server/storage/relfilelocator.h:17,
                 from /usr/pgsql-18/include/server/access/xlogrecord.h:18,
                 from /usr/pgsql-18/include/server/access/xlogreader.h:41,
                 from /usr/pgsql-18/include/server/access/heapam_xlog.h:18,
                 from /usr/pgsql-18/include/server/access/heapam.h:17,
                 from writer_direct.c:14:
writer_direct.c: In function ‘open_data_file’:
/usr/pgsql-18/include/server/common/relpath.h:143:9: error: incompatible types when assigning to type ‘char *’ from type ‘RelPathStr’
  143 |         GetRelationPath((rlocator).dbOid, (rlocator).spcOid, (rlocator).relNumber, \
      |         ^~~~~~~~~~~~~~~
/usr/pgsql-18/include/server/common/relpath.h:152:9: note: in expansion of macro ‘relpathbackend’
  152 |         relpathbackend((rlocator).locator, (rlocator).backend, forknum)
      |         ^~~~~~~~~~~~~~
writer_direct.c:681:17: note: in expansion of macro ‘relpath’
  681 |         fname = relpath(bknode, MAIN_FORKNUM);
      |                 ^~~~~~~
make[2]: *** [<builtin>: writer_direct.o] Error 1
writer_buffered.c: In function ‘BufferedWriterDumpParams’:
writer_buffered.c:201:40: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 3 has type ‘int64’ {aka ‘long int’} [-Wformat=]
  201 |                 appendStringInfo(&buf, "DUPLICATE_ERRORS = " int64_FMT "\n",
      |                                        ^~~~~~~~~~~~~~~~~~~~~
  202 |                                                  self->base.max_dup_errors);
      |                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                            |
      |                                                            int64 {aka long int}
In file included from ../include/reader.h:14,
                 from writer_buffered.c:17:
../include/pg_bulkload.h:80:37: note: format string is defined here
   80 | #define int64_FMT               "%lld"
      |                                  ~~~^
      |                                     |
      |                                     long long int
      |                                  %ld
source.c: In function ‘CreateRemoteSource’:
source.c:485:33: error: ‘struct TupleDescData’ has no member named ‘attrs’
  485 |                         if (desc->attrs[i].attisdropped)
      |                                 ^~
make[2]: *** [<builtin>: source.o] Error 1
In file included from /usr/pgsql-18/include/server/postgres.h:49,
                 from ../include/pg_bulkload.h:9,
                 from writer_binary.c:7:
writer_binary.c: In function ‘BinaryWriterCheckerTuple’:
writer_binary.c:528:65: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘int64’ {aka ‘long int’} [-Wformat=]
  528 |                                                          errmsg("value \"" int64_FMT "\" is out of range for type unsigned integer", value)));
      |                                                                 ^~~~~~~~~~                                                           ~~~~~
      |                                                                                                                                      |
      |                                                                                                                                      int64 {aka long int}
/usr/pgsql-18/include/server/utils/elog.h:147:25: note: in definition of macro ‘ereport_domain’
  147 |                         __VA_ARGS__, errfinish(__FILE__, __LINE__, __func__); \
      |                         ^~~~~~~~~~~
writer_binary.c:526:41: note: in expansion of macro ‘ereport’
  526 |                                         ereport(ERROR,
      |                                         ^~~~~~~
pg_bulkload.c: In function ‘pg_bulkload’:
pg_bulkload.c:332:25: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 3 has type ‘int64’ {aka ‘long int’} [-Wformat=]
  332 |         LoggerLog(INFO, "\n"
      |                         ^~~~
......
  338 |                           skip, count, parse_errors, ret.num_dup_new, ret.num_dup_old);
      |                           ~~~~
      |                           |
      |                           int64 {aka long int}
In file included from pg_bulkload.c:11:
../include/pg_bulkload.h:80:37: note: format string is defined here
   80 | #define int64_FMT               "%lld"
      |                                  ~~~^
      |                                     |
      |                                     long long int
      |                                  %ld
pg_bulkload.c:332:25: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 4 has type ‘int64’ {aka ‘long int’} [-Wformat=]
  332 |         LoggerLog(INFO, "\n"
      |                         ^~~~
......
  338 |                           skip, count, parse_errors, ret.num_dup_new, ret.num_dup_old);
      |                                 ~~~~~
      |                                 |
      |                                 int64 {aka long int}
../include/pg_bulkload.h:80:37: note: format string is defined here
   80 | #define int64_FMT               "%lld"
      |                                  ~~~^
      |                                     |
      |                                     long long int
      |                                  %ld
pg_bulkload.c:332:25: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 5 has type ‘int64’ {aka ‘long int’} [-Wformat=]
  332 |         LoggerLog(INFO, "\n"
      |                         ^~~~
......
  338 |                           skip, count, parse_errors, ret.num_dup_new, ret.num_dup_old);
      |                                        ~~~~~~~~~~~~
      |                                        |
      |                                        int64 {aka long int}
../include/pg_bulkload.h:80:37: note: format string is defined here
   80 | #define int64_FMT               "%lld"
      |                                  ~~~^
      |                                     |
      |                                     long long int
      |                                  %ld
pg_bulkload.c:332:25: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 6 has type ‘int64’ {aka ‘long int’} [-Wformat=]
  332 |         LoggerLog(INFO, "\n"
      |                         ^~~~
......
  338 |                           skip, count, parse_errors, ret.num_dup_new, ret.num_dup_old);
      |                                                      ~~~~~~~~~~~~~~~
      |                                                         |
      |                                                         int64 {aka long int}
../include/pg_bulkload.h:80:37: note: format string is defined here
   80 | #define int64_FMT               "%lld"
      |                                  ~~~^
      |                                     |
      |                                     long long int
      |                                  %ld
pg_bulkload.c:332:25: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 7 has type ‘int64’ {aka ‘long int’} [-Wformat=]
  332 |         LoggerLog(INFO, "\n"
      |                         ^~~~
......
  338 |                           skip, count, parse_errors, ret.num_dup_new, ret.num_dup_old);
      |                                                                       ~~~~~~~~~~~~~~~
      |                                                                          |
      |                                                                          int64 {aka long int}
../include/pg_bulkload.h:80:37: note: format string is defined here
   80 | #define int64_FMT               "%lld"
      |                                  ~~~^
      |                                     |
      |                                     long long int
      |                                  %ld
binary.c:59:1: warning: no previous declaration for ‘TYPES’ [-Wmissing-variable-declarations]
   59 | TYPES[] =
      | ^~~~~
binary.c:77:1: warning: no previous declaration for ‘ALIASES’ [-Wmissing-variable-declarations]
   77 | ALIASES[] =
      | ^~~~~~~
In file included from binary.c:11:
binary.c: In function ‘Read_int64’:
../include/pg_bulkload.h:80:33: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 4 has type ‘int64’ {aka ‘long int’} [-Wformat=]
   80 | #define int64_FMT               "%lld"
      |                                 ^~~~~~
binary.c:688:46: note: in expansion of macro ‘int64_FMT’
  688 |                 snprintf(str, lengthof(str), T##_FMT, v); \
      |                                              ^
binary.c:695:1: note: in expansion of macro ‘DefineRead’
  695 | DefineRead(int64)
      | ^~~~~~~~~~
../include/pg_bulkload.h:80:37: note: format string is defined here
   80 | #define int64_FMT               "%lld"
      |                                  ~~~^
      |                                     |
      |                                     long long int
      |                                  %ld

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