Segfault-Inc / Multicorn

Data Access Library
https://multicorn.org/
PostgreSQL License
699 stars 145 forks source link

Won't compile against pg10 #198

Closed jira-zz closed 6 years ago

jira-zz commented 6 years ago

I'm getting the following error compiling against pg10:

src/python.c: In function 'execute':
src/python.c:934:5: error: too many arguments to function 'ExecEvalExpr'
     newqual->value = ExecEvalExpr(expr_state, econtext, &isNull, NULL);
     ^
In file included from /usr/pgsql-10/include/server/commands/explain.h:16:0,
                 from src/multicorn.h:8,
                 from src/python.c:4:
/usr/pgsql-10/include/server/executor/executor.h:285:1: note: declared here
 ExecEvalExpr(ExprState *state,
jira-zz commented 6 years ago

This seems to fix it

diff -ur Multicorn-1.3.3-orig/src/python.c Multicorn-1.3.3/src/python.c
--- Multicorn-1.3.3-orig/src/python.c   2016-09-27 09:51:11.000000000 +0200
+++ Multicorn-1.3.3/src/python.c        2017-11-07 09:49:22.819668813 +0100
@@ -931,7 +931,7 @@
                                newqual->base.opname = qual->opname;
                                newqual->base.isArray = qual->isArray;
                                newqual->base.useOr = qual->useOr;
-                               newqual->value = ExecEvalExpr(expr_state, econtext, &isNull, NULL);
+                               newqual->value = ExecEvalExpr(expr_state, econtext, &isNull);
                                newqual->base.typeoid = ((Param*) ((MulticornParamQual *) qual)->expr)->paramtype;
                                newqual->isnull = isNull;
                                break;
liZe commented 6 years ago

It's already fixed in 213ddb1.