@@ -785,7 +785,7 @@ postgresReScanForeignScan(ForeignScanState *node)
785785{
786786PgFdwScanState * fsstate = (PgFdwScanState * )node -> fdw_state ;
787787Datum * values = NULL ;
788- bool * nulls = NULL ;
788+ char * nulls = NULL ;
789789MemoryContext oldcontext = MemoryContextSwitchTo (fsstate -> spi_context );
790790Oid * argtypes = NULL ;
791791int rc ;
@@ -798,20 +798,22 @@ postgresReScanForeignScan(ForeignScanState *node)
798798int i = 0 ;
799799
800800values = palloc (sizeof (Datum )* fsstate -> numParams );
801- nulls = palloc (sizeof (bool )* fsstate -> numParams );
801+ nulls = palloc (sizeof (char )* fsstate -> numParams );
802802argtypes = palloc (sizeof (Oid )* fsstate -> numParams );
803803
804804foreach (lc ,param_exprs )
805805{
806806ExprState * expr_state = (ExprState * )lfirst (lc );
807807/* Evaluate the parameter expression */
808+ bool isNull ;
808809#if PG_VERSION_NUM < 100000
809810ExprDoneCond isDone ;
810- values [i ]= ExecEvalExpr (expr_state ,econtext ,& nulls [ i ] ,& isDone );
811+ values [i ]= ExecEvalExpr (expr_state ,econtext ,& isNull ,& isDone );
811812#else
812- values [i ]= ExecEvalExpr (expr_state ,econtext ,& nulls [ i ] );
813+ values [i ]= ExecEvalExpr (expr_state ,econtext ,& isNull );
813814#endif
814815argtypes [i ]= exprType ((Node * )expr_state -> expr );
816+ nulls [i ]= (char )isNull ;
815817i += 1 ;
816818}
817819}