From 54840eca2ed26f9f5619553a69e46813a922bd24 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 18 Dec 2003 22:23:42 +0000 Subject: Use a shutdown callback to clear setArgsValid in a FuncExprState that is evaluating a set-valued function. This fixes some additional problems with rescanning partially-evaluated SRFs. --- src/include/nodes/execnodes.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/include') diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index e35e4c2bd8..48385d16f3 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/nodes/execnodes.h,v 1.108 2003/11/29 22:41:06 pgsql Exp $ + * $PostgreSQL: pgsql/src/include/nodes/execnodes.h,v 1.109 2003/12/18 22:23:42 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -481,6 +481,13 @@ typedef struct FuncExprState */ bool setHasSetArg; /* some argument returns a set */ + /* + * Flag to remember whether we have registered a shutdown callback for + * this FuncExprState. We do so only if setArgsValid has been true at + * least once (since all the callback is for is to clear setArgsValid). + */ + bool shutdown_reg; /* a shutdown callback is registered */ + /* * Current argument data for a set-valued function; contains valid * data only if setArgsValid is true. -- cgit v1.2.3