Closed superglg7381234 closed 6 years ago
Installation error on RHEL6, 64bit, PostgreSQL 9.6.3
sudo env PATH=/usr/pgsql-9.6/bin/:$PATH:/opt/jdk1.8.0_141/bin:/opt/jdk1.8.0_141/jre/bin PG_CONFIG=/usr/psql-9.6/bin/pg_config make USE_PGXS=1 install
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DLINUX_OOM_SCORE_ADJ=0 -fpic -D'PKG_LIB_DIR=/usr/pgsql-9.6/lib' -I. -I./ -I/usr/pgsql-9.6/include/server -I/usr/pgsql-9.6/include/internal -D_GNU_SOURCE -I/usr/include/libxml2 -I/usr/include -c -o jdbc_fdw.o jdbc_fdw.c jdbc_fdw.c: В функции ‘jdbcGetForeignPaths’: jdbc_fdw.c:1073: ошибка: несовместимый тип аргумента 3 функции ‘create_foreignscan_path’ /usr/pgsql-9.6/include/server/optimizer/pathnode.h:90: замечание: expected ‘struct PathTarget ’ but argument is of type ‘double’ jdbc_fdw.c:1073: ошибка: несовместимый тип аргумента 6 функции ‘create_foreignscan_path’ /usr/pgsql-9.6/include/server/optimizer/pathnode.h:90: замечание: expected ‘Cost’ but argument is of type ‘struct List ’ jdbc_fdw.c:1073: предупреждение: в передаче аргумента 9 ‘create_foreignscan_path’: несовместимый тип указателя /usr/pgsql-9.6/include/server/optimizer/pathnode.h:90: замечание: expected ‘struct Path ’ but argument is of type ‘struct List ’ jdbc_fdw.c:1073: ошибка: слишком мало аргументов в вызове функции ‘create_foreignscan_path’ make: *** [jdbc_fdw.o] Error 1
Hi, @superglg738 and @martynovmv jdbc_fdw is now compatible with PostgreSQL 9.6 and 10 since #29
in src\include\optimizer\pathnode.h
extern ForeignPath create_foreignscan_path(PlannerInfo root, RelOptInfo rel, PathTarget target, double rows, Cost startup_cost, Cost total_cost, List pathkeys, Relids required_outer, Path fdw_outerpath, List *fdw_private);
in jdbc_fdw.c / Create a ForeignPath node and add it as only possible path / add_path(baserel, (Path*)create_foreignscan_path(root, baserel, NULL,baserel->rows, startup_cost, total_cost, NIL, NULL, NULL
if PG_VERSION_NUM >= 90500
, NIL
endif
)); }
two funciton are not match. PathTarget *target,.....