Add a CHECK_FOR_INTERRUPTS() to the loop in ExecMakeTableFunctionResult.

Otherwise you can't cancel queries like select ... from generate_series(1,1000000).
This commit is contained in:
Tom Lane 2006-03-10 01:51:23 +00:00
parent 5931737571
commit bbfa1c39a1

View File

@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/executor/execQual.c,v 1.188 2006/03/05 15:58:26 momjian Exp $ * $PostgreSQL: pgsql/src/backend/executor/execQual.c,v 1.189 2006/03/10 01:51:23 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -1280,6 +1280,8 @@ ExecMakeTableFunctionResult(ExprState *funcexpr,
Datum result; Datum result;
HeapTuple tuple; HeapTuple tuple;
CHECK_FOR_INTERRUPTS();
/* /*
* reset per-tuple memory context before each call of the function or * reset per-tuple memory context before each call of the function or
* expression. This cleans up any local memory the function may leak * expression. This cleans up any local memory the function may leak